mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 17:01:51 +00:00
Bump savegame name limits from 22 in memory and 19 in practice to 32 in memory and 30 in practice.
This bumps SV_MINOR_VER. git-svn-id: https://svn.eduke32.com/eduke32@6529 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
f808648079
commit
4313460da7
5 changed files with 15 additions and 26 deletions
|
@ -4850,10 +4850,10 @@ FAKE_F3:
|
|||
if (g_lastSaveSlot >= 0)
|
||||
{
|
||||
// dirty hack... char 127 in last position indicates an auto-filled name
|
||||
if (ud.savegame[g_lastSaveSlot][MAXSAVEGAMENAME-2] == 127)
|
||||
if (ud.savegame[g_lastSaveSlot][MAXSAVEGAMENAME] == 127)
|
||||
{
|
||||
Bstrncpy(&ud.savegame[g_lastSaveSlot][0], g_mapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, 19);
|
||||
ud.savegame[g_lastSaveSlot][MAXSAVEGAMENAME-2] = 127;
|
||||
Bstrncpy(&ud.savegame[g_lastSaveSlot][0], g_mapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, MAXSAVEGAMENAME);
|
||||
ud.savegame[g_lastSaveSlot][MAXSAVEGAMENAME] = 127;
|
||||
}
|
||||
|
||||
G_SavePlayerMaybeMulti(g_lastSaveSlot);
|
||||
|
|
|
@ -130,7 +130,8 @@ extern camera_t g_camera;
|
|||
#define MAXRIDECULE 10
|
||||
#define MAXRIDECULELENGTH 40
|
||||
#define MAXSAVEGAMES 10
|
||||
#define MAXSAVEGAMENAME 22
|
||||
#define MAXSAVEGAMENAMESTRUCT 32
|
||||
#define MAXSAVEGAMENAME (MAXSAVEGAMENAMESTRUCT-1)
|
||||
#define MAXPWLOCKOUT 128
|
||||
#define MAXRTSNAME 128
|
||||
|
||||
|
@ -234,7 +235,7 @@ typedef struct {
|
|||
char god,warp_on,cashman,eog,showallmap;
|
||||
char show_help,scrollmode,noclip;
|
||||
char ridecule[MAXRIDECULE][MAXRIDECULELENGTH];
|
||||
char savegame[MAXSAVEGAMES][MAXSAVEGAMENAME];
|
||||
char savegame[MAXSAVEGAMES][MAXSAVEGAMENAMESTRUCT];
|
||||
char pwlockout[MAXPWLOCKOUT],rtsname[MAXRTSNAME];
|
||||
char display_bonus_screen;
|
||||
char show_level_text;
|
||||
|
|
|
@ -3145,7 +3145,7 @@ static void Menu_EntryStringActivate(/*MenuEntry_t *entry*/)
|
|||
{
|
||||
case MENU_SAVE:
|
||||
if (!save_xxh)
|
||||
save_xxh = XXH32((uint8_t *)&ud.savegame[M_SAVE.currentEntry][0], 19, 0xDEADBEEF);
|
||||
save_xxh = XXH32((uint8_t *)&ud.savegame[M_SAVE.currentEntry][0], MAXSAVEGAMENAME, 0xDEADBEEF);
|
||||
if (ud.savegame[M_SAVE.currentEntry][0])
|
||||
Menu_Change(MENU_SAVEVERIFY);
|
||||
break;
|
||||
|
@ -3167,18 +3167,18 @@ static int32_t Menu_EntryStringSubmit(MenuEntry_t *entry, char *input)
|
|||
#ifdef __ANDROID__
|
||||
if (1)
|
||||
#else
|
||||
if (input[0] == 0 || (ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME-2] == 127 &&
|
||||
Bstrncmp(&ud.savegame[M_SAVE.currentEntry][0], input, MAXSAVEGAMENAME-3) == 0 &&
|
||||
save_xxh == XXH32((uint8_t *)&ud.savegame[M_SAVE.currentEntry][0], MAXSAVEGAMENAME-3, 0xDEADBEEF)))
|
||||
if (input[0] == 0 || (ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME] == 127 &&
|
||||
Bstrncmp(&ud.savegame[M_SAVE.currentEntry][0], input, MAXSAVEGAMENAME) == 0 &&
|
||||
save_xxh == XXH32((uint8_t *)&ud.savegame[M_SAVE.currentEntry][0], MAXSAVEGAMENAME, 0xDEADBEEF)))
|
||||
#endif
|
||||
{
|
||||
Bstrncpy(&ud.savegame[M_SAVE.currentEntry][0], g_mapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, MAXSAVEGAMENAME-3);
|
||||
ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME-2] = 127;
|
||||
Bstrncpy(&ud.savegame[M_SAVE.currentEntry][0], g_mapInfo[ud.volume_number * MAXLEVELS + ud.level_number].name, MAXSAVEGAMENAME);
|
||||
ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME] = 127;
|
||||
returnvar = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME-2] = 0;
|
||||
ud.savegame[M_SAVE.currentEntry][MAXSAVEGAMENAME] = 0;
|
||||
Bstrncpy(object->variable, input, object->maxlength);
|
||||
}
|
||||
|
||||
|
|
|
@ -1277,8 +1277,6 @@ static void SV_AllocSnap(int32_t allocinit)
|
|||
svdiff = (uint8_t *)Xmalloc(svdiffsiz);
|
||||
}
|
||||
|
||||
EDUKE32_STATIC_ASSERT(sizeof(savehead_t) == SAVEHEAD_SIZE);
|
||||
|
||||
// make snapshot only if spot < 0 (demo)
|
||||
int32_t sv_saveandmakesnapshot(FILE *fil, int8_t spot, int8_t recdiffsp, int8_t diffcompress, int8_t synccompress)
|
||||
{
|
||||
|
@ -1416,8 +1414,6 @@ int32_t sv_saveandmakesnapshot(FILE *fil, int8_t spot, int8_t recdiffsp, int8_t
|
|||
return 0;
|
||||
}
|
||||
|
||||
EDUKE32_STATIC_ASSERT(sizeof(savehead_t) == SAVEHEAD_SIZE);
|
||||
|
||||
// if file is not an EDuke32 savegame/demo, h->headerstr will be all zeros
|
||||
int32_t sv_loadheader(int32_t fil, int32_t spot, savehead_t *h)
|
||||
{
|
||||
|
|
|
@ -34,7 +34,7 @@ extern "C" {
|
|||
#else
|
||||
# define SV_MAJOR_VER 1
|
||||
#endif
|
||||
#define SV_MINOR_VER 3
|
||||
#define SV_MINOR_VER 4
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
|
@ -51,7 +51,7 @@ typedef struct
|
|||
int32_t reccnt, snapsiz;
|
||||
// 8 bytes
|
||||
|
||||
char savename[MAXSAVEGAMENAME];
|
||||
char savename[MAXSAVEGAMENAMESTRUCT];
|
||||
uint8_t numplayers, volnum, levnum, skill;
|
||||
char boardfn[BMAX_PATH];
|
||||
// 282 bytes
|
||||
|
@ -61,14 +61,6 @@ typedef struct
|
|||
} savehead_t;
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __ANDROID__
|
||||
#define SAVEHEAD_SIZE 374
|
||||
#else
|
||||
#define SAVEHEAD_SIZE 310
|
||||
#endif
|
||||
|
||||
EDUKE32_STATIC_ASSERT(sizeof(savehead_t) == SAVEHEAD_SIZE);
|
||||
|
||||
int32_t sv_updatestate(int32_t frominit);
|
||||
int32_t sv_readdiff(int32_t fil);
|
||||
uint32_t sv_writediff(FILE *fil);
|
||||
|
|
Loading…
Reference in a new issue