Pass player to init_player_stats_level

This commit is contained in:
Kp 2017-04-30 16:25:16 +00:00
parent bd82516983
commit 79a4a19711
2 changed files with 8 additions and 9 deletions

View file

@ -40,6 +40,7 @@ extern unsigned state_game_id;
extern int state_quick_item;
#ifdef dsx
#include "fwd-player.h"
namespace dsx {
enum class secret_save
@ -108,10 +109,10 @@ static inline window_event_result StartNewLevelSub(int level_num, int page_in_te
{
return StartNewLevelSub(level_num, page_in_textures);
}
void init_player_stats_level();
static inline void init_player_stats_level(secret_restore)
void init_player_stats_level(player &, object &);
static inline void init_player_stats_level(player &p, object &o, secret_restore)
{
init_player_stats_level();
init_player_stats_level(p, o);
}
#elif defined(DXX_BUILD_DESCENT_II)
int state_restore_all_sub(const char *filename, secret_restore);
@ -119,7 +120,7 @@ void set_pos_from_return_segment(void);
int state_save_all(secret_save, blind_save);
int state_restore_all(int in_game, secret_restore, const char *filename_override, blind_save);
window_event_result StartNewLevelSub(int level_num, int page_in_textures, secret_restore);
void init_player_stats_level(secret_restore);
void init_player_stats_level(player &, object &, secret_restore);
#endif
}
#endif

View file

@ -345,15 +345,14 @@ extern ubyte Last_afterburner_state;
// Setup player for new level (After completion of previous level)
#if defined(DXX_BUILD_DESCENT_I)
void init_player_stats_level()
void init_player_stats_level(player &plr, object &plrobj)
#elif defined(DXX_BUILD_DESCENT_II)
void init_player_stats_level(const secret_restore secret_flag)
void init_player_stats_level(player &plr, object &plrobj, const secret_restore secret_flag)
#endif
{
#if defined(DXX_BUILD_DESCENT_I)
static constexpr tt::integral_constant<secret_restore, secret_restore::none> secret_flag{};
#endif
auto &plr = get_local_player();
plr.level = Current_level_num;
@ -362,7 +361,6 @@ void init_player_stats_level(const secret_restore secret_flag)
plr.hours_level = 0;
}
auto &plrobj = get_local_plrobj();
auto &player_info = plrobj.ctype.player_info;
player_info.mission.last_score = player_info.mission.score;
@ -1616,7 +1614,7 @@ window_event_result StartNewLevelSub(const int level_num, const int page_in_text
automap_clear_visited();
init_player_stats_level(secret_flag);
init_player_stats_level(get_local_player(), get_local_plrobj(), secret_flag);
#if defined(DXX_BUILD_DESCENT_I)
gr_use_palette_table( "palette.256" );