- started sorting variables in globals.h and removed player.h after cleaning it out.

This commit is contained in:
Christoph Oelckers 2020-07-19 22:34:59 +02:00
parent 7d7ae9e463
commit 16efa87701
17 changed files with 213 additions and 345 deletions

View file

@ -2812,7 +2812,7 @@ DETONATEB:
int m = 0;
switch (s->picnum)
{
case TRIPBOMBSPRITE: m = powderkegblastradius; break;
case TRIPBOMBSPRITE: m = tripbombblastradius; break; // powder keg
case HEAVYHBOMB: m = pipebombblastradius; break;
case HBOMBAMMO: m = pipebombblastradius; break;
case MORTER: m = morterblastradius; break;

View file

@ -382,6 +382,11 @@ enum sflags_t
SFLAG_NOCANSEECHECK = 0x20000000,
};
enum
{
TFLAG_WALLSWITCH = 1
};
enum
{
EVENT_INIT = 0,
@ -442,10 +447,24 @@ enum miscConstants
HORIZ_MAX =299,
AUTO_AIM_ANGLE =48,
PHEIGHT_DUKE =(38<<8),
PHEIGHT_RR =(40<<8)
PHEIGHT_RR =(40<<8),
MAXMINECARTS = 16,
MAXJAILDOORS = 32,
MAXLIGHTNINSECTORS = 64,
MAXTORCHSECTORS = 64,
MAXGEOSECTORS = 64,
DUKE3D_NO_WIDESCREEN_PINNING = 1 << 0,
};
enum {
MUS_INTRO = 0,
MUS_BRIEFING = 1,
MUS_LOADING = 2,
};
enum
{
// Control flags for WW2GI weapons.
@ -463,3 +482,16 @@ enum EFlamethrowerState
kHitSprite = 0xC000,
};
enum gamemode_t {
MODE_MENU = 0x00000001,
MODE_DEMO = 0x00000002,
MODE_GAME = 0x00000004,
MODE_EOL = 0x00000008,
MODE_TYPE = 0x00000010,
MODE_RESTART = 0x00000020,
};
#define VOLUMEALL ((g_gameType & GAMEFLAG_SHAREWARE) == 0)
#define PLUTOPAK ((g_gameType & GAMEFLAG_PLUTOPAK) != 0)
#define VOLUMEONE ((g_gameType & GAMEFLAG_SHAREWARE) != 0)

View file

@ -17,7 +17,6 @@
#include "gamevar.h"
#include "global.h"
#include "names.h"
#include "player.h"
#include "quotemgr.h"
#include "rts.h"
#include "sounds.h"

View file

@ -238,4 +238,10 @@ void GetInput();
void startmainmenu();
void loadcons();
void updateinterpolations();
void restoreinterpolations();
void setinterpolation(int* posptr);
void stopinterpolation(int* posptr);
void dointerpolations(int smoothratio);
END_DUKE_NS

View file

