\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
- RETURN_SCRIPTS_BASE = 15000,\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_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_SkipByte(void);\r
//void PC_SkipWord(void);\r
void PC_SkipInt(void);\r
-void PC_AddScript(int number, int argCount);\r
-void PC_SetScriptVarCount(int number, int varCount);\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