mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-26 14:33:46 -04:00
fix G_MBFSaveGameName and save compatibility
This commit is contained in:
parent
6cde55c9bd
commit
d706d2a7d4
@ -1496,9 +1496,11 @@ char* G_SaveGameName(int slot)
|
|||||||
return M_StringJoin(basesavegame, DIR_SEPARATOR_S, buf, NULL);
|
return M_StringJoin(basesavegame, DIR_SEPARATOR_S, buf, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void G_MBFSaveGameName(char *name, int slot)
|
char* G_MBFSaveGameName(int slot)
|
||||||
{
|
{
|
||||||
sprintf(name, "%s/%.7s%d.dsg", basesavegame, "MBFSAV", slot);
|
char buf[16] = {0};
|
||||||
|
sprintf(buf, "MBFSAV%d.dsg", slot);
|
||||||
|
return M_StringJoin(basesavegame, DIR_SEPARATOR_S, buf, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// killough 12/98:
|
// killough 12/98:
|
||||||
@ -1548,7 +1550,7 @@ static void G_DoSaveGame(void)
|
|||||||
memset (name2,0,sizeof(name2));
|
memset (name2,0,sizeof(name2));
|
||||||
|
|
||||||
// killough 2/22/98: "proprietary" version string :-)
|
// killough 2/22/98: "proprietary" version string :-)
|
||||||
sprintf (name2,VERSIONID,MBF21VERSION);
|
sprintf (name2,VERSIONID,MBFVERSION);
|
||||||
|
|
||||||
memcpy (save_p, name2, VERSIONSIZE);
|
memcpy (save_p, name2, VERSIONSIZE);
|
||||||
save_p += VERSIONSIZE;
|
save_p += VERSIONSIZE;
|
||||||
@ -1652,7 +1654,7 @@ static void G_DoLoadGame(void)
|
|||||||
// skip the description field
|
// skip the description field
|
||||||
|
|
||||||
// killough 2/22/98: "proprietary" version string :-)
|
// killough 2/22/98: "proprietary" version string :-)
|
||||||
sprintf (vcheck,VERSIONID,MBF21VERSION);
|
sprintf (vcheck,VERSIONID,MBFVERSION);
|
||||||
|
|
||||||
// killough 2/22/98: Friendly savegame version difference message
|
// killough 2/22/98: Friendly savegame version difference message
|
||||||
if (!forced_loadgame && strncmp((char *) save_p, vcheck, VERSIONSIZE))
|
if (!forced_loadgame && strncmp((char *) save_p, vcheck, VERSIONSIZE))
|
||||||
|
@ -58,7 +58,7 @@ void G_Ticker(void);
|
|||||||
void G_ScreenShot(void);
|
void G_ScreenShot(void);
|
||||||
void G_ReloadDefaults(void); // killough 3/1/98: loads game defaults
|
void G_ReloadDefaults(void); // killough 3/1/98: loads game defaults
|
||||||
char *G_SaveGameName(int); // killough 3/22/98: sets savegame filename
|
char *G_SaveGameName(int); // killough 3/22/98: sets savegame filename
|
||||||
void G_MBFSaveGameName(char *,int); // MBF savegame filename
|
char *G_MBFSaveGameName(int); // MBF savegame filename
|
||||||
void G_SetFastParms(int); // killough 4/10/98: sets -fast parameters
|
void G_SetFastParms(int); // killough 4/10/98: sets -fast parameters
|
||||||
void G_DoNewGame(void);
|
void G_DoNewGame(void);
|
||||||
void G_DoReborn(int playernum);
|
void G_DoReborn(int playernum);
|
||||||
|
@ -867,7 +867,8 @@ void M_LoadSelect(int choice)
|
|||||||
|
|
||||||
if (access(name, F_OK) != 0)
|
if (access(name, F_OK) != 0)
|
||||||
{
|
{
|
||||||
G_MBFSaveGameName(name, choice);
|
if (name) (free)(name);
|
||||||
|
name = G_MBFSaveGameName(choice);
|
||||||
saveg_compat = saveg_mbf;
|
saveg_compat = saveg_mbf;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -970,8 +971,9 @@ void M_ReadSaveStrings(void)
|
|||||||
|
|
||||||
if (!fp)
|
if (!fp)
|
||||||
{ // Ty 03/27/98 - externalized:
|
{ // Ty 03/27/98 - externalized:
|
||||||
G_MBFSaveGameName(name, i);
|
name = G_MBFSaveGameName(i);
|
||||||
fp = fopen(name,"rb");
|
fp = fopen(name,"rb");
|
||||||
|
if (name) (free)(name);
|
||||||
if (!fp)
|
if (!fp)
|
||||||
{
|
{
|
||||||
strcpy(&savegamestrings[i][0],s_EMPTYSTRING);
|
strcpy(&savegamestrings[i][0],s_EMPTYSTRING);
|
||||||
|
@ -118,10 +118,11 @@ typedef enum {
|
|||||||
pr_dropoff, // #60
|
pr_dropoff, // #60
|
||||||
pr_randomjump, // #61
|
pr_randomjump, // #61
|
||||||
pr_defect, // #62
|
pr_defect, // #62
|
||||||
pr_mbf21, // #63
|
|
||||||
|
|
||||||
// End of new entries
|
// End of new entries
|
||||||
NUMPRCLASS // MUST be last item in list
|
NUMPRCLASS, // MUST be last item in list
|
||||||
|
|
||||||
|
pr_mbf21, // #63
|
||||||
} pr_class_t;
|
} pr_class_t;
|
||||||
|
|
||||||
// The random number generator's state.
|
// The random number generator's state.
|
||||||
|
@ -345,8 +345,15 @@ static void saveg_read_mobj_t(mobj_t *str)
|
|||||||
// int flags;
|
// int flags;
|
||||||
str->flags = saveg_read32();
|
str->flags = saveg_read32();
|
||||||
|
|
||||||
|
if (saveg_compat == saveg_mbf21)
|
||||||
|
{
|
||||||
// [Woof!]: mbf21: int flags2;
|
// [Woof!]: mbf21: int flags2;
|
||||||
//str->flags2 = saveg_read32();
|
str->flags2 = saveg_read32();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
str->flags2 = mobjinfo[str->type].flags2;
|
||||||
|
}
|
||||||
|
|
||||||
// int intflags
|
// int intflags
|
||||||
str->intflags = saveg_read32();
|
str->intflags = saveg_read32();
|
||||||
@ -526,8 +533,11 @@ static void saveg_write_mobj_t(mobj_t *str)
|
|||||||
// int flags;
|
// int flags;
|
||||||
saveg_write32(str->flags);
|
saveg_write32(str->flags);
|
||||||
|
|
||||||
|
if (saveg_compat == saveg_mbf21)
|
||||||
|
{
|
||||||
// [Woof!]: mbf21: int flags2;
|
// [Woof!]: mbf21: int flags2;
|
||||||
// saveg_write32(str->flags2);
|
saveg_write32(str->flags2);
|
||||||
|
}
|
||||||
|
|
||||||
// int intflags;
|
// int intflags;
|
||||||
saveg_write32(str->intflags);
|
saveg_write32(str->intflags);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user