From 279fc49ed6dbd5baf7bf9042f856103879e0b4d2 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sat, 7 Oct 2023 19:08:48 -0400 Subject: [PATCH 01/21] Add Location Module --- addons/modules/CfgVehicles.hpp | 8 ++ addons/modules/XEH_PREP.hpp | 1 + addons/modules/config.cpp | 1 + .../modules/functions/fnc_moduleLocation.sqf | 86 +++++++++++++++++++ addons/modules/stringtable.xml | 3 + 5 files changed, 99 insertions(+) create mode 100644 addons/modules/functions/fnc_moduleLocation.sqf diff --git a/addons/modules/CfgVehicles.hpp b/addons/modules/CfgVehicles.hpp index 6f6798c30..64eca2692 100644 --- a/addons/modules/CfgVehicles.hpp +++ b/addons/modules/CfgVehicles.hpp @@ -309,6 +309,14 @@ class CfgVehicles { icon = QPATHTOF(ui\light_ca.paa); portrait = QPATHTOF(ui\light_ca.paa); }; + class GVAR(moduleLocation): GVAR(moduleBase) { + curatorCanAttach = 0; + category = "Environment"; + displayName = "$STR_3DEN_Display3DEN_Locations"; + icon = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; + portrait = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; + function = QFUNC(moduleLocation); + }; class GVAR(moduleMakeInvincible): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(Objects); diff --git a/addons/modules/XEH_PREP.hpp b/addons/modules/XEH_PREP.hpp index 30cc02679..63beea5f4 100644 --- a/addons/modules/XEH_PREP.hpp +++ b/addons/modules/XEH_PREP.hpp @@ -63,6 +63,7 @@ PREP(moduleHeal); PREP(moduleHideTerrainObjects); PREP(moduleHideZeus); PREP(moduleLightSource); +PREP(moduleLocation); PREP(moduleMakeInvincible); PREP(moduleNuke); PREP(moduleNukeLocal); diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index c825ee564..7b5ea4f28 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -46,6 +46,7 @@ class CfgPatches { QGVAR(moduleHideTerrainObjects), QGVAR(moduleHideZeus), QGVAR(moduleLightSource), + QGVAR(moduleLocation), QGVAR(moduleMakeInvincible), QGVAR(moduleNuke), QGVAR(modulePatrolArea), diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf new file mode 100644 index 000000000..196c4e276 --- /dev/null +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -0,0 +1,86 @@ +#include "script_component.hpp" +/* + * Author: Ampersand + * Zeus module function to edit terrain locations. + * + * Arguments: + * 0: Logic + * + * Return Value: + * None + * + * Example: + * [LOGIC] call zen_modules_fnc_moduleLocation + * + * Public: No + */ + +params ["_logic"]; + +_location = nearestLocation [getPosASL _logic, ""]; + +private _type = type _location; +private _text = text _location; +private _direction = direction _location; +private _isRectangular = rectangular _location; +private _size = size _location; +private _name = name _location; +private _side = side _location; +private _importance = importance _location; + +private _types = ["Mount","Name","Strategic","StrongpointArea","FlatArea","FlatAreaCity","FlatAreaCitySmall","CityCenter","Airport","NameMarine","NameCityCapital","NameCity","NameVillage","NameLocal","Hill","ViewPoint","RockArea","BorderCrossing","VegetationBroadleaf","VegetationFir","VegetationPalm","VegetationVineyard","Area","Flag","Invisible","HistoricalSite","CivilDefense","CulturalProperty","DangerousForces","SafetyZone","HandDrawnCamp","b_unknown","o_unknown","n_unknown","b_inf","o_inf","n_inf","b_motor_inf","o_motor_inf","n_motor_inf","b_mech_inf","o_mech_inf","n_mech_inf","b_armor","o_armor","n_armor","b_recon","o_recon","n_recon","b_air","o_air","n_air","b_plane","o_plane","n_plane","b_uav","o_uav","n_uav","b_naval","o_naval","n_naval","b_med","o_med","n_med","b_art","o_art","n_art","b_mortar","o_mortar","n_mortar","b_hq","o_hq","n_hq","b_support","o_support","n_support","b_maint","o_maint","n_maint","b_service","o_service","n_service","b_installation","o_installation","n_installation","u_installation","b_antiair","o_antiair","n_antiair","c_unknown","c_car","c_ship","c_air","c_plane","group_0","group_1","group_2","group_3","group_4","group_5","group_6","group_7","group_8","group_9","group_10","group_11","respawn_unknown","respawn_inf","respawn_motor","respawn_armor","respawn_air","respawn_plane","respawn_naval","respawn_para"]; +private _sides = [ + east, + west, + independent, + civilian, + sideUnknown +]; + +private _attributes = [ + ["COMBO", "str_3den_trigger_attribute_type_displayname", [_types,_types, _types find _type]], + ["EDIT", "str_a3_cfgvehicles_modulecuratoraddicon_f_arguments_text", _text, true], + ["SLIDER", "STR_3DEN_Display3DEN_ControlsHint_Rotate", [0, 360, _direction, EFUNC(common,formatDegrees)], true], + ["TOOLBOX", "str_3den_trigger_attribute_shape_tooltip", [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]]], + ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_x"], _size select 0, true], + ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_y"], _size select 1, true], + ["EDIT", "STR_3DEN_Display3DENSave_Filter_Name_text", _name, true], + ["COMBO", "str_a3_rscdisplaydynamicgroups_side", [_sides, [ + "OPFOR", + "BLUFOR", + "Independent", + "Civilian", + "Unknown" + ], _sides find _side]], + ["EDIT", LSTRING(ModuleLocation_Importance), _importance, true] +]; + +["STR_3DEN_Display3DEN_Locations", _attributes, { + params ["_dialogValues", "_location"]; + _dialogValues params [ + "_type", + "_text", + "_direction", + "_isRectangular", + "_sizeX", + "_sizeY", + "_name", + "_side", + "_importance" + ]; + + private _location = createLocation [_location]; + + _location setType _type; + _location setText _text; + _location setDirection _direction; + _location setRectangular ([false, true] select _isRectangular); + _location setSize [parseNumber _sizeX, parseNumber _sizeY]; + _location setName _name; + _location setSide _side; + _location setImportance parseNumber _importance; + + deleteLocation _location; +}, {}, _location] call EFUNC(dialog,create); + +deleteVehicle _logic; diff --git a/addons/modules/stringtable.xml b/addons/modules/stringtable.xml index b83f4819c..6427ecf61 100644 --- a/addons/modules/stringtable.xml +++ b/addons/modules/stringtable.xml @@ -1108,6 +1108,9 @@ 無敵 Rendi invincibile + + Importance + Invincible Неуязвимость From 21ef51acad270815dc8370f95ddc2e5d1d67915c Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:39:07 -0400 Subject: [PATCH 02/21] _values --- addons/modules/functions/fnc_moduleLocation.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index 196c4e276..1a5eb2049 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -56,8 +56,8 @@ private _attributes = [ ]; ["STR_3DEN_Display3DEN_Locations", _attributes, { - params ["_dialogValues", "_location"]; - _dialogValues params [ + params ["_values", "_location"]; + _values params [ "_type", "_text", "_direction", From 607b0acf5198f734cbaa2282065f52156f43b822 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:39:30 -0400 Subject: [PATCH 03/21] Remove blank line. --- addons/modules/functions/fnc_moduleLocation.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index 1a5eb2049..da18d637c 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -70,7 +70,6 @@ private _attributes = [ ]; private _location = createLocation [_location]; - _location setType _type; _location setText _text; _location setDirection _direction; From 37a76891f92a1c2fda278dbe279db85ad8c6510d Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:44:19 -0400 Subject: [PATCH 04/21] "Area Shape" instead of "Area shape.". --- addons/modules/functions/fnc_moduleLocation.sqf | 2 +- addons/modules/stringtable.xml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index da18d637c..8b82bd318 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -41,7 +41,7 @@ private _attributes = [ ["COMBO", "str_3den_trigger_attribute_type_displayname", [_types,_types, _types find _type]], ["EDIT", "str_a3_cfgvehicles_modulecuratoraddicon_f_arguments_text", _text, true], ["SLIDER", "STR_3DEN_Display3DEN_ControlsHint_Rotate", [0, 360, _direction, EFUNC(common,formatDegrees)], true], - ["TOOLBOX", "str_3den_trigger_attribute_shape_tooltip", [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]]], + ["TOOLBOX", LSTRING(ModuleLocation_AreaShape), [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]]], ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_x"], _size select 0, true], ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_y"], _size select 1, true], ["EDIT", "STR_3DEN_Display3DENSave_Filter_Name_text", _name, true], diff --git a/addons/modules/stringtable.xml b/addons/modules/stringtable.xml index 6427ecf61..63db35a52 100644 --- a/addons/modules/stringtable.xml +++ b/addons/modules/stringtable.xml @@ -1111,6 +1111,9 @@ Importance + + Area Shape + Invincible Неуязвимость From 5e0b6dc5e7261d2607b0ef8f89e00a6d5dd38491 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:53:11 -0400 Subject: [PATCH 05/21] multi-line --- .../modules/functions/fnc_moduleLocation.sqf | 69 +++++++++++++++---- 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index 8b82bd318..eefb182b9 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -38,21 +38,60 @@ private _sides = [ ]; private _attributes = [ - ["COMBO", "str_3den_trigger_attribute_type_displayname", [_types,_types, _types find _type]], - ["EDIT", "str_a3_cfgvehicles_modulecuratoraddicon_f_arguments_text", _text, true], - ["SLIDER", "STR_3DEN_Display3DEN_ControlsHint_Rotate", [0, 360, _direction, EFUNC(common,formatDegrees)], true], - ["TOOLBOX", LSTRING(ModuleLocation_AreaShape), [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]]], - ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_x"], _size select 0, true], - ["EDIT", format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_y"], _size select 1, true], - ["EDIT", "STR_3DEN_Display3DENSave_Filter_Name_text", _name, true], - ["COMBO", "str_a3_rscdisplaydynamicgroups_side", [_sides, [ - "OPFOR", - "BLUFOR", - "Independent", - "Civilian", - "Unknown" - ], _sides find _side]], - ["EDIT", LSTRING(ModuleLocation_Importance), _importance, true] + [ + "COMBO", + "str_3den_trigger_attribute_type_displayname", + [_types,_types, _types find _type], + true + ], + [ + "EDIT", + "str_a3_cfgvehicles_modulecuratoraddicon_f_arguments_text", + _text, + true + ], + [ + "SLIDER", + "STR_3DEN_Display3DEN_ControlsHint_Rotate", + [0, 360, _direction, EFUNC(common,formatDegrees)], + true + ], + [ + "TOOLBOX", + LSTRING(ModuleLocation_AreaShape), + [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]], + true + ], + [ + "EDIT", + format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_x"], + _size select 0, + true + ], + [ + "EDIT", + format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_y"], + _size select 1, + true + ], + [ + "EDIT", + "STR_3DEN_Display3DENSave_Filter_Name_text", + _name, + true + ], + [ + "COMBO", + "str_a3_rscdisplaydynamicgroups_side", + [_sides, _sides apply {[_x] call BIS_fnc_sideName}, _sides find _side], + true + ], + [ + "EDIT", + LSTRING(ModuleLocation_Importance), + _importance, + true + ] ]; ["STR_3DEN_Display3DEN_Locations", _attributes, { From 52a775458f5fa1ca9f76af902636ad3cfbb518e9 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:53:48 -0400 Subject: [PATCH 06/21] Missing private. --- addons/modules/functions/fnc_moduleLocation.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index eefb182b9..cfa3f86ee 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -17,7 +17,7 @@ params ["_logic"]; -_location = nearestLocation [getPosASL _logic, ""]; +private _location = nearestLocation [getPosASL _logic, ""]; private _type = type _location; private _text = text _location; From 95d9fd396ed4c87bc66b21e1d68da741d5a8d95a Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 11:55:56 -0400 Subject: [PATCH 07/21] Don't need getPosASL --- addons/modules/functions/fnc_moduleLocation.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleLocation.sqf index cfa3f86ee..f5a1abd9a 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleLocation.sqf @@ -17,7 +17,7 @@ params ["_logic"]; -private _location = nearestLocation [getPosASL _logic, ""]; +private _location = nearestLocation [_logic, ""]; private _type = type _location; private _text = text _location; From eccbfb47f9c91ba42a75acb4a045ef582c0e2c9b Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 12:00:23 -0400 Subject: [PATCH 08/21] name Edit Terrain Location --- addons/modules/CfgVehicles.hpp | 4 ++-- addons/modules/config.cpp | 2 +- ...duleLocation.sqf => fnc_moduleEditTerrainLocation.sqf} | 8 ++++---- addons/modules/stringtable.xml | 7 +++++-- 4 files changed, 12 insertions(+), 9 deletions(-) rename addons/modules/functions/{fnc_moduleLocation.sqf => fnc_moduleEditTerrainLocation.sqf} (94%) diff --git a/addons/modules/CfgVehicles.hpp b/addons/modules/CfgVehicles.hpp index 64eca2692..639ab2197 100644 --- a/addons/modules/CfgVehicles.hpp +++ b/addons/modules/CfgVehicles.hpp @@ -309,13 +309,13 @@ class CfgVehicles { icon = QPATHTOF(ui\light_ca.paa); portrait = QPATHTOF(ui\light_ca.paa); }; - class GVAR(moduleLocation): GVAR(moduleBase) { + class GVAR(moduleEditTerrainLocation): GVAR(moduleBase) { curatorCanAttach = 0; category = "Environment"; displayName = "$STR_3DEN_Display3DEN_Locations"; icon = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; portrait = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; - function = QFUNC(moduleLocation); + function = QFUNC(moduleEditTerrainLocation); }; class GVAR(moduleMakeInvincible): GVAR(moduleBase) { curatorCanAttach = 1; diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index 7b5ea4f28..ce6ad09ce 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -46,7 +46,7 @@ class CfgPatches { QGVAR(moduleHideTerrainObjects), QGVAR(moduleHideZeus), QGVAR(moduleLightSource), - QGVAR(moduleLocation), + QGVAR(moduleEditTerrainLocation), QGVAR(moduleMakeInvincible), QGVAR(moduleNuke), QGVAR(modulePatrolArea), diff --git a/addons/modules/functions/fnc_moduleLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf similarity index 94% rename from addons/modules/functions/fnc_moduleLocation.sqf rename to addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index f5a1abd9a..465d6255a 100644 --- a/addons/modules/functions/fnc_moduleLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -10,7 +10,7 @@ * None * * Example: - * [LOGIC] call zen_modules_fnc_moduleLocation + * [LOGIC] call zen_modules_fnc_moduleEditTerrainLocation * * Public: No */ @@ -58,7 +58,7 @@ private _attributes = [ ], [ "TOOLBOX", - LSTRING(ModuleLocation_AreaShape), + LSTRING(ModuleEditTerrainLocation_AreaShape), [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]], true ], @@ -88,13 +88,13 @@ private _attributes = [ ], [ "EDIT", - LSTRING(ModuleLocation_Importance), + LSTRING(ModuleEditTerrainLocation_Importance), _importance, true ] ]; -["STR_3DEN_Display3DEN_Locations", _attributes, { +[LSTRING(ModuleEditTerrainLocation), _attributes, { params ["_values", "_location"]; _values params [ "_type", diff --git a/addons/modules/stringtable.xml b/addons/modules/stringtable.xml index 63db35a52..40c51f786 100644 --- a/addons/modules/stringtable.xml +++ b/addons/modules/stringtable.xml @@ -1108,10 +1108,13 @@ 無敵 Rendi invincibile - + + Edit Terrain Location + + Importance - + Area Shape From bd1592437c12087f606bb0a6d2fc48b4520b12c2 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 12:01:10 -0400 Subject: [PATCH 09/21] curatorCanAttach already 0 --- addons/modules/CfgVehicles.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/modules/CfgVehicles.hpp b/addons/modules/CfgVehicles.hpp index 639ab2197..2b6dab8f7 100644 --- a/addons/modules/CfgVehicles.hpp +++ b/addons/modules/CfgVehicles.hpp @@ -310,7 +310,6 @@ class CfgVehicles { portrait = QPATHTOF(ui\light_ca.paa); }; class GVAR(moduleEditTerrainLocation): GVAR(moduleBase) { - curatorCanAttach = 0; category = "Environment"; displayName = "$STR_3DEN_Display3DEN_Locations"; icon = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; From 39c1e0194275bae775b89752b83da9032400914b Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 12:06:33 -0400 Subject: [PATCH 10/21] name Edit Terrain Location --- addons/modules/XEH_PREP.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/XEH_PREP.hpp b/addons/modules/XEH_PREP.hpp index 63beea5f4..a8f90f59e 100644 --- a/addons/modules/XEH_PREP.hpp +++ b/addons/modules/XEH_PREP.hpp @@ -63,7 +63,7 @@ PREP(moduleHeal); PREP(moduleHideTerrainObjects); PREP(moduleHideZeus); PREP(moduleLightSource); -PREP(moduleLocation); +PREP(moduleEditTerrainLocation); PREP(moduleMakeInvincible); PREP(moduleNuke); PREP(moduleNukeLocal); From 787d26966c3accd4a1dfaff02d90d1634bb1559e Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 12:06:58 -0400 Subject: [PATCH 11/21] Use vector for _size --- .../functions/fnc_moduleEditTerrainLocation.sqf | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 465d6255a..5d8ca49dc 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -63,16 +63,9 @@ private _attributes = [ true ], [ - "EDIT", - format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_x"], - _size select 0, - true - ], - [ - "EDIT", - format ["%1 %2", localize "str_3den_trigger_attribute_size_displayname",localize "str_3den_axis_y"], - _size select 1, - true + "VECTOR", + "str_3den_trigger_attribute_size_displayname", + _size ], [ "EDIT", From 5a786dba7cbd00a28fd72b8f52548666b12ca802 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 12:07:10 -0400 Subject: [PATCH 12/21] Don't force default values --- .../fnc_moduleEditTerrainLocation.sqf | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 5d8ca49dc..64f79c64d 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -41,26 +41,22 @@ private _attributes = [ [ "COMBO", "str_3den_trigger_attribute_type_displayname", - [_types,_types, _types find _type], - true + [_types,_types, _types find _type] ], [ "EDIT", "str_a3_cfgvehicles_modulecuratoraddicon_f_arguments_text", - _text, - true + _text ], [ "SLIDER", "STR_3DEN_Display3DEN_ControlsHint_Rotate", - [0, 360, _direction, EFUNC(common,formatDegrees)], - true + [0, 360, _direction, EFUNC(common,formatDegrees)] ], [ "TOOLBOX", LSTRING(ModuleEditTerrainLocation_AreaShape), - [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]], - true + [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]] ], [ "VECTOR", @@ -70,20 +66,17 @@ private _attributes = [ [ "EDIT", "STR_3DEN_Display3DENSave_Filter_Name_text", - _name, - true + _name ], [ "COMBO", "str_a3_rscdisplaydynamicgroups_side", - [_sides, _sides apply {[_x] call BIS_fnc_sideName}, _sides find _side], - true + [_sides, _sides apply {[_x] call BIS_fnc_sideName}, _sides find _side] ], [ "EDIT", LSTRING(ModuleEditTerrainLocation_Importance), - _importance, - true + _importance ] ]; @@ -94,8 +87,7 @@ private _attributes = [ "_text", "_direction", "_isRectangular", - "_sizeX", - "_sizeY", + "_size", "_name", "_side", "_importance" @@ -106,7 +98,7 @@ private _attributes = [ _location setText _text; _location setDirection _direction; _location setRectangular ([false, true] select _isRectangular); - _location setSize [parseNumber _sizeX, parseNumber _sizeY]; + _location setSize _size; _location setName _name; _location setSide _side; _location setImportance parseNumber _importance; From a9fdc84dd8c286dd3d0ae4d149474d1d9ee328ab Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 13:17:18 -0400 Subject: [PATCH 13/21] Toolbox controls can return BOOL --- addons/modules/functions/fnc_moduleEditTerrainLocation.sqf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 64f79c64d..577a83083 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -56,7 +56,8 @@ private _attributes = [ [ "TOOLBOX", LSTRING(ModuleEditTerrainLocation_AreaShape), - [parseNumber _isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]] + [_isRectangular, 1, 2, ["str_3den_attributes_shapetrigger_ellipse", "str_3den_attributes_shapetrigger_rectangle"]], + true ], [ "VECTOR", @@ -97,7 +98,7 @@ private _attributes = [ _location setType _type; _location setText _text; _location setDirection _direction; - _location setRectangular ([false, true] select _isRectangular); + _location setRectangular _isRectangular; _location setSize _size; _location setName _name; _location setSide _side; From f0937e97bbb4bed5562cdc4b0a3587f63a6d12d4 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 13:30:58 -0400 Subject: [PATCH 14/21] name Edit Terrain Location --- addons/modules/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/CfgVehicles.hpp b/addons/modules/CfgVehicles.hpp index 2b6dab8f7..bcd52a580 100644 --- a/addons/modules/CfgVehicles.hpp +++ b/addons/modules/CfgVehicles.hpp @@ -311,7 +311,7 @@ class CfgVehicles { }; class GVAR(moduleEditTerrainLocation): GVAR(moduleBase) { category = "Environment"; - displayName = "$STR_3DEN_Display3DEN_Locations"; + displayName = CSTRING(moduleEditTerrainLocation); icon = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; portrait = "\a3\3den\Data\Displays\Display3DEN\PanelLeft\entityList_location_ca.paa"; function = QFUNC(moduleEditTerrainLocation); From ef29fc1a67ba1e0fc1f9d6c94cc205bf1a9fea88 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 13:45:19 -0400 Subject: [PATCH 15/21] _attributes not needed was left over from I thought attributes might be conditional --- addons/modules/functions/fnc_moduleEditTerrainLocation.sqf | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 577a83083..1b252ec52 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -37,7 +37,7 @@ private _sides = [ sideUnknown ]; -private _attributes = [ +[LSTRING(ModuleEditTerrainLocation), [ [ "COMBO", "str_3den_trigger_attribute_type_displayname", @@ -79,9 +79,7 @@ private _attributes = [ LSTRING(ModuleEditTerrainLocation_Importance), _importance ] -]; - -[LSTRING(ModuleEditTerrainLocation), _attributes, { +], { params ["_values", "_location"]; _values params [ "_type", From 50c10567872b0d6bd674b11cf962fb623cf31170 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 8 Oct 2023 14:48:40 -0400 Subject: [PATCH 16/21] missing space --- addons/modules/functions/fnc_moduleEditTerrainLocation.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 1b252ec52..a6ab29a94 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -41,7 +41,7 @@ private _sides = [ [ "COMBO", "str_3den_trigger_attribute_type_displayname", - [_types,_types, _types find _type] + [_types, _types, _types find _type] ], [ "EDIT", From b7604b9f21b9e6694088ad3d829fc51dcef2b37f Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Mon, 9 Oct 2023 15:41:11 -0400 Subject: [PATCH 17/21] Use global event --- addons/modules/XEH_postInit.sqf | 26 +++++++++++++++++++ .../fnc_moduleEditTerrainLocation.sqf | 24 +---------------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 679f88cf6..38c46963a 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -103,6 +103,32 @@ if (isServer) then { player createDiaryRecord [QGVAR(intel), [_title, _text]]; }] call CBA_fnc_addEventHandler; +[QGVAR(editTerrainLocation), { + params ["_values", "_location"]; + _values params [ + "_type", + "_text", + "_direction", + "_isRectangular", + "_size", + "_name", + "_side", + "_importance" + ]; + + private _location = createLocation [_location]; + _location setType _type; + _location setText _text; + _location setDirection _direction; + _location setRectangular _isRectangular; + _location setSize _size; + _location setName _name; + _location setSide _side; + _location setImportance parseNumber _importance; + + deleteLocation _location; +}] call CBA_fnc_addEventHandler; + [QGVAR(teleportOutOfVehicle), { params ["_unit", "_position"]; diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index a6ab29a94..1a66b68ff 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -80,29 +80,7 @@ private _sides = [ _importance ] ], { - params ["_values", "_location"]; - _values params [ - "_type", - "_text", - "_direction", - "_isRectangular", - "_size", - "_name", - "_side", - "_importance" - ]; - - private _location = createLocation [_location]; - _location setType _type; - _location setText _text; - _location setDirection _direction; - _location setRectangular _isRectangular; - _location setSize _size; - _location setName _name; - _location setSide _side; - _location setImportance parseNumber _importance; - - deleteLocation _location; + [QGVAR(editTerrainLocation), _this] call CBA_fnc_globalEvent; }, {}, _location] call EFUNC(dialog,create); deleteVehicle _logic; From cf3038196479d0b48f5922b825ed9d42d2e2e569 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Mon, 9 Oct 2023 15:41:26 -0400 Subject: [PATCH 18/21] Get Location types from cfg --- .../functions/fnc_moduleEditTerrainLocation.sqf | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 1a66b68ff..32a77f673 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -28,7 +28,13 @@ private _name = name _location; private _side = side _location; private _importance = importance _location; -private _types = ["Mount","Name","Strategic","StrongpointArea","FlatArea","FlatAreaCity","FlatAreaCitySmall","CityCenter","Airport","NameMarine","NameCityCapital","NameCity","NameVillage","NameLocal","Hill","ViewPoint","RockArea","BorderCrossing","VegetationBroadleaf","VegetationFir","VegetationPalm","VegetationVineyard","Area","Flag","Invisible","HistoricalSite","CivilDefense","CulturalProperty","DangerousForces","SafetyZone","HandDrawnCamp","b_unknown","o_unknown","n_unknown","b_inf","o_inf","n_inf","b_motor_inf","o_motor_inf","n_motor_inf","b_mech_inf","o_mech_inf","n_mech_inf","b_armor","o_armor","n_armor","b_recon","o_recon","n_recon","b_air","o_air","n_air","b_plane","o_plane","n_plane","b_uav","o_uav","n_uav","b_naval","o_naval","n_naval","b_med","o_med","n_med","b_art","o_art","n_art","b_mortar","o_mortar","n_mortar","b_hq","o_hq","n_hq","b_support","o_support","n_support","b_maint","o_maint","n_maint","b_service","o_service","n_service","b_installation","o_installation","n_installation","u_installation","b_antiair","o_antiair","n_antiair","c_unknown","c_car","c_ship","c_air","c_plane","group_0","group_1","group_2","group_3","group_4","group_5","group_6","group_7","group_8","group_9","group_10","group_11","respawn_unknown","respawn_inf","respawn_motor","respawn_armor","respawn_air","respawn_plane","respawn_naval","respawn_para"]; +if (isNil QGVAR(locationTypes)) then { + GVAR(locationTypes) = []; + { + private _type = configName _x; + GVAR(locationTypes) pushBack _type; + } forEach ("true" configClasses (configFile >> "CfgLocationTypes")); +}; private _sides = [ east, west, @@ -41,7 +47,7 @@ private _sides = [ [ "COMBO", "str_3den_trigger_attribute_type_displayname", - [_types, _types, _types find _type] + [GVAR(locationTypes), GVAR(locationTypes), GVAR(locationTypes) find _type] ], [ "EDIT", From 55e7edfa6868bc2d47cb4a5661cb2c281b92ac2b Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Fri, 17 Nov 2023 14:38:34 -0500 Subject: [PATCH 19/21] style --- addons/modules/XEH_postInit.sqf | 12 +----------- .../functions/fnc_moduleEditTerrainLocation.sqf | 8 ++------ 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 38c46963a..0c1f95541 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -105,16 +105,7 @@ if (isServer) then { [QGVAR(editTerrainLocation), { params ["_values", "_location"]; - _values params [ - "_type", - "_text", - "_direction", - "_isRectangular", - "_size", - "_name", - "_side", - "_importance" - ]; + _values params ["_type", "_text", "_direction", "_isRectangular", "_size", "_name", "_side", "_importance"]; private _location = createLocation [_location]; _location setType _type; @@ -125,7 +116,6 @@ if (isServer) then { _location setName _name; _location setSide _side; _location setImportance parseNumber _importance; - deleteLocation _location; }] call CBA_fnc_addEventHandler; diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 32a77f673..2fde4ba1b 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -18,7 +18,6 @@ params ["_logic"]; private _location = nearestLocation [_logic, ""]; - private _type = type _location; private _text = text _location; private _direction = direction _location; @@ -29,12 +28,9 @@ private _side = side _location; private _importance = importance _location; if (isNil QGVAR(locationTypes)) then { - GVAR(locationTypes) = []; - { - private _type = configName _x; - GVAR(locationTypes) pushBack _type; - } forEach ("true" configClasses (configFile >> "CfgLocationTypes")); + GVAR(locationTypes) = "true" configClasses (configFile >> "CfgLocationTypes") apply {configName _x}; }; + private _sides = [ east, west, From cb1b499fe855d5c89c8029d23536c998c9bb404b Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 13 Apr 2025 16:54:44 -0400 Subject: [PATCH 20/21] fix JIP --- addons/modules/XEH_postInit.sqf | 22 +++++++++---------- .../fnc_moduleEditTerrainLocation.sqf | 5 +++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 0c1f95541..6172654a2 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -104,19 +104,19 @@ if (isServer) then { }] call CBA_fnc_addEventHandler; [QGVAR(editTerrainLocation), { - params ["_values", "_location"]; + params ["_values", "_locationPosition"]; _values params ["_type", "_text", "_direction", "_isRectangular", "_size", "_name", "_side", "_importance"]; - private _location = createLocation [_location]; - _location setType _type; - _location setText _text; - _location setDirection _direction; - _location setRectangular _isRectangular; - _location setSize _size; - _location setName _name; - _location setSide _side; - _location setImportance parseNumber _importance; - deleteLocation _location; + private _location = nearestLocation [_locationPosition, ""]; + private _l = createLocation [_location]; + _l setType _type; + _l setText _text; + _l setDirection _direction; + _l setRectangular _isRectangular; + _l setSize _size; + _l setName _name; + _l setSide _side; + _l setImportance parseNumber _importance; }] call CBA_fnc_addEventHandler; [QGVAR(teleportOutOfVehicle), { diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 2fde4ba1b..765c02e44 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -82,7 +82,8 @@ private _sides = [ _importance ] ], { - [QGVAR(editTerrainLocation), _this] call CBA_fnc_globalEvent; -}, {}, _location] call EFUNC(dialog,create); + params ["_values", "_locationPosition"]; + [QGVAR(editTerrainLocation), _this, str _locationPosition] call CBA_fnc_globalEventJIP; +}, {}, locationPosition _location] call EFUNC(dialog,create); deleteVehicle _logic; From 0cbf01bca7b2a0cacd0a68fb70ae7e06507e1df2 Mon Sep 17 00:00:00 2001 From: Steve Zhao Date: Sun, 12 Apr 2026 18:24:55 -0400 Subject: [PATCH 21/21] add ZEN prefix to JIP ID --- addons/modules/functions/fnc_moduleEditTerrainLocation.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf index 765c02e44..33cb9a392 100644 --- a/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf +++ b/addons/modules/functions/fnc_moduleEditTerrainLocation.sqf @@ -83,7 +83,7 @@ private _sides = [ ] ], { params ["_values", "_locationPosition"]; - [QGVAR(editTerrainLocation), _this, str _locationPosition] call CBA_fnc_globalEventJIP; + [QGVAR(editTerrainLocation), _this, QGVAR(ModuleEditTerrainLocation) + str _locationPosition] call CBA_fnc_globalEventJIP; }, {}, locationPosition _location] call EFUNC(dialog,create); deleteVehicle _logic;