diff --git a/src/tr2/decomp/decomp.c b/src/tr2/decomp/decomp.c index 6b868a71b..e4f60b1dd 100644 --- a/src/tr2/decomp/decomp.c +++ b/src/tr2/decomp/decomp.c @@ -209,17 +209,6 @@ void InitialiseGameFlags(void) g_IsMonkAngry = false; } -void InitialiseLevelFlags(void) -{ - g_SaveGame.current_stats.timer = 0; - g_SaveGame.current_stats.kills = 0; - g_SaveGame.current_stats.distance = 0; - g_SaveGame.current_stats.ammo_hits = 0; - g_SaveGame.current_stats.ammo_used = 0; - g_SaveGame.current_stats.medipacks = 0; - g_SaveGame.current_stats.secret_flags = 0; -} - void GetCarriedItems(void) { for (int32_t item_num = 0; item_num < Item_GetLevelCount(); item_num++) { diff --git a/src/tr2/decomp/decomp.h b/src/tr2/decomp/decomp.h index 80e85fcc9..3ae0405fe 100644 --- a/src/tr2/decomp/decomp.h +++ b/src/tr2/decomp/decomp.h @@ -23,7 +23,6 @@ void IncreaseScreenSize(void); void S_UnloadLevelFile(void); void GetValidLevelsList(REQUEST_INFO *req); void InitialiseGameFlags(void); -void InitialiseLevelFlags(void); void GetCarriedItems(void); int32_t DoShift(ITEM *vehicle, const XYZ_32 *pos, const XYZ_32 *old); int32_t DoDynamics(int32_t height, int32_t fall_speed, int32_t *out_y); diff --git a/src/tr2/game/game_flow/sequencer_events.c b/src/tr2/game/game_flow/sequencer_events.c index 580b03abb..6f9d83295 100644 --- a/src/tr2/game/game_flow/sequencer_events.c +++ b/src/tr2/game/game_flow/sequencer_events.c @@ -8,6 +8,7 @@ #include "game/level.h" #include "game/music.h" #include "game/phase.h" +#include "game/stats.h" #include "global/vars.h" #include @@ -73,7 +74,7 @@ static DECLARE_GF_EVENT_HANDLER(M_HandlePlayLevel) } tmp_level = next_level; } - InitialiseLevelFlags(); + Stats_Reset(); break; } @@ -82,8 +83,8 @@ static DECLARE_GF_EVENT_HANDLER(M_HandlePlayLevel) if (level->type == GFL_NORMAL) { GF_InventoryModifier_Scan(level); GF_InventoryModifier_Apply(level, GF_INV_REGULAR); + Stats_Reset(); } - InitialiseLevelFlags(); break; } diff --git a/src/tr2/game/stats.c b/src/tr2/game/stats.c index f46194a96..56a2663fd 100644 --- a/src/tr2/game/stats.c +++ b/src/tr2/game/stats.c @@ -62,3 +62,14 @@ FINAL_STATS Stats_ComputeFinalStats(void) return result; } + +void Stats_Reset(void) +{ + g_SaveGame.current_stats.timer = 0; + g_SaveGame.current_stats.kills = 0; + g_SaveGame.current_stats.distance = 0; + g_SaveGame.current_stats.ammo_hits = 0; + g_SaveGame.current_stats.ammo_used = 0; + g_SaveGame.current_stats.medipacks = 0; + g_SaveGame.current_stats.secret_flags = 0; +} diff --git a/src/tr2/game/stats.h b/src/tr2/game/stats.h index 48a9d97fb..290dc40df 100644 --- a/src/tr2/game/stats.h +++ b/src/tr2/game/stats.h @@ -4,4 +4,5 @@ void Stats_StartTimer(void); void Stats_UpdateTimer(void); +void Stats_Reset(void); FINAL_STATS Stats_ComputeFinalStats(void);