doom3-bfg/doomclassic/doom/vars.h

910 lines
23 KiB
C
Raw Normal View History

2012-11-26 18:58:24 +00:00
/*
===========================================================================
Doom 3 BFG Edition GPL Source Code
Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").
Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Doom 3 BFG Edition Source Code 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 Doom 3 BFG Edition Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
// the all-important zone //
memzone_t* mainzone;
idFile * wadFileHandles[MAXWADFILES];
int numWadFiles;
// am_map.vars begin //
int cheating ;
int grid ;
int leveljuststarted ;
qboolean automapactive ;
int finit_width ;
int finit_height ;
int f_x;
int f_y;
int f_w;
int f_h;
int lightlev; // used for funky strobing effect
byte* fb; // pseudo-frame buffer
int amclock;
mpoint_t m_paninc; // how far the window pans each tic (map coords)
fixed_t mtof_zoommul; // how far the window zooms in each tic (map coords)
fixed_t ftom_zoommul; // how far the window zooms in each tic (fb coords)
fixed_t m_x, m_y; // LL x,y where the window is on the map (map coords)
fixed_t m_x2, m_y2; // UR x,y where the window is on the map (map coords)
fixed_t m_w;
fixed_t m_h;
fixed_t min_x;
fixed_t min_y;
fixed_t max_x;
fixed_t max_y;
fixed_t max_w; // max_x-min_x,
fixed_t max_h; // max_y-min_y
fixed_t min_w;
fixed_t min_h;
fixed_t min_scale_mtof; // used to tell when to stop zooming out
fixed_t max_scale_mtof; // used to tell when to stop zooming in
fixed_t old_m_w, old_m_h;
fixed_t old_m_x, old_m_y;
mpoint_t f_oldloc;
fixed_t scale_mtof ;
fixed_t scale_ftom;
player_t *amap_plr; // the player represented by an arrow
patch_t *marknums[10]; // numbers used for marking by the automap
mpoint_t markpoints[AM_NUMMARKPOINTS]; // where the points are
int markpointnum ;
int followplayer ;
qboolean stopped ;
int lastlevel ;
int lastepisode ;
int cheatstate;
int bigstate;
char buffer[20];
int nexttic ;
int litelevelscnt ;
// am_map.vars end //
// doomlib.vars begin //
fixed_t realoffset;
fixed_t viewxoffset;
fixed_t viewyoffset;
// doomlib.vars end //
// doomstat.vars begin //
GameMode_t gamemode ;
int gamemission ;
Language_t language ;
qboolean modifiedgame;
// doomstat.vars end //
// d_main.vars begin //
qboolean devparm; // started game with -devparm
qboolean nomonsters; // checkparm of -nomonsters
qboolean respawnparm; // checkparm of -respawn
qboolean fastparm; // checkparm of -fast
qboolean drone;
qboolean singletics ;
skill_t startskill;
int startepisode;
int startmap;
qboolean autostart;
FILE* debugfile;
qboolean advancedemo;
char wadfile[1024]; // primary wad file
char mapdir[1024]; // directory of development maps
char basedefault[1024]; // default file
event_t events[MAXEVENTS];
int eventhead;
int eventtail;
gamestate_t wipegamestate ;
qboolean viewactivestate ;
qboolean menuactivestate ;
qboolean inhelpscreensstate ;
qboolean fullscreen ;
int borderdrawcount;
qboolean wipe ;
int wipestart;
qboolean wipedone;
int demosequence;
int pagetic;
char *pagename;
char title[128];
// d_main.vars end //
// d_net.vars begin //
doomcom_t doomcom;
doomdata_t* netbuffer; // points inside doomcom
ticcmd_t localcmds[BACKUPTICS];
ticcmd_t netcmds[MAXPLAYERS][BACKUPTICS];
int nettics[MAXNETNODES];
qboolean nodeingame[MAXNETNODES]; // set false as nodes leave game
qboolean remoteresend[MAXNETNODES]; // set when local needs tics
int resendto[MAXNETNODES]; // set when remote needs tics
int resendcount[MAXNETNODES];
int nodeforplayer[MAXPLAYERS];
int maketic;
int lastnettic;
int skiptics;
int ticdup;
int maxsend; // BACKUPTICS/(2*ticdup)-1
qboolean reboundpacket;
doomdata_t reboundstore;
char exitmsg[80];
int gametime;
qboolean gotinfo[MAXNETNODES];
int frametics[4];
int frameon;
int frameskip[4];
int oldnettics;
int oldtrt_entertics;
int trt_phase ;
int trt_lowtic;
int trt_entertic;
int trt_realtics;
int trt_availabletics;
int trt_counts;
int trt_numplaying;
// d_net.vars end //
// f_finale.vars begin //
int finalestage;
int finalecount;
int castnum;
int casttics;
state_t* caststate;
qboolean castdeath;
int castframes;
int castonmelee;
int caststartmenu;
qboolean castattacking;
int laststage;
// f_finale.vars end //
// f_wipe.vars begin //
qboolean go ;
byte* wipe_scr_start;
byte* wipe_scr_end;
byte* wipe_scr;
void *g_tempPointer;
int* wipe_y;
// f_wipe.vars end //
// g_game.vars begin //
gameaction_t gameaction;
gamestate_t gamestate;
gamestate_t oldgamestate;
skill_t gameskill;
qboolean respawnmonsters;
int gameepisode;
int gamemap;
qboolean paused;
qboolean sendpause; // send a pause event next tic
qboolean sendsave; // send a save event next tic
qboolean usergame; // ok to save / end game
qboolean timingdemo; // if true, exit with report on completion
qboolean nodrawers; // for comparative timing purposes
qboolean noblit; // for comparative timing purposes
int starttime; // for comparative timing purposes
qboolean viewactive;
qboolean deathmatch; // only if started as net death
qboolean netgame; // only true if packets are broadcast
qboolean playeringame[MAXPLAYERS];
player_t players[MAXPLAYERS];
int consoleplayer; // player taking events and displaying
int displayplayer; // view being displayed
int gametic;
int levelstarttic; // gametic at level start
int totalkills, totalitems, totalsecret; // for intermission
char demoname[32];
qboolean demoplayback;
qboolean demorecording;
qboolean netdemo;
byte* demobuffer;
byte* demo_p;
byte* demoend;
qboolean singledemo; // quit after playing a demo from cmdline
qboolean precache ;
wbstartstruct_t wminfo; // parms for world map / intermission
short consistancy[MAXPLAYERS][BACKUPTICS];
byte* savebuffer;
int savebufferSize;
int key_right;
int key_left;
int key_up;
int key_down;
int key_strafeleft;
int key_straferight;
int key_fire;
int key_use;
int key_strafe;
int key_speed;
int mousebfire;
int mousebstrafe;
int mousebforward;
int joybfire;
int joybstrafe;
int joybuse;
int joybspeed;
fixed_t forwardmove[2];
fixed_t sidemove[2];
fixed_t angleturn[3];
qboolean gamekeydown[NUMKEYS];
int turnheld; // for accelerative turning
qboolean mousearray[4];
qboolean* mousebuttons ;
int mousex;
int mousey;
int dclicktime;
int dclickstate;
int dclicks;
int dclicktime2;
int dclickstate2;
int dclicks2;
int joyxmove;
int joyymove;
qboolean joyarray[5];
qboolean* joybuttons ;
int savegameslot;
char savedescription[32];
mobj_t* bodyque[BODYQUESIZE];
int bodyqueslot;
char turbomessage[80];
qboolean secretexit;
char savename[256];
skill_t d_skill;
int d_episode;
int d_map;
int d_mission;
char* defdemoname;
// g_game.vars end //
// hu_lib.vars begin //
qboolean lastautomapactive ;
// hu_lib.vars end //
// hu_stuff.vars begin //
char chat_char; // remove later.
player_t* plr;
patch_t* hu_font[HU_FONTSIZE];
hu_textline_t w_title;
qboolean chat_on;
hu_itext_t w_chat;
qboolean always_off ;
char chat_dest[MAXPLAYERS];
hu_itext_t w_inputbuffer[MAXPLAYERS];
qboolean message_on;
qboolean message_dontfuckwithme;
qboolean message_nottobefuckedwith;
hu_stext_t w_message;
int message_counter;
qboolean headsupactive ;
char chatchars[QUEUESIZE];
int head ;
int tail ;
char lastmessage[HU_MAXLINELENGTH+1];
qboolean shiftdown ;
qboolean altdown ;
int num_nobrainers ;
// hu_stuff.vars end //
// i_input.vars begin //
InputEvent mouseEvents[2];
InputEvent joyEvents[18];
// i_input.vars end //
// i_net_xbox.vars begin //
int sendsocket;
int insocket;
struct sockaddr_in sendaddress[MAXNETNODES];
// i_net_xbox.vars end //
// i_system.vars begin //
int mb_used ;
ticcmd_t emptycmd;
int current_time ;
// i_system.vars end //
// i_video_xbox.vars begin //
unsigned int XColorMap[256];
unsigned int *ImageBuff;
unsigned int *ImageBuffs[2];
// i_video_xbox.vars end //
// m_argv.vars begin //
int myargc;
char** myargv;
// m_argv.vars end //
// m_cheat.vars begin //
int firsttime ;
unsigned char cheat_xlate_table[256];
unsigned char cheatbuffer[256];
int usedcheatbuffer ;
// m_cheat.vars end //
// m_menu.vars begin //
int mouseSensitivity; // has default
int showMessages;
int detailLevel;
int screenblocks; // has default
int screenSize;
int quickSaveSlot;
int messageToPrint;
char* messageString;
int messx;
int messy;
int messageLastMenuActive;
qboolean messageNeedsInput;
messageRoutine_t messageRoutine;
int saveStringEnter;
int saveSlot; // which slot to save in
int saveCharIndex; // which char we're editing
char saveOldString[SAVESTRINGSIZE];
qboolean inhelpscreens;
qboolean menuactive;
char savegamestrings[10][SAVESTRINGSIZE];
char savegamepaths[10][MAX_PATH];
char endstring[160];
short itemOn; // menu item skull is on
short skullAnimCounter; // skull animation counter
short whichSkull; // which skull to draw
menu_t* currentMenu;
menuitem_t MainMenu[5];
menu_t QuitDef;
menuitem_t QuitMenu[3];
menu_t MainDef;
menuitem_t EpisodeMenu[4];
menu_t EpiDef;
menuitem_t ExpansionMenu[2];
menu_t ExpDef;
menuitem_t NewGameMenu[5];
menu_t NewDef;
menuitem_t OptionsMenu[8];
menu_t OptionsDef;
menuitem_t SoundMenu[4];
menu_t SoundDef;
menuitem_t LoadMenu[6];
menu_t LoadDef;
menuitem_t LoadExpMenu[2];
menu_t LoadExpDef;
menuitem_t SaveMenu[6];
menu_t SaveDef;
char tempstring[80];
int epi;
int exp;
int quitsounds[8];
int quitsounds2[8];
int joywait ;
int mousewait ;
int mmenu_mousey ;
int lasty ;
int mmenu_mousex ;
int lastx ;
short md_x;
short md_y;
// m_menu.vars end //
// m_misc.vars begin //
const char * g_pszSaveFile ;
const char * g_pszImagePath ;
const char * g_pszImageMeta ;
int usemouse;
int usejoystick;
char* mousetype;
char* mousedev;
default_t defaults[35];
int numdefaults;
const char* defaultfile;
// m_misc.vars end //
// m_random.vars begin //
int rndindex ;
int prndindex ;
// m_random.vars end //
// p_ceilng.vars begin //
ceiling_t* activeceilings[MAXCEILINGS];
// p_ceilng.vars end //
// p_enemy.vars begin //
mobj_t* soundtarget;
int TRACEANGLE ;
mobj_t* corpsehit;
mobj_t* vileobj;
fixed_t viletryx;
fixed_t viletryy;
mobj_t* braintargets[32];
int numbraintargets;
int braintargeton;
int easy ;
// p_enemy.vars end //
// p_map.vars begin //
fixed_t tmbbox[4];
mobj_t* tmthing;
int tmflags;
fixed_t tmx;
fixed_t tmy;
qboolean floatok;
fixed_t tmfloorz;
fixed_t tmceilingz;
fixed_t tmdropoffz;
line_t* ceilingline;
line_t* spechit[MAXSPECIALCROSS];
int numspechit;
fixed_t bestslidefrac;
fixed_t secondslidefrac;
line_t* bestslideline;
line_t* secondslideline;
mobj_t* slidemo;
fixed_t tmxmove;
fixed_t tmymove;
mobj_t* linetarget; // who got hit (or NULL)
mobj_t* shootthing;
fixed_t shootz;
int la_damage;
fixed_t attackrange;
fixed_t aimslope;
mobj_t* usething;
mobj_t* bombsource;
mobj_t* bombspot;
int bombdamage;
qboolean crushchange;
qboolean nofit;
// p_map.vars end //
// p_maputl.vars begin //
fixed_t opentop;
fixed_t openbottom;
fixed_t openrange;
fixed_t lowfloor;
intercept_t intercepts[MAXINTERCEPTS];
intercept_t* intercept_p;
divline_t trace;
qboolean earlyout;
int ptflags;
// p_maputl.vars end //
// p_mobj.vars begin //
int test;
mapthing_t itemrespawnque[ITEMQUESIZE];
int itemrespawntime[ITEMQUESIZE];
int iquehead;
int iquetail;
// p_mobj.vars end //
// p_plats.vars begin //
plat_t* activeplats[MAXPLATS];
// p_plats.vars end //
// p_pspr.vars begin //
fixed_t swingx;
fixed_t swingy;
fixed_t bulletslope;
// p_pspr.vars end //
// p_saveg.vars begin //
byte* save_p;
// p_saveg.vars end //
// p_setup.vars begin //
int numvertexes;
vertex_t* vertexes;
int numsegs;
seg_t* segs;
int numsectors;
sector_t* sectors;
int numsubsectors;
subsector_t* subsectors;
int numnodes;
node_t* nodes;
int numlines;
line_t* lines;
int numsides;
side_t* sides;
int bmapwidth;
int bmapheight; // size in mapblocks
short* blockmap; // int for larger maps
short* blockmaplump;
fixed_t bmaporgx;
fixed_t bmaporgy;
mobj_t** blocklinks;
mapthing_t deathmatchstarts[MAX_DEATHMATCH_STARTS];
mapthing_t* deathmatch_p;
mapthing_t playerstarts[MAXPLAYERS];
// p_setup.vars end //
// p_sight.vars begin //
fixed_t sightzstart; // eye z of looker
fixed_t topslope;
fixed_t bottomslope; // slopes to top and bottom of target
divline_t strace; // from t1 to t2
fixed_t t2x;
fixed_t t2y;
int sightcounts[2];
// p_sight.vars end //
// p_spec.vars begin //
anim_t2 anims[MAXANIMS];
anim_t2* lastanim;
qboolean levelTimer;
int levelTimeCount;
int levelFragCount;
short numlinespecials;
line_t* linespeciallist[MAXLINEANIMS];
// p_spec.vars end //
// p_switch.vars begin //
int switchlist[MAXSWITCHES * 2];
int numswitches;
button_t buttonlist[MAXBUTTONS];
// p_switch.vars end //
// p_tick.vars begin //
int leveltime;
thinker_t thinkercap;
// p_tick.vars end //
// p_user.vars begin //
qboolean onground;
// p_user.vars end //
// r_bsp.vars begin //
seg_t* curline;
side_t* sidedef;
line_t* linedef;
sector_t* frontsector;
sector_t* backsector;
drawseg_t drawsegs[MAXDRAWSEGS];
drawseg_t* ds_p;
cliprange_t* newend;
cliprange_t solidsegs[MAXSEGS];
int checkcoord[12][4];
// r_bsp.vars end //
// r_data.vars begin //
int firstflat;
int lastflat;
int numflats;
int firstpatch;
int lastpatch;
int numpatches;
int firstspritelump;
int lastspritelump;
int numspritelumps;
int* flattranslation;
int* texturetranslation;
fixed_t* spritewidth;
fixed_t* spriteoffset;
fixed_t* spritetopoffset;
lighttable_t *colormaps;
int flatmemory;
int texturememory;
int spritememory;
// r_data.vars end //
// r_draw.vars begin //
byte* viewimage;
int viewwidth;
int scaledviewwidth;
int viewheight;
int viewwindowx;
int viewwindowy;
byte* ylookup[MAXHEIGHT];
int columnofs[MAXWIDTH];
byte translations[3][256];
lighttable_t* dc_colormap;
int dc_x;
int dc_yl;
int dc_yh;
fixed_t dc_iscale;
fixed_t dc_texturemid;
byte* dc_source;
int dccount;
int fuzzoffset[FUZZTABLE];
int fuzzpos ;
byte* dc_translation;
byte* translationtables;
int ds_y;
int ds_x1;
int ds_x2;
lighttable_t* ds_colormap;
fixed_t ds_xfrac;
fixed_t ds_yfrac;
fixed_t ds_xstep;
fixed_t ds_ystep;
byte* ds_source;
int dscount;
// r_draw.vars end //
// r_main.vars begin //
int viewangleoffset;
int validcount ;
lighttable_t* fixedcolormap;
int centerx;
int centery;
fixed_t centerxfrac;
fixed_t centeryfrac;
fixed_t projection;
int framecount;
int sscount;
int linecount;
int loopcount;
fixed_t viewx;
fixed_t viewy;
fixed_t viewz;
angle_t viewangle;
fixed_t viewcos;
fixed_t viewsin;
player_t* viewplayer;
int detailshift;
angle_t clipangle;
int viewangletox[FINEANGLES/2];
angle_t xtoviewangle[SCREENWIDTH+1];
lighttable_t* scalelight[LIGHTLEVELS][MAXLIGHTSCALE];
lighttable_t* scalelightfixed[MAXLIGHTSCALE];
lighttable_t* zlight[LIGHTLEVELS][MAXLIGHTZ];
int extralight;
qboolean setsizeneeded;
int setblocks;
int setdetail;
// r_main.vars end //
// r_plane.vars begin //
planefunction_t floorfunc;
planefunction_t ceilingfunc;
short openings[MAXOPENINGS];
short* lastopening;
short floorclip[SCREENWIDTH];
short ceilingclip[SCREENWIDTH];
int spanstart[SCREENHEIGHT];
int spanstop[SCREENHEIGHT];
lighttable_t** planezlight;
fixed_t planeheight;
fixed_t yslope[SCREENHEIGHT];
fixed_t distscale[SCREENWIDTH];
fixed_t basexscale;
fixed_t baseyscale;
fixed_t cachedheight[SCREENHEIGHT];
fixed_t cacheddistance[SCREENHEIGHT];
fixed_t cachedxstep[SCREENHEIGHT];
fixed_t cachedystep[SCREENHEIGHT];
// r_plane.vars end //
// r_segs.vars begin //
qboolean segtextured;
qboolean markfloor;
qboolean markceiling;
qboolean maskedtexture;
int toptexture;
int bottomtexture;
int midtexture;
angle_t rw_normalangle;
int rw_angle1;
int rw_x;
int rw_stopx;
angle_t rw_centerangle;
fixed_t rw_offset;
fixed_t rw_distance;
fixed_t rw_scale;
fixed_t rw_scalestep;
fixed_t rw_midtexturemid;
fixed_t rw_toptexturemid;
fixed_t rw_bottomtexturemid;
int worldtop;
int worldbottom;
int worldhigh;
int worldlow;
fixed_t pixhigh;
fixed_t pixlow;
fixed_t pixhighstep;
fixed_t pixlowstep;
fixed_t topfrac;
fixed_t topstep;
fixed_t bottomfrac;
fixed_t bottomstep;
lighttable_t** walllights;
short* maskedtexturecol;
// r_segs.vars end //
// r_sky.vars begin //
int skyflatnum;
int skytexture;
int skytexturemid;
// r_sky.vars end //
// r_things.vars begin //
fixed_t pspritescale;
fixed_t pspriteiscale;
lighttable_t** spritelights;
short negonearray[SCREENWIDTH];
short screenheightarray[SCREENWIDTH];
spritedef_t* sprites;
int numsprites;
spriteframe_t sprtemp[29];
int maxframe;
vissprite_t vissprites[MAXVISSPRITES];
vissprite_t* vissprite_p;
int newvissprite;
vissprite_t overflowsprite;
short* mfloorclip;
short* mceilingclip;
fixed_t spryscale;
fixed_t sprtopscreen;
vissprite_t vsprsortedhead;
// r_things.vars end //
// sounds.vars begin //
musicinfo_t S_music[80];
// sounds.vars end //
// st_lib.vars begin //
patch_t* sttminus;
// st_lib.vars end //
// st_stuff.vars begin //
player_t* plyr;
qboolean st_firsttime;
int veryfirsttime ;
int lu_palette;
unsigned int st_clock;
int st_msgcounter;
st_chatstateenum_t st_chatstate;
st_stateenum_t st_gamestate;
qboolean st_statusbaron;
qboolean st_chat;
qboolean st_oldchat;
qboolean st_cursoron;
qboolean st_notdeathmatch;
qboolean st_armson;
qboolean st_fragson;
patch_t* sbar; // AffLANHACK IGNORE
patch_t* tallnum[10]; // AffLANHACK IGNORE
patch_t* tallpercent; // AffLANHACK IGNORE
patch_t* shortnum[10]; // AffLANHACK IGNORE
patch_t* keys[NUMCARDS]; // AffLANHACK IGNORE
patch_t* faces[ST_NUMFACES]; // AffLANHACK IGNORE
patch_t* faceback; // AffLANHACK IGNORE
patch_t* armsbg; // AffLANHACK IGNORE
patch_t* arms[6][2]; // AffLANHACK IGNORE
st_number_t w_ready;
st_number_t w_frags;
st_percent_t w_health;
st_binicon_t w_armsbg;
st_multicon_t w_arms[6];
st_multicon_t w_faces;
st_multicon_t w_keyboxes[3];
st_percent_t w_armor;
st_number_t w_ammo[4];
st_number_t w_maxammo[4];
int st_fragscount;
int st_oldhealth ;
qboolean oldweaponsowned[NUMWEAPONS];
int st_facecount ;
int st_faceindex ;
int keyboxes[3];
int st_randomnumber;
cheatseq_t cheat_powerup[7];
int lastcalc;
int oldhealth ;
int lastattackdown ;
int priority ;
int largeammo ;
int st_palette ;
qboolean st_stopped ;
// st_stuff.vars end //
// s_sound.vars begin //
channel_t* channels;
qboolean mus_paused;
qboolean mus_looping;
musicinfo_t* mus_playing;
int numChannels;
int nextcleanup;
// s_sound.vars end //
// v_video.vars begin //
byte* screens[5];
int dirtybox[4];
int usegamma;
// v_video.vars end //
// wi_stuff.vars begin //
anim_t epsd0animinfo[10];
anim_t epsd1animinfo[9];
anim_t epsd2animinfo[6];
anim_t* wi_stuff_anims[NUMEPISODES];
int NUMANIMS[NUMEPISODES];
const char* chat_macros[10];
int acceleratestage;
int me;
stateenum_t state;
wbstartstruct_t* wbs;
int cnt;
int bcnt;
int firstrefresh;
int cnt_kills[MAXPLAYERS];
int cnt_items[MAXPLAYERS];
int cnt_secret[MAXPLAYERS];
int cnt_time;
int cnt_par;
int cnt_pause;
int NUMCMAPS;
patch_t* colon;
qboolean snl_pointeron ;
int dm_state;
int dm_frags[MAXPLAYERS][MAXPLAYERS];
int dm_totals[MAXPLAYERS];
int cnt_frags[MAXPLAYERS];
int dofrags;
int ng_state;
int sp_state;
// wi_stuff.vars end //
// w_wad.vars begin //
int reloadlump;
// w_wad.vars end //
// z_zone.vars begin //
int sizes[NUM_ZONES+1];
memzone_t* zones[NUM_ZONES] ;
int NumAlloc ;
// z_zone.vars end //
// info vars begin //
state_t states[NUMSTATES];
// info vars end //
// p_local begin //
byte* rejectmatrix;
// p_local end //
// r_data begin //
int s_numtextures;
texture_t** s_textures;
int* s_texturewidthmask;
// needed for texture pegging
fixed_t* s_textureheight;
short** s_texturecolumnlump;
unsigned short** s_texturecolumnofs;
byte** s_texturecomposite;
int* s_texturecompositesize;
// r_data end //
// r_plane begin //
visplane_t visplanes[MAXVISPLANES];
visplane_t* lastvisplane;
visplane_t* floorplane;
visplane_t* ceilingplane;
// r_plane end //
// wi_stuff
// background (map of levels).
patch_t* bg;
// You Are Here graphic
patch_t* yah[2];
// splat
patch_t* splat;
// %, : graphics
patch_t* percent;
// 0-9 graphic
patch_t* num[10];
// minus sign
patch_t* wiminus;
// "Finished!" graphics
patch_t* finished;
// "Entering" graphic
patch_t* entering;
// "secret"
patch_t* sp_secret;
// "Kills", "Scrt", "Items", "Frags"
patch_t* kills;
patch_t* secret;
patch_t* items;
patch_t* wistuff_frags;
// Time sucks.
patch_t* time;
patch_t* par;
patch_t* sucks;
// "killers", "victims"
patch_t* killers;
patch_t* victims;
// "Total", your face, your dead face
patch_t* total;
patch_t* star;
patch_t* bstar;
// "red P[1..MAXPLAYERS]"
patch_t* wistuff_p[MAXPLAYERS];
// "gray P[1..MAXPLAYERS]"
patch_t* wistuff_bp[MAXPLAYERS];
// Name graphics of each level (centered)
patch_t** lnames;
const char* spritename;