From 749ec94bb4b81f2c4c166d6007227568923a854b Mon Sep 17 00:00:00 2001 From: actboy168 Date: Sat, 21 Dec 2013 05:17:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=80=E4=BA=9B=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/Plugin/WE/YDTrigger/Common.h | 4 - .../Plugin/WE/YDTrigger/Core/CC_GUIID.h | 12 - .../WE/YDTrigger/Core/CC_PutActionEx_Hook.cpp | 470 ------------------ .../WE/YDTrigger/Core/CC_PutExternFuncEx.cpp | 9 +- .../Plugin/WE/YDTrigger/Core/CC_PutLocal.cpp | 35 -- .../WE/YDTrigger/Core/CC_PutTrigger_Hook.cpp | 4 - .../YDTrigger/Core/CC_PutVar_Other_Hook.cpp | 44 -- .../WE/YDTrigger/HashTable/GUIID_Table.cpp | 12 - 8 files changed, 2 insertions(+), 588 deletions(-) diff --git a/Development/Editor/Plugin/WE/YDTrigger/Common.h b/Development/Editor/Plugin/WE/YDTrigger/Common.h index f55e29bd8..9fbc1d585 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Common.h +++ b/Development/Editor/Plugin/WE/YDTrigger/Common.h @@ -94,8 +94,4 @@ inline void cc_search_var(uint32_t ptr, std::function func) } } -void CC_PutSearchCondition (DWORD This, DWORD OutClass, char* name); -void CC_PutSearchCondition2(DWORD This, DWORD OutClass, char* name); -void CC_PutSearchCondition3(DWORD This, DWORD OutClass, char* name, DWORD index); - #endif \ No newline at end of file diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_GUIID.h b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_GUIID.h index 3a102e650..fe1dc18d6 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_GUIID.h +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_GUIID.h @@ -20,21 +20,9 @@ enum GUIID_User_Defined CC_GUIID_YDWEForLoopLocVarIndex, CC_GUIID_YDWECustomScriptCode, CC_GUIID_YDWEEnumUnitsInRangeMultiple, - CC_GUIID_ForGroup, - CC_GUIID_ForForce, - CC_GUIID_GroupEnumUnitsInRange, - CC_GUIID_GroupEnumUnitsInRangeCounted, - CC_GUIID_GroupEnumUnitsInRangeOfLoc, - CC_GUIID_GroupEnumUnitsInRangeOfLocCounted, - CC_GUIID_GetUnitsInRectMatching, - CC_GUIID_GetUnitsInRangeOfLocMatching, - CC_GUIID_GetUnitsOfPlayerMatching, - CC_GUIID_GetPlayersMatching, CC_GUIID_YDWEActivateTrigger, CC_GUIID_GetEnumUnit, CC_GUIID_GetFilterUnit, - CC_GUIID_GetEnumPlayer, - CC_GUIID_GetFilterPlayer, CC_GUIID_TriggerSleepAction, CC_GUIID_PolledWait, CC_GUIID_YDWEGetObjectPropertyInteger, diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutActionEx_Hook.cpp b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutActionEx_Hook.cpp index c2c05d8b8..1b75430ce 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutActionEx_Hook.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutActionEx_Hook.cpp @@ -2,7 +2,6 @@ #include "locvar.h" BOOL g_bYDWEEnumUnitsInRangeMultipleFlag = FALSE; -BOOL g_bForForceMultipleFlag = FALSE; BOOL _fastcall CC_PutAction_SearchVar(DWORD This, DWORD OutClass); void _fastcall CC_PutActionEx_Hook(DWORD This, DWORD EDX, DWORD OutClass, char* name, DWORD Type, DWORD Endl); @@ -117,410 +116,15 @@ void CC_PutActionEx_ForLoop(DWORD This, DWORD OutClass, char* name, DWORD cc_gui CC_PutEnd(); } -void CC_PutActionEx_ForGroupEnum(DWORD PThis, DWORD This, DWORD OutClass, char* name) -{ - if (This) - { - switch (*(uint32_t*)(This+0x138)) - { - case CC_GUIID_GetUnitsInRectMatching: - PUT_CONST("set ydl_group = CreateGroup()", 1); - PUT_CONST("call GroupEnumUnitsInRect(ydl_group, ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - return ; - case CC_GUIID_GetUnitsInRangeOfLocMatching: - PUT_CONST("set ydl_group = CreateGroup()", 1); - PUT_CONST("call GroupEnumUnitsInRangeOfLoc(ydl_group, ", 0); - PUT_VAR(This, 1); - PUT_CONST(", ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - return ; - case CC_GUIID_GetUnitsOfPlayerMatching: - PUT_CONST("set ydl_group = CreateGroup()", 1); - PUT_CONST("call GroupEnumUnitsOfPlayer(ydl_group, ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - return ; - default: - break; - } - - char gui_name[260]; - CC_GetGUIName(This, 0, gui_name, 260); - if ( strcmp(gui_name, "CreateGroup") == 0 - || strcmp(gui_name, "GetUnitsInRectAll") == 0 - || strcmp(gui_name, "GetUnitsInRectOfPlayer") == 0 - || strcmp(gui_name, "GetUnitsInRangeOfLocAll") == 0 - || strcmp(gui_name, "GetUnitsOfPlayerAll") == 0 - || strcmp(gui_name, "GetUnitsOfPlayerAndTypeId") == 0 - || strcmp(gui_name, "GetUnitsOfTypeIdAll") == 0 - || strcmp(gui_name, "GetUnitsSelectedAll") == 0 - ) - { - PUT_CONST("set ydl_group = ", 0); - PUT_VAR(PThis, 0); - PUT_CONST("", 1); - return ; - } - } - - PUT_CONST("if bj_wantDestroyGroup then", 1); - CC_PutBegin(); - PUT_CONST("set bj_wantDestroyGroup = false", 1); - PUT_CONST("set ydl_group = ", 0); - PUT_VAR(PThis, 0); - PUT_CONST("", 1); - CC_PutEnd(); - PUT_CONST("else", 1); - CC_PutBegin(); - PUT_CONST("set bj_groupAddGroupDest = CreateGroup()", 1); - PUT_CONST("call ForGroup(", 0); - PUT_VAR(PThis, 0); - PUT_CONST(", function GroupAddGroupEnum)", 1); - PUT_CONST("set ydl_group = bj_groupAddGroupDest", 1); - CC_PutEnd(); - PUT_CONST("endif", 1); -} - -void CC_PutActionEx_ForGroupConditionBegin(DWORD This, DWORD OutClass, char* name) -{ - if (This) - { - switch (*(uint32_t*)(This+0x138)) - { - case CC_GUIID_GetUnitsInRangeOfLocMatching: - CC_PutSearchCondition(GetGUIVar_Class(This, 2), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 2, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - return; - case CC_GUIID_GetUnitsInRectMatching: - case CC_GUIID_GetUnitsOfPlayerMatching: - CC_PutSearchCondition(GetGUIVar_Class(This, 1), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 1, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - return; - default: - break; - } - } - CC_PutEnd(); -} - -void CC_PutActionEx_ForGroupConditionEnd(DWORD This, DWORD OutClass, char* name) -{ - if (This) - { - switch (*(uint32_t*)(This+0x138)) - { - case CC_GUIID_GetUnitsInRectMatching: - case CC_GUIID_GetUnitsInRangeOfLocMatching: - case CC_GUIID_GetUnitsOfPlayerMatching: - PUT_CONST("endif", 1); - return ; - default: - break; - } - } - CC_PutBegin(); -} - -void CC_PutActionEx_ForGroup(DWORD This, DWORD OutClass, char* name) -{ - uint32_t ui_type = *(uint32_t*)(This+0x138); - if (g_bYDWEEnumUnitsInRangeMultipleFlag) - { - ShowError(OutClass, "WESTRING_ERROR_YDTRIGGER_YDWEEnumUnitsInRangeMultiple"); - } - else - { - g_bYDWEEnumUnitsInRangeMultipleFlag = TRUE; - - CC_PutBegin(); - CC_PutActionEx_ForGroupEnum(This, GetGUIVar_Class(This, 0), OutClass, name); - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("set ydl_unit = FirstOfGroup(ydl_group)", 1); - PUT_CONST("exitwhen ydl_unit == null", 1); - PUT_CONST("call GroupRemoveUnit(ydl_group, ydl_unit)", 1); - CC_PutActionEx_ForGroupConditionBegin(GetGUIVar_Class(This, 0), OutClass, name); - if (CC_GUIID_ForGroup == *(DWORD*)(This+0x138)) - { - CC_PutActionEx_Hook(GetGUIVar_Class(This, 1), 0, OutClass, name, CC_GUI_TYPE_ACTION, 0); - } - else - { - CC_PutBlock_Action(This, OutClass, name, 0); - } - CC_PutActionEx_ForGroupConditionEnd(GetGUIVar_Class(This, 0), OutClass, name); - CC_PutEnd(); - PUT_CONST("endloop", 1); - PUT_CONST("call DestroyGroup(ydl_group)", 1); - CC_PutEnd(); - - g_bYDWEEnumUnitsInRangeMultipleFlag = FALSE; - } -} - -void CC_PutActionEx_ForGroupMatching(DWORD This, DWORD OutClass, char* name) -{ - uint32_t ui_type = *(uint32_t*)(This+0x138); - - if (g_bYDWEEnumUnitsInRangeMultipleFlag) - { - ShowError(OutClass, "WESTRING_ERROR_YDTRIGGER_YDWEEnumUnitsInRangeMultiple"); - } - else - { - g_bYDWEEnumUnitsInRangeMultipleFlag = TRUE; - - CC_PutBegin(); - PUT_CONST("set ydl_group = CreateGroup()", 1); - PUT_CONST("set ydl_tmp_group = CreateGroup()", 1); - if (ui_type == CC_GUIID_GetUnitsInRectMatching) - { - PUT_CONST("call GroupEnumUnitsInRect(ydl_tmp_group, ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - } - else if (ui_type == CC_GUIID_GetUnitsInRangeOfLocMatching) - { - PUT_CONST("call GroupEnumUnitsInRangeOfLoc(ydl_tmp_group, ", 0); - PUT_VAR(This, 1); - PUT_CONST(", ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - } - else - { - PUT_CONST("call GroupEnumUnitsOfPlayer(ydl_tmp_group, ", 0); - PUT_VAR(This, 0); - PUT_CONST(", null)", 1); - } - - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("set ydl_unit = FirstOfGroup(ydl_tmp_group)", 1); - PUT_CONST("exitwhen ydl_unit == null", 1); - PUT_CONST("call GroupRemoveUnit(ydl_tmp_group, ydl_unit)", 1); - if (ui_type == CC_GUIID_GetUnitsInRangeOfLocMatching) - { - CC_PutSearchCondition(GetGUIVar_Class(This, 2), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 2, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - } - else - { - CC_PutSearchCondition(GetGUIVar_Class(This, 1), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 1, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - } - - CC_PutBegin(); - PUT_CONST("call GroupAddUnit(ydl_group, ydl_unit)", 1); - CC_PutEnd(); - PUT_CONST("endif", 1); - CC_PutEnd(); - PUT_CONST("endloop", 1); - PUT_CONST("call DestroyGroup(ydl_tmp_group)", 1); - CC_PutEnd(); - - g_bYDWEEnumUnitsInRangeMultipleFlag = FALSE; - } -} - -void CC_PutActionEx_ForForce(DWORD This, DWORD OutClass, char* name) -{ - if (g_bForForceMultipleFlag) - { - ShowError(OutClass, "WESTRING_ERROR_YDTRIGGER_ForForceMultiple"); - } - else - { - g_bForForceMultipleFlag = TRUE; - - if (GetGUIVar_Class(This, 0) && (CC_GUIID_GetPlayersMatching == *(DWORD*)(GetGUIVar_Class(This, 0)+0x138))) - { - CC_PutBegin(); - PUT_CONST("set ydl_index = 0", 1); - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("exitwhen ydl_index >= 16", 1); - CC_PutSearchCondition(GetGUIVar_Class(This, 0), OutClass, name); - PUT_CONST("if (GetPlayerSlotState(Player(ydl_index)) != PLAYER_SLOT_STATE_EMPTY) and (", 0); - CC_PutVar_Code(GetGUIVar_Class(This, 0), OutClass, name, 0, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - if (CC_GUIID_ForForce == *(DWORD*)(This+0x138)) - { - CC_PutBegin(); - CC_PutActionEx_Hook(GetGUIVar_Class(This, 1), 0, OutClass, name, CC_GUI_TYPE_ACTION, 0); - CC_PutEnd(); - } - else - { - CC_PutBlock_Action(This, OutClass, name, 0); - } - PUT_CONST("endif", 1); - PUT_CONST("set ydl_index = ydl_index + 1", 1); - CC_PutEnd(); - PUT_CONST("endloop", 1); - CC_PutEnd(); - } - else - { - CC_PutBegin(); - PUT_CONST("set ydl_force = ", 0); - PUT_VAR(This, 0); - PUT_CONST("", 1); - PUT_CONST("set ydl_index = 0", 1); - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("exitwhen ydl_index >= 16", 1); - PUT_CONST("if IsPlayerInForce(Player(ydl_index), ydl_force) then", 1); - if (CC_GUIID_ForForce == *(DWORD*)(This+0x138)) - { - CC_PutBegin(); - CC_PutActionEx_Hook(GetGUIVar_Class(This, 1), 0, OutClass, name, CC_GUI_TYPE_ACTION, 0); - CC_PutEnd(); - } - else - { - CC_PutBlock_Action(This, OutClass, name, 0); - } - PUT_CONST("endif", 1); - PUT_CONST("set ydl_index = ydl_index + 1", 1); - CC_PutEnd(); - PUT_CONST("endloop", 1); - CC_PutEnd(); - } - - g_bForForceMultipleFlag = FALSE; - } -} - -void CC_PutActionEx_ForForceMatching(DWORD This, DWORD OutClass, char* name) -{ - uint32_t ui_type = *(uint32_t*)(This+0x138); - - if (g_bForForceMultipleFlag) - { - ShowError(OutClass, "WESTRING_ERROR_YDTRIGGER_YDWEEnumUnitsInRangeMultiple"); - } - else - { - g_bForForceMultipleFlag = TRUE; - - CC_PutBegin(); - PUT_CONST("set ydl_force = CreateForce()", 1); - PUT_CONST("set ydl_index = 0", 1); - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("exitwhen ydl_index >= 16", 1); - CC_PutSearchCondition(GetGUIVar_Class(This, 0), OutClass, name); - PUT_CONST("if (GetPlayerSlotState(Player(ydl_index)) != PLAYER_SLOT_STATE_EMPTY) and (", 0); - CC_PutVar_Code(This, OutClass, name, 0, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - CC_PutBegin(); - PUT_CONST("call ForceAddPlayer(ydl_force, Player(ydl_index))", 1); - CC_PutEnd(); - PUT_CONST("endif", 1); - PUT_CONST("set ydl_index = ydl_index + 1", 1); - CC_PutEnd(); - PUT_CONST("endloop", 1); - CC_PutEnd(); - - g_bForForceMultipleFlag = FALSE; - } -} - -void CC_PutSearchCondition(DWORD This, DWORD OutClass, char* name) -{ - cc_search_var(This, [&](uint32_t var_ptr) - { - switch (*(uint32_t*)(var_ptr+0x138)) - { - case CC_GUIID_GetUnitsInRectMatching: - case CC_GUIID_GetUnitsInRangeOfLocMatching: - case CC_GUIID_GetUnitsOfPlayerMatching: - { - CC_PutActionEx_ForGroupMatching(var_ptr, OutClass, name); - } - break; - case CC_GUIID_GetPlayersMatching: - { - CC_PutActionEx_ForForceMatching(var_ptr, OutClass, name); - } - break; - } - }); -} - -void CC_PutSearchCondition2(DWORD This, DWORD OutClass, char* name) -{ - DWORD nItemCount = *(DWORD*)(This+0xC); - for (DWORD i = 0; i < nItemCount; i++) - { - DWORD nItemClass = ((DWORD*)(*(DWORD*)(This+0x10)))[i]; - if (Proc_GetGUIType(nItemClass) == CC_GUI_TYPE_CONDITION) - { - if (*(DWORD*)(nItemClass+0x13C) != 0) - { - CC_PutSearchCondition(nItemClass, OutClass, name); - } - } - } -} - -void CC_PutSearchCondition3(DWORD This, DWORD OutClass, char* name, DWORD index) -{ - DWORD nItemCount = *(DWORD*)(This+0xC); - - for (DWORD i = 0; i < nItemCount; i++) - { - DWORD nItemClass = ((DWORD*)(*(DWORD*)(This+0x10)))[i]; - if (*(DWORD*)(nItemClass+0x13C) != 0) - { - if ((index) == -1 || (*(DWORD*)(nItemClass+0x154) == index)) - { - CC_PutSearchCondition(nItemClass, OutClass, name); - } - } - } -} - - void _fastcall CC_PutActionEx_Hook(DWORD This, DWORD EDX, DWORD OutClass, char* name, DWORD Type, DWORD Endl) { char buff[260]; - if (CC_GUIID_ForGroupMultiple == *(DWORD*)(This+0x138) - || CC_GUIID_ForGroup == *(DWORD*)(This+0x138)) - { - CC_PutActionEx_ForGroup(This, OutClass, name); - return ; - } - else if (CC_GUIID_ForForceMultiple == *(DWORD*)(This+0x138) - || CC_GUIID_ForForce == *(DWORD*)(This+0x138)) - { - CC_PutActionEx_ForForce(This, OutClass, name); - return ; - } - else - { - CC_PutSearchCondition(This, OutClass, name); - } - switch (*(DWORD*)(This+0x138)) { case CC_GUIID_IfThenElse: { - CC_PutSearchCondition(GetGUIVar_Class(This, 0), OutClass, name); CC_PutBegin(); PUT_CONST("if (", 0); CC_PutVar_Code(This, OutClass, name, 0, CC_GUI_TYPE_CONDITION); @@ -535,7 +139,6 @@ void _fastcall } case CC_GUIID_IfThenElseMultiple: { - CC_PutSearchCondition3(This, OutClass, name, 0); CC_PutBegin(); PUT_CONST("if (", 0); CC_PutBlock_Condition_And(This, OutClass, name, 0); @@ -548,79 +151,6 @@ void _fastcall break; } - - case CC_GUIID_GroupEnumUnitsInRange: - case CC_GUIID_GroupEnumUnitsInRangeCounted: - case CC_GUIID_GroupEnumUnitsInRangeOfLoc: - case CC_GUIID_GroupEnumUnitsInRangeOfLocCounted: - { - uint32_t ui_type = *(uint32_t*)(This+0x138); - if (g_bYDWEEnumUnitsInRangeMultipleFlag) - { - ShowError(OutClass, "WESTRING_ERROR_YDTRIGGER_YDWEEnumUnitsInRangeMultiple"); - } - else - { - g_bYDWEEnumUnitsInRangeMultipleFlag = TRUE; - - CC_PutBegin(); - PUT_CONST("set ydl_group = ", 0); - PUT_VAR(This, 0); - PUT_CONST("", 1); - PUT_CONST("call GroupClear(ydl_group)", 1); - PUT_CONST("set ydl_tmp_group = CreateGroup()", 1); - if (ui_type == CC_GUIID_GroupEnumUnitsInRangeOfLoc - || ui_type == CC_GUIID_GroupEnumUnitsInRangeOfLocCounted) - { - PUT_CONST("call GroupEnumUnitsInRangeOfLoc(ydl_tmp_group, ", 0); - PUT_VAR(This, 1); - PUT_CONST(", ", 0); - PUT_VAR(This, 2); - PUT_CONST(", null)", 1); - } - else - { - PUT_CONST("call GroupEnumUnitsInRange(ydl_tmp_group, ", 0); - PUT_VAR(This, 1); - PUT_CONST(", ", 0); - PUT_VAR(This, 2); - PUT_CONST(", ", 0); - PUT_VAR(This, 3); - PUT_CONST(", null)", 1); - } - PUT_CONST("loop", 1); - CC_PutBegin(); - PUT_CONST("set ydl_unit = FirstOfGroup(ydl_tmp_group)", 1); - PUT_CONST("exitwhen ydl_unit == null", 1); - PUT_CONST("call GroupRemoveUnit(ydl_tmp_group, ydl_unit)", 1); - if (ui_type == CC_GUIID_GroupEnumUnitsInRangeOfLoc - || ui_type == CC_GUIID_GroupEnumUnitsInRangeOfLocCounted) - { - CC_PutSearchCondition(GetGUIVar_Class(This, 3), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 3, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - } - else - { - CC_PutSearchCondition(GetGUIVar_Class(This, 4), OutClass, name); - PUT_CONST("if (", 0); - CC_PutVar_Code(This, OutClass, name, 4, CC_GUI_TYPE_CONDITION); - PUT_CONST(") then", 1); - } - CC_PutBegin(); - PUT_CONST("call GroupAddUnit(ydl_group, ydl_unit)", 1); - CC_PutEnd(); - PUT_CONST("endif", 1); - CC_PutEnd(); - PUT_CONST("endloop", 1); - PUT_CONST("call DestroyGroup(ydl_tmp_group)", 1); - CC_PutEnd(); - - g_bYDWEEnumUnitsInRangeMultipleFlag = FALSE; - } - } - break; case CC_GUIID_YDWEEnumUnitsInRangeMultiple: { if (g_bYDWEEnumUnitsInRangeMultipleFlag) diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutExternFuncEx.cpp b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutExternFuncEx.cpp index 2029650a9..ca7d9d5d5 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutExternFuncEx.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutExternFuncEx.cpp @@ -84,11 +84,6 @@ void _fastcall CC_PutExternFuncEx_TopDown(DWORD This, DWORD OutClass, char* name case CC_GUIID_IfThenElse: case CC_GUIID_GetBooleanAnd: case CC_GUIID_GetBooleanOr: - case CC_GUIID_GroupEnumUnitsInRange: - case CC_GUIID_GroupEnumUnitsInRangeCounted: - case CC_GUIID_GroupEnumUnitsInRangeOfLoc: - case CC_GUIID_GroupEnumUnitsInRangeOfLocCounted: - case CC_GUIID_ForGroup: flag = -1; break; } @@ -123,8 +118,8 @@ void _fastcall CC_PutExternFuncEx_TopDown(DWORD This, DWORD OutClass, char* name switch (*(DWORD*)(This+0x138)) { - //case CC_GUIID_ForGroupMultiple: - //case CC_GUIID_ForForceMultiple: + case CC_GUIID_ForGroupMultiple: + case CC_GUIID_ForForceMultiple: case CC_GUIID_EnumDestructablesInRectAllMultiple: case CC_GUIID_EnumDestructablesInCircleBJMultiple: case CC_GUIID_EnumItemsInRectBJMultiple: diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutLocal.cpp b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutLocal.cpp index a127a790f..e590fd3e8 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutLocal.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutLocal.cpp @@ -71,17 +71,6 @@ void _fastcall g_local_in_mainproc = TRUE; } break; - case CC_GUIID_GetUnitsInRectMatching: - case CC_GUIID_GetUnitsInRangeOfLocMatching: - case CC_GUIID_GetUnitsOfPlayerMatching: - CC_PutLocal_LocalVar(OutClass, CC_TYPE_group, "ydl", "tmp_group"); - CC_PutLocal_LocalVar(OutClass, CC_TYPE_group, "ydl", "group"); - CC_PutLocal_LocalVar(OutClass, CC_TYPE_unit, "ydl", "unit"); - break; - case CC_GUIID_GetPlayersMatching: - CC_PutLocal_LocalVar(OutClass, CC_TYPE_integer, "ydl", "index"); - CC_PutLocal_LocalVar(OutClass, CC_TYPE_force, "ydl", "force"); - break; default: break; } @@ -121,18 +110,6 @@ void _fastcall CC_PutLocal_LocalVar(OutClass, CC_TYPE_integer, "ydul", ((char*)&GetGUIVar_Value(nItemClass, 0))); CC_PutLocal_Search(nItemClass, OutClass, isSearchHashLocal, -1); break; - case CC_GUIID_ForForce: - CC_PutLocal_LocalVar(OutClass, CC_TYPE_integer, "ydl", "index"); - CC_PutLocal_LocalVar(OutClass, CC_TYPE_force, "ydl", "force"); - break; - case CC_GUIID_ForForceMultiple: - CC_PutLocal_LocalVar(OutClass, CC_TYPE_integer, "ydl", "index"); - CC_PutLocal_LocalVar(OutClass, CC_TYPE_force, "ydl", "force"); - if (isSearchHashLocal) - { - CC_PutLocal_Search(nItemClass, OutClass, isSearchHashLocal, -1); - } - break; case CC_GUIID_EnumDestructablesInRectAllMultiple: case CC_GUIID_EnumDestructablesInCircleBJMultiple: case CC_GUIID_EnumItemsInRectBJMultiple: @@ -140,18 +117,6 @@ void _fastcall { CC_PutLocal_Search(nItemClass, OutClass, isSearchHashLocal, -1); } - break; - case CC_GUIID_GroupEnumUnitsInRange: - case CC_GUIID_GroupEnumUnitsInRangeCounted: - case CC_GUIID_GroupEnumUnitsInRangeOfLoc: - case CC_GUIID_GroupEnumUnitsInRangeOfLocCounted: - CC_PutLocal_LocalVar( OutClass, CC_TYPE_group, "ydl", "tmp_group"); - CC_PutLocal_LocalVar( OutClass, CC_TYPE_group, "ydl", "group"); - CC_PutLocal_LocalVar( OutClass, CC_TYPE_unit, "ydl", "unit"); - break; - case CC_GUIID_ForGroup: - CC_PutLocal_LocalVar( OutClass, CC_TYPE_group, "ydl", "group"); - CC_PutLocal_LocalVar( OutClass, CC_TYPE_unit, "ydl", "unit"); break; case CC_GUIID_ForGroupMultiple: case CC_GUIID_YDWEEnumUnitsInRangeMultiple: diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutTrigger_Hook.cpp b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutTrigger_Hook.cpp index 6f20396e6..ffe6d681e 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutTrigger_Hook.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutTrigger_Hook.cpp @@ -1,7 +1,5 @@ #include "CC_Include.h" -bool g_bBuildTriggerCondition = false; - int _fastcall CC_PutTrigger_Count(DWORD This, DWORD cc_gui_type) { @@ -68,13 +66,11 @@ CC_PutTrigger_ECA_ExternProc(DWORD This, DWORD OutClass) BLZSStrPrintf(buff, 260, "function %sConditions takes nothing returns boolean", name); PUT_CONST(buff, 1); - g_bBuildTriggerCondition = true; CC_PutBegin(); PUT_CONST("return (", 0); CC_PutTrigger_Condition_And(This, OutClass, name); PUT_CONST(")", 1); CC_PutEnd(); - g_bBuildTriggerCondition = false; PUT_CONST("endfunction", 1); PUT_CONST("", 1); diff --git a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutVar_Other_Hook.cpp b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutVar_Other_Hook.cpp index 881a96281..df2edae36 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutVar_Other_Hook.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/Core/CC_PutVar_Other_Hook.cpp @@ -2,8 +2,6 @@ #include "locvar.h" extern BOOL g_bYDWEEnumUnitsInRangeMultipleFlag; -extern BOOL g_bForForceMultipleFlag; -extern bool g_bBuildTriggerCondition; void _fastcall CC_PutVar_Other_Hook(DWORD This, DWORD EDX, DWORD OutClass, char* name, DWORD index, DWORD type) @@ -36,48 +34,6 @@ CC_PutVar_Other_Hook(DWORD This, DWORD EDX, DWORD OutClass, char* name, DWORD in PUT_CONST("GetFilterUnit()", 0); } return; - case CC_GUIID_GetEnumPlayer: - if (g_bForForceMultipleFlag) - { - PUT_CONST("Player("STRING_YDWE_LOCAL"index)", 0); - } - else - { - PUT_CONST("GetEnumPlayer()", 0); - } - return; - case CC_GUIID_GetFilterPlayer: - if (g_bForForceMultipleFlag) - { - PUT_CONST("Player("STRING_YDWE_LOCAL"index)", 0); - } - else - { - PUT_CONST("GetFilterPlayer()", 0); - } - return; - case CC_GUIID_GetUnitsInRectMatching: - case CC_GUIID_GetUnitsInRangeOfLocMatching: - case CC_GUIID_GetUnitsOfPlayerMatching: - if (!g_bBuildTriggerCondition) - { - PUT_CONST("ydl_group", 0); - } - else - { - CC_PutVar_Other(This, EDX, OutClass, name, index, type); - } - return; - case CC_GUIID_GetPlayersMatching: - if (!g_bBuildTriggerCondition) - { - PUT_CONST("ydl_force", 0); - } - else - { - CC_PutVar_Other(This, EDX, OutClass, name, index, type); - } - return; case CC_GUIID_YDWECustomScriptCode: BLZSStrPrintf(NewName, 260, "%sFunc%03d", name, index+1); CC_PutVar(nItemClass, EDX, OutClass, NewName, 0, type, 1); diff --git a/Development/Editor/Plugin/WE/YDTrigger/HashTable/GUIID_Table.cpp b/Development/Editor/Plugin/WE/YDTrigger/HashTable/GUIID_Table.cpp index 9556ee38a..392e1fdb5 100644 --- a/Development/Editor/Plugin/WE/YDTrigger/HashTable/GUIID_Table.cpp +++ b/Development/Editor/Plugin/WE/YDTrigger/HashTable/GUIID_Table.cpp @@ -82,22 +82,10 @@ GUIID_Table_Init() GUIID_Table_Put(YDWEForLoopLocVarIndex); GUIID_Table_Put(YDWECustomScriptCode); GUIID_Table_Put(YDWEEnumUnitsInRangeMultiple); - GUIID_Table_Put(ForGroup); - GUIID_Table_Put(ForForce); - GUIID_Table_Put(GroupEnumUnitsInRange); - GUIID_Table_Put(GroupEnumUnitsInRangeCounted); - GUIID_Table_Put(GroupEnumUnitsInRangeOfLoc); - GUIID_Table_Put(GroupEnumUnitsInRangeOfLocCounted); - GUIID_Table_Put(GetUnitsInRectMatching); - GUIID_Table_Put(GetUnitsInRangeOfLocMatching); - GUIID_Table_Put(GetUnitsOfPlayerMatching); - GUIID_Table_Put(GetPlayersMatching); GUIID_Table_Put(YDWEActivateTrigger); GUIID_Table_Put(GetEnumUnit); GUIID_Table_Put(GetFilterUnit); - GUIID_Table_Put(GetEnumPlayer); - GUIID_Table_Put(GetFilterPlayer); GUIID_Table_Put(TriggerSleepAction); GUIID_Table_Put(PolledWait); GUIID_Table_Put(YDWEGetObjectPropertyInteger);