From 90666ba19bf4454710bcdb89b2a43ae83a2d3498 Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 20 Dec 2014 04:36:07 +0000 Subject: [PATCH] Use PHYSFSX_gets_line_t for Current_level_name --- common/main/gameseq.h | 11 ++++------- similar/main/automap.cpp | 2 +- similar/main/gamesave.cpp | 10 +++++----- similar/main/gameseq.cpp | 2 +- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/common/main/gameseq.h b/common/main/gameseq.h index 7d2817c29..609a86c71 100644 --- a/common/main/gameseq.h +++ b/common/main/gameseq.h @@ -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 +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 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; diff --git a/similar/main/automap.cpp b/similar/main/automap.cpp index 6619e00f5..d3323390c 100644 --- a/similar/main/automap.cpp +++ b/similar/main/automap.cpp @@ -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 diff --git a/similar/main/gamesave.cpp b/similar/main/gamesave.cpp index 3a163b991..e974a60c0 100644 --- a/similar/main/gamesave.cpp +++ b/similar/main/gamesave.cpp @@ -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; diff --git a/similar/main/gameseq.cpp b/similar/main/gameseq.cpp index 5c39b0412..aaf21807c 100644 --- a/similar/main/gameseq.cpp +++ b/similar/main/gameseq.cpp @@ -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 Current_level_name; // Global variables describing the player unsigned N_players=1; // Number of players ( >1 means a net game, eh?)