Use PHYSFSX_gets_line_t for Current_level_name

This commit is contained in:
Kp 2014-12-20 04:36:07 +00:00
parent 9f44ccbbf3
commit 90666ba19b
4 changed files with 11 additions and 14 deletions

View file

@ -35,21 +35,18 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
struct player;
#define SUPER_MISSILE 0
#define SUPER_SEEKER 1
#define SUPER_SMARTBOMB 2
#define SUPER_SHOCKWAVE 3
template <std::size_t>
struct PHYSFSX_gets_line_t;
#define LEVEL_NAME_LEN 36 //make sure this is multiple of 4!
const unsigned LEVEL_NAME_LEN = 36; //make sure this is multiple of 4!
// Current_level_num starts at 1 for the first level
// -1,-2,-3 are secret levels
// 0 means not a real level loaded
extern int Current_level_num, Next_level_num;
extern char Current_level_name[LEVEL_NAME_LEN];
extern PHYSFSX_gets_line_t<LEVEL_NAME_LEN> Current_level_name;
extern obj_position Player_init[MAX_PLAYERS];
// This is the highest level the player has ever reached
extern int Player_highest_level;

View file

@ -453,7 +453,7 @@ static void name_frame(automap *am)
const char *name_level;
if (Current_level_num > 0)
{
snprintf(name_level_left, sizeof(name_level_left), "%s %i: %s",TXT_LEVEL, Current_level_num, Current_level_name);
snprintf(name_level_left, sizeof(name_level_left), "%s %i: %s",TXT_LEVEL, Current_level_num, Current_level_name.line());
name_level = name_level_left;
}
else

View file

@ -1407,7 +1407,7 @@ int load_level(const char * filename_passed)
#ifdef EDITOR
if (EditorWindow)
editor_status_fmt("Loaded NEW mine %s, \"%s\"",filename,Current_level_name);
editor_status_fmt("Loaded NEW mine %s, \"%s\"", filename, Current_level_name.line());
#endif
#if !defined(NDEBUG) && !defined(COMPACT_SEGS)
@ -1455,7 +1455,7 @@ int create_new_mine(void)
init_all_vertices();
Current_level_num = 0; //0 means not a real level
Current_level_name[0] = 0;
Current_level_name.next()[0] = 0;
#if defined(DXX_BUILD_DESCENT_I)
Gamesave_current_version = LEVEL_FILE_VERSION;
#elif defined(DXX_BUILD_DESCENT_II)
@ -1540,7 +1540,7 @@ static int save_game_data(PHYSFS_file *SaveFile)
PHYSFS_writeSLE16(SaveFile, 0x6705); // signature
PHYSFS_writeSLE16(SaveFile, game_top_fileinfo_version);
PHYSFS_writeSLE32(SaveFile, 0);
PHYSFS_write(SaveFile, Current_level_name, 15, 1);
PHYSFS_write(SaveFile, Current_level_name.line(), 15, 1);
PHYSFS_writeSLE32(SaveFile, Current_level_num);
offset_offset = PHYSFS_tell(SaveFile); // write the offsets later
PHYSFS_writeSLE32(SaveFile, -1);
@ -1567,7 +1567,7 @@ static int save_game_data(PHYSFS_file *SaveFile)
// Write the mine name
if (game_top_fileinfo_version >= 31)
#endif
PHYSFSX_printf(SaveFile, "%s\n", Current_level_name);
PHYSFSX_printf(SaveFile, "%s\n", Current_level_name.line());
#if defined(DXX_BUILD_DESCENT_II)
else if (game_top_fileinfo_version >= 14)
PHYSFSX_writeString(SaveFile, Current_level_name);
@ -1801,7 +1801,7 @@ static int save_level_sub(const char * filename, int compiled_version)
// if ( !compiled_version )
{
if (EditorWindow)
editor_status_fmt("Saved mine %s, \"%s\"",filename,Current_level_name);
editor_status_fmt("Saved mine %s, \"%s\"", filename, Current_level_name.line());
}
return 0;

View file

@ -135,7 +135,7 @@ static void copy_defaults_to_robot_all(void);
//-1,-2,-3 are secret levels
//0 means not a real level loaded
int Current_level_num=0,Next_level_num;
char Current_level_name[LEVEL_NAME_LEN];
PHYSFSX_gets_line_t<LEVEL_NAME_LEN> Current_level_name;
// Global variables describing the player
unsigned N_players=1; // Number of players ( >1 means a net game, eh?)