Implement individual opcodes for all the gamevar if checks and the functions that do math on vars

git-svn-id: https://svn.eduke32.com/eduke32@7266 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2018-12-15 01:38:16 +00:00
parent ace77922b1
commit cf95da82e9
3 changed files with 977 additions and 514 deletions

View file

@ -676,49 +676,123 @@ static const vec2_t varvartable[] =
static const vec2_t globalvartable[] = static const vec2_t globalvartable[] =
{ {
{ CON_IFVARA, CON_IFGLOBALVARA }, { CON_IFVARA, CON_IFVARA_GLOBAL },
{ CON_IFVARAE, CON_IFGLOBALVARAE }, { CON_IFVARAE, CON_IFVARAE_GLOBAL },
{ CON_IFVARAND, CON_IFGLOBALVARAND }, { CON_IFVARAND, CON_IFVARAND_GLOBAL },
{ CON_IFVARB, CON_IFGLOBALVARB }, { CON_IFVARB, CON_IFVARB_GLOBAL },
{ CON_IFVARBE, CON_IFGLOBALVARBE }, { CON_IFVARBE, CON_IFVARBE_GLOBAL },
{ CON_IFVARBOTH, CON_IFGLOBALVARBOTH }, { CON_IFVARBOTH, CON_IFVARBOTH_GLOBAL },
{ CON_IFVARE, CON_IFGLOBALVARE }, { CON_IFVARE, CON_IFVARE_GLOBAL },
{ CON_IFVAREITHER, CON_IFGLOBALVAREITHER }, { CON_IFVAREITHER, CON_IFVAREITHER_GLOBAL },
{ CON_IFVARG, CON_IFGLOBALVARG }, { CON_IFVARG, CON_IFVARG_GLOBAL },
{ CON_IFVARGE, CON_IFGLOBALVARGE }, { CON_IFVARGE, CON_IFVARGE_GLOBAL },
{ CON_IFVARL, CON_IFGLOBALVARL }, { CON_IFVARL, CON_IFVARL_GLOBAL },
{ CON_IFVARLE, CON_IFGLOBALVARLE }, { CON_IFVARLE, CON_IFVARLE_GLOBAL },
{ CON_IFVARN, CON_IFGLOBALVARN }, { CON_IFVARN, CON_IFVARN_GLOBAL },
{ CON_IFVAROR, CON_IFGLOBALVAROR }, { CON_IFVAROR, CON_IFVAROR_GLOBAL },
{ CON_IFVARXOR, CON_IFGLOBALVARXOR }, { CON_IFVARXOR, CON_IFVARXOR_GLOBAL },
{ CON_WHILEVARL, CON_WHILEVARL_GLOBAL },
{ CON_WHILEVARN, CON_WHILEVARN_GLOBAL },
{ CON_ADDVAR, CON_ADDGLOBALVAR }, { CON_ADDVAR, CON_ADDVAR_GLOBAL },
{ CON_ANDVAR, CON_ANDGLOBALVAR }, { CON_ANDVAR, CON_ANDVAR_GLOBAL },
{ CON_DIVVAR, CON_DIVGLOBALVAR }, { CON_DIVVAR, CON_DIVVAR_GLOBAL },
{ CON_MODVAR, CON_MODGLOBALVAR }, { CON_MODVAR, CON_MODVAR_GLOBAL },
{ CON_MULVAR, CON_MULGLOBALVAR }, { CON_MULVAR, CON_MULVAR_GLOBAL },
{ CON_ORVAR, CON_ORGLOBALVAR }, { CON_ORVAR, CON_ORVAR_GLOBAL },
{ CON_RANDVAR, CON_RANDGLOBALVAR }, { CON_RANDVAR, CON_RANDVAR_GLOBAL },
{ CON_SETVAR, CON_SETGLOBALVAR }, { CON_SETVAR, CON_SETVAR_GLOBAL },
{ CON_SHIFTVARL, CON_SHIFTGLOBALVARL }, { CON_SHIFTVARL, CON_SHIFTVARL_GLOBAL },
{ CON_SHIFTVARR, CON_SHIFTGLOBALVARR }, { CON_SHIFTVARR, CON_SHIFTVARR_GLOBAL },
{ CON_SUBVAR, CON_SUBGLOBALVAR }, { CON_SUBVAR, CON_SUBVAR_GLOBAL },
{ CON_WHILEVARL, CON_WHILEGLOBALVARL }, { CON_XORVAR, CON_XORVAR_GLOBAL },
{ CON_WHILEVARN, CON_WHILEGLOBALVARN }, };
{ CON_XORVAR, CON_XORGLOBALVAR },
static const vec2_t playervartable[] =
{
{ CON_IFVARA, CON_IFVARA_PLAYER },
{ CON_IFVARAE, CON_IFVARAE_PLAYER },
{ CON_IFVARAND, CON_IFVARAND_PLAYER },
{ CON_IFVARB, CON_IFVARB_PLAYER },
{ CON_IFVARBE, CON_IFVARBE_PLAYER },
{ CON_IFVARBOTH, CON_IFVARBOTH_PLAYER },
{ CON_IFVARE, CON_IFVARE_PLAYER },
{ CON_IFVAREITHER, CON_IFVAREITHER_PLAYER },
{ CON_IFVARG, CON_IFVARG_PLAYER },
{ CON_IFVARGE, CON_IFVARGE_PLAYER },
{ CON_IFVARL, CON_IFVARL_PLAYER },
{ CON_IFVARLE, CON_IFVARLE_PLAYER },
{ CON_IFVARN, CON_IFVARN_PLAYER },
{ CON_IFVAROR, CON_IFVAROR_PLAYER },
{ CON_IFVARXOR, CON_IFVARXOR_PLAYER },
{ CON_WHILEVARL, CON_WHILEVARL_PLAYER },
{ CON_WHILEVARN, CON_WHILEVARN_PLAYER },
{ CON_ADDVAR, CON_ADDVAR_PLAYER },
{ CON_ANDVAR, CON_ANDVAR_PLAYER },
{ CON_DIVVAR, CON_DIVVAR_PLAYER },
{ CON_MODVAR, CON_MODVAR_PLAYER },
{ CON_MULVAR, CON_MULVAR_PLAYER },
{ CON_ORVAR, CON_ORVAR_PLAYER },
{ CON_RANDVAR, CON_RANDVAR_PLAYER },
{ CON_SETVAR, CON_SETVAR_PLAYER },
{ CON_SHIFTVARL, CON_SHIFTVARL_PLAYER },
{ CON_SHIFTVARR, CON_SHIFTVARR_PLAYER },
{ CON_SUBVAR, CON_SUBVAR_PLAYER },
{ CON_XORVAR, CON_XORVAR_PLAYER },
};
static const vec2_t actorvartable[] =
{
{ CON_IFVARA, CON_IFVARA_ACTOR },
{ CON_IFVARAE, CON_IFVARAE_ACTOR },
{ CON_IFVARAND, CON_IFVARAND_ACTOR },
{ CON_IFVARB, CON_IFVARB_ACTOR },
{ CON_IFVARBE, CON_IFVARBE_ACTOR },
{ CON_IFVARBOTH, CON_IFVARBOTH_ACTOR },
{ CON_IFVARE, CON_IFVARE_ACTOR },
{ CON_IFVAREITHER, CON_IFVAREITHER_ACTOR },
{ CON_IFVARG, CON_IFVARG_ACTOR },
{ CON_IFVARGE, CON_IFVARGE_ACTOR },
{ CON_IFVARL, CON_IFVARL_ACTOR },
{ CON_IFVARLE, CON_IFVARLE_ACTOR },
{ CON_IFVARN, CON_IFVARN_ACTOR },
{ CON_IFVAROR, CON_IFVAROR_ACTOR },
{ CON_IFVARXOR, CON_IFVARXOR_ACTOR },
{ CON_WHILEVARL, CON_WHILEVARL_ACTOR },
{ CON_WHILEVARN, CON_WHILEVARN_ACTOR },
{ CON_ADDVAR, CON_ADDVAR_ACTOR },
{ CON_ANDVAR, CON_ANDVAR_ACTOR },
{ CON_DIVVAR, CON_DIVVAR_ACTOR },
{ CON_MODVAR, CON_MODVAR_ACTOR },
{ CON_MULVAR, CON_MULVAR_ACTOR },
{ CON_ORVAR, CON_ORVAR_ACTOR },
{ CON_RANDVAR, CON_RANDVAR_ACTOR },
{ CON_SETVAR, CON_SETVAR_ACTOR },
{ CON_SHIFTVARL, CON_SHIFTVARL_ACTOR },
{ CON_SHIFTVARR, CON_SHIFTVARR_ACTOR },
{ CON_SUBVAR, CON_SUBVAR_ACTOR },
{ CON_XORVAR, CON_XORVAR_ACTOR },
}; };
static inthashtable_t h_varvar = { NULL, INTHASH_SIZE(ARRAY_SIZE(varvartable)) }; static inthashtable_t h_varvar = { NULL, INTHASH_SIZE(ARRAY_SIZE(varvartable)) };
static inthashtable_t h_globalvar = { NULL, INTHASH_SIZE(ARRAY_SIZE(globalvartable)) }; static inthashtable_t h_globalvar = { NULL, INTHASH_SIZE(ARRAY_SIZE(globalvartable)) };
static inthashtable_t h_playervar = { NULL, INTHASH_SIZE(ARRAY_SIZE(playervartable)) };
static inthashtable_t h_actorvar = { NULL, INTHASH_SIZE(ARRAY_SIZE(actorvartable)) };
static inthashtable_t *const inttables[] = { static inthashtable_t *const inttables[] = {
&h_varvar, &h_varvar,
&h_globalvar, &h_globalvar,
&h_playervar,
&h_actorvar,
}; };
static inthashtable_t *const inttables_free[] = { static inthashtable_t *const inttables_free[] = {
&h_varvar, &h_varvar,
&h_globalvar, &h_globalvar,
&h_playervar,
&h_actorvar,
}; };
@ -750,7 +824,7 @@ char const * VM_GetKeywordForID(int32_t id)
if (keyword.val == id) if (keyword.val == id)
return keyword.token; return keyword.token;
return id < CON_OPCODE_END ? "<internal instruction>" : "<invalid keyword>"; return "<unknown>";
} }
#endif #endif
@ -3716,22 +3790,8 @@ setvar:
} }
} }
#endif #endif
// replace instructions with special versions that operate only on globals // replace instructions with special versions for specific var types
if ((aGameVars[ins[1]].flags & (GAMEVAR_USER_MASK | GAMEVAR_PTR_MASK)) == 0) scriptUpdateOpcodeForVariableType(ins);
{
int const opcode = inthash_find(&h_globalvar, *ins & VM_INSTMASK);
if (opcode != -1)
{
if (!g_errorCnt && !g_warningCnt && g_scriptDebug > 1)
{
initprintf("%s:%d: %s -> %s\n", g_scriptFileName, g_lineNumber,
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode));
}
scriptWriteAtOffset(opcode | LINE_NUMBER, ins);
}
}
continue; continue;
} }
@ -4292,8 +4352,7 @@ setvarvar:
tw = opcode; tw = opcode;
g_scriptPtr = &ins[1]; g_scriptPtr = &ins[1];
textptr = lasttextptr; textptr = lasttextptr;
goto ifvar;
goto singlevar;
} }
} }
@ -4339,7 +4398,7 @@ setvarvar:
case CON_WHILEVARL: case CON_WHILEVARL:
case CON_WHILEVARN: case CON_WHILEVARN:
{ {
singlevar: ifvar:
auto const ins = &g_scriptPtr[-1]; auto const ins = &g_scriptPtr[-1];
auto const lastScriptPtr = &g_scriptPtr[-1] - apScript; auto const lastScriptPtr = &g_scriptPtr[-1] - apScript;
@ -4351,23 +4410,7 @@ singlevar:
if (C_CheckMalformedBranch(lastScriptPtr)) if (C_CheckMalformedBranch(lastScriptPtr))
continue; continue;
// substitute instructions that operate on global vars directly if appropriate scriptUpdateOpcodeForVariableType(ins);
if (aGameVars[ins[1] & (MAXGAMEVARS-1)].flags == 0)
{
int const opcode = inthash_find(&h_globalvar, *ins & VM_INSTMASK);
if (opcode != -1)
{
//if (!g_errorCnt && !g_warningCnt && g_scriptDebug > 1)
{
initprintf("%s:%d: %s -> %s for var %s(%d)\n", g_scriptFileName, g_lineNumber,
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode), aGameVars[ins[1] & (MAXGAMEVARS-1)].szLabel, (int)(ins[1]));
}
tw = opcode;
scriptWriteAtOffset(opcode | LINE_NUMBER, ins);
}
}
auto const offset = g_scriptPtr - apScript; auto const offset = g_scriptPtr - apScript;
g_scriptPtr++; //Leave a spot for the fail location g_scriptPtr++; //Leave a spot for the fail location
@ -6110,6 +6153,12 @@ void scriptInitTables()
for (auto &globalvar : globalvartable) for (auto &globalvar : globalvartable)
inthash_add(&h_globalvar, globalvar.x, globalvar.y, 0); inthash_add(&h_globalvar, globalvar.x, globalvar.y, 0);
for (auto &playervar : playervartable)
inthash_add(&h_playervar, playervar.x, playervar.y, 0);
for (auto &actorvar : actorvartable)
inthash_add(&h_actorvar, actorvar.x, actorvar.y, 0);
} }
void C_Compile(const char *fileName) void C_Compile(const char *fileName)
@ -6244,6 +6293,8 @@ void C_Compile(const char *fileName)
inthash_free(&h_varvar); inthash_free(&h_varvar);
inthash_free(&h_globalvar); inthash_free(&h_globalvar);
inthash_free(&h_playervar);
inthash_free(&h_actorvar);
freehashnames(); freehashnames();
freesoundhashnames(); freesoundhashnames();

