mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-14 08:30:58 +00:00
Lunatic: conditionally compile out more code in savegame/gamevars.[ch].
Also, make the savegame major version 2 in the Lunatic build. git-svn-id: https://svn.eduke32.com/eduke32@3789 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
4ed1eaa520
commit
e1715a7683
4 changed files with 32 additions and 27 deletions
|
@ -91,11 +91,9 @@ static void Gv_Clear(void)
|
||||||
aGameArrays[i].szLabel=NULL;
|
aGameArrays[i].szLabel=NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
int32_t Gv_ReadSave(int32_t fil, int32_t newbehav)
|
int32_t Gv_ReadSave(int32_t fil, int32_t newbehav)
|
||||||
{
|
{
|
||||||
#if !defined LUNATIC
|
|
||||||
int32_t i, j;
|
int32_t i, j;
|
||||||
char savedstate[MAXVOLUMES*MAXLEVELS];
|
char savedstate[MAXVOLUMES*MAXLEVELS];
|
||||||
char tbuf[12];
|
char tbuf[12];
|
||||||
|
@ -230,13 +228,11 @@ int32_t Gv_ReadSave(int32_t fil, int32_t newbehav)
|
||||||
# endif
|
# endif
|
||||||
return(0);
|
return(0);
|
||||||
corrupt:
|
corrupt:
|
||||||
#endif
|
|
||||||
return(1);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Gv_WriteSave(FILE *fil, int32_t newbehav)
|
void Gv_WriteSave(FILE *fil, int32_t newbehav)
|
||||||
{
|
{
|
||||||
#if !defined LUNATIC
|
|
||||||
int32_t i, j;
|
int32_t i, j;
|
||||||
char savedstate[MAXVOLUMES*MAXLEVELS];
|
char savedstate[MAXVOLUMES*MAXLEVELS];
|
||||||
|
|
||||||
|
@ -320,10 +316,8 @@ void Gv_WriteSave(FILE *fil, int32_t newbehav)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fwrite("EOF: EDuke32", 12, 1, fil);
|
fwrite("EOF: EDuke32", 12, 1, fil);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined LUNATIC
|
|
||||||
void Gv_DumpValues(void)
|
void Gv_DumpValues(void)
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i;
|
||||||
|
@ -988,7 +982,7 @@ static intptr_t *Gv_GetVarDataPtr(const char *szGameLabel)
|
||||||
|
|
||||||
return &(aGameVars[i].val.lValue);
|
return &(aGameVars[i].val.lValue);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // !defined LUNATIC
|
||||||
|
|
||||||
static void G_InitProjectileData(void)
|
static void G_InitProjectileData(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,8 +50,8 @@ enum GamevarFlags_t {
|
||||||
|
|
||||||
#if !defined LUNATIC
|
#if !defined LUNATIC
|
||||||
|
|
||||||
#define MAXGAMEARRAYS (MAXGAMEVARS>>2) // must be lower than MAXGAMEVARS
|
# define MAXGAMEARRAYS (MAXGAMEVARS>>2) // must be lower than MAXGAMEVARS
|
||||||
#define MAXARRAYLABEL MAXVARLABEL
|
# define MAXARRAYLABEL MAXVARLABEL
|
||||||
|
|
||||||
enum GamearrayFlags_t {
|
enum GamearrayFlags_t {
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ typedef struct {
|
||||||
} gamearray_t;
|
} gamearray_t;
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
#define GAR_ELTSZ (sizeof(aGameArrays[0].plValues[0]))
|
# define GAR_ELTSZ (sizeof(aGameArrays[0].plValues[0]))
|
||||||
|
|
||||||
extern gamevar_t aGameVars[MAXGAMEVARS];
|
extern gamevar_t aGameVars[MAXGAMEVARS];
|
||||||
extern gamearray_t aGameArrays[MAXGAMEARRAYS];
|
extern gamearray_t aGameArrays[MAXGAMEARRAYS];
|
||||||
|
@ -110,11 +110,11 @@ void Gv_DumpValues(void);
|
||||||
void Gv_InitWeaponPointers(void);
|
void Gv_InitWeaponPointers(void);
|
||||||
void Gv_RefreshPointers(void);
|
void Gv_RefreshPointers(void);
|
||||||
void Gv_ResetVars(void);
|
void Gv_ResetVars(void);
|
||||||
|
int32_t Gv_ReadSave(int32_t fil,int32_t newbehav);
|
||||||
|
void Gv_WriteSave(FILE *fil,int32_t newbehav);
|
||||||
#endif
|
#endif
|
||||||
void Gv_ResetSystemDefaults(void);
|
void Gv_ResetSystemDefaults(void);
|
||||||
int32_t Gv_ReadSave(int32_t fil,int32_t newbehav);
|
|
||||||
void Gv_Init(void);
|
void Gv_Init(void);
|
||||||
void Gv_WriteSave(FILE *fil,int32_t newbehav);
|
|
||||||
|
|
||||||
#if !defined LUNATIC
|
#if !defined LUNATIC
|
||||||
#define GV_VAROP(func, operator) static inline void __fastcall func(register int32_t id, register int32_t lValue) \
|
#define GV_VAROP(func, operator) static inline void __fastcall func(register int32_t id, register int32_t lValue) \
|
||||||
|
|
|
@ -21,7 +21,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "duke3d.h"
|
#include "duke3d.h"
|
||||||
//#include "gamedef.h"
|
|
||||||
#include "premap.h"
|
#include "premap.h"
|
||||||
#include "menus.h" // menutext
|
#include "menus.h" // menutext
|
||||||
#include "prlights.h"
|
#include "prlights.h"
|
||||||
|
@ -214,7 +213,7 @@ corrupt:
|
||||||
|
|
||||||
static void sv_postudload();
|
static void sv_postudload();
|
||||||
|
|
||||||
// TODO: need to see: keyboard input 'blocked' after load fail ? (at least ESC?)
|
// XXX: keyboard input 'blocked' after load fail? (at least ESC?)
|
||||||
int32_t G_LoadPlayer(int32_t spot)
|
int32_t G_LoadPlayer(int32_t spot)
|
||||||
{
|
{
|
||||||
char fn[16];
|
char fn[16];
|
||||||
|
@ -282,7 +281,6 @@ int32_t G_LoadPlayer(int32_t spot)
|
||||||
else if (MapInfo[h.volnum*MAXLEVELS + h.levnum].filename)
|
else if (MapInfo[h.volnum*MAXLEVELS + h.levnum].filename)
|
||||||
Bstrcpy(currentboardfilename, MapInfo[h.volnum*MAXLEVELS + h.levnum].filename);
|
Bstrcpy(currentboardfilename, MapInfo[h.volnum*MAXLEVELS + h.levnum].filename);
|
||||||
|
|
||||||
// TODO: this stuff needs to be factored out, too...
|
|
||||||
if (currentboardfilename[0])
|
if (currentboardfilename[0])
|
||||||
{
|
{
|
||||||
append_ext_UNSAFE(currentboardfilename, ".mhk");
|
append_ext_UNSAFE(currentboardfilename, ".mhk");
|
||||||
|
@ -1025,7 +1023,9 @@ static const dataspec_t svgm_anmisc[] =
|
||||||
{ DS_END, 0, 0, 0 }
|
{ DS_END, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if !defined LUNATIC
|
||||||
static dataspec_t *svgm_vars=NULL;
|
static dataspec_t *svgm_vars=NULL;
|
||||||
|
#endif
|
||||||
static uint8_t *dosaveplayer2(FILE *fil, uint8_t *mem);
|
static uint8_t *dosaveplayer2(FILE *fil, uint8_t *mem);
|
||||||
static int32_t doloadplayer2(int32_t fil, uint8_t **memptr);
|
static int32_t doloadplayer2(int32_t fil, uint8_t **memptr);
|
||||||
static void postloadplayer(int32_t savegamep);
|
static void postloadplayer(int32_t savegamep);
|
||||||
|
@ -1038,12 +1038,12 @@ static uint8_t *svdiff;
|
||||||
|
|
||||||
#include "gamedef.h"
|
#include "gamedef.h"
|
||||||
|
|
||||||
#define SV_SKIPMASK (/*GAMEVAR_SYSTEM|*/GAMEVAR_READONLY|GAMEVAR_INTPTR| \
|
#if !defined LUNATIC
|
||||||
|
# define SV_SKIPMASK (/*GAMEVAR_SYSTEM|*/GAMEVAR_READONLY|GAMEVAR_INTPTR| \
|
||||||
GAMEVAR_SHORTPTR|GAMEVAR_CHARPTR /*|GAMEVAR_NORESET*/ |GAMEVAR_SPECIAL)
|
GAMEVAR_SHORTPTR|GAMEVAR_CHARPTR /*|GAMEVAR_NORESET*/ |GAMEVAR_SPECIAL)
|
||||||
// setup gamevar data spec for snapshotting and diffing... gamevars must be loaded when called
|
// setup gamevar data spec for snapshotting and diffing... gamevars must be loaded when called
|
||||||
static void sv_makevarspec()
|
static void sv_makevarspec()
|
||||||
{
|
{
|
||||||
#if !defined LUNATIC
|
|
||||||
static char *magic = "blK:vars";
|
static char *magic = "blK:vars";
|
||||||
int32_t i, j, numsavedvars=0, per;
|
int32_t i, j, numsavedvars=0, per;
|
||||||
|
|
||||||
|
@ -1084,8 +1084,8 @@ static void sv_makevarspec()
|
||||||
}
|
}
|
||||||
|
|
||||||
svgm_vars[j].flags = DS_END;
|
svgm_vars[j].flags = DS_END;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void sv_freemem()
|
void sv_freemem()
|
||||||
{
|
{
|
||||||
|
@ -1095,8 +1095,6 @@ void sv_freemem()
|
||||||
Bfree(svinitsnap), svinitsnap=NULL;
|
Bfree(svinitsnap), svinitsnap=NULL;
|
||||||
if (svdiff)
|
if (svdiff)
|
||||||
Bfree(svdiff), svdiff=NULL;
|
Bfree(svdiff), svdiff=NULL;
|
||||||
// if (svgm_vars)
|
|
||||||
// Bfree(svgm_vars), svgm_vars=NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t doallocsnap(int32_t allocinit)
|
static int32_t doallocsnap(int32_t allocinit)
|
||||||
|
@ -1129,8 +1127,12 @@ int32_t sv_saveandmakesnapshot(FILE *fil, int8_t spot, int8_t recdiffsp, int8_t
|
||||||
savegame_diffcompress = diffcompress;
|
savegame_diffcompress = diffcompress;
|
||||||
|
|
||||||
// calculate total snapshot size
|
// calculate total snapshot size
|
||||||
|
#if !defined LUNATIC
|
||||||
sv_makevarspec();
|
sv_makevarspec();
|
||||||
svsnapsiz = calcsz(svgm_vars);
|
svsnapsiz = calcsz(svgm_vars);
|
||||||
|
#else
|
||||||
|
svsnapsiz = 0;
|
||||||
|
#endif
|
||||||
svsnapsiz += calcsz(svgm_udnetw) + calcsz(svgm_secwsp) + calcsz(svgm_script) + calcsz(svgm_anmisc);
|
svsnapsiz += calcsz(svgm_udnetw) + calcsz(svgm_secwsp) + calcsz(svgm_script) + calcsz(svgm_anmisc);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1369,7 +1371,9 @@ uint32_t sv_writediff(FILE *fil)
|
||||||
cmpspecdata(svgm_secwsp, &p, &d);
|
cmpspecdata(svgm_secwsp, &p, &d);
|
||||||
cmpspecdata(svgm_script, &p, &d);
|
cmpspecdata(svgm_script, &p, &d);
|
||||||
cmpspecdata(svgm_anmisc, &p, &d);
|
cmpspecdata(svgm_anmisc, &p, &d);
|
||||||
|
#if !defined LUNATIC
|
||||||
cmpspecdata(svgm_vars, &p, &d);
|
cmpspecdata(svgm_vars, &p, &d);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (p != svsnapshot+svsnapsiz)
|
if (p != svsnapshot+svsnapsiz)
|
||||||
OSD_Printf("sv_writediff: dump+siz=%p, p=%p!\n", svsnapshot+svsnapsiz, p);
|
OSD_Printf("sv_writediff: dump+siz=%p, p=%p!\n", svsnapshot+svsnapsiz, p);
|
||||||
|
@ -1414,7 +1418,9 @@ int32_t sv_readdiff(int32_t fil)
|
||||||
if (applydiff(svgm_secwsp, &p, &d)) return -4;
|
if (applydiff(svgm_secwsp, &p, &d)) return -4;
|
||||||
if (applydiff(svgm_script, &p, &d)) return -5;
|
if (applydiff(svgm_script, &p, &d)) return -5;
|
||||||
if (applydiff(svgm_anmisc, &p, &d)) return -6;
|
if (applydiff(svgm_anmisc, &p, &d)) return -6;
|
||||||
|
#if !defined LUNATIC
|
||||||
if (applydiff(svgm_vars, &p, &d)) return -7;
|
if (applydiff(svgm_vars, &p, &d)) return -7;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (p!=svsnapshot+svsnapsiz)
|
if (p!=svsnapshot+svsnapsiz)
|
||||||
i|=1;
|
i|=1;
|
||||||
|
@ -1523,11 +1529,6 @@ static void sv_postactordata()
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i;
|
||||||
|
|
||||||
#if 0 // POLYMER
|
|
||||||
if (getrendermode() == REND_POLYMER)
|
|
||||||
polymer_resetlights();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for (i=0; i<MAXSPRITES; i++)
|
for (i=0; i<MAXSPRITES; i++)
|
||||||
{
|
{
|
||||||
actor[i].lightptr = NULL;
|
actor[i].lightptr = NULL;
|
||||||
|
@ -1664,9 +1665,11 @@ static uint8_t *dosaveplayer2(FILE *fil, uint8_t *mem)
|
||||||
mem=writespecdata(svgm_anmisc, fil, mem); // animates, quotes & misc.
|
mem=writespecdata(svgm_anmisc, fil, mem); // animates, quotes & misc.
|
||||||
PRINTSIZE("animisc");
|
PRINTSIZE("animisc");
|
||||||
|
|
||||||
|
#if !defined LUNATIC
|
||||||
Gv_WriteSave(fil, 1); // gamevars
|
Gv_WriteSave(fil, 1); // gamevars
|
||||||
mem=writespecdata(svgm_vars, 0, mem);
|
mem=writespecdata(svgm_vars, 0, mem);
|
||||||
PRINTSIZE("vars");
|
PRINTSIZE("vars");
|
||||||
|
#endif
|
||||||
|
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
||||||
|
@ -1690,6 +1693,7 @@ static int32_t doloadplayer2(int32_t fil, uint8_t **memptr)
|
||||||
if (readspecdata(svgm_anmisc, fil, &mem)) return -6;
|
if (readspecdata(svgm_anmisc, fil, &mem)) return -6;
|
||||||
PRINTSIZE("animisc");
|
PRINTSIZE("animisc");
|
||||||
|
|
||||||
|
#if !defined LUNATIC
|
||||||
if (Gv_ReadSave(fil, 1)) return -7;
|
if (Gv_ReadSave(fil, 1)) return -7;
|
||||||
|
|
||||||
if (mem)
|
if (mem)
|
||||||
|
@ -1704,6 +1708,7 @@ static int32_t doloadplayer2(int32_t fil, uint8_t **memptr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PRINTSIZE("vars");
|
PRINTSIZE("vars");
|
||||||
|
#endif
|
||||||
|
|
||||||
if (memptr)
|
if (memptr)
|
||||||
*memptr = mem;
|
*memptr = mem;
|
||||||
|
@ -1722,7 +1727,9 @@ int32_t sv_updatestate(int32_t frominit)
|
||||||
if (readspecdata(svgm_script, -1, &p)) return -5;
|
if (readspecdata(svgm_script, -1, &p)) return -5;
|
||||||
if (readspecdata(svgm_anmisc, -1, &p)) return -6;
|
if (readspecdata(svgm_anmisc, -1, &p)) return -6;
|
||||||
|
|
||||||
|
#if !defined LUNATIC
|
||||||
if (readspecdata(svgm_vars, -1, &p)) return -8;
|
if (readspecdata(svgm_vars, -1, &p)) return -8;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (p != pbeg+svsnapsiz)
|
if (p != pbeg+svsnapsiz)
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,7 +23,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#ifndef __savegame_h__
|
#ifndef __savegame_h__
|
||||||
#define __savegame_h__
|
#define __savegame_h__
|
||||||
|
|
||||||
#define SV_MAJOR_VER 1
|
#ifdef LUNATIC
|
||||||
|
# define SV_MAJOR_VER 2
|
||||||
|
#else
|
||||||
|
# define SV_MAJOR_VER 1
|
||||||
|
#endif
|
||||||
#define SV_MINOR_VER 3
|
#define SV_MINOR_VER 3
|
||||||
|
|
||||||
#pragma pack(push,1)
|
#pragma pack(push,1)
|
||||||
|
|
Loading…
Reference in a new issue