@ -34,62 +34,66 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
BEGIN_DUKE_NS
extern user_defs ud;
extern int rtsplaying;
extern int32_t cameraclock;
extern int32_t cameradist;
extern int32_t tempwallptr;
enum
{
TFLAG_WALLSWITCH = 1
};
// for now just flags not related to actors, may get more info later.
struct TileInfo
{
int flags;
};
extern TileInfo tileinfo[MAXTILES];
extern int32_t actor_tog;
extern int32_t otherp;
extern ActorInfo actorinfo[MAXTILES];
extern weaponhit hittype[MAXSPRITES];
extern bool sound445done;
// Variables that do not need to be saved.
extern int respawnactortime;
extern int bouncemineblastradius;
extern int respawnitemtime;
extern int morterblastradius;
extern int numfreezebounces;
extern int pipebombblastradius;
extern int dukefriction;
extern int rpgblastradius;
extern int seenineblastradius;
extern int shrinkerblastradius;
extern int gc;
extern int tripbombblastradius;
extern int cameraclock;
extern int cameradist;
extern int otherp; // transient helper, MP only
extern TileInfo tileinfo[MAXTILES]; // static state
extern ActorInfo actorinfo[MAXTILES]; // static state
extern int actor_tog; // cheat state
extern intptr_t apScriptGameEvent[];
extern TArray<int> ScriptCode;
extern input_t sync[MAXPLAYERS];
extern int16_t max_ammo_amount[MAX_WEAPONS];
extern int16_t weaponsandammosprites[15];
extern int32_t PHEIGHT;
// Interpolation code is the same in all games with slightly different naming - this needs to be unified and cleaned up.
// Interpolations are reconstructed on load and do not need to be saved.
#define MAXINTERPOLATIONS MAXSPRITES
extern int numinterpolations;
extern int* curipos[MAXINTERPOLATIONS];
extern int bakipos[MAXINTERPOLATIONS];
// Variables that must be saved
extern int rtsplaying;
extern int tempwallptr;
extern weaponhit hittype[MAXSPRITES];
extern bool sound445done;
extern int levelTextTime;
extern uint16_t frags[MAXPLAYERS][MAXPLAYERS];
extern player_struct ps[MAXPLAYERS];
extern int spriteqamount;
extern uint8_t shadedsector[MAXSECTORS];
extern int lastvisinc;
// todo
#define VOLUMEALL ((g_gameType & GAMEFLAG_SHAREWARE) == 0)
#define PLUTOPAK ((g_gameType & GAMEFLAG_PLUTOPAK) != 0)
#define VOLUMEONE ((g_gameType & GAMEFLAG_SHAREWARE) != 0)
#define MOVEFIFOSIZ 256
#define MAXGAMETYPES 16
enum {
MUS_INTRO = 0,
MUS_BRIEFING = 1,
MUS_LOADING = 2,
};
#define MAXMINECARTS 16
#define MAXJAILDOORS 32
#define MAXLIGHTNINSECTORS 64
#define MAXTORCHSECTORS 64
#define MAXGEOSECTORS 64
#ifdef global_c_
#define G_EXTERN
@ -97,219 +101,101 @@ enum {
#define G_EXTERN extern
#endif
#define MAXINTERPOLATIONS MAXSPRITES
G_EXTERN int32_t duke3d_globalflags;
// KEEPINSYNC astub.c (used values only)
enum DUKE3D_GLOBALFLAGS {
DUKE3D_NO_WIDESCREEN_PINNING = 1<<0,
DUKE3D_NO_HARDCODED_FOGPALS = 1<<1,
DUKE3D_NO_PALETTE_CHANGES = 1<<2,
};
struct animwalltype
{
int16_t wallnum, tag;
};
G_EXTERN int duke3d_globalflags;
G_EXTERN animwalltype animwall[MAXANIMWALLS];
enum
{
MAXLABELLEN = 64
};
G_EXTERN bool synchronized_input;
G_EXTERN char g_loadFromGroupOnly;
G_EXTERN char pus,pub;
G_EXTERN char ready2send;
#define MAXPLAYERNAME 32
G_EXTERN char tempbuf[MAXSECTORS<<1],buf[1024];
G_EXTERN input_t loc;
G_EXTERN int32_t avgfvel, avgsvel, avgbits;
G_EXTERN int avgfvel, avgsvel, avgbits;
G_EXTERN fix16_t avgavel, avghorz;
G_EXTERN int8_t avgextbits;
G_EXTERN int32_t movefifosendplc;
G_EXTERN int movefifosendplc;
G_EXTERN int32_t predictfifoplc;
G_EXTERN int predictfifoplc;
G_EXTERN int32_t g_networkBroadcastMode;
G_EXTERN int g_networkBroadcastMode;
G_EXTERN int32_t g_animWallCnt;
#define numanimwalls g_animWallCnt
G_EXTERN int32_t g_animateCnt;
#define animatecnt g_animateCnt
G_EXTERN int32_t numclouds;
G_EXTERN int32_t camsprite;
G_EXTERN int32_t g_frameRate;
G_EXTERN int32_t g_cyclerCnt;
#define numcyclers g_cyclerCnt
G_EXTERN int32_t g_damageCameras;
#define camerashitable g_damageCameras
G_EXTERN int32_t g_defaultLabelCnt;
G_EXTERN int32_t g_earthquakeTime;
#define earthquaketime g_earthquakeTime
G_EXTERN int32_t g_freezerSelfDamage;
#define freezerhurtowner g_freezerSelfDamage
G_EXTERN int32_t g_gameQuit;
G_EXTERN int32_t global_random;
G_EXTERN int32_t impact_damage;
G_EXTERN int32_t g_maxPlayerHealth;
G_EXTERN int32_t mirrorcnt;
G_EXTERN int32_t playerswhenstarted;
G_EXTERN int32_t g_musicSize;
G_EXTERN int32_t numplayersprites;
G_EXTERN int32_t g_scriptDebug;
G_EXTERN int32_t show_shareware;
G_EXTERN int32_t g_spriteDeleteQueuePos;
G_EXTERN int32_t max_player_health;
G_EXTERN int32_t max_armour_amount;
G_EXTERN int32_t lasermode;
G_EXTERN int32_t screenpeek;
G_EXTERN int numanimwalls;
G_EXTERN int animatecnt;
G_EXTERN int numclouds;
G_EXTERN int camsprite;
G_EXTERN int numcyclers;
G_EXTERN int camerashitable;
G_EXTERN int earthquaketime;
G_EXTERN int freezerhurtowner;
G_EXTERN int gamequit;
G_EXTERN int global_random;
G_EXTERN int impact_damage;
G_EXTERN int mirrorcnt;
G_EXTERN int playerswhenstarted;
G_EXTERN int numplayersprites;
G_EXTERN int show_shareware;
G_EXTERN int spriteqloc;
G_EXTERN int max_player_health;
G_EXTERN int max_armour_amount;
G_EXTERN int lasermode;
G_EXTERN int screenpeek;
G_EXTERN int16_t g_animateSect[MAXANIMATES];
#define animatesect g_animateSect
G_EXTERN int32_t *g_animatePtr[MAXANIMATES];
#define animateptr g_animatePtr
G_EXTERN int32_t g_animateGoal[MAXANIMATES];
#define animategoal g_animateGoal
G_EXTERN int32_t g_animateVel[MAXANIMATES];
#define animatevel g_animateVel
G_EXTERN int16_t animatesect[MAXANIMATES];
G_EXTERN int * animateptr[MAXANIMATES];
G_EXTERN int animategoal[MAXANIMATES];
G_EXTERN int animatevel[MAXANIMATES];
G_EXTERN int16_t clouds[256];
G_EXTERN int16_t cloudx;
G_EXTERN int16_t cloudy;
G_EXTERN ClockTicks cloudtotalclock;
G_EXTERN int16_t SpriteDeletionQueue[1024];
G_EXTERN int16_t g_cyclers[MAXCYCLERS][6];
#define cyclers g_cyclers
G_EXTERN int16_t spriteq[1024];
G_EXTERN int16_t cyclers[MAXCYCLERS][6];
G_EXTERN int16_t mirrorsector[64];
G_EXTERN int16_t mirrorwall[64];
G_EXTERN ClockTicks lockclock;
G_EXTERN ClockTicks ototalclock;
G_EXTERN int32_t wupass;
G_EXTERN int32_t chickenplant;
G_EXTERN int32_t thunderon;
G_EXTERN int32_t g_ufoSpawn;
#define ufospawn g_ufoSpawn
G_EXTERN int32_t g_ufoCnt;
#define ufocnt g_ufoCnt
G_EXTERN int32_t g_hulkSpawn;
#define hulkspawn g_hulkSpawn
G_EXTERN int32_t g_lastLevel;
#define lastlevel g_lastLevel
G_EXTERN int wupass;
G_EXTERN int chickenplant;
G_EXTERN int thunderon;
G_EXTERN int ufospawn;
G_EXTERN int ufocnt;
G_EXTERN int hulkspawn;
G_EXTERN int lastlevel;
G_EXTERN int32_t geosectorwarp[MAXGEOSECTORS];
G_EXTERN int32_t geosectorwarp2[MAXGEOSECTORS];
G_EXTERN int32_t geosector[MAXGEOSECTORS];
G_EXTERN int32_t geox[MAXGEOSECTORS];
G_EXTERN int32_t geoy[MAXGEOSECTORS];
G_EXTERN int32_t geox2[MAXGEOSECTORS];
G_EXTERN int32_t geoy2[MAXGEOSECTORS];
G_EXTERN int geosectorwarp[MAXGEOSECTORS];
G_EXTERN int geosectorwarp2[MAXGEOSECTORS];
G_EXTERN int geosector[MAXGEOSECTORS];
G_EXTERN int geox[MAXGEOSECTORS];
G_EXTERN int geoy[MAXGEOSECTORS];
G_EXTERN int geox2[MAXGEOSECTORS];
G_EXTERN int geoy2[MAXGEOSECTORS];
G_EXTERN uint32_t geocnt;
G_EXTERN int32_t g_thunderFlash;
G_EXTERN int32_t g_thunderTime;
G_EXTERN int32_t g_winderFlash;
G_EXTERN int32_t g_winderTime;
G_EXTERN int32_t g_brightness;
G_EXTERN int g_thunderFlash;
G_EXTERN int g_thunderTime;
G_EXTERN int g_winderFlash;
G_EXTERN int g_winderTime;
G_EXTERN int g_brightness;
G_EXTERN int16_t ambientlotag[64];
G_EXTERN int16_t ambienthitag[64];
G_EXTERN uint32_t ambientfx;
G_EXTERN int msx[MAXANIMPOINTS], msy[MAXANIMPOINTS];
G_EXTERN int32_t WindTime, WindDir;
G_EXTERN int16_t fakebubba_spawn, mamaspawn_count, banjosound, g_bellTime, BellSprite;
#define BellTime g_bellTime
#define word_119BE0 BellSprite
G_EXTERN int WindTime, WindDir;
G_EXTERN int16_t fakebubba_spawn, mamaspawn_count, banjosound, BellTime, BellSprite /* word_119BE0*/;
G_EXTERN uint8_t g_spriteExtra[MAXSPRITES], g_sectorExtra[MAXSECTORS]; // move these back into the base structs!
G_EXTERN uint8_t enemysizecheat, ufospawnsminion, pistonsound, chickenphase, RRRA_ExitedLevel, fogactive;
extern int32_t g_cdTrack;
#define raat607 enemysizecheat // only as a reminder
#define raat605 chickenphase
#define at59d yeehaa_timer
G_EXTERN uint8_t enemysizecheat /*raat607*/, ufospawnsminion, pistonsound, chickenphase /* raat605*/, RRRA_ExitedLevel, fogactive;
G_EXTERN player_orig po[MAXPLAYERS];
G_EXTERN uint32_t everyothertime;
G_EXTERN double g_gameUpdateTime;
G_EXTERN double g_gameUpdateAndDrawTime;
#define GAMEUPDATEAVGTIMENUMSAMPLES 100
extern float g_gameUpdateAvgTime;
#ifndef global_c_
extern char CheatKeys[2];
extern char g_gametypeNames[MAXGAMETYPES][33];
extern int32_t respawnactortime;
extern int32_t bouncemineblastradius;
extern int32_t g_deleteQueueSize;
extern int32_t g_gametypeCnt;
extern int32_t respawnitemtime;
extern int32_t g_morterRadius;
#define morterblastradius g_morterRadius
extern int32_t numfreezebounces;
extern int32_t g_pipebombRadius;
#define pipebombblastradius g_pipebombRadius
extern int32_t dukefriction;
extern int32_t rpgblastradius;
extern int32_t g_scriptSize;
extern int32_t g_seenineRadius;
#define seenineblastradius g_seenineRadius
extern int32_t g_shrinkerRadius;
#define shrinkerblastradius g_shrinkerRadius
extern int32_t g_spriteGravity;
extern int32_t g_timerTicsPerSecond;
extern int32_t g_tripbombRadius;
#define tripbombblastradius g_tripbombRadius
#define powderkegblastradius g_tripbombRadius
extern int32_t g_volumeCnt;
#define gc g_spriteGravity
extern int16_t weaponsandammosprites[15];
extern int32_t g_gametypeFlags[MAXGAMETYPES];
#endif
// Interpolation code is the same in all games with slightly different naming - this needs to be unified and cleaned up.
extern int32_t numinterpolations;
extern int32_t* curipos[MAXINTERPOLATIONS];
extern int32_t bakipos[MAXINTERPOLATIONS];
// old names as porting help.
void updateinterpolations();
void restoreinterpolations();
void setinterpolation(int* posptr);
void stopinterpolation(int* posptr);
void dointerpolations(int smoothratio);
extern player_struct ps[MAXPLAYERS];
extern int spriteqamount;
#define spriteq SpriteDeletionQueue
#define spriteqloc g_spriteDeleteQueuePos
extern uint8_t shadedsector[MAXSECTORS];
END_DUKE_NS

View file

@ -2,7 +2,7 @@
#include "mathutil.h"
#include "glbackend/glbackend.h"
#include "player.h"
#include "global.h"
// all inline functions.
BEGIN_DUKE_NS

View file

@ -762,7 +762,7 @@ static void processInputBits(player_struct *p, ControlInfo &info)
if (info.dx > 0 || info.dyaw < 0) loc.bits |= SKB_INV_RIGHT;
}
if (g_gameQuit) loc.bits |= SKB_GAMEQUIT;
if (gamequit) loc.bits |= SKB_GAMEQUIT;
//if (inputState.GetKeyStatus(sc_Escape)) loc.bits |= SKB_ESCAPE; fixme. This never gets here because the menu eats the escape key.
if (!onVehicle)
@ -1239,7 +1239,7 @@ void GetInput()
if (paused)
{
loc = {};
if (g_gameQuit) loc.bits |= SKB_GAMEQUIT;
if (gamequit) loc.bits |= SKB_GAMEQUIT;
return;
}

