From d55bc253f19ef21ba85fa075bb5ae52b50b3d721 Mon Sep 17 00:00:00 2001 From: zicodxx Date: Tue, 29 Mar 2011 00:35:15 +0200 Subject: [PATCH] Dead_controlcen_object_num should be set when a new level starts in debug build, too; Setting Total_countdown_time when loading a savestate so SEF-DESTRUCT SEQUENCE ACTIVATED sample will not play soon as timer reaches 0 --- CHANGELOG.txt | 4 ++++ main/cntrlcen.c | 1 + main/cntrlcen.h | 2 +- main/state.c | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 230b424f5..9209637c1 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D1X-Rebirth Changelog +20110329 +-------- +main/cntrlcen.c, main/cntrlcen.h, main/state.c: Dead_controlcen_object_num should be set when a new level starts in debug build, too; Setting Total_countdown_time when loading a savestate so SEF-DESTRUCT SEQUENCE ACTIVATED sample will not play soon as timer reaches 0 + 20110328 -------- main/endlevel.c, main/newdemo.c: Properly record the event of reset_rear_view() while switching levels to make it work right when rewinding as well; Properly record Countdown seconds for each newdemo frame instead of second change to get display showing up right while playback and still preserving backwards compability diff --git a/main/cntrlcen.c b/main/cntrlcen.c index 019fa9da9..8b4e8ac53 100644 --- a/main/cntrlcen.c +++ b/main/cntrlcen.c @@ -376,6 +376,7 @@ void init_controlcen_for_level(void) #ifndef NDEBUG if (cntrlcen_objnum == -1) { + Dead_controlcen_object_num = -1; return; } diff --git a/main/cntrlcen.h b/main/cntrlcen.h index 14809b262..f8dada5a8 100644 --- a/main/cntrlcen.h +++ b/main/cntrlcen.h @@ -65,7 +65,7 @@ extern void do_controlcen_destroyed_stuff(object *objp); extern void do_controlcen_dead_frame(void); extern fix Countdown_timer; -extern int Control_center_destroyed, Countdown_seconds_left; +extern int Control_center_destroyed, Countdown_seconds_left, Total_countdown_time; /* * reads n control_center_triggers structs from a CFILE diff --git a/main/state.c b/main/state.c index a0e414890..d47ee8dde 100644 --- a/main/state.c +++ b/main/state.c @@ -1351,6 +1351,8 @@ RetryObjectLoading: Control_center_next_fire_time = PHYSFSX_readSXE32(fp, swap); Control_center_present = PHYSFSX_readSXE32(fp, swap); Dead_controlcen_object_num = PHYSFSX_readSXE32(fp, swap); + if (Control_center_destroyed) + Total_countdown_time = Countdown_timer/F0_5; // we do not need to know this, but it should not be 0 either... // Restore the AI state ai_restore_state( fp, swap );