OSDN Git Service

- Added PlayActorSound identifiers to zdefs.acs.
[zandronum/zandronum-acc.git] / pcode.h
diff --git a/pcode.h b/pcode.h
index 8814e2b..fdad84e 100644 (file)
--- a/pcode.h
+++ b/pcode.h
 \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
@@ -412,6 +413,18 @@ typedef enum
        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
@@ -438,8 +451,8 @@ void PC_Skip(size_t size);
 //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
@@ -456,6 +469,8 @@ extern int pc_ScriptCount;
 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