\r
// MACROS ------------------------------------------------------------------\r
\r
-// Values added to script number to indicate its type\r
+// Values to indicate a script's type\r
enum\r
{\r
- OPEN_SCRIPTS_BASE = 1000,\r
- RESPAWN_SCRIPTS_BASE = 2000, // [BC]\r
- DEATH_SCRIPTS_BASE = 3000, // [BC]\r
- ENTER_SCRIPTS_BASE = 4000, // [BC]\r
- PICKUP_SCRIPTS_BASE = 5000, // [BC]\r
- BLUE_RETURN_SCRIPTS_BASE = 6000, // [BC]\r
- RED_RETURN_SCRIPTS_BASE = 7000, // [BC]\r
- WHITE_RETURN_SCRIPTS_BASE = 8000, // [BC]\r
- LIGHTNING_SCRIPTS_BASE = 12000,\r
- UNLOADING_SCRIPTS_BASE = 13000,\r
- DISCONNECT_SCRIPTS_BASE = 14000\r
+ OPEN_SCRIPTS_BASE = 1,\r
+ RESPAWN_SCRIPTS_BASE = 2, // [BC]\r
+ DEATH_SCRIPTS_BASE = 3, // [BC]\r
+ ENTER_SCRIPTS_BASE = 4, // [BC]\r
+ PICKUP_SCRIPTS_BASE = 5, // [BC]\r
+ BLUE_RETURN_SCRIPTS_BASE = 6, // [BC]\r
+ RED_RETURN_SCRIPTS_BASE = 7, // [BC]\r
+ WHITE_RETURN_SCRIPTS_BASE = 8, // [BC]\r
+ LIGHTNING_SCRIPTS_BASE = 12,\r
+ UNLOADING_SCRIPTS_BASE = 13,\r
+ DISCONNECT_SCRIPTS_BASE = 14,\r
+ RETURN_SCRIPTS_BASE = 15,\r
};\r
\r
-// Values added to script number to indicate flags (requires new-style .o)\r
+// Values to indicate script flags (requires new-style .o)\r
enum\r
{\r
- NET_SCRIPT_FLAG = 0x00010000\r
+ NET_SCRIPT_FLAG = 0x0001,\r
+ CLIENTSIDE_SCRIPT_FLAG = 0x0002, // [BB]\r
};\r
\r
// Or'ed with variable index when passing variables of type "out"\r
PCD_BLUETEAMSCORE,\r
PCD_REDTEAMSCORE,\r
PCD_ISONEFLAGCTF,\r
- PCD_LSPEC6, // [RH] LSPEC6 is never actually used.\r
- PCD_LSPEC6DIRECT, // Should these be removed?\r
+ PCD_GETINVASIONWAVE,\r
+ PCD_GETINVASIONSTATE,\r
PCD_PRINTNAME,\r
PCD_MUSICCHANGE,\r
PCD_CONSOLECOMMANDDIRECT,\r
PCD_CHANGELEVEL,\r
PCD_SECTORDAMAGE,\r
PCD_REPLACETEXTURES,\r
+ PCD_NEGATEBINARY,\r
+ PCD_GETACTORPITCH,\r
+ PCD_SETACTORPITCH,\r
+ PCD_PRINTBIND,\r
+ PCD_SETACTORSTATE,\r
+ PCD_THINGDAMAGE2,\r
+ PCD_USEINVENTORY,\r
+ PCD_USEACTORINVENTORY,\r
+ PCD_CHECKACTORCEILINGTEXTURE,\r
+ PCD_CHECKACTORFLOORTEXTURE,\r
+ PCD_GETACTORLIGHTLEVEL,\r
+ PCD_SETMUGSHOTSTATE,\r
+ PCD_THINGCOUNTSECTOR,\r
+ PCD_THINGCOUNTNAMESECTOR,\r
+ PCD_CHECKPLAYERCAMERA,\r
+ PCD_MORPHACTOR,\r
+ PCD_UNMORPHACTOR,\r
+ PCD_GETPLAYERINPUT,\r
+ PCD_CLASSIFYACTOR,\r
+ PCD_PRINTBINARY,\r
+ PCD_PRINTHEX,\r
+ PCD_CALLFUNC,\r
+ PCD_SAVESTRING, // [FDARI]\r
+ PCD_PRINTMAPCHRANGE, // [FDARI] output range\r
+ PCD_PRINTWORLDCHRANGE,\r
+ PCD_PRINTGLOBALCHRANGE,\r
+ PCD_STRCPYTOMAPCHRANGE, // [FDARI] input range\r
+ PCD_STRCPYTOWORLDCHRANGE,\r
+ PCD_STRCPYTOGLOBALCHRANGE,\r
+ PCD_PUSHFUNCTION, // from Eternity\r
+ PCD_CALLSTACK, // from Eternity\r
+ PCD_SCRIPTWAITNAMED,\r
+ PCD_TRANSLATIONRANGE3,\r
\r
PCODE_COMMAND_COUNT\r
} pcd_t;\r
void PC_Append(void *buffer, size_t size);\r
void PC_AppendByte(U_BYTE val);\r
void PC_AppendWord(U_WORD val);\r
-void PC_AppendLong(U_LONG val);\r
+void PC_AppendInt(U_INT val);\r
void PC_AppendString(char *string);\r
void PC_AppendCmd(pcd_t command);\r
-void PC_AppendPushVal(U_LONG val);\r
+void PC_AppendPushVal(U_INT val);\r
void PC_AppendShrink(U_BYTE val);\r
void PC_Write(void *buffer, size_t size, int address);\r
void PC_WriteByte(U_BYTE val, int address);\r
//void PC_WriteWord(U_WORD val, int address);\r
-void PC_WriteLong(U_LONG val, int address);\r
+void PC_WriteInt(U_INT val, int address);\r
void PC_WriteString(char *string, int address);\r
void PC_WriteCmd(pcd_t command, int address);\r
void PC_Skip(size_t size);\r
//void PC_SkipByte(void);\r
//void PC_SkipWord(void);\r
-void PC_SkipLong(void);\r
-void PC_AddScript(int number, int argCount);\r
-void PC_SetScriptVarCount(int number, int varCount);\r
+void PC_SkipInt(void);\r
+void PC_AddScript(int number, int type, int flags, int argCount);\r
+void PC_SetScriptVarCount(int number, int type, int varCount);\r
void PC_AddFunction(struct symbolNode_s *sym);\r
void PC_PutMapVariable(int index, int value);\r
void PC_NameMapVariable(int index, struct symbolNode_s *sym);\r
extern int pc_FunctionCount;\r
extern boolean pc_NoShrink;\r
extern boolean pc_HexenCase;\r
+extern boolean pc_EnforceHexen;\r
+extern boolean pc_WarnNotHexen;\r
extern boolean pc_WadAuthor;\r
extern boolean pc_EncryptStrings;\r
extern int pc_LastAppendedCommand;\r