diff --git a/src/game/header/local.h b/src/game/header/local.h index 026f622f..122c15c6 100644 --- a/src/game/header/local.h +++ b/src/game/header/local.h @@ -573,7 +573,7 @@ typedef struct int ofs; fieldtype_t type; int flags; - short save_ver; // currently only used by clientfields[] + short save_ver; } field_t; extern field_t fields[]; diff --git a/src/game/savegame/savegame.c b/src/game/savegame/savegame.c index df995df9..01d7674f 100644 --- a/src/game/savegame/savegame.c +++ b/src/game/savegame/savegame.c @@ -741,12 +741,12 @@ ReadClient(FILE *f, gclient_t *client, short save_ver) for (field = clientfields; field->name; field++) { - if(field->save_ver <= save_ver) + if (field->save_ver <= save_ver) { ReadField(f, field, (byte *)client); } } - if(save_ver < 3) + if (save_ver < 3) { InitClientResp(client); } @@ -849,6 +849,7 @@ ReadGame(const char *filename) if (!strcmp(str_ver, SAVEGAMEVER)) { save_ver = 3; + if (strcmp(str_game, GAMEVERSION)) { fclose(f); @@ -868,6 +869,7 @@ ReadGame(const char *filename) else if (!strcmp(str_ver, "YQ2-2")) { save_ver = 2; + if (strcmp(str_game, GAMEVERSION)) { fclose(f); @@ -887,6 +889,7 @@ ReadGame(const char *filename) else if (!strcmp(str_ver, "YQ2-1")) { save_ver = 1; + if (strcmp(str_game, GAMEVERSION)) { fclose(f); diff --git a/src/game/savegame/tables/gamefunc_decs.h b/src/game/savegame/tables/gamefunc_decs.h index 9e3fca6f..81ba5149 100644 --- a/src/game/savegame/tables/gamefunc_decs.h +++ b/src/game/savegame/tables/gamefunc_decs.h @@ -33,7 +33,7 @@ extern void WriteLevelLocals ( FILE * f ) ; extern void WriteEdict ( FILE * f , edict_t * ent ) ; extern void ReadGame ( const char * filename ) ; extern void WriteGame ( const char * filename , qboolean autosave ) ; -extern void ReadClient ( FILE * f , gclient_t * client, short save_ver ) ; +extern void ReadClient ( FILE * f , gclient_t * client , short save_ver ) ; extern void WriteClient ( FILE * f , gclient_t * client ) ; extern void ReadField ( FILE * f , field_t * field , byte * base ) ; extern void WriteField2 ( FILE * f , field_t * field , byte * base ) ;