From b1f726a1fe8f781e82f1274013ec7c1e2091e60d Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 19 Sep 2016 15:08:38 +0200 Subject: [PATCH] get rid of config and use namespace for blood models --- addons/medical_blood/CfgEventHandlers.hpp | 7 +++ addons/medical_blood/CfgVehicles.hpp | 48 ------------------ addons/medical_blood/XEH_preInit.sqf | 21 ++++++++ addons/medical_blood/config.cpp | 5 +- addons/medical_blood/data/splat_1.p3d | Bin 850 -> 0 bytes addons/medical_blood/data/splat_2.p3d | Bin 888 -> 0 bytes .../functions/fnc_createBlood.sqf | 14 +++-- .../functions/fnc_onBleeding.sqf | 2 +- addons/medical_blood/functions/fnc_spurt.sqf | 4 +- 9 files changed, 39 insertions(+), 62 deletions(-) delete mode 100644 addons/medical_blood/CfgVehicles.hpp delete mode 100644 addons/medical_blood/data/splat_1.p3d delete mode 100644 addons/medical_blood/data/splat_2.p3d diff --git a/addons/medical_blood/CfgEventHandlers.hpp b/addons/medical_blood/CfgEventHandlers.hpp index e75956f440..becf395052 100644 --- a/addons/medical_blood/CfgEventHandlers.hpp +++ b/addons/medical_blood/CfgEventHandlers.hpp @@ -1,3 +1,10 @@ + +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_FILE(XEH_preInit)); diff --git a/addons/medical_blood/CfgVehicles.hpp b/addons/medical_blood/CfgVehicles.hpp deleted file mode 100644 index bf8b3012d3..0000000000 --- a/addons/medical_blood/CfgVehicles.hpp +++ /dev/null @@ -1,48 +0,0 @@ -class CfgVehicles { - class Static; - class ACE_Blooddrop_1: Static { - htMin = 60; - htMax = 1800; - afMax = 200; - mfMax = 100; - mFact = 0; - tBody = 0; - simulation = "SeaGull"; - armor = 0; - timeToLive = 1; - side = -1; - shadow = 0; - scope = 1; - vehicleClass = ""; - displayName = ""; - model = QPATHTOF(data\drop_1.p3d); - accuracy = 0; - camouflage = 0; - destrType = "DestructNo"; - /* Simulation Seagull Additions */ - minHeight = 0; - avgHeight = 0; - maxHeight = 0; - minSpeed = 0; - maxSpeed = 0; - acceleration = 0; - turning = 0; - straightDistance = 0; - flySound[] = { "", 0.0316228, 1, 1 }; - singSound[] = { "", 0.0316228, 1, 1 }; - canBeShot = 0; - airFriction2[] = { 25, 12, 2.5 }; - airFriction1[] = { 1500, 700, 100 }; - airFriction0[] = { 40, 20, 60 }; - /* Simulation Seagull Additions */ - }; - class ACE_Blooddrop_2: ACE_Blooddrop_1 { - model = QPATHTOF(data\drop_2.p3d); - }; - class ACE_Blooddrop_3: ACE_Blooddrop_1 { - model = QPATHTOF(data\drop_3.p3d); - }; - class ACE_Blooddrop_4: ACE_Blooddrop_1 { - model = QPATHTOF(data\drop_4.p3d); - }; -}; diff --git a/addons/medical_blood/XEH_preInit.sqf b/addons/medical_blood/XEH_preInit.sqf index a7feade1c3..9dacd5759d 100644 --- a/addons/medical_blood/XEH_preInit.sqf +++ b/addons/medical_blood/XEH_preInit.sqf @@ -4,4 +4,25 @@ ADDON = false; #include "XEH_PREP.hpp" +// blood object model namespace +GVAR(models) = [] call CBA_fnc_createNamespace; + +{ + _x params ["_name", "_model"]; + + // createSimpleObject expects a path without the leading slash + if ((_model select [0,1]) isEqualTo "\") then { + _model = _model select [1]; + }; + + GVAR(models) setVariable [_name, _model]; +} forEach [ + ["blooddrop_1", QPATHTOF(data\drop_1.p3d)], + ["blooddrop_2", QPATHTOF(data\drop_2.p3d)], + ["blooddrop_3", QPATHTOF(data\drop_3.p3d)], + ["blooddrop_4", QPATHTOF(data\drop_4.p3d)], + ["bloodsplat_1", QPATHTOF(data\splat_1.p3d)], + ["bloodsplat_2", QPATHTOF(data\splat_2.p3d)] +]; + ADDON = true; diff --git a/addons/medical_blood/config.cpp b/addons/medical_blood/config.cpp index 50bf2d4183..9d0fe1c985 100644 --- a/addons/medical_blood/config.cpp +++ b/addons/medical_blood/config.cpp @@ -3,17 +3,16 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {"ACE_Blooddrop_1", "ACE_Blooddrop_2", "ACE_Blooddrop_3", "ACE_Blooddrop_4"}; + units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_main"}; author = ECSTRING(common,ACETeam); - authors[] = {"Glowbal", "Sickboy"}; + authors[] = {"Glowbal","Sickboy","commy2"}; url = ECSTRING(main,URL); VERSION_CONFIG; }; }; #include "CfgEventHandlers.hpp" -#include "CfgVehicles.hpp" #include "state_machine.hpp" diff --git a/addons/medical_blood/data/splat_1.p3d b/addons/medical_blood/data/splat_1.p3d deleted file mode 100644 index f443350f97e4577e51e4fdcabe0f6af74e2bc88b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmebE@poZlWME)sU|*iitkieE3du@Lm zouuvYFiIcF-;2ygQok1@A9=(@kAb0KKZp$h4f|^jyQ~9>ufrm)2eO+9rW8tp+z4|I zNC?EnrUoPj1647J$*D1kDJl7R#WA_5DVfQMIq^w3`S~d^DTyVCF~tQri6!yLiFyTz zi3|)Oj_&S^%E1|lMFp-Y>8Zua3<^+#VD^IS1F=DF0kOeuQVuA}FGwvasZ?fY0Ez*F zG%r8c!_mb*9LOUb7?Q39MF*pDXjpJ+i86x7xK6c2d z0bMI3oKSt8SXz>woSIjXT7<5eIKBaK%5bV;RQ63Q2F4f&z(W9(j6eXxhtFFCLy>(5 Vi(iOxOcLT_Xt?4ub!GhH2mo*EZYBT# diff --git a/addons/medical_blood/data/splat_2.p3d b/addons/medical_blood/data/splat_2.p3d deleted file mode 100644 index 1767684e3b3e38c93e9e7c9c099bffed5f843a07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmebE@poZlWME)sU|;X{Paw39`AmH% ze;y7-3! zd87kF(zT%IU{nqb3r;OjW>7&9#?4_=cFjxiPjk!6NmT}`I(x>)4mpXSYlQ?Js;?7E zOY)Ob^GZ^S&{Y%1Hy} @@ -10,7 +11,7 @@ * Created blood drop * * Example: - * ["ACE_Blooddrop_2", getPos player] call ace_medical_blood_fnc_createBlood + * ["blooddrop_2", getPos player] call ace_medical_blood_fnc_createBlood * * Public: No */ @@ -19,15 +20,12 @@ params ["_type", "_pos"]; -private _p3dFile = getText (configFile >> "CfgVehicles" >> _type >> "model"); -if (_p3dFile == "") exitWith {}; -// createSimpleObject expects a path without the leading slash -if ((_p3dFile select [0,1]) == "\") then {_p3dFile = _p3dFile select [1];}; +private _model = GVAR(models) getVariable _type; -private _object = createSimpleObject [_p3dFile, [0,0,0]]; +private _object = createSimpleObject [_model, [0,0,0]]; _object setDir random 360; _object setPos _pos; [QGVAR(bloodDropCreated), [_object]] call CBA_fnc_serverEvent; -_object; +_object diff --git a/addons/medical_blood/functions/fnc_onBleeding.sqf b/addons/medical_blood/functions/fnc_onBleeding.sqf index c7aca3c989..d4dcdd6de9 100644 --- a/addons/medical_blood/functions/fnc_onBleeding.sqf +++ b/addons/medical_blood/functions/fnc_onBleeding.sqf @@ -33,6 +33,6 @@ if ((CBA_missionTime - _lastTime) + _bloodLoss >= 8 + random 2) then { ]; _position set [2, 0]; - private _bloodDrop = ["ACE_Blooddrop_1", "ACE_Blooddrop_2", "ACE_Blooddrop_3", "ACE_Blooddrop_4"] select (floor (_bloodLoss max 3)); + private _bloodDrop = ["blooddrop_1", "blooddrop_2", "blooddrop_3", "blooddrop_4"] select floor (_bloodLoss max 3); [_bloodDrop, _position, getDir _unit] call FUNC(createBlood); }; diff --git a/addons/medical_blood/functions/fnc_spurt.sqf b/addons/medical_blood/functions/fnc_spurt.sqf index b3c9e8e1c6..ada6048ec3 100644 --- a/addons/medical_blood/functions/fnc_spurt.sqf +++ b/addons/medical_blood/functions/fnc_spurt.sqf @@ -27,7 +27,7 @@ params ["_unit", "_dir", "_damage"]; private _distanceBetweenDrops = DISTANCE_BETWEEN_DROPS * _damage; private _offset = OFFSET + _distanceBetweenDrops; private _pos = _unit getPos [_offset, _dir]; -["ACE_Blooddrop_2", _pos, _dir] call FUNC(createBlood); +["blooddrop_2", _pos, _dir] call FUNC(createBlood); private _dropAmount = ceil (MAXIMUM_DROPS * _damage); if (_dropAmount > 1) then { @@ -36,6 +36,6 @@ if (_dropAmount > 1) then { for "_i" from 2 to _dropAmount do { _pos = _pos getPos [_offset, _dir]; - ["ACE_Blooddrop_1", _pos, _dir] call FUNC(createBlood); + ["blooddrop_1", _pos, _dir] call FUNC(createBlood); }; };