mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Fixed issue with spalling happening on thin surfaces instead of thicker surfaces hit afterwards
This commit is contained in:
parent
6ae6b55e65
commit
fe1850a34a
@ -73,15 +73,15 @@ GVAR(lastSpallTime) = CBA_missionTime;
|
||||
* Improve performance of finding otherside of object on shallow angle
|
||||
* impacts. 120 degrees due to 90 degree offset with _lVelUnit into object.
|
||||
*/
|
||||
private _spallPos = +_lPosASL;
|
||||
private _spallPos = _lPosASL vectorAdd _unitStep;
|
||||
if (120 > acos ( _lVelUnit vectorDotProduct _sNorm)) then {
|
||||
_spallPos = _spallPos vectorAdd (_unitStep vectorMultiply 5);
|
||||
};
|
||||
for "_i" from 1 to 20 do
|
||||
for "_i" from 2 to 20 do
|
||||
{
|
||||
private _nPos = _spallPos vectorAdd _unitStep;
|
||||
if (!lineIntersects [_spallPos, _nPos]) then {
|
||||
_spallPos = _nPos vectorAdd _unitStep;
|
||||
_spallPos = _nPos vectorAdd (_unitStep vectorMultiply 2);
|
||||
break
|
||||
};
|
||||
_spallPos = _nPos;
|
||||
|
@ -60,9 +60,10 @@ if (GVAR(spallEnabled) && {_shouldSpall}) then
|
||||
private _ammo = typeOf _proj;
|
||||
private _vUp = vectorUp _proj;
|
||||
[
|
||||
GVAR(spall_eh),
|
||||
FUNC(doSpall),
|
||||
[_proj, _hitObj, _posASL, _vel, _sNorm, _surfType, _ammo, _shotPrnt, _vUp]
|
||||
] call CBA_fnc_execNextFrame;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
TRACE_2("exit",_shouldFrag,_shouldSpall);
|
@ -3,8 +3,8 @@
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
// #define LOG_FRAG_INFO
|
||||
// #define DEBUG_MODE_FULL
|
||||
// #define DEBUG_MODE_DRAW
|
||||
#define DEBUG_MODE_FULL
|
||||
#define DEBUG_MODE_DRAW
|
||||
// #define DISABLE_COMPILE_CACHE
|
||||
// #define ENABLE_PERFORMANCE_COUNTERS
|
||||
|
||||
@ -26,14 +26,6 @@
|
||||
#define ACE_FRAG_HITPOINTS ["spine1","spine2","spine3","head","leftarm","leftarmroll","leftforearm","rightarm","rightarmroll","rightforearm","pelvis","leftupleg","leftuplegroll","leftlegroll","leftfoot","rightupleg","rightuplegroll","rightleg","rightlegroll","rightfoot"]
|
||||
#define ACE_FRAG_HITPOINTS_WEIGHTS
|
||||
|
||||
#ifdef DEBUG_MODE_FULL
|
||||
#define __FADE_TIME 1
|
||||
#define __FADE_START 0.5
|
||||
#define __FADE_INTERVAL 0.1
|
||||
#define __FADE_RATE __FADE_INTERVAL/__FADE_TIME/2
|
||||
#define __FADE_INIT (__FADE_TIME+__FADE_START)/__FADE_TIME/2
|
||||
#endif
|
||||
|
||||
#ifndef GLUE
|
||||
#define GLUE(g1,g2) g1##g2
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user