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; Suspend Game_wind when playing endlevel movie while demo playback
This commit is contained in:
parent
6308d5c4b7
commit
8faed77f5f
|
@ -1,5 +1,9 @@
|
|||
D2X-Rebirth Changelog
|
||||
|
||||
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; Suspend Game_wind when playing endlevel movie while demo playback
|
||||
|
||||
20110327
|
||||
--------
|
||||
main/physics.c: Another rework for anti-stuck-bumping: Execute after calculation of velocity and add fvi check to make sure we deal with an actual wall collision
|
||||
|
|
|
@ -294,12 +294,18 @@ void start_endlevel_sequence()
|
|||
int i;
|
||||
int movie_played = MOVIE_NOT_PLAYED;
|
||||
|
||||
reset_rear_view(); //turn off rear view if set - NOTE: make sure this happens before we pause demo recording!!
|
||||
|
||||
if (Newdemo_state == ND_STATE_RECORDING) // stop demo recording
|
||||
Newdemo_state = ND_STATE_PAUSED;
|
||||
|
||||
if (Newdemo_state == ND_STATE_PLAYBACK) { // don't do this if in playback mode
|
||||
if (PLAYING_BUILTIN_MISSION) // only play movie for built-in mission
|
||||
{
|
||||
window_set_visible(Game_wind, 0); // suspend the game, including drawing
|
||||
start_endlevel_movie();
|
||||
window_set_visible(Game_wind, 1);
|
||||
}
|
||||
strcpy(last_palette_loaded,""); //force palette load next time
|
||||
return;
|
||||
}
|
||||
|
@ -317,8 +323,6 @@ void start_endlevel_sequence()
|
|||
|
||||
Players[Player_num].homing_object_dist = -F1_0; // Turn off homing sound.
|
||||
|
||||
reset_rear_view(); //turn off rear view if set
|
||||
|
||||
#ifdef NETWORK
|
||||
if (Game_mode & GM_MULTI) {
|
||||
multi_send_endlevel_start(0);
|
||||
|
|
|
@ -197,7 +197,6 @@ static sbyte nd_record_v_no_space;
|
|||
static sbyte nd_record_v_objs[MAX_OBJECTS];
|
||||
static sbyte nd_record_v_viewobjs[MAX_OBJECTS];
|
||||
static sbyte nd_record_v_rendering[32];
|
||||
static int nd_record_v_countdown_seconds_left = 0;
|
||||
static int nd_record_v_player_energy = -1;
|
||||
static fix nd_record_v_player_afterburner = -1;
|
||||
static int nd_record_v_player_shields = -1;
|
||||
|
@ -910,7 +909,6 @@ void newdemo_record_start_demo()
|
|||
nd_write_int(Players[Player_num].flags); // be sure players flags are set
|
||||
nd_write_byte((sbyte)Primary_weapon);
|
||||
nd_write_byte((sbyte)Secondary_weapon);
|
||||
nd_record_v_countdown_seconds_left = 0;
|
||||
nd_record_v_start_frame = nd_record_v_frame_number = 0;
|
||||
nd_record_v_juststarted=1;
|
||||
newdemo_set_new_level(Current_level_num);
|
||||
|
@ -1142,12 +1140,11 @@ void newdemo_record_wall_toggle( int segnum, int side )
|
|||
|
||||
void newdemo_record_control_center_destroyed()
|
||||
{
|
||||
if (nd_record_v_countdown_seconds_left == Countdown_seconds_left)
|
||||
if (!nd_record_v_recordframe)
|
||||
return;
|
||||
stop_time();
|
||||
nd_write_byte( ND_EVENT_CONTROL_CENTER_DESTROYED );
|
||||
nd_write_int( Countdown_seconds_left );
|
||||
nd_record_v_countdown_seconds_left = Countdown_seconds_left;
|
||||
start_time();
|
||||
}
|
||||
|
||||
|
@ -1462,7 +1459,6 @@ void newdemo_set_new_level(int level_num)
|
|||
segment *seg;
|
||||
|
||||
stop_time();
|
||||
newdemo_record_restore_rearview(); // This is actually switched while loading the new level - not ingame, so do it here.
|
||||
nd_write_byte(ND_EVENT_NEW_LEVEL);
|
||||
nd_write_byte((sbyte)level_num);
|
||||
nd_write_byte((sbyte)Current_level_num);
|
||||
|
|
Loading…
Reference in a new issue