From 6f9b41d5b5a771c64542ffb737f3b0a59c51484d Mon Sep 17 00:00:00 2001 From: Chris Cardozo Date: Mon, 7 Sep 2020 10:13:24 -0400 Subject: [PATCH] New features / debugging of editor plugin --- @blckeagls_EDEN/addons/3EDEN_plugin.pbo | Bin 131836 -> 137697 bytes .../Core/fn_createGarrisonMarker.sqf | 14 ++ .../3EDEN_plugin/Core/fn_createLootMarker.sqf | 15 ++ .../Core/fn_displayGarrisonMarkers.sqf | 24 +++ .../Core/fn_displayLootMarkers.sqf | 22 +++ .../3EDEN_plugin/Core/fn_getGarrisonInfo.sqf | 1 + .../Core/fn_getLootVehicleInfo.sqf | 7 +- .../Core/fn_initializeAttributes.sqf | 2 + .../addons/3EDEN_plugin/Core/fn_onDrag.sqf | 7 + .../3EDEN_plugin/Core/fn_onRegistered.sqf | 28 ++++ .../3EDEN_plugin/Core/fn_onUnregister.sqf | 9 ++ .../3EDEN_plugin/Core/fn_removeMarker.sqf | 18 +++ .../3EDEN_plugin/Core/fn_setEventHandlers.sqf | 9 ++ .../3EDEN_plugin/Core/fn_setGarrison.sqf | 6 + .../3EDEN_plugin/Core/fn_setLootVehicle.sqf | 29 +++- .../addons/3EDEN_plugin/Export/Untitled-1.txt | 63 ++------ .../3EDEN_plugin/Export/fn_exportDynamic.sqf | 6 +- .../addons/3EDEN_plugin/config.cpp | 4 +- @blckeagls_EDEN/addons/3EDEN_plugin/defines.h | 141 ++++++++++-------- 19 files changed, 286 insertions(+), 119 deletions(-) create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_createGarrisonMarker.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_createLootMarker.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_displayGarrisonMarkers.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_displayLootMarkers.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onDrag.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onRegistered.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onUnregister.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_removeMarker.sqf create mode 100644 @blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setEventHandlers.sqf diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin.pbo b/@blckeagls_EDEN/addons/3EDEN_plugin.pbo index 7a3f7aa46f1c818ae77a18648887ee6256cfcfbe..367225d87fc20ea7487ebd35d3087addad06dfd5 100644 GIT binary patch delta 6923 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 "CfgBlck3DEN" missionNamespace setVariable["blck_startMessage","TODO: Add a start message"]; missionNamespace setVariable["blck_endMessage","TODO: Add an end message"]; missionNamespace setVariable["blck_missionLocations","random"]; +missionNameSpace setVariable["blck_displayGarrisonMarkerOn",false]; +missionNamespace setVariable["blck_displayLootMarkerOn",false]; diag_log format["Mission Attributes Initialized for blckeagls at time %1",diag_tickTime]; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onDrag.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onDrag.sqf new file mode 100644 index 0000000..7747085 --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onDrag.sqf @@ -0,0 +1,7 @@ +params["_object"]; +if !(_object getVariable["marker",""] isEqualTo "") then +{ + private _marker = _object getVariable["marker",""]; + private _markerPos = getPosATL _object; + _marker setPosATL[_markerPos select 0, _markerPos select 1, (_markerPos select 2) + sizeOf _object]; +}; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onRegistered.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onRegistered.sqf new file mode 100644 index 0000000..855bed8 --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onRegistered.sqf @@ -0,0 +1,28 @@ +/* + blckeagls 3EDEN Editor Plugin + by Ghostrider-GRG- + Copyright 2020 + +*/ + +params["_object"]; + +switch (true) do +{ + case ((typeOf _object) isKindOf "ThingX" && blck_displayLootMarkerOn): { + if !(_object getVariable["lootVehicle",""] isEqualTo "") then + { + [_object] call blck3DEN_fnc_createLootMarker; + [_object] call blck3DEN_fnc_setEventHandlers; + }; + }; + case ((typeOf _object) isKindOf "House" && blck_displayGarrisonMarkerOn): { + if !(_object getVariable["garrisoned",""] isEqualTo "") then + { + [_object] call blck3DEN_fnc_createGarrisonMarker; + [_object] call blck3DEN_fnc_setEventHandlers; + }; + }; +}; + + diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onUnregister.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onUnregister.sqf new file mode 100644 index 0000000..e9cf525 --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_onUnregister.sqf @@ -0,0 +1,9 @@ + +params["_object"]; +if !(_object getvariable["marker",""] isEqualTo "") then +{ + [_object] call blck3DEN_fnc_removeMarker; + _object setVariable ["marker",nil]; + //_object setVariable ["lootVehicle",nil]; + //_object setVariable ["garrisoned",nil]; +}; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_removeMarker.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_removeMarker.sqf new file mode 100644 index 0000000..0d60cfb --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_removeMarker.sqf @@ -0,0 +1,18 @@ +/* + blckeagls 3EDEN Editor Plugin + by Ghostrider-GRG- + Copyright 2020 + +*/ + +params["_object"]; + +private _marker = _object getVariable["marker",""]; +if !(_marker isEqualTo "") then +{ + private _id = get3DENEntityID _marker; + delete3DENEntities [_id]; + _object setVariable["marker",nil]; +}; + +true \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setEventHandlers.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setEventHandlers.sqf new file mode 100644 index 0000000..5ef02eb --- /dev/null +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setEventHandlers.sqf @@ -0,0 +1,9 @@ + +params["_object"]; + +_object removeAllEventHandlers "UnregisteredFromWorld3DEN"; +_object removeAllEventHandlers "RegisteredToWorld3DEN"; +_object removeAllEventHandlers "Dragged3DEN"; +_object addEventHandler ["Dragged3DEN",{_this call blck3DEN_fnc_onDrag;}]; +_object addEventHandler ["UnregisteredFromWorld3DEN",{_this call blck3DEN_fnc_onUnregister;}]; +_object addEventHandler ["RegisteredToWorld3DEN", {_this call blck3DEN_fnc_onRegistered;}]; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf index b60a53e..9d2f1cc 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setGarrison.sqf @@ -7,6 +7,7 @@ if (_objects isEqualTo []) exitWith { _message = "Select one or more buildings to configure"; systemChat _message; + diag_log _message; }; { @@ -16,6 +17,11 @@ if (_objects isEqualTo []) exitWith _message = format["building of type %1 had garrison state set to %2",typeOf _x,_state]; systemChat _message; diag_log _message; + if (blck_displayGarrisonMarkerOn) then + { + [_x] call blck3DEN_fnc_createGarrisonedMarker; + [_x] call blck3DEN_fnc_setEventHandlers; + }; } else { _message = format["Object type %1 ignored: only enterable buildings can be garrisoned",typeOf _x]; systemChat _x; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf index 2d03f30..76c72ec 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_setLootVehicle.sqf @@ -1,16 +1,35 @@ +/* + blckeagls 3EDEN Editor Plugin + by Ghostrider-GRG- + Copyright 2020 + + sets a flag stored through setVariable for each selected object that meets the filter criteria + only objects of type "Car"or "ThingX" are allowed. +*/ + params["_state"]; private "_message"; -private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship"}; // if (_objects isEqualTo []) exitWith { - _message = "Select one or more vehicles to configure"; + _message = "Select one or more vehicles or items of type ThingX to configure"; systemChat _message; }; { - if ((typeOf _x) isKindOf "Car") then + if ((typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship") then { _x setVariable["lootvehicle",_state]; - _message = format["Vehicle type %1 set to Loot Vehilce = %1",typeOf _x,_state]; + if (blck_displayLootMarkerOn && _state) then + { + [_x] call blck3DEN_fnc_createLootMarker; + [_x] call blck3DEN_fnc_setEventHandlers; + } else { + if !(_state) then + { + [_x] call blck3DEN_fnc_removeLootMarker; + }; + }; + _message = format["Vehicle type %1 set to Loot Vehicle = %1",typeOf _x,_state]; systemChat _message; diag_log _message; } else { @@ -19,5 +38,5 @@ if (_objects isEqualTo []) exitWith systemChat _message; }; } forEach _objects; -_message = format["Loot Vehicle State of %1 vehicles updated to %2",count _objects,_state]; +_message = format["Loot Vehicle State of %1 objects updated to %2",count _objects,_state]; systemChat _m; \ No newline at end of file diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/Untitled-1.txt b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/Untitled-1.txt index d1d19da..6444d3a 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/Untitled-1.txt +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/Untitled-1.txt @@ -1,51 +1,16 @@ -class CfgVehicles + +private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship"}; // +if (count _objects == 1) then { - class Object - { - class AttributeCategories - { - class LandVehicle; - class blckLandVehicle: LandVehicle; - { - class Attributes - { - class blckLootVehicle - { - // https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Scenario - displayName = "Loot Vehicle"; - toolTip = "Enable/Disable Use as Loot Vehicle"; - property = "blckLootVehicle"; - control = "Edit"; - expression = "_this setVariable['%s',_value];"; - defaultValue = 'false'; - unique = 0; - validate = "BOOL"; - typeName = "BOOL"; - }; - }; - }; - - class Static; - class blckHouse: Static - { - class Attributes - { - class blckGarison - { - // https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Scenario - displayName = "Garison Building"; - toolTip = "Enable/Disable ?Garisoned Building"; - property = "blckGarison"; - control = "Edit"; - expression = "_this setVariable['%s',_value];"; - defaultValue = 'false'; - unique = 0; - validate = "BOOL"; - typeName = "BOOL"; - }; - }; - }; - }; - }; -}; \ No newline at end of file + private _obj = _objects select 0; + private _marker = create3DENEntity ["object","Sign_Arrow_Blue_F",getPos _obj]; + private _bbr = boundingBoxReal vehicle player; + _p1 = _bbr select 0; + _p2 = _bbr select 1; + _height = abs ((_p2 select 2) - (_p1 select 2)); + _markerPos = getPos _marker; + _marker setPosATL [_markerPos select 0, _markerPos select 1, (_markerPos select 2) + _height]; +} else { + systemChat "no vehicles selected"; +}; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/fn_exportDynamic.sqf b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/fn_exportDynamic.sqf index 6bbad44..f73dd90 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/Export/fn_exportDynamic.sqf +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/Export/fn_exportDynamic.sqf @@ -163,8 +163,10 @@ private _garisonedUnits = []; private _landscape = _objects select{ !(isSimpleObject _x) && - ((typeOf _x) isKindOf "Static") || - ( (typeOf _x) isKindOf "ThingX" && (!((typeOf _x) isKindOf "ReammoBox_F") && !(_x getVariable["isLootContainer",false]))) + ((typeOf _x) isKindOf "Static" || ( (typeOf _x) isKindOf "ThingX")) && + !((typeOf _x) isKindOf "ReammoBox_F") && + !(_x getVariable["isLootContainer",false]) && + !((typeOf _x) isKindOf "Helper_Base_F") }; private _garisonedPos = []; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp b/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp index 5c8ba4a..5ac779d 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/config.cpp @@ -52,8 +52,8 @@ class CfgBlck3DEN class CfgVersion { version = 1.0; - build = 3; - date = "08/23/20"; + build = 4; + date = "09/5/20"; }; }; diff --git a/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h b/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h index f3ea07a..ff050bc 100644 --- a/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h +++ b/@blckeagls_EDEN/addons/3EDEN_plugin/defines.h @@ -44,27 +44,37 @@ class CfgFunctions class Core { file = "3EDEN_plugin\Core"; - class help {}; + class about {}; + class buildingContainer {}; + class createLootMarker {}; + class createGarrisonMarker {}; + class display {}; + class displayGarrisonMarkers {}; + class displayLootMarkers {}; class getGarrisonInfo {}; class getLootVehicleInfo {}; - class getMissionGarrisonInfo {}; - class getMissionLootVehicleInfo {}; + //class getMissionGarrisonInfo {}; + //class getMissionLootVehicleInfo {}; + class help {}; class initializeAttributes {}; class isInfantry {}; class isInside {}; - class buildingContainer {}; - class display {}; + class loadCratesTiming {}; + class onDrag {}; + class onRegistered {}; + class onUnregister {}; + class removeMarker {}; class setDifficulty {}; class setCompletionMode {} class setGarrison {}; class setLootVehicle {}; class setSpawnLocations {}; class spawnCratesTiming {}; - class loadCratesTiming {}; - class endMessage {}; - class startMessage {}; - class configureGarrisonATL {}; + + //class endMessage {}; + //class startMessage {}; + //class configureGarrisonATL {}; class versionInfo {}; }; }; @@ -324,35 +334,6 @@ class display3DEN action = "['atMissionCompletion'] call blck3DEN_fnc_loadCratesTiming"; }; - /* - ///////////////////////////// - class blckMissionMessages - { - text = "Set timing for loading crates"; - items[] = { - "blckStartMessage", - "blckEndMessage" - }; - }; - // ["Title","Default","ctrlControlsGroupNoScrollbars","ctrlControlsGroup","ctrlDefault"] - class Edit; - class blckEdit: Edit - { - control = "Edit"; - value = ""; - }; - class blckStartMessage: blckEdit - { - text = "Misstion Start Message"; - action = "[_value] call blck3DEN_startMessage"; - }; - class blckEndMessage: blckEdit - { - text = "Mission End Message"; - action = "[_value] call blck3DEN_endMessage"; - }; - */ - class blckMissionLocation { text = "Toggle Random or Fixed Location"; @@ -374,16 +355,26 @@ class display3DEN action = "['fixed'] call blck3DEN_fnc_setSpawnLocations"; }; + /////////////////////////////////////////////////////// + class blck_setGarrison { text = "Garrisoned Building Settings"; toolTip = "Set garrison status of selected buildings"; items[] = { - "blck_isGarrisoned", - "blck_clearGarrisoned", - "blck_getGarrisonInfo" + "blck_setGarrisonedState", + "blck_getGarrisonInfo", + "blck_garrisonMarkers" }; }; + class blck_setGarrisonedState + { + items[] = { + "blck_isGarrisoned", + "blck_clearGarrisoned" + }; + text = "Garrison Settings"; + }; class blck_isGarrisoned { text = "Garrison Building"; @@ -402,47 +393,79 @@ class display3DEN { text = "Get Building Garrisoned Setting"; toolTip = "Get the selected buildings garrisoned flag"; - value = 0; action = "call blck3DEN_fnc_getGarrisonInfo"; }; - class getMissionGarrisonInfo + class blck_garrisonMarkers { - text = "Get garrison flag for the selected building"; - toolTip = "The garrisoned flag state will be displayed for selected bulidings"; - value = 0; - action = "call blck3DEN_fnc_getMissionGarrisonInfo"; + items[] = { + "blck_GarrisonMarkersOn", + "blck_GarrisonMarkersOff" + }; + text = "Toggle markers over garrisoned buildings"; }; + class blck_GarrisonMarkersOn + { + text = "Display Markers over Garrisoned Buildings"; + action = "[true] call blck3DEN_fnc_displayGarrisonMarkers"; + }; + class blck_GarrisonMarkersOff + { + text = "Hide Markers over Garrisoned Buildings"; + action = "[false] call blck3DEN_fnc_displayGarrisonMarkers"; + }; + + /////////////////////////////////////////////////////////////// class blck_markLootVehicle { text = "Loot Vehicle Settings"; - value = false; - //action = "systemChat 'value toggled'"; - conditionShow = "selectedObject"; items[] = { - "blck_designateLootVehicle", - "blck_clearLootVehicle", - "blck_getLootVehicleInfo" + "blck_designateLootVehicleState", + "blck_getLootVehicleInfo", + "blck_displayLootMarkers" }; }; - class blck_clearLootVehicle + class blck_designateLootVehicleState + { + items[] = { + "blck_setAsLootVehicle", + "blck_clearLootVehicleFlag" + }; + text = "Loot Vehicle Settings"; + }; + class blck_clearLootVehicleFlag { text = "Clear Loot Vehicle Settings"; - value = false; action = "[false] call blck3DEN_fnc_setLootVehicle"; }; - class blck_designateLootVehicle + class blck_setAsLootVehicle { text = "Desinate Loot Vehicle"; - value = true; action = "[true] call blck3DEN_fnc_setLootVehicle"; }; class blck_getLootVehicleInfo { text = "Get setting for selected vehicle"; - value = 0; action = "call blck3DEN_fnc_getLootVehicleInfo"; - }; + }; + class blck_displayLootMarkers + { + items[] = { + "blck_lootMarkersOn", + "blck_lootMarkersOff" + }; + text = "Toggle Loot Vehicle Markers"; + }; + class blck_lootMarkersOn + { + text = "Mark Loot Vehicles / Objects"; + action = "[true] call blck3DEN_fnc_displayLootMarkers"; + }; + class blck_lootMarkersOff + { + text = "Hide Markers of Loot Vehicles / Objects"; + action = "[false] call blck3DEN_fnc_displayLootMarkers"; + }; ///////////////////////////// class blckSaveStaticMission {