View file

@ -837,25 +837,212 @@ enum IterationTypes_t
// most keywords have opcodes but some opcodes don't have keywords // most keywords have opcodes but some opcodes don't have keywords
enum ScriptKeywords_t enum ScriptKeywords_t
{ {
CON_IFVARA_GLOBAL,
CON_IFVARAE_GLOBAL,
CON_IFVARAND_GLOBAL,
CON_IFVARB_GLOBAL,
CON_IFVARBE_GLOBAL,
CON_IFVARBOTH_GLOBAL,
CON_IFVARE_GLOBAL,
CON_IFVAREITHER_GLOBAL,
CON_IFVARG_GLOBAL,
CON_IFVARGE_GLOBAL,
CON_IFVARL_GLOBAL,
CON_IFVARLE_GLOBAL,
CON_IFVARN_GLOBAL,
CON_IFVAROR_GLOBAL,
CON_IFVARXOR_GLOBAL,
CON_ADDVAR_GLOBAL,
CON_ANDVAR_GLOBAL,
CON_DIVVAR_GLOBAL,
CON_MODVAR_GLOBAL,
CON_MULVAR_GLOBAL,
CON_ORVAR_GLOBAL,
CON_RANDVAR_GLOBAL,
CON_SETVAR_GLOBAL,
CON_SHIFTVARL_GLOBAL,
CON_SHIFTVARR_GLOBAL,
CON_SUBVAR_GLOBAL,
CON_WHILEVARL_GLOBAL,
CON_WHILEVARN_GLOBAL,
CON_XORVAR_GLOBAL,
CON_IFVARA_PLAYER,
CON_IFVARAE_PLAYER,
CON_IFVARAND_PLAYER,
CON_IFVARB_PLAYER,
CON_IFVARBE_PLAYER,
CON_IFVARBOTH_PLAYER,
CON_IFVARE_PLAYER,
CON_IFVAREITHER_PLAYER,
CON_IFVARG_PLAYER,
CON_IFVARGE_PLAYER,
CON_IFVARL_PLAYER,
CON_IFVARLE_PLAYER,
CON_IFVARN_PLAYER,
CON_IFVAROR_PLAYER,
CON_IFVARXOR_PLAYER,
CON_ADDVAR_PLAYER,
CON_ANDVAR_PLAYER,
CON_DIVVAR_PLAYER,
CON_MODVAR_PLAYER,
CON_MULVAR_PLAYER,
CON_ORVAR_PLAYER,
CON_RANDVAR_PLAYER,
CON_SETVAR_PLAYER,
CON_SHIFTVARL_PLAYER,
CON_SHIFTVARR_PLAYER,
CON_SUBVAR_PLAYER,
CON_WHILEVARL_PLAYER,
CON_WHILEVARN_PLAYER,
CON_XORVAR_PLAYER,
CON_IFVARA_ACTOR,
CON_IFVARAE_ACTOR,
CON_IFVARAND_ACTOR,
CON_IFVARB_ACTOR,
CON_IFVARBE_ACTOR,
CON_IFVARBOTH_ACTOR,
CON_IFVARE_ACTOR,
CON_IFVAREITHER_ACTOR,
CON_IFVARG_ACTOR,
CON_IFVARGE_ACTOR,
CON_IFVARL_ACTOR,
CON_IFVARLE_ACTOR,
CON_IFVARN_ACTOR,
CON_IFVAROR_ACTOR,
CON_IFVARXOR_ACTOR,
CON_ADDVAR_ACTOR,
CON_ANDVAR_ACTOR,
CON_DIVVAR_ACTOR,
CON_MODVAR_ACTOR,
CON_MULVAR_ACTOR,
CON_ORVAR_ACTOR,
CON_RANDVAR_ACTOR,
CON_SETVAR_ACTOR,
CON_SHIFTVARL_ACTOR,
CON_SHIFTVARR_ACTOR,
CON_SUBVAR_ACTOR,
CON_WHILEVARL_ACTOR,
CON_WHILEVARN_ACTOR,
CON_XORVAR_ACTOR,
CON_IFVARVARA,
CON_IFVARVARAE,
CON_IFVARVARAND,
CON_IFVARVARB,
CON_IFVARVARBE,
CON_IFVARVARBOTH,
CON_IFVARVARE,
CON_IFVARVAREITHER,
CON_IFVARVARG,
CON_IFVARVARGE,
CON_IFVARVARL,
CON_IFVARVARLE,
CON_IFVARVARN,
CON_IFVARVAROR,
CON_IFVARVARXOR,
CON_ADDVARVAR,
CON_ANDVARVAR,
CON_DIVVARVAR,
CON_MODVARVAR,
CON_MULVARVAR,
CON_ORVARVAR,
CON_RANDVARVAR,
CON_SETVARVAR,
CON_SHIFTVARVARL,
CON_SHIFTVARVARR,
CON_SUBVARVAR,
CON_WHILEVARVARL,
CON_WHILEVARVARN,
CON_XORVARVAR,
CON_IFVARA,
CON_IFVARAE,
CON_IFVARAND,
CON_IFVARB,
CON_IFVARBE,
CON_IFVARBOTH,
CON_IFVARE,
CON_IFVAREITHER,
CON_IFVARG,
CON_IFVARGE,
CON_IFVARL,
CON_IFVARLE,
CON_IFVARN,
CON_IFVAROR,
CON_IFVARXOR,
CON_ADDVAR,
CON_ANDVAR,
CON_DIVVAR,
CON_MODVAR,
CON_MULVAR,
CON_ORVAR,
CON_RANDVAR,
CON_SETVAR,
CON_SHIFTVARL,
CON_SHIFTVARR,
CON_SUBVAR,
CON_WHILEVARL,
CON_WHILEVARN,
CON_XORVAR,
CON_ELSE,
CON_ENDA,
CON_ENDEVENT,
CON_ENDS,
CON_ENDSWITCH,
CON_LEFTBRACE,
CON_RIGHTBRACE,
CON_STATE,
CON_SETACTOR,
CON_SETACTORSTRUCT,
CON_SETACTORVAR,
CON_SETARRAY,
CON_SETPLAYER,
CON_SETPLAYERVAR,
CON_SETPROJECTILE,
CON_SETSECTOR,
CON_SETSPRITEEXT,
CON_SETSPRITESTRUCT,
CON_SETTHISPROJECTILE,
CON_SETTSPR,
CON_SETUSERDEF,
CON_SETWALL,
CON_GETACTOR,
CON_GETACTORSTRUCT,
CON_GETACTORVAR,
CON_GETANGLE,
CON_GETPLAYER,
CON_GETPLAYERVAR,
CON_GETPROJECTILE,
CON_GETSECTOR,
CON_GETSPRITEEXT,
CON_GETSPRITESTRUCT,
CON_GETTSPR,
CON_GETUSERDEF,
CON_GETWALL,
CON_ACTION, CON_ACTION,
CON_ACTIVATE, CON_ACTIVATE,
CON_ACTIVATEBYSECTOR, CON_ACTIVATEBYSECTOR,
CON_ACTIVATECHEAT, CON_ACTIVATECHEAT,
CON_ACTORSOUND, CON_ACTORSOUND,
CON_ADDAMMO, CON_ADDAMMO,
CON_ADDGLOBALVAR,
CON_ADDINVENTORY, CON_ADDINVENTORY,
CON_ADDKILLS, CON_ADDKILLS,
CON_ADDLOGVAR, CON_ADDLOGVAR,
CON_ADDPHEALTH, CON_ADDPHEALTH,
CON_ADDSTRENGTH, CON_ADDSTRENGTH,
CON_ADDVAR,
CON_ADDVARVAR,
CON_ADDWEAPON, CON_ADDWEAPON,
CON_AI, CON_AI,
CON_ANDGLOBALVAR,
CON_ANDVAR,
CON_ANDVARVAR,
CON_ANGOFF, CON_ANGOFF,
CON_BREAK, CON_BREAK,
CON_CACTOR, CON_CACTOR,
@ -883,26 +1070,18 @@ enum ScriptKeywords_t
CON_DIGITALNUMBER, CON_DIGITALNUMBER,
CON_DIGITALNUMBERZ, CON_DIGITALNUMBERZ,
CON_DISPLAYRAND, CON_DISPLAYRAND,
CON_DISPLAYRANDVAR,
CON_DISPLAYRANDVARVAR,
CON_DIST, CON_DIST,
CON_DIVGLOBALVAR,
CON_DIVR, CON_DIVR,
CON_DIVRU, CON_DIVRU,
CON_DIVSCALE, CON_DIVSCALE,
CON_DIVVAR, CON_DISPLAYRANDVAR,
CON_DIVVARVAR, CON_DISPLAYRANDVARVAR,
CON_DRAGPOINT, CON_DRAGPOINT,
CON_DRAWLINE256, CON_DRAWLINE256,
CON_DRAWLINERGB, CON_DRAWLINERGB,
CON_ECHO, CON_ECHO,
CON_ELSE,
CON_ENDA,
CON_ENDEVENT,
CON_ENDOFGAME, CON_ENDOFGAME,
CON_ENDOFLEVEL, CON_ENDOFLEVEL,
CON_ENDS,
CON_ENDSWITCH,
CON_EQSPAWN, CON_EQSPAWN,
CON_ESHOOT, CON_ESHOOT,
CON_ESPAWN, CON_ESPAWN,
@ -921,11 +1100,7 @@ enum ScriptKeywords_t
CON_FOR, CON_FOR,
CON_GAMETEXT, CON_GAMETEXT,
CON_GAMETEXTZ, CON_GAMETEXTZ,
CON_GETACTOR,
CON_GETACTORANGLE, CON_GETACTORANGLE,
CON_GETACTORSTRUCT,
CON_GETACTORVAR,
CON_GETANGLE,
CON_GETANGLETOTARGET, CON_GETANGLETOTARGET,
CON_GETARRAYSIZE, CON_GETARRAYSIZE,
CON_GETCEILZOFSLOPE, CON_GETCEILZOFSLOPE,
@ -937,23 +1112,14 @@ enum ScriptKeywords_t
CON_GETKEYNAME, CON_GETKEYNAME,
CON_GETLASTPAL, CON_GETLASTPAL,
CON_GETMUSICPOSITION, CON_GETMUSICPOSITION,
CON_GETPLAYER,
CON_GETPLAYERANGLE, CON_GETPLAYERANGLE,
CON_GETPLAYERVAR,
CON_GETPNAME, CON_GETPNAME,
CON_GETPROJECTILE,
CON_GETSECTOR,
CON_GETSPRITEEXT,
CON_GETSPRITESTRUCT,
CON_GETTEXTURECEILING, CON_GETTEXTURECEILING,
CON_GETTEXTUREFLOOR, CON_GETTEXTUREFLOOR,
CON_GETTHISPROJECTILE, CON_GETTHISPROJECTILE,
CON_GETTICKS, CON_GETTICKS,
CON_GETTILEDATA, CON_GETTILEDATA,
CON_GETTIMEDATE, CON_GETTIMEDATE,
CON_GETTSPR,
CON_GETUSERDEF,
CON_GETWALL,
CON_GETZRANGE, CON_GETZRANGE,
CON_GLOBALSOUND, CON_GLOBALSOUND,
CON_GMAXAMMO, CON_GMAXAMMO,
@ -982,21 +1148,6 @@ enum ScriptKeywords_t
CON_IFDEAD, CON_IFDEAD,
CON_IFFLOORDISTL, CON_IFFLOORDISTL,
CON_IFGAPZL, CON_IFGAPZL,
CON_IFGLOBALVARA,
CON_IFGLOBALVARAE,
CON_IFGLOBALVARAND,
CON_IFGLOBALVARB,
CON_IFGLOBALVARBE,
CON_IFGLOBALVARBOTH,
CON_IFGLOBALVARE,
CON_IFGLOBALVAREITHER,
CON_IFGLOBALVARG,
CON_IFGLOBALVARGE,
CON_IFGLOBALVARL,
CON_IFGLOBALVARLE,
CON_IFGLOBALVARN,
CON_IFGLOBALVAROR,
CON_IFGLOBALVARXOR,
CON_IFGOTWEAPONCE, CON_IFGOTWEAPONCE,
CON_IFHITSPACE, CON_IFHITSPACE,
CON_IFHITWEAPON, CON_IFHITWEAPON,
@ -1024,36 +1175,6 @@ enum ScriptKeywords_t
CON_IFSPRITEPAL, CON_IFSPRITEPAL,
CON_IFSQUISHED, CON_IFSQUISHED,
CON_IFSTRENGTH, CON_IFSTRENGTH,
CON_IFVARA,
CON_IFVARAE,
CON_IFVARAND,
CON_IFVARB,
CON_IFVARBE,
CON_IFVARBOTH,
CON_IFVARE,
CON_IFVAREITHER,
CON_IFVARG,
CON_IFVARGE,
CON_IFVARL,
CON_IFVARLE,
CON_IFVARN,
CON_IFVAROR,
CON_IFVARVARA,
CON_IFVARVARAE,
CON_IFVARVARAND,
CON_IFVARVARB,
CON_IFVARVARBE,
CON_IFVARVARBOTH,
CON_IFVARVARE,
CON_IFVARVAREITHER,
CON_IFVARVARG,
CON_IFVARVARGE,
CON_IFVARVARL,
CON_IFVARVARLE,
CON_IFVARVARN,
CON_IFVARVAROR,
CON_IFVARVARXOR,
CON_IFVARXOR,
CON_IFWASWEAPON, CON_IFWASWEAPON,
CON_INITTIMER, CON_INITTIMER,
CON_INSERTSPRITEQ, CON_INSERTSPRITEQ,
@ -1062,7 +1183,6 @@ enum ScriptKeywords_t
CON_KILLIT, CON_KILLIT,
CON_KLABS, CON_KLABS,
CON_LDIST, CON_LDIST,
CON_LEFTBRACE,
CON_LINEINTERSECT, CON_LINEINTERSECT,
CON_LOADMAPSTATE, CON_LOADMAPSTATE,
CON_LOCKPLAYER, CON_LOCKPLAYER,
@ -1070,17 +1190,11 @@ enum ScriptKeywords_t
CON_MAIL, CON_MAIL,
CON_MIKESND, CON_MIKESND,
CON_MINITEXT, CON_MINITEXT,
CON_MODGLOBALVAR,
CON_MODVAR,
CON_MODVARVAR,
CON_MONEY, CON_MONEY,
CON_MOVE, CON_MOVE,
CON_MOVESECTOR, CON_MOVESECTOR,
CON_MOVESPRITE, CON_MOVESPRITE,
CON_MULGLOBALVAR,
CON_MULSCALE, CON_MULSCALE,
CON_MULVAR,
CON_MULVARVAR,
CON_MUSIC, CON_MUSIC,
CON_MYOS, CON_MYOS,
CON_MYOSPAL, CON_MYOSPAL,
@ -1096,9 +1210,6 @@ enum ScriptKeywords_t
CON_OPERATEMASTERSWITCHES, CON_OPERATEMASTERSWITCHES,
CON_OPERATERESPAWNS, CON_OPERATERESPAWNS,
CON_OPERATESECTORS, CON_OPERATESECTORS,
CON_ORGLOBALVAR,
CON_ORVAR,
CON_ORVARVAR,
CON_PALFROM, CON_PALFROM,
CON_PAPER, CON_PAPER,
CON_PKICK, CON_PKICK,
@ -1119,9 +1230,6 @@ enum ScriptKeywords_t
CON_QSUBSTR, CON_QSUBSTR,
CON_QUAKE, CON_QUAKE,
CON_QUOTE, CON_QUOTE,
CON_RANDGLOBALVAR,
CON_RANDVAR,
CON_RANDVARVAR,
CON_RAYINTERSECT, CON_RAYINTERSECT,
CON_READARRAYFROMFILE, CON_READARRAYFROMFILE,
CON_READGAMEVAR, CON_READGAMEVAR,
@ -1133,7 +1241,6 @@ enum ScriptKeywords_t
CON_RESIZEARRAY, CON_RESIZEARRAY,
CON_RESPAWNHITAG, CON_RESPAWNHITAG,
CON_RETURN, CON_RETURN,
CON_RIGHTBRACE,
CON_ROTATEPOINT, CON_ROTATEPOINT,
CON_ROTATESPRITE, CON_ROTATESPRITE,
CON_ROTATESPRITE16, CON_ROTATESPRITE16,
@ -1151,39 +1258,16 @@ enum ScriptKeywords_t
CON_SECTGETLOTAG, CON_SECTGETLOTAG,
CON_SECTOROFWALL, CON_SECTOROFWALL,
CON_SECTSETINTERPOLATION, CON_SECTSETINTERPOLATION,
CON_SETACTOR,
CON_SETACTORANGLE, CON_SETACTORANGLE,
CON_SETACTORSOUNDPITCH, CON_SETACTORSOUNDPITCH,
CON_SETACTORSTRUCT,
CON_SETACTORVAR,
CON_SETARRAY,
CON_SETASPECT, CON_SETASPECT,
CON_SETGAMEPALETTE, CON_SETGAMEPALETTE,
CON_SETGLOBALVAR,
CON_SETINPUT, CON_SETINPUT,
CON_SETMUSICPOSITION, CON_SETMUSICPOSITION,
CON_SETPLAYER,
CON_SETPLAYERANGLE, CON_SETPLAYERANGLE,
CON_SETPLAYERVAR,
CON_SETPROJECTILE,
CON_SETSECTOR,
CON_SETSPRITE, CON_SETSPRITE,
CON_SETSPRITEEXT,
CON_SETSPRITESTRUCT,
CON_SETTHISPROJECTILE,
CON_SETTILEDATA, CON_SETTILEDATA,
CON_SETTSPR,
CON_SETUSERDEF,
CON_SETVAR,
CON_SETVARVAR,
CON_SETWALL,
CON_SHADETO, CON_SHADETO,
CON_SHIFTGLOBALVARL,
CON_SHIFTGLOBALVARR,
CON_SHIFTVARL,
CON_SHIFTVARR,
CON_SHIFTVARVARL,
CON_SHIFTVARVARR,
CON_SHOOT, CON_SHOOT,
CON_SHOWVIEW, CON_SHOWVIEW,
CON_SHOWVIEWQ16, CON_SHOWVIEWQ16,
@ -1211,15 +1295,11 @@ enum ScriptKeywords_t
CON_STARTSCREEN, CON_STARTSCREEN,
CON_STARTTRACK, CON_STARTTRACK,
CON_STARTTRACKSLOT, CON_STARTTRACKSLOT,
CON_STATE,
CON_STOPACTORSOUND, CON_STOPACTORSOUND,
CON_STOPALLMUSIC, CON_STOPALLMUSIC,
CON_STOPALLSOUNDS, CON_STOPALLSOUNDS,
CON_STOPSOUND, CON_STOPSOUND,
CON_STRENGTH, CON_STRENGTH,
CON_SUBGLOBALVAR,
CON_SUBVAR,
CON_SUBVARVAR,
CON_SWAPARRAYS, CON_SWAPARRAYS,
CON_SWAPTRACKSLOT, CON_SWAPTRACKSLOT,
CON_SWITCH, CON_SWITCH,
@ -1230,16 +1310,7 @@ enum ScriptKeywords_t
CON_UPDATESECTORZ, CON_UPDATESECTORZ,
CON_USERQUOTE, CON_USERQUOTE,
CON_WACKPLAYER, CON_WACKPLAYER,
CON_WHILEGLOBALVARL,
CON_WHILEGLOBALVARN,
CON_WHILEVARL,
CON_WHILEVARN,
CON_WHILEVARVARL,
CON_WHILEVARVARN,
CON_WRITEARRAYTOFILE, CON_WRITEARRAYTOFILE,
CON_XORGLOBALVAR,
CON_XORVAR,
CON_XORVARVAR,
CON_ZSHOOT, CON_ZSHOOT,
CON_OPCODE_END, CON_OPCODE_END,

File diff suppressed because it is too large Load diff