2019-09-18 22:27:46 +00:00
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
/*
|
|
|
|
Copyright (C) 2016 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 gamedef_h_
|
|
|
|
#define gamedef_h_
|
|
|
|
|
2019-06-08 11:38:08 +00:00
|
|
|
#include "actors.h"
|
2019-09-18 22:27:46 +00:00
|
|
|
#include "build.h" // hashtable_t
|
2019-06-08 11:38:08 +00:00
|
|
|
#include "cheats.h"
|
2019-09-18 22:27:46 +00:00
|
|
|
#include "common.h" // tokenlist
|
|
|
|
#include "player.h" // projectile_t
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
LABEL_ANY = -1,
|
|
|
|
LABEL_DEFINE = 1,
|
|
|
|
LABEL_STATE = 2,
|
|
|
|
LABEL_ACTOR = 4,
|
|
|
|
LABEL_ACTION = 8,
|
|
|
|
LABEL_AI = 16,
|
|
|
|
LABEL_MOVE = 32,
|
|
|
|
LABEL_EVENT = 64,
|
|
|
|
};
|
|
|
|
|
|
|
|
#define LABEL_HASPARM2 1
|
|
|
|
#define LABEL_ISSTRING 2
|
|
|
|
|
|
|
|
#define VM_INSTMASK 0xfff
|
|
|
|
|
|
|
|
#define C_CUSTOMERROR(Text, ...) \
|
|
|
|
do \
|
|
|
|
{ \
|
|
|
|
C_ReportError(-1); \
|
|
|
|
initprintf("%s:%d: error: " Text "\n", g_scriptFileName, g_lineNumber, ##__VA_ARGS__); \
|
|
|
|
g_errorCnt++; \
|
|
|
|
} while (0)
|
|
|
|
|
|
|
|
#define C_CUSTOMWARNING(Text, ...) \
|
|
|
|
do \
|
|
|
|
{ \
|
|
|
|
C_ReportError(-1); \
|
|
|
|
initprintf("%s:%d: warning: " Text "\n", g_scriptFileName, g_lineNumber, ##__VA_ARGS__); \
|
|
|
|
g_warningCnt++; \
|
|
|
|
} while (0)
|
|
|
|
|
|
|
|
extern intptr_t const * insptr;
|
|
|
|
extern void VM_ScriptInfo(intptr_t const *ptr, int range);
|
|
|
|
|
|
|
|
extern hashtable_t h_gamefuncs;
|
|
|
|
|
|
|
|
extern hashtable_t h_labels;
|
|
|
|
|
|
|
|
extern int32_t g_aimAngleVarID; // var ID of "AUTOAIMANGLE"
|
|
|
|
extern int32_t g_angRangeVarID; // var ID of "ANGRANGE"
|
|
|
|
extern int32_t g_hitagVarID; // var ID of "HITAG"
|
|
|
|
extern int32_t g_lotagVarID; // var ID of "LOTAG"
|
|
|
|
extern int32_t g_returnVarID; // var ID of "RETURN"
|
|
|
|
extern int32_t g_textureVarID; // var ID of "TEXTURE"
|
|
|
|
extern int32_t g_thisActorVarID; // var ID of "THISACTOR"
|
|
|
|
extern int32_t g_weaponVarID; // var ID of "WEAPON"
|
|
|
|
extern int32_t g_worksLikeVarID; // var ID of "WORKSLIKE"
|
|
|
|
extern int32_t g_zRangeVarID; // var ID of "ZRANGE"
|
|
|
|
|
|
|
|
// KEEPINSYNC gamevars.c: "special vars for struct access"
|
|
|
|
enum QuickStructureAccess_t
|
|
|
|
{
|
|
|
|
STRUCT_SPRITE,
|
|
|
|
STRUCT_SECTOR,
|
|
|
|
STRUCT_WALL,
|
|
|
|
STRUCT_PLAYER,
|
|
|
|
STRUCT_ACTORVAR,
|
|
|
|
STRUCT_PLAYERVAR,
|
|
|
|
STRUCT_TSPR,
|
|
|
|
STRUCT_PROJECTILE,
|
|
|
|
STRUCT_THISPROJECTILE,
|
|
|
|
STRUCT_USERDEF,
|
|
|
|
STRUCT_INPUT,
|
|
|
|
STRUCT_TILEDATA,
|
|
|
|
STRUCT_PALDATA,
|
|
|
|
NUMQUICKSTRUCTS,
|
|
|
|
};
|
|
|
|
|
|
|
|
extern int32_t g_structVarIDs;
|
|
|
|
|
|
|
|
extern char CheatStrings[][MAXCHEATLEN];
|
|
|
|
extern char g_scriptFileName[BMAX_PATH];
|
|
|
|
|
|
|
|
extern const uint32_t CheatFunctionFlags[];
|
|
|
|
extern const uint8_t CheatFunctionIDs[];
|
|
|
|
|
|
|
|
extern int32_t g_errorCnt;
|
|
|
|
extern int32_t g_lineNumber;
|
|
|
|
extern int32_t g_scriptVersion;
|
|
|
|
extern int32_t g_totalLines;
|
|
|
|
extern int32_t g_warningCnt;
|
|
|
|
extern uint32_t g_scriptcrc;
|
|
|
|
extern int32_t otherp;
|
|
|
|
|
|
|
|
extern const char *EventNames[]; // MAXEVENTS
|
|
|
|
|
|
|
|
extern intptr_t *g_scriptPtr;
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
const char *name;
|
|
|
|
int lId, flags, maxParm2;
|
|
|
|
} memberlabel_t;
|
|
|
|
|
|
|
|
extern const memberlabel_t ActorLabels[];
|
|
|
|
extern const memberlabel_t InputLabels[];
|
|
|
|
extern const memberlabel_t PalDataLabels[];
|
|
|
|
extern const memberlabel_t PlayerLabels[];
|
|
|
|
extern const memberlabel_t ProjectileLabels[];
|
|
|
|
extern const memberlabel_t SectorLabels[];
|
|
|
|
extern const memberlabel_t TileDataLabels[];
|
|
|
|
extern const memberlabel_t TsprLabels[];
|
|
|
|
extern const memberlabel_t UserdefsLabels[];
|
|
|
|
extern const memberlabel_t WallLabels[];
|
|
|
|
|
|
|
|
typedef projectile_t defaultprojectile_t;
|
|
|
|
|
|
|
|
extern defaultprojectile_t DefaultProjectile;
|
|
|
|
int32_t C_AllocQuote(int32_t qnum);
|
|
|
|
void C_InitQuotes(void);
|
|
|
|
|
|
|
|
extern int32_t g_numProjectiles;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int spriteNum;
|
|
|
|
int playerNum;
|
|
|
|
int playerDist;
|
|
|
|
int flags;
|
|
|
|
|
|
|
|
union {
|
|
|
|
spritetype * pSprite;
|
|
|
|
uspritetype *pUSprite;
|
|
|
|
};
|
|
|
|
|
|
|
|
int32_t * pData;
|
|
|
|
DukePlayer_t *pPlayer;
|
|
|
|
actor_t * pActor;
|
|
|
|
} vmstate_t;
|
|
|
|
|
|
|
|
extern vmstate_t vm;
|
|
|
|
|
|
|
|
void G_DoGameStartup(const int32_t *params);
|
|
|
|
void C_DefineMusic(int volumeNum, int levelNum, const char *fileName);
|
|
|
|
|
|
|
|
void C_DefineVolumeFlags(int32_t vol, int32_t flags);
|
|
|
|
void C_UndefineVolume(int32_t vol);
|
|
|
|
void C_UndefineSkill(int32_t skill);
|
|
|
|
void C_UndefineLevel(int32_t vol, int32_t lev);
|
|
|
|
void C_ReportError(int32_t iError);
|
|
|
|
void C_Compile(const char *filenam);
|
|
|
|
|
|
|
|
extern int32_t g_errorLineNum;
|
|
|
|
extern int32_t g_tw;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
const char* token;
|
|
|
|
int32_t val;
|
|
|
|
} tokenmap_t;
|
|
|
|
|
|
|
|
extern char const * VM_GetKeywordForID(int32_t id);
|
|
|
|
|
|
|
|
// KEEPINSYNC lunatic/con_lang.lua
|
|
|
|
enum SystemString_t {
|
|
|
|
STR_MAPNAME,
|
|
|
|
STR_MAPFILENAME,
|
|
|
|
STR_PLAYERNAME,
|
|
|
|
STR_VERSION,
|
|
|
|
STR_GAMETYPE,
|
|
|
|
STR_VOLUMENAME,
|
|
|
|
STR_YOURTIME,
|
|
|
|
STR_PARTIME,
|
|
|
|
STR_DESIGNERTIME,
|
|
|
|
STR_BESTTIME,
|
|
|
|
STR_USERMAPFILENAME,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum ScriptError_t
|
|
|
|
{
|
|
|
|
ERROR_CLOSEBRACKET,
|
|
|
|
ERROR_EVENTONLY,
|
|
|
|
ERROR_EXCEEDSMAXTILES,
|
|
|
|
ERROR_EXPECTEDKEYWORD,
|
|
|
|
ERROR_FOUNDWITHIN,
|
|
|
|
ERROR_ISAKEYWORD,
|
|
|
|
ERROR_NOENDSWITCH,
|
|
|
|
ERROR_NOTAGAMEDEF,
|
|
|
|
ERROR_NOTAGAMEVAR,
|
|
|
|
ERROR_NOTAGAMEARRAY,
|
|
|
|
ERROR_GAMEARRAYBNC,
|
|
|
|
ERROR_GAMEARRAYBNO,
|
|
|
|
ERROR_INVALIDARRAYWRITE,
|
|
|
|
ERROR_OPENBRACKET,
|
|
|
|
ERROR_PARAMUNDEFINED,
|
|
|
|
ERROR_NOTAMEMBER,
|
|
|
|
ERROR_SYNTAXERROR,
|
|
|
|
ERROR_VARREADONLY,
|
|
|
|
ERROR_ARRAYREADONLY,
|
|
|
|
ERROR_VARTYPEMISMATCH,
|
|
|
|
WARNING_BADGAMEVAR,
|
|
|
|
WARNING_DUPLICATECASE,
|
|
|
|
WARNING_DUPLICATEDEFINITION,
|
|
|
|
WARNING_EVENTSYNC,
|
|
|
|
WARNING_LABELSONLY,
|
|
|
|
WARNING_NAMEMATCHESVAR,
|
|
|
|
WARNING_VARMASKSKEYWORD,
|
|
|
|
WARNING_ARRAYMASKSKEYWORD
|
|
|
|
};
|
|
|
|
|
|
|
|
enum PlayerLabel_t
|
|
|
|
{
|
|
|
|
PLAYER_ZOOM,
|
|
|
|
PLAYER_EXITX,
|
|
|
|
PLAYER_EXITY,
|
|
|
|
PLAYER_LOOGIEX,
|
|
|
|
PLAYER_LOOGIEY,
|
|
|
|
PLAYER_NUMLOOGS,
|
|
|
|
PLAYER_LOOGCNT,
|
|
|
|
PLAYER_POSX,
|
|
|
|
PLAYER_POSY,
|
|
|
|
PLAYER_POSZ,
|
|
|
|
PLAYER_HORIZ,
|
|
|
|
PLAYER_OHORIZ,
|
|
|
|
PLAYER_OHORIZOFF,
|
|
|
|
PLAYER_INVDISPTIME,
|
|
|
|
PLAYER_BOBPOSX,
|
|
|
|
PLAYER_BOBPOSY,
|
|
|
|
PLAYER_OPOSX,
|
|
|
|
PLAYER_OPOSY,
|
|
|
|
PLAYER_OPOSZ,
|
|
|
|
PLAYER_PYOFF,
|
|
|
|
PLAYER_OPYOFF,
|
|
|
|
PLAYER_POSXV,
|
|
|
|
PLAYER_POSYV,
|
|
|
|
PLAYER_POSZV,
|
|
|
|
PLAYER_LAST_PISSED_TIME,
|
|
|
|
PLAYER_TRUEFZ,
|
|
|
|
PLAYER_TRUECZ,
|
|
|
|
PLAYER_PLAYER_PAR,
|
|
|
|
PLAYER_VISIBILITY,
|
|
|
|
PLAYER_BOBCOUNTER,
|
|
|
|
PLAYER_WEAPON_SWAY,
|
|
|
|
PLAYER_PALS_TIME,
|
|
|
|
PLAYER_RANDOMFLAMEX,
|
|
|
|
PLAYER_CRACK_TIME,
|
|
|
|
PLAYER_AIM_MODE,
|
|
|
|
PLAYER_ANG,
|
|
|
|
PLAYER_OANG,
|
|
|
|
PLAYER_ANGVEL,
|
|
|
|
PLAYER_CURSECTNUM,
|
|
|
|
PLAYER_LOOK_ANG,
|
|
|
|
PLAYER_LAST_EXTRA,
|
|
|
|
PLAYER_SUBWEAPON,
|
|
|
|
PLAYER_AMMO_AMOUNT,
|
|
|
|
PLAYER_WACKEDBYACTOR,
|
|
|
|
PLAYER_FRAG,
|
|
|
|
PLAYER_FRAGGEDSELF,
|
|
|
|
PLAYER_CURR_WEAPON,
|
|
|
|
PLAYER_LAST_WEAPON,
|
|
|
|
PLAYER_TIPINCS,
|
|
|
|
PLAYER_HORIZOFF,
|
|
|
|
PLAYER_WANTWEAPONFIRE,
|
|
|
|
PLAYER_HOLODUKE_AMOUNT,
|
|
|
|
PLAYER_NEWOWNER,
|
|
|
|
PLAYER_HURT_DELAY,
|
|
|
|
PLAYER_HBOMB_HOLD_DELAY,
|
|
|
|
PLAYER_JUMPING_COUNTER,
|
|
|
|
PLAYER_AIRLEFT,
|
|
|
|
PLAYER_KNEE_INCS,
|
|
|
|
PLAYER_ACCESS_INCS,
|
|
|
|
PLAYER_FTA,
|
|
|
|
PLAYER_FTQ,
|
|
|
|
PLAYER_ACCESS_WALLNUM,
|
|
|
|
PLAYER_ACCESS_SPRITENUM,
|
|
|
|
PLAYER_KICKBACK_PIC,
|
|
|
|
PLAYER_GOT_ACCESS,
|
|
|
|
PLAYER_WEAPON_ANG,
|
|
|
|
PLAYER_FIRSTAID_AMOUNT,
|
|
|
|
PLAYER_SOMETHINGONPLAYER,
|
|
|
|
PLAYER_ON_CRANE,
|
|
|
|
PLAYER_I,
|
|
|
|
PLAYER_ONE_PARALLAX_SECTNUM,
|
|
|
|
PLAYER_OVER_SHOULDER_ON,
|
|
|
|
PLAYER_RANDOM_CLUB_FRAME,
|
|
|
|
PLAYER_FIST_INCS,
|
|
|
|
PLAYER_ONE_EIGHTY_COUNT,
|
|
|
|
PLAYER_CHEAT_PHASE,
|
|
|
|
PLAYER_DUMMYPLAYERSPRITE,
|
|
|
|
PLAYER_EXTRA_EXTRA8,
|
|
|
|
PLAYER_QUICK_KICK,
|
|
|
|
PLAYER_HEAT_AMOUNT,
|
|
|
|
PLAYER_ACTORSQU,
|
|
|
|
PLAYER_TIMEBEFOREEXIT,
|
|
|
|
PLAYER_CUSTOMEXITSOUND,
|
|
|
|
PLAYER_WEAPRECS,
|
|
|
|
PLAYER_WEAPRECCNT,
|
|
|
|
PLAYER_INTERFACE_TOGGLE_FLAG,
|
|
|
|
PLAYER_ROTSCRNANG,
|
|
|
|
PLAYER_DEAD_FLAG,
|
|
|
|
PLAYER_SHOW_EMPTY_WEAPON,
|
|
|
|
PLAYER_SCUBA_AMOUNT,
|
|
|
|
PLAYER_JETPACK_AMOUNT,
|
|
|
|
PLAYER_STEROIDS_AMOUNT,
|
|
|
|
PLAYER_SHIELD_AMOUNT,
|
|
|
|
PLAYER_HOLODUKE_ON,
|
|
|
|
PLAYER_PYCOUNT,
|
|
|
|
PLAYER_WEAPON_POS,
|
|
|
|
PLAYER_FRAG_PS,
|
|
|
|
PLAYER_TRANSPORTER_HOLD,
|
|
|
|
PLAYER_CLIPDIST,
|
|
|
|
PLAYER_LAST_FULL_WEAPON,
|
|
|
|
PLAYER_FOOTPRINTSHADE,
|
|
|
|
PLAYER_BOOT_AMOUNT,
|
|
|
|
PLAYER_SCREAM_VOICE,
|
|
|
|
PLAYER_GM,
|
|
|
|
PLAYER_ON_WARPING_SECTOR,
|
|
|
|
PLAYER_FOOTPRINTCOUNT,
|
|
|
|
PLAYER_HBOMB_ON,
|
|
|
|
PLAYER_JUMPING_TOGGLE,
|
|
|
|
PLAYER_RAPID_FIRE_HOLD,
|
|
|
|
PLAYER_ON_GROUND,
|
|
|
|
PLAYER_NAME,
|
|
|
|
PLAYER_INVEN_ICON,
|
|
|
|
PLAYER_BUTTONPALETTE,
|
|
|
|
PLAYER_JETPACK_ON,
|
|
|
|
PLAYER_SPRITEBRIDGE,
|
|
|
|
PLAYER_LASTRANDOMSPOT,
|
|
|
|
PLAYER_SCUBA_ON,
|
|
|
|
PLAYER_FOOTPRINTPAL,
|
|
|
|
PLAYER_HEAT_ON,
|
|
|
|
PLAYER_HOLSTER_WEAPON,
|
|
|
|
PLAYER_FALLING_COUNTER,
|
|
|
|
PLAYER_GOTWEAPON,
|
|
|
|
PLAYER_REFRESH_INVENTORY,
|
|
|
|
PLAYER_PALETTE,
|
|
|
|
PLAYER_TOGGLE_KEY_FLAG,
|
|
|
|
PLAYER_KNUCKLE_INCS,
|
|
|
|
PLAYER_WALKING_SND_TOGGLE,
|
|
|
|
PLAYER_PALOOKUP,
|
|
|
|
PLAYER_HARD_LANDING,
|
|
|
|
PLAYER_MAX_SECRET_ROOMS,
|
|
|
|
PLAYER_SECRET_ROOMS,
|
|
|
|
PLAYER_PALS,
|
|
|
|
PLAYER_MAX_ACTORS_KILLED,
|
|
|
|
PLAYER_ACTORS_KILLED,
|
|
|
|
PLAYER_RETURN_TO_CENTER,
|
|
|
|
PLAYER_RUNSPEED,
|
|
|
|
PLAYER_SBS,
|
|
|
|
PLAYER_RELOADING,
|
|
|
|
PLAYER_AUTO_AIM,
|
|
|
|
PLAYER_MOVEMENT_LOCK,
|
|
|
|
PLAYER_SOUND_PITCH,
|
|
|
|
PLAYER_WEAPONSWITCH,
|
|
|
|
PLAYER_TEAM,
|
|
|
|
PLAYER_MAX_PLAYER_HEALTH,
|
|
|
|
PLAYER_MAX_SHIELD_AMOUNT,
|
|
|
|
PLAYER_MAX_AMMO_AMOUNT,
|
|
|
|
PLAYER_LAST_QUICK_KICK,
|
|
|
|
PLAYER_AUTOSTEP,
|
|
|
|
PLAYER_AUTOSTEP_SBW,
|
|
|
|
PLAYER_HUDPAL,
|
|
|
|
PLAYER_INDEX,
|
|
|
|
PLAYER_CONNECTED,
|
|
|
|
PLAYER_FRAGS,
|
|
|
|
PLAYER_DEATHS,
|
|
|
|
PLAYER_LAST_USED_WEAPON,
|
|
|
|
PLAYER_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum UserdefsLabel_t
|
|
|
|
{
|
|
|
|
USERDEFS_GOD,
|
|
|
|
USERDEFS_WARP_ON,
|
|
|
|
USERDEFS_CASHMAN,
|
|
|
|
USERDEFS_EOG,
|
|
|
|
USERDEFS_SHOWALLMAP,
|
|
|
|
USERDEFS_SHOW_HELP,
|
|
|
|
USERDEFS_SCROLLMODE,
|
|
|
|
USERDEFS_CLIPPING,
|
|
|
|
USERDEFS_USER_NAME,
|
|
|
|
USERDEFS_RIDECULE,
|
|
|
|
USERDEFS_SAVEGAME,
|
|
|
|
USERDEFS_PWLOCKOUT,
|
|
|
|
USERDEFS_RTSNAME,
|
|
|
|
USERDEFS_OVERHEAD_ON,
|
|
|
|
USERDEFS_LAST_OVERHEAD,
|
|
|
|
USERDEFS_SHOWWEAPONS,
|
|
|
|
USERDEFS_PAUSE_ON,
|
|
|
|
USERDEFS_FROM_BONUS,
|
|
|
|
USERDEFS_CAMERASPRITE,
|
|
|
|
USERDEFS_LAST_CAMSPRITE,
|
|
|
|
USERDEFS_LAST_LEVEL,
|
|
|
|
USERDEFS_SECRETLEVEL,
|
|
|
|
USERDEFS_CONST_VISIBILITY,
|
|
|
|
USERDEFS_UW_FRAMERATE,
|
|
|
|
USERDEFS_CAMERA_TIME,
|
|
|
|
USERDEFS_FOLFVEL,
|
|
|
|
USERDEFS_FOLAVEL,
|
|
|
|
USERDEFS_FOLX,
|
|
|
|
USERDEFS_FOLY,
|
|
|
|
USERDEFS_FOLA,
|
|
|
|
USERDEFS_RECCNT,
|
|
|
|
USERDEFS_ENTERED_NAME,
|
|
|
|
USERDEFS_SCREEN_TILTING,
|
|
|
|
USERDEFS_SHADOWS,
|
|
|
|
USERDEFS_FTA_ON,
|
|
|
|
USERDEFS_EXECUTIONS,
|
|
|
|
USERDEFS_AUTO_RUN,
|
|
|
|
USERDEFS_COORDS,
|
|
|
|
USERDEFS_TICKRATE,
|
|
|
|
USERDEFS_M_COOP,
|
|
|
|
USERDEFS_COOP,
|
|
|
|
USERDEFS_SCREEN_SIZE,
|
|
|
|
USERDEFS_LOCKOUT,
|
|
|
|
USERDEFS_CROSSHAIR,
|
|
|
|
USERDEFS_PLAYERAI,
|
|
|
|
USERDEFS_RESPAWN_MONSTERS,
|
|
|
|
USERDEFS_RESPAWN_ITEMS,
|
|
|
|
USERDEFS_RESPAWN_INVENTORY,
|
|
|
|
USERDEFS_RECSTAT,
|
|
|
|
USERDEFS_MONSTERS_OFF,
|
|
|
|
USERDEFS_BRIGHTNESS,
|
|
|
|
USERDEFS_M_RESPAWN_ITEMS,
|
|
|
|
USERDEFS_M_RESPAWN_MONSTERS,
|
|
|
|
USERDEFS_M_RESPAWN_INVENTORY,
|
|
|
|
USERDEFS_M_RECSTAT,
|
|
|
|
USERDEFS_M_MONSTERS_OFF,
|
|
|
|
USERDEFS_DETAIL,
|
|
|
|
USERDEFS_M_FFIRE,
|
|
|
|
USERDEFS_FFIRE,
|
|
|
|
USERDEFS_M_PLAYER_SKILL,
|
|
|
|
USERDEFS_M_LEVEL_NUMBER,
|
|
|
|
USERDEFS_M_VOLUME_NUMBER,
|
|
|
|
USERDEFS_MULTIMODE,
|
|
|
|
USERDEFS_PLAYER_SKILL,
|
|
|
|
USERDEFS_LEVEL_NUMBER,
|
|
|
|
USERDEFS_VOLUME_NUMBER,
|
|
|
|
USERDEFS_M_MARKER,
|
|
|
|
USERDEFS_MARKER,
|
|
|
|
USERDEFS_MOUSEFLIP,
|
|
|
|
USERDEFS_STATUSBARSCALE,
|
|
|
|
USERDEFS_DRAWWEAPON,
|
|
|
|
USERDEFS_MOUSEAIMING,
|
|
|
|
USERDEFS_WEAPONSWITCH,
|
|
|
|
USERDEFS_DEMOCAMS,
|
|
|
|
USERDEFS_COLOR,
|
|
|
|
USERDEFS_MSGDISPTIME,
|
|
|
|
USERDEFS_STATUSBARMODE,
|
|
|
|
USERDEFS_M_NOEXITS,
|
|
|
|
USERDEFS_NOEXITS,
|
|
|
|
USERDEFS_AUTOVOTE,
|
|
|
|
USERDEFS_AUTOMSG,
|
|
|
|
USERDEFS_IDPLAYERS,
|
|
|
|
USERDEFS_TEAM,
|
|
|
|
USERDEFS_VIEWBOB,
|
|
|
|
USERDEFS_WEAPONSWAY,
|
|
|
|
USERDEFS_ANGLEINTERPOLATION,
|
|
|
|
USERDEFS_OBITUARIES,
|
|
|
|
USERDEFS_LEVELSTATS,
|
|
|
|
USERDEFS_CROSSHAIRSCALE,
|
|
|
|
USERDEFS_ALTHUD,
|
|
|
|
USERDEFS_DISPLAY_BONUS_SCREEN,
|
|
|
|
USERDEFS_SHOW_LEVEL_TEXT,
|
|
|
|
USERDEFS_WEAPONSCALE,
|
|
|
|
USERDEFS_TEXTSCALE,
|
|
|
|
USERDEFS_RUNKEY_MODE,
|
|
|
|
USERDEFS_M_ORIGIN_X,
|
|
|
|
USERDEFS_M_ORIGIN_Y,
|
|
|
|
USERDEFS_PLAYERBEST,
|
|
|
|
USERDEFS_MUSICTOGGLE,
|
|
|
|
USERDEFS_USEVOXELS,
|
|
|
|
USERDEFS_USEHIGHTILE,
|
|
|
|
USERDEFS_USEMODELS,
|
|
|
|
USERDEFS_GAMETYPEFLAGS,
|
|
|
|
USERDEFS_M_GAMETYPEFLAGS,
|
|
|
|
USERDEFS_GLOBALFLAGS,
|
|
|
|
USERDEFS_GLOBALGAMEFLAGS,
|
|
|
|
USERDEFS_VM_PLAYER,
|
|
|
|
USERDEFS_VM_SPRITE,
|
|
|
|
USERDEFS_VM_DISTANCE,
|
|
|
|
USERDEFS_SOUNDTOGGLE,
|
|
|
|
USERDEFS_GAMETEXT_TRACKING,
|
|
|
|
USERDEFS_MGAMETEXT_TRACKING,
|
|
|
|
USERDEFS_MENUTEXT_TRACKING,
|
|
|
|
USERDEFS_MAXSPRITESONSCREEN,
|
|
|
|
USERDEFS_SCREENAREA_X1,
|
|
|
|
USERDEFS_SCREENAREA_Y1,
|
|
|
|
USERDEFS_SCREENAREA_X2,
|
|
|
|
USERDEFS_SCREENAREA_Y2,
|
|
|
|
USERDEFS_SCREENFADE,
|
|
|
|
USERDEFS_MENUBACKGROUND,
|
|
|
|
USERDEFS_STATUSBARFLAGS,
|
|
|
|
USERDEFS_STATUSBARRANGE,
|
|
|
|
USERDEFS_STATUSBARCUSTOM,
|
|
|
|
USERDEFS_HUDONTOP,
|
|
|
|
USERDEFS_MENU_SLIDEBARZ,
|
|
|
|
USERDEFS_MENU_SLIDEBARMARGIN,
|
|
|
|
USERDEFS_MENU_SLIDECURSORZ,
|
|
|
|
USERDEFS_GLOBAL_R,
|
|
|
|
USERDEFS_GLOBAL_G,
|
|
|
|
USERDEFS_GLOBAL_B,
|
|
|
|
USERDEFS_DEFAULT_VOLUME,
|
|
|
|
USERDEFS_DEFAULT_SKILL,
|
|
|
|
USERDEFS_MENU_SHADEDESELECTED,
|
|
|
|
USERDEFS_MENU_SHADEDISABLED,
|
|
|
|
USERDEFS_MENUTEXT_ZOOM,
|
|
|
|
USERDEFS_MENUTEXT_XSPACE,
|
|
|
|
USERDEFS_MENUTEXT_PAL,
|
|
|
|
USERDEFS_MENUTEXT_PALSELECTED,
|
|
|
|
USERDEFS_MENUTEXT_PALDESELECTED,
|
|
|
|
USERDEFS_MENUTEXT_PALDISABLED,
|
|
|
|
USERDEFS_MENUTEXT_PALSELECTED_RIGHT,
|
|
|
|
USERDEFS_MENUTEXT_PALDESELECTED_RIGHT,
|
|
|
|
USERDEFS_MENUTEXT_PALDISABLED_RIGHT,
|
|
|
|
USERDEFS_GAMETEXT_ZOOM,
|
|
|
|
USERDEFS_GAMETEXT_XSPACE,
|
|
|
|
USERDEFS_GAMETEXT_PAL,
|
|
|
|
USERDEFS_GAMETEXT_PALSELECTED,
|
|
|
|
USERDEFS_GAMETEXT_PALDESELECTED,
|
|
|
|
USERDEFS_GAMETEXT_PALDISABLED,
|
|
|
|
USERDEFS_GAMETEXT_PALSELECTED_RIGHT,
|
|
|
|
USERDEFS_GAMETEXT_PALDESELECTED_RIGHT,
|
|
|
|
USERDEFS_GAMETEXT_PALDISABLED_RIGHT,
|
|
|
|
USERDEFS_MINITEXT_ZOOM,
|
|
|
|
USERDEFS_MINITEXT_XSPACE,
|
|
|
|
USERDEFS_MINITEXT_TRACKING,
|
|
|
|
USERDEFS_MINITEXT_PAL,
|
|
|
|
USERDEFS_MINITEXT_PALSELECTED,
|
|
|
|
USERDEFS_MINITEXT_PALDESELECTED,
|
|
|
|
USERDEFS_MINITEXT_PALDISABLED,
|
|
|
|
USERDEFS_MINITEXT_PALSELECTED_RIGHT,
|
|
|
|
USERDEFS_MINITEXT_PALDESELECTED_RIGHT,
|
|
|
|
USERDEFS_MINITEXT_PALDISABLED_RIGHT,
|
|
|
|
USERDEFS_MENUTITLE_PAL,
|
|
|
|
USERDEFS_SLIDEBAR_PALSELECTED,
|
|
|
|
USERDEFS_SLIDEBAR_PALDISABLED,
|
|
|
|
USERDEFS_USER_MAP,
|
|
|
|
USERDEFS_M_USER_MAP,
|
|
|
|
USERDEFS_MUSIC_EPISODE,
|
|
|
|
USERDEFS_MUSIC_LEVEL,
|
|
|
|
USERDEFS_SHADOW_PAL,
|
|
|
|
USERDEFS_MENU_SCROLLBARTILENUM,
|
|
|
|
USERDEFS_MENU_SCROLLBARZ,
|
|
|
|
USERDEFS_MENU_SCROLLCURSORZ,
|
|
|
|
USERDEFS_RETURN,
|
|
|
|
USERDEFS_USERBYTEVERSION,
|
|
|
|
USERDEFS_AUTOSAVE,
|
|
|
|
USERDEFS_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum SectorLabel_t
|
|
|
|
{
|
|
|
|
SECTOR_WALLPTR,
|
|
|
|
SECTOR_WALLNUM,
|
|
|
|
SECTOR_CEILINGZ,
|
|
|
|
SECTOR_CEILINGZGOAL,
|
|
|
|
SECTOR_CEILINGZVEL,
|
|
|
|
SECTOR_FLOORZ,
|
|
|
|
SECTOR_FLOORZGOAL,
|
|
|
|
SECTOR_FLOORZVEL,
|
|
|
|
SECTOR_CEILINGSTAT,
|
|
|
|
SECTOR_FLOORSTAT,
|
|
|
|
SECTOR_CEILINGPICNUM,
|
|
|
|
SECTOR_CEILINGSLOPE,
|
|
|
|
SECTOR_CEILINGSHADE,
|
|
|
|
SECTOR_CEILINGPAL,
|
|
|
|
SECTOR_CEILINGXPANNING,
|
|
|
|
SECTOR_CEILINGYPANNING,
|
|
|
|
SECTOR_FLOORPICNUM,
|
|
|
|
SECTOR_FLOORSLOPE,
|
|
|
|
SECTOR_FLOORSHADE,
|
|
|
|
SECTOR_FLOORPAL,
|
|
|
|
SECTOR_FLOORXPANNING,
|
|
|
|
SECTOR_FLOORYPANNING,
|
|
|
|
SECTOR_VISIBILITY,
|
|
|
|
SECTOR_FOGPAL,
|
|
|
|
SECTOR_LOTAG,
|
|
|
|
SECTOR_HITAG,
|
|
|
|
SECTOR_EXTRA,
|
|
|
|
SECTOR_CEILINGBUNCH,
|
|
|
|
SECTOR_FLOORBUNCH,
|
|
|
|
SECTOR_ULOTAG,
|
|
|
|
SECTOR_UHITAG,
|
|
|
|
SECTOR_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum WallLabel_t
|
|
|
|
{
|
|
|
|
WALL_X,
|
|
|
|
WALL_Y,
|
|
|
|
WALL_POINT2,
|
|
|
|
WALL_NEXTWALL,
|
|
|
|
WALL_NEXTSECTOR,
|
|
|
|
WALL_CSTAT,
|
|
|
|
WALL_PICNUM,
|
|
|
|
WALL_OVERPICNUM,
|
|
|
|
WALL_SHADE,
|
|
|
|
WALL_PAL,
|
|
|
|
WALL_XREPEAT,
|
|
|
|
WALL_YREPEAT,
|
|
|
|
WALL_XPANNING,
|
|
|
|
WALL_YPANNING,
|
|
|
|
WALL_LOTAG,
|
|
|
|
WALL_HITAG,
|
|
|
|
WALL_EXTRA,
|
|
|
|
WALL_ULOTAG,
|
|
|
|
WALL_UHITAG,
|
|
|
|
WALL_BLEND,
|
|
|
|
WALL_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum ActorLabel_t
|
|
|
|
{
|
|
|
|
ACTOR_X,
|
|
|
|
ACTOR_Y,
|
|
|
|
ACTOR_Z,
|
|
|
|
ACTOR_CSTAT,
|
|
|
|
ACTOR_PICNUM,
|
|
|
|
ACTOR_SHADE,
|
|
|
|
ACTOR_PAL,
|
|
|
|
ACTOR_CLIPDIST,
|
|
|
|
ACTOR_DETAIL,
|
|
|
|
ACTOR_XREPEAT,
|
|
|
|
ACTOR_YREPEAT,
|
|
|
|
ACTOR_XOFFSET,
|
|
|
|
ACTOR_YOFFSET,
|
|
|
|
ACTOR_SECTNUM,
|
|
|
|
ACTOR_STATNUM,
|
|
|
|
ACTOR_ANG,
|
|
|
|
ACTOR_OWNER,
|
|
|
|
ACTOR_XVEL,
|
|
|
|
ACTOR_YVEL,
|
|
|
|
ACTOR_ZVEL,
|
|
|
|
ACTOR_LOTAG,
|
|
|
|
ACTOR_HITAG,
|
|
|
|
ACTOR_EXTRA,
|
|
|
|
ACTOR_HTCGG,
|
|
|
|
ACTOR_HTPICNUM,
|
|
|
|
ACTOR_HTANG,
|
|
|
|
ACTOR_HTEXTRA,
|
|
|
|
ACTOR_HTOWNER,
|
|
|
|
ACTOR_HTMOVFLAG,
|
|
|
|
ACTOR_HTTEMPANG,
|
|
|
|
ACTOR_HTACTORSTAYPUT,
|
|
|
|
ACTOR_HTDISPICNUM,
|
|
|
|
ACTOR_HTTIMETOSLEEP,
|
|
|
|
ACTOR_HTFLOORZ,
|
|
|
|
ACTOR_HTCEILINGZ,
|
|
|
|
ACTOR_HTLASTVX,
|
|
|
|
ACTOR_HTLASTVY,
|
|
|
|
ACTOR_HTBPOSX,
|
|
|
|
ACTOR_HTBPOSY,
|
|
|
|
ACTOR_HTBPOSZ,
|
|
|
|
ACTOR_HTG_T,
|
|
|
|
ACTOR_ANGOFF,
|
|
|
|
ACTOR_PITCH,
|
|
|
|
ACTOR_ROLL,
|
|
|
|
ACTOR_MDXOFF,
|
|
|
|
ACTOR_MDYOFF,
|
|
|
|
ACTOR_MDZOFF,
|
|
|
|
ACTOR_MDFLAGS,
|
|
|
|
ACTOR_XPANNING,
|
|
|
|
ACTOR_YPANNING,
|
|
|
|
ACTOR_HTFLAGS,
|
|
|
|
ACTOR_ALPHA,
|
|
|
|
ACTOR_ULOTAG,
|
|
|
|
ACTOR_UHITAG,
|
|
|
|
ACTOR_ISVALID,
|
|
|
|
ACTOR_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum InputLabel_t
|
|
|
|
{
|
|
|
|
INPUT_AVEL,
|
|
|
|
INPUT_Q16AVEL,
|
|
|
|
INPUT_HORZ,
|
|
|
|
INPUT_Q16HORZ,
|
|
|
|
INPUT_FVEL,
|
|
|
|
INPUT_SVEL,
|
|
|
|
INPUT_BITS,
|
|
|
|
INPUT_EXTBITS,
|
|
|
|
INPUT_END
|
|
|
|
};
|
|
|
|
|
|
|
|
enum ScriptKeywords_t
|
|
|
|
{
|
|
|
|
CON_ELSE, // 0
|
|
|
|
CON_ACTOR, // 1
|
|
|
|
CON_ADDAMMO, // 2
|
|
|
|
CON_IFRND, // 3
|
|
|
|
CON_ENDA, // 4
|
|
|
|
CON_IFCANSEE, // 5
|
|
|
|
CON_IFHITWEAPON, // 6
|
|
|
|
CON_ACTION, // 7
|
|
|
|
CON_IFPDISTL, // 8
|
|
|
|
CON_IFPDISTG, // 9
|
|
|
|
CON_DEFINELEVELNAME, // 10
|
|
|
|
CON_STRENGTH, // 11
|
|
|
|
CON_BREAK, // 12
|
|
|
|
CON_SHOOT, // 13
|
|
|
|
CON_PALFROM, // 14
|
|
|
|
CON_SOUND, // 15
|
|
|
|
CON_FALL, // 16
|
|
|
|
CON_STATE, // 17
|
|
|
|
CON_ENDS, // 18
|
|
|
|
CON_DEFINE, // 19
|
|
|
|
CON_COMMENT, // 20 deprecated
|
|
|
|
CON_IFAI, // 21
|
|
|
|
CON_KILLIT, // 22
|
|
|
|
CON_ADDWEAPON, // 23
|
|
|
|
CON_AI, // 24
|
|
|
|
CON_ADDPHEALTH, // 25
|
|
|
|
CON_IFDEAD, // 26
|
|
|
|
CON_IFSQUISHED, // 27
|
|
|
|
CON_SIZETO, // 28
|
|
|
|
CON_LEFTBRACE, // 29
|
|
|
|
CON_RIGHTBRACE, // 30
|
|
|
|
CON_SPAWN, // 31
|
|
|
|
CON_MOVE, // 32
|
|
|
|
CON_IFWASWEAPON, // 33
|
|
|
|
CON_IFACTION, // 34
|
|
|
|
CON_IFACTIONCOUNT, // 35
|
|
|
|
CON_RESETACTIONCOUNT, // 36
|
|
|
|
CON_DEBRIS, // 37
|
|
|
|
CON_PSTOMP, // 38
|
|
|
|
CON_BLOCKCOMMENT, // 39 deprecated
|
|
|
|
CON_CSTAT, // 40
|
|
|
|
CON_IFMOVE, // 41
|
|
|
|
CON_RESETPLAYER, // 42
|
|
|
|
CON_IFONWATER, // 43
|
|
|
|
CON_IFINWATER, // 44
|
|
|
|
CON_IFCANSHOOTTARGET, // 45
|
|
|
|
CON_IFCOUNT, // 46
|
|
|
|
CON_RESETCOUNT, // 47
|
|
|
|
CON_ADDINVENTORY, // 48
|
|
|
|
CON_IFACTORNOTSTAYPUT, // 49
|
|
|
|
CON_HITRADIUS, // 50
|
|
|
|
CON_IFP, // 51
|
|
|
|
CON_COUNT, // 52
|
|
|
|
CON_IFACTOR, // 53
|
|
|
|
CON_MUSIC, // 54
|
|
|
|
CON_INCLUDE, // 55
|
|
|
|
CON_IFSTRENGTH, // 56
|
|
|
|
CON_DEFINESOUND, // 57
|
|
|
|
CON_GUTS, // 58
|
|
|
|
CON_IFSPAWNEDBY, // 59
|
|
|
|
CON_GAMESTARTUP, // 60
|
|
|
|
CON_WACKPLAYER, // 61
|
|
|
|
CON_IFGAPZL, // 62
|
|
|
|
CON_IFHITSPACE, // 63
|
|
|
|
CON_IFOUTSIDE, // 64
|
|
|
|
CON_IFMULTIPLAYER, // 65
|
|
|
|
CON_OPERATE, // 66
|
|
|
|
CON_IFINSPACE, // 67
|
|
|
|
CON_DEBUG, // 68
|
|
|
|
CON_ENDOFGAME, // 69
|
|
|
|
CON_IFBULLETNEAR, // 70
|
|
|
|
CON_IFRESPAWN, // 71
|
|
|
|
CON_IFFLOORDISTL, // 72
|
|
|
|
CON_IFCEILINGDISTL, // 73
|
|
|
|
CON_SPRITEPAL, // 74
|
|
|
|
CON_IFPINVENTORY, // 75
|
|
|
|
CON_BETANAME, // 76
|
|
|
|
CON_CACTOR, // 77
|
|
|
|
CON_IFPHEALTHL, // 78
|
|
|
|
CON_DEFINEQUOTE, // 79
|
|
|
|
CON_QUOTE, // 80
|
|
|
|
CON_IFINOUTERSPACE, // 81
|
|
|
|
CON_IFNOTMOVING, // 82
|
|
|
|
CON_RESPAWNHITAG, // 83
|
|
|
|
CON_TIP, // 84
|
|
|
|
CON_IFSPRITEPAL, // 85
|
|
|
|
CON_MONEY, // 86
|
|
|
|
CON_SOUNDONCE, // 87
|
|
|
|
CON_ADDKILLS, // 88
|
|
|
|
CON_STOPSOUND, // 89
|
|
|
|
CON_IFAWAYFROMWALL, // 90
|
|
|
|
CON_IFCANSEETARGET, // 91
|
|
|
|
CON_GLOBALSOUND, // 92
|
|
|
|
CON_LOTSOFGLASS, // 93
|
|
|
|
CON_IFGOTWEAPONCE, // 94
|
|
|
|
CON_GETLASTPAL, // 95
|
|
|
|
CON_PKICK, // 96
|
|
|
|
CON_MIKESND, // 97
|
|
|
|
CON_USERACTOR, // 98
|
|
|
|
CON_SIZEAT, // 99
|
|
|
|
CON_ADDSTRENGTH, // 100
|
|
|
|
CON_CSTATOR, // 101
|
|
|
|
CON_MAIL, // 102
|
|
|
|
CON_PAPER, // 103
|
|
|
|
CON_TOSSWEAPON, // 104
|
|
|
|
CON_SLEEPTIME, // 105
|
|
|
|
CON_NULLOP, // 106
|
|
|
|
CON_DEFINEVOLUMENAME, // 107
|
|
|
|
CON_DEFINESKILLNAME, // 108
|
|
|
|
CON_IFNOSOUNDS, // 109
|
|
|
|
CON_CLIPDIST, // 110
|
|
|
|
CON_IFANGDIFFL, // 111
|
|
|
|
CON_IFNOCOVER, // 112
|
|
|
|
CON_IFHITTRUCK, // 113
|
|
|
|
CON_IFTIPCOW, // 114
|
|
|
|
CON_ISDRUNK, // 115
|
|
|
|
CON_ISEAT, // 116
|
|
|
|
CON_DESTROYIT, // 117
|
|
|
|
CON_LARRYBIRD, // 118
|
|
|
|
CON_STRAFELEFT, // 119
|
|
|
|
CON_STRAFERIGHT, // 120
|
|
|
|
CON_IFACTORHEALTHG, // 121
|
|
|
|
CON_IFACTORHEALTHL, // 122
|
|
|
|
CON_SLAPPLAYER, // 123
|
|
|
|
CON_IFPDRUNK, // 124
|
|
|
|
CON_TEARITUP, // 125
|
|
|
|
CON_SMACKBUBBA, // 126
|
|
|
|
CON_SOUNDTAGONCE, // 127
|
|
|
|
CON_SOUNDTAG, // 128
|
|
|
|
CON_IFSOUNDID, // 129
|
|
|
|
CON_IFSOUNDDIST, // 130
|
|
|
|
CON_IFONMUD, // 131
|
|
|
|
CON_IFCOOP, // 132
|
|
|
|
CON_IFMOTOFAST, // 133
|
|
|
|
CON_IFWIND, // 134
|
|
|
|
CON_SMACKSPRITE, // 135
|
|
|
|
CON_IFONMOTO, // 136
|
|
|
|
CON_IFONBOAT, // 137
|
|
|
|
CON_FAKEBUBBA, // 138
|
|
|
|
CON_MAMATRIGGER, // 139
|
|
|
|
CON_MAMASPAWN, // 140
|
|
|
|
CON_MAMAQUAKE, // 141
|
|
|
|
CON_MAMAEND, // 142
|
|
|
|
CON_NEWPIC, // 143
|
|
|
|
CON_GARYBANJO, // 144
|
|
|
|
CON_MOTOLOOPSND, // 145
|
|
|
|
CON_IFSIZEDOWN, // 146
|
|
|
|
CON_RNDMOVE, // 147
|
|
|
|
CON_END
|
|
|
|
};
|
|
|
|
// KEEPINSYNC with the keyword list in lunatic/con_lang.lua
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif // gamedef_h_
|