mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-05-12 21:31:43 +00:00
fix: iw5 uses isFrictionInfinity as well
This commit is contained in:
@@ -206,6 +206,7 @@ namespace IW5
|
||||
float mass;
|
||||
float bounce;
|
||||
float friction;
|
||||
int isFrictionInfinity;
|
||||
float bulletForceScale;
|
||||
float explosiveForceScale;
|
||||
const char* sndAliasPrefix;
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace IW5
|
||||
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
||||
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
||||
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
||||
{"isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN},
|
||||
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
||||
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
||||
{"sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
|
||||
|
||||
@@ -48,7 +48,12 @@ namespace
|
||||
{
|
||||
physPreset.mass = physPresetInfo.mass;
|
||||
physPreset.bounce = physPresetInfo.bounce;
|
||||
physPreset.friction = physPresetInfo.friction;
|
||||
|
||||
if (physPresetInfo.isFrictionInfinity != 0)
|
||||
physPreset.friction = std::numeric_limits<float>::max();
|
||||
else
|
||||
physPreset.friction = physPresetInfo.friction;
|
||||
|
||||
physPreset.bulletForceScale = physPresetInfo.bulletForceScale;
|
||||
physPreset.explosiveForceScale = physPresetInfo.explosiveForceScale;
|
||||
physPreset.sndAliasPrefix = physPresetInfo.sndAliasPrefix;
|
||||
|
||||
@@ -47,7 +47,18 @@ namespace
|
||||
{
|
||||
physPresetInfo->mass = physPreset->mass;
|
||||
physPresetInfo->bounce = physPreset->bounce;
|
||||
physPresetInfo->friction = physPreset->friction;
|
||||
|
||||
if (physPreset->friction >= std::numeric_limits<float>::max())
|
||||
{
|
||||
physPresetInfo->isFrictionInfinity = 1;
|
||||
physPresetInfo->friction = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
physPresetInfo->isFrictionInfinity = 0;
|
||||
physPresetInfo->friction = physPreset->friction;
|
||||
}
|
||||
|
||||
physPresetInfo->bulletForceScale = physPreset->bulletForceScale;
|
||||
physPresetInfo->explosiveForceScale = physPreset->explosiveForceScale;
|
||||
physPresetInfo->sndAliasPrefix = physPreset->sndAliasPrefix;
|
||||
|
||||
Reference in New Issue
Block a user