in StartLevel() only call disable_matcens() and clear_transient_objects() in Singleplayer to keep consistency with remote clients
This commit is contained in:
parent
d4dfd1fb40
commit
a9c07f81e7
|
@ -1,5 +1,9 @@
|
||||||
D1X-Rebirth Changelog
|
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
|
20120521
|
||||||
--------
|
--------
|
||||||
main/state.c: now properly initialize all other parts of the new/old player object when restoring a coop savestate
|
main/state.c: now properly initialize all other parts of the new/old player object when restoring a coop savestate
|
||||||
|
|
|
@ -1341,26 +1341,21 @@ void StartLevel(int random)
|
||||||
ConsoleObject->control_type = CT_FLYING;
|
ConsoleObject->control_type = CT_FLYING;
|
||||||
ConsoleObject->movement_type = MT_PHYSICS;
|
ConsoleObject->movement_type = MT_PHYSICS;
|
||||||
|
|
||||||
disable_matcens();
|
|
||||||
|
|
||||||
clear_transient_objects(0); //0 means leave proximity bombs
|
|
||||||
|
|
||||||
// create_player_appearance_effect(ConsoleObject);
|
// create_player_appearance_effect(ConsoleObject);
|
||||||
Do_appearance_effect = 1;
|
Do_appearance_effect = 1;
|
||||||
|
|
||||||
#ifdef NETWORK
|
|
||||||
if (Game_mode & GM_MULTI)
|
if (Game_mode & GM_MULTI)
|
||||||
{
|
{
|
||||||
#ifndef SHAREWARE
|
|
||||||
if (Game_mode & GM_MULTI_COOP)
|
if (Game_mode & GM_MULTI_COOP)
|
||||||
multi_send_score();
|
multi_send_score();
|
||||||
#endif
|
|
||||||
multi_send_reappear();
|
multi_send_reappear();
|
||||||
}
|
|
||||||
|
|
||||||
if (Game_mode & GM_NETWORK)
|
|
||||||
multi_do_protocol_frame(1, 1);
|
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_reset_all_paths();
|
||||||
ai_init_boss_for_ship();
|
ai_init_boss_for_ship();
|
||||||
|
@ -1368,6 +1363,11 @@ void StartLevel(int random)
|
||||||
reset_rear_view();
|
reset_rear_view();
|
||||||
Auto_fire_fusion_cannon_time = 0;
|
Auto_fire_fusion_cannon_time = 0;
|
||||||
Fusion_charge = 0;
|
Fusion_charge = 0;
|
||||||
|
|
||||||
|
if (!(Game_mode & GM_MULTI)) // stuff for Singleplayer only
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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 reset_player_object(void); // In object.c but not in object.h
|
||||||
void multi_reset_object_texture(object *objp);
|
void multi_reset_object_texture(object *objp);
|
||||||
void drop_player_eggs(object *playerobj); // from collide.c
|
void drop_player_eggs(object *playerobj); // from collide.c
|
||||||
void StartLevel(void); // From gameseq.c
|
|
||||||
void multi_do_heartbeat(char *buf);
|
void multi_do_heartbeat(char *buf);
|
||||||
void multi_send_heartbeat();
|
void multi_send_heartbeat();
|
||||||
void multi_do_kill_goal_counts(char *buf);
|
void multi_do_kill_goal_counts(char *buf);
|
||||||
|
|
Loading…
Reference in a new issue