in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients

This commit is contained in:
zicodxx 2012-05-24 12:46:33 +02:00
parent d4dfd1fb40
commit a9c07f81e7
3 changed files with 15 additions and 12 deletions

View file

@ -1,5 +1,9 @@
D1X-Rebirth Changelog
20120524
--------
main/gameseq.c, main/multi.c: in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients
20120521
--------
main/state.c: now properly initialize all other parts of the new/old player object when restoring a coop savestate

View file

@ -1341,26 +1341,21 @@ void StartLevel(int random)
ConsoleObject->control_type = CT_FLYING;
ConsoleObject->movement_type = MT_PHYSICS;
disable_matcens();
clear_transient_objects(0); //0 means leave proximity bombs
// create_player_appearance_effect(ConsoleObject);
Do_appearance_effect = 1;
#ifdef NETWORK
if (Game_mode & GM_MULTI)
{
#ifndef SHAREWARE
if (Game_mode & GM_MULTI_COOP)
multi_send_score();
#endif
multi_send_reappear();
}
if (Game_mode & GM_NETWORK)
multi_do_protocol_frame(1, 1);
#endif
}
else // in Singleplayer, after we died ...
{
disable_matcens(); // ... disable matcens and ...
clear_transient_objects(0); // ... clear all transient objects.
}
ai_reset_all_paths();
ai_init_boss_for_ship();
@ -1368,6 +1363,11 @@ void StartLevel(int random)
reset_rear_view();
Auto_fire_fusion_cannon_time = 0;
Fusion_charge = 0;
if (!(Game_mode & GM_MULTI)) // stuff for Singleplayer only
{
}
}

View file

@ -74,7 +74,6 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
void reset_player_object(void); // In object.c but not in object.h
void multi_reset_object_texture(object *objp);
void drop_player_eggs(object *playerobj); // from collide.c
void StartLevel(void); // From gameseq.c
void multi_do_heartbeat(char *buf);
void multi_send_heartbeat();
void multi_do_kill_goal_counts(char *buf);