Changed: Debug drawing now follows the actual model. hit icon corrected for ATL

Added: some notes some places.
This commit is contained in:
jaynus 2015-05-17 12:04:10 -07:00
parent bc43861737
commit c8f0150b98
5 changed files with 2223 additions and 8 deletions

View File

@ -12,13 +12,12 @@ _vehicle = _vehicleData select 0;
_points = [];
for [{_i=0}, {_i<(count _this)-1}, {_i=_i+3}] do {
_points pushBack (_vehicle modelToWorldVisual
[ parseNumber (_this select _i),
_points pushBack [ parseNumber (_this select _i),
parseNumber (_this select (_i+2)),
parseNumber (_this select (_i+1))
]);
];
};
//TRACE_1("", _points);
GVAR(debug_lines) pushBack [((_points select 0)), ((_points select 1))];
GVAR(debug_lines) pushBack [((_points select 1)), ((_points select 2))];
GVAR(debug_lines) pushBack [((_points select 2)), ((_points select 0))];
GVAR(debug_lines) pushBack [_vehicle, ((_points select 0)), ((_points select 1))];
GVAR(debug_lines) pushBack [_vehicle, ((_points select 1)), ((_points select 2))];
GVAR(debug_lines) pushBack [_vehicle, ((_points select 2)), ((_points select 0))];

View File

@ -1,5 +1,16 @@
#include "script_component.hpp"
{
drawLine3D [(_x select 0), (_x select 1), [1,1,1,1]];
private["_vehicle", "_fromVector", "_toVector"];
_vehicle = _x select 0;
_fromVector = _x select 1;
_toVector = _x select 2;
if(!isNil "_vehicle") then {
if((typeName _vehicle) == "OBJECT") then {
_toVector = _vehicle modelToWorldVisual _toVector;
_fromVector = _vehicle modelToWorldVisual _fromVector;
};
};
drawLine3D [_fromVector, _toVector, [1,1,1,1]];
} forEach GVAR(debug_lines);

View File

@ -104,7 +104,7 @@ TRACE_1("", _result);
// Reverse the relatives
_derp = _vehicle modelToWorldVisual _relImpactPosition;
drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], (ASLToATL _derp), 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"];
drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], _derp, 0.75, 0.75, 0, "", 0.5, 0.025, "TahomaB"];
}, 0,
[_vehicle, _impactPosition, _impactVelocity, _relImpactPosition, _relImpactVelocity]
] call CBA_fnc_addPerFrameHandler;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
hit event -
projectileType determines penetration processor
vehicle calls penetration.process()
projectile types damage type(s) determine damage processors
vehicle calls damage.process(penetration.result[0], damage.results)
vehicle calls damage.process(penetration.result[1], damage.results)
vehicle calls damage.process(penetration.result[2], damage.results)
vehicle sends arma3 damage.results
Longrod penetrator hit:
runs penetration::longrod.process()
longrod.process() returns damage.heat, damage.pressure, damage.fragments
damage.heat = thermal result
selection->heat
selection->heat
damage.pressure = pressure result
selection->pressure
selection->pressure
damage.fragments
spawns damage.fragment
selection->hit
spawns penetration.fragment
selection->kinetic
selection->heat
spawns damage.fragment
selection->hit
spawns penetration.fragment
selection->kinetic
selection->heat
->
result set:
selection->pressure
selection->pressure
selection->heat
selection->heat
selection->kinetic
selection->kenetic
results roll up into an abstract array to arma with selections