View file

@ -1,59 +0,0 @@
//-------------------------------------------------------------------------
/*
Copyright (C) 2010 EDuke32 developers and contributors
This file is part of EDuke32.
EDuke32 is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
//-------------------------------------------------------------------------
#ifndef player_h_
#define player_h_
#include "names.h"
#include "fix16.h"
#include "tarray.h"
#include "constants.h"
#include "types.h"
BEGIN_DUKE_NS
extern int32_t playerswhenstarted;
extern int32_t PHEIGHT;
enum gamemode_t {
MODE_MENU = 0x00000001,
MODE_DEMO = 0x00000002,
MODE_GAME = 0x00000004,
MODE_EOL = 0x00000008,
MODE_TYPE = 0x00000010,
MODE_RESTART = 0x00000020,
};
extern uint16_t frags[MAXPLAYERS][MAXPLAYERS];
extern input_t sync[MAXPLAYERS];
extern int16_t max_ammo_amount[MAX_WEAPONS];
extern int lastvisinc;
END_DUKE_NS
#endif

View file

@ -36,7 +36,6 @@ source as it is released.
#include "ns.h"
#include "global.h"
#include "gamevar.h"
#include "player.h"
#include "names_d.h"
BEGIN_DUKE_NS
@ -2309,7 +2308,6 @@ static void operateweapon(int snum, ESyncBits sb_snum, int psect)
}
else
p->kickback_pic = 0;
if (screenpeek == snum) pus = 1;
p->ammo_amount[p->curr_weapon]--;
fi.shoot(pi, GROWSPARK);

View file

@ -1161,7 +1161,7 @@ int doincrements_r(struct player_struct* p)
{
BellTime--;
if (BellTime == 0)
sprite[word_119BE0].picnum++;
sprite[BellSprite].picnum++;
}
if (chickenphase > 0)
chickenphase--;
@ -3058,7 +3058,6 @@ static void operateweapon(int snum, ESyncBits sb_snum, int psect)
if (p->kickback_pic > 3)
{
p->kickback_pic = 0;
if (screenpeek == snum) pus = 1;
fi.shoot(pi, GROWSPARK);
p->noise_radius = 1024;
madenoise(snum);

View file

@ -36,8 +36,7 @@ source as it is released.
#include "ns.h"
#include "global.h"
#include "gamevar.h"
#include "player.h"
#include "names_d.h"
#include "names_d.h"
BEGIN_DUKE_NS

View file

@ -125,7 +125,6 @@ void resetplayerstats(int snum)
p->got_access = 7;
else p->got_access = 0;
p->random_club_frame= 0;
pus = 1;
p->on_warping_sector = 0;
p->spritebridge = 0;
p->palette = 0;

View file

@ -568,7 +568,7 @@ bool checkhitswitch_r(int snum, int w, int switchtype)
if (sprite[i].picnum == RRTILE8660)
{
BellTime = 132;
word_119BE0 = i;
BellSprite = i;
}
sprite[i].picnum++;
break;
@ -756,7 +756,7 @@ bool checkhitswitch_r(int snum, int w, int switchtype)
if (picnum == RRTILE8660)
{
BellTime = 132;
word_119BE0 = w;
BellSprite = w;
sprite[w].picnum++;
}
else if (picnum == RRTILE8464)

View file

@ -605,6 +605,8 @@ void S_PlaySpecialMusic(unsigned int m)
void S_PlayRRMusic(int newTrack)
{
static int32_t g_cdTrack = -1;
if (!isRR() || !mus_redbook || cd_disabled || currentLevel->music.IsNotEmpty())
return;
Mus_Stop();

View file

@ -26,6 +26,10 @@ struct weaponhit
int temp_data[6];
};
struct animwalltype
{
short wallnum, tag;
};
// Todo - put more state in here
struct ActorInfo
@ -35,6 +39,12 @@ struct ActorInfo
int aimoffset;
};
// for now just flags not related to actors, may get more info later.
struct TileInfo
{
int flags;
};
struct input_t // original name was input which is too generic for a type name.
{
fixed_t q16avel, q16horz; // These were expanded to 16.16 fixed point.

View file

@ -29,62 +29,50 @@ BEGIN_DUKE_NS
user_defs ud;
char g_gametypeNames[MAXGAMETYPES][33]
= { "DukeMatch (Spawn)", "Cooperative Play", "DukeMatch (No Spawn)", "Team DM (Spawn)", "Team DM (No Spawn)" };
float g_gameUpdateAvgTime = -1.f;
int32_t respawnactortime = 768;
int32_t bouncemineblastradius = 2500;
int32_t respawnitemtime = 768;
int32_t g_morterRadius = 2500;
int32_t numfreezebounces = 3;
int32_t g_gametypeCnt = 5;
int32_t g_volumeCnt = 3;
int32_t g_pipebombRadius = 2500;
int32_t dukefriction = 0xCFD0;
int32_t rpgblastradius = 1780;
int32_t g_scriptSize = 1048576;
int32_t g_seenineRadius = 2048;
int32_t g_shrinkerRadius = 650;
int32_t g_spriteGravity = 176;
int32_t g_timerTicsPerSecond = TICRATE;
int32_t g_tripbombRadius = 3880;
int32_t g_cdTrack = -1;
uint16_t frags[MAXPLAYERS][MAXPLAYERS];
input_t sync[MAXPLAYERS];
int16_t weaponsandammosprites[15];
// Variables that do not need to be saved.
int respawnactortime = 768;
int bouncemineblastradius = 2500;
int respawnitemtime = 768;
int morterblastradius = 2500;
int numfreezebounces = 3;
int pipebombblastradius = 2500;
int dukefriction = 0xCFD0;
int rpgblastradius = 1780;
int seenineblastradius = 2048;
int shrinkerblastradius = 650;
int gc = 176;
int tripbombblastradius = 3880;
int cameradist = 0, cameraclock = 0;
int otherp;
TileInfo tileinfo[MAXTILES]; // This is not from EDuke32.
int levelTextTime; // must be serialized
int rtsplaying; // must be serialized
int otherp; // MP only
bool sound445done; // this was local state inside a function, but this must be maintained globally and serialized
int16_t max_ammo_amount[MAX_WEAPONS];
int32_t spriteqamount = 64;
uint8_t shadedsector[MAXSECTORS];
int32_t cameradist = 0, cameraclock = 0;
int32_t g_Shareware = 0;
int32_t tempwallptr;
int32_t actor_tog;
weaponhit hittype[MAXSPRITES];
ActorInfo actorinfo[MAXTILES];
int actor_tog;
input_t sync[MAXPLAYERS];
int16_t max_ammo_amount[MAX_WEAPONS];
int16_t weaponsandammosprites[15];
int PHEIGHT = PHEIGHT_DUKE;
// Variables that must be saved
int rtsplaying;
int tempwallptr;
weaponhit hittype[MAXSPRITES];
bool sound445done; // this was local state inside a function, but this must be maintained globally and serialized
int levelTextTime; // must be serialized
uint16_t frags[MAXPLAYERS][MAXPLAYERS];
player_struct ps[MAXPLAYERS];
int spriteqamount = 64;
uint8_t shadedsector[MAXSECTORS];
int lastvisinc;
int32_t PHEIGHT = PHEIGHT_DUKE;
int32_t lastvisinc;
END_DUKE_NS

View file

@ -32,7 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "savegamehelp.h"
BEGIN_DUKE_NS
#if 0
// For storing pointers in files.
// back_p==0: ptr -> "small int"
// back_p==1: "small int" -> ptr
@ -248,10 +248,13 @@ bool G_SavePlayer(FSaveGameNode *sv)
return res;
}
return 0;
}
#endif
bool GameInterface::LoadGame(FSaveGameNode* sv)
{
#if 0
if (ud.multimode > 1)
{
quoteMgr.InitializeQuote(QUOTE_RESERVED4, "Multiplayer Loading Not Yet Supported");
@ -267,10 +270,13 @@ bool GameInterface::LoadGame(FSaveGameNode* sv)
ps[myconnectindex].gm = MODE_GAME;
return !c;
}
#endif
return 0;
}
bool GameInterface::SaveGame(FSaveGameNode* sv)
{
#if 0
if (ud.multimode > 1)
{
quoteMgr.InitializeQuote(QUOTE_RESERVED4, "Multiplayer Saving Not Yet Supported");
@ -283,8 +289,11 @@ bool GameInterface::SaveGame(FSaveGameNode* sv)
videoNextPage(); // no idea if this is needed here.
return G_SavePlayer(sv);
}
#endif
return 0;
}
#if 0
////////// GENERIC SAVING/LOADING SYSTEM //////////
typedef struct dataspec_
@ -609,7 +618,7 @@ static const dataspec_t svgm_anmisc[] =
{ DS_SAVEFN|DS_LOADFN , (void *)&sv_postanimateptr, 0, 1 },
{ 0, &camsprite, sizeof(camsprite), 1 },
// { 0, &g_origins[0], sizeof(g_origins[0]), ARRAY_SIZE(g_origins) }, type has changed
{ 0, &g_spriteDeleteQueuePos, sizeof(g_spriteDeleteQueuePos), 1 },
{ 0, &spriteqloc, sizeof(spriteqloc), 1 },
{ DS_NOCHK, &spriteqamount, sizeof(spriteqamount), 1 },
{ DS_CNT(spriteqamount), &SpriteDeletionQueue[0], sizeof(int16_t), (intptr_t)&spriteqamount },
{ DS_NOCHK, &numclouds, sizeof(numclouds), 1 },
@ -1122,7 +1131,7 @@ static void postloadplayer(int32_t savegamep)
ps[i].drug_timer = 0;
}
#endif
////////// END GENERIC SAVING/LOADING SYSTEM //////////