OSDN Git Service

- added ACS SpawnForced function.
[zandronum/zandronum-acc.git] / symbol.c
index f0254c6..88104a8 100644 (file)
--- a/symbol.c
+++ b/symbol.c
@@ -100,6 +100,8 @@ static internFuncDef_t InternalFunctions[] =
        { "bluescore", PCD_NOP, PCD_BLUETEAMSCORE, 0, 0, 0, YES, NO },\r
        { "redscore", PCD_NOP, PCD_REDTEAMSCORE, 0, 0, 0, YES, NO },\r
        { "isoneflagctf", PCD_NOP, PCD_ISONEFLAGCTF, 0, 0, 0, YES, NO },\r
+       { "getinvasionwave", PCD_NOP, PCD_GETINVASIONWAVE, 0, 0, 0, YES, NO },\r
+       { "getinvasionstate", PCD_NOP, PCD_GETINVASIONSTATE, 0, 0, 0, YES, NO },\r
        { "music_change", PCD_NOP, PCD_MUSICCHANGE, 2, 0, 0, NO, NO },\r
        { "consolecommand", PCD_CONSOLECOMMANDDIRECT, PCD_CONSOLECOMMAND, 3, 2|4, 0, NO, NO },\r
        { "singleplayer", PCD_NOP, PCD_SINGLEPLAYER, 0, 0, 0, YES, NO },\r
@@ -175,8 +177,25 @@ static internFuncDef_t InternalFunctions[] =
        { "playerclass", PCD_NOP, PCD_PLAYERCLASS, 1, 0, 0, YES, NO },\r
        { "getplayerinfo", PCD_NOP, PCD_GETPLAYERINFO, 2, 0, 0, YES, NO },\r
        { "changelevel", PCD_NOP, PCD_CHANGELEVEL, 4, 8, 0, NO, NO },\r
-       { "sectordamage", PCD_NOP, PCD_SECTORDAMAGE, 7, 0, 0, NO, NO },\r
-       { "replacetextures", PCD_NOP, PCD_REPLACETEXTURES, 7, 4|8|16|32|64, 0, NO, NO },\r
+       { "sectordamage", PCD_NOP, PCD_SECTORDAMAGE, 5, 0, 0, NO, NO },\r
+       { "replacetextures", PCD_NOP, PCD_REPLACETEXTURES, 3, 4, 0, NO, NO },\r
+       { "getactorpitch", PCD_NOP, PCD_GETACTORPITCH, 1, 0, 0, YES, NO },\r
+       { "setactorpitch", PCD_NOP, PCD_SETACTORPITCH, 2, 0, 0, NO, NO },\r
+       { "setactorstate", PCD_NOP, PCD_SETACTORSTATE, 3, 4, 0, YES, NO },\r
+       { "thing_damage2", PCD_NOP, PCD_THINGDAMAGE2, 3, 0, 0, YES, NO },\r
+       { "useinventory", PCD_NOP, PCD_USEINVENTORY, 1, 0, 0, YES, NO },\r
+       { "useactorinventory", PCD_NOP, PCD_USEACTORINVENTORY, 2, 0, 0, YES, NO },\r
+       { "checkactorceilingtexture", PCD_NOP, PCD_CHECKACTORCEILINGTEXTURE, 2, 0, 0, YES, NO },\r
+       { "checkactorfloortexture", PCD_NOP, PCD_CHECKACTORFLOORTEXTURE, 2, 0, 0, YES, NO },\r
+       { "getactorlightlevel", PCD_NOP, PCD_GETACTORLIGHTLEVEL, 1, 0, 0, YES, NO },\r
+       { "setmugshotstate", PCD_NOP, PCD_SETMUGSHOTSTATE, 1, 0, 0, NO, NO },\r
+       { "thingcountsector", PCD_NOP, PCD_THINGCOUNTSECTOR, 3, 0, 0, YES, NO },\r
+       { "thingcountnamesector", PCD_NOP, PCD_THINGCOUNTNAMESECTOR, 3, 0, 0, YES, NO },\r
+       { "checkplayercamera", PCD_NOP, PCD_CHECKPLAYERCAMERA, 1, 0, 0, YES, NO },\r
+       { "morphactor", PCD_NOP, PCD_MORPHACTOR, 7, 2|4|8|16|32|64, 0, YES, NO },\r
+       { "unmorphactor", PCD_NOP, PCD_UNMORPHACTOR, 2, 2, 0, YES, NO },\r
+       { "getplayerinput", PCD_NOP, PCD_GETPLAYERINPUT, 2, 0, 0, YES, NO },\r
+       { "classifyactor", PCD_NOP, PCD_CLASSIFYACTOR, 1, 0, 0, YES, NO },\r
        \r
        { NULL, PCD_NOP, PCD_NOP, 0, 0, 0, NO, NO }\r
 };\r
@@ -501,6 +520,7 @@ static void FreeNodesAtDepth(symbolNode_t **root, int depth)
 static void DeleteNode(symbolNode_t *node, symbolNode_t **parent_p)\r
 {\r
        symbolNode_t **temp;\r
+       char *nametemp;\r
 \r
        if(node->left == NULL)\r
        {\r
@@ -536,7 +556,9 @@ static void DeleteNode(symbolNode_t *node, symbolNode_t **parent_p)
                                temp = &(*temp)->left;\r
                        }\r
                }\r
+               nametemp = node->name;\r
                node->name = (*temp)->name;\r
+               (*temp)->name = nametemp;\r
                node->type = (*temp)->type;\r
                node->unused = (*temp)->unused;\r
                node->imported = (*temp)->imported;\r