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 mass;
|
||||||
float bounce;
|
float bounce;
|
||||||
float friction;
|
float friction;
|
||||||
|
int isFrictionInfinity;
|
||||||
float bulletForceScale;
|
float bulletForceScale;
|
||||||
float explosiveForceScale;
|
float explosiveForceScale;
|
||||||
const char* sndAliasPrefix;
|
const char* sndAliasPrefix;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ namespace IW5
|
|||||||
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
||||||
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
||||||
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
||||||
|
{"isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN},
|
||||||
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
||||||
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
||||||
{"sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
|
{"sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
|
||||||
|
|||||||
@@ -48,7 +48,12 @@ namespace
|
|||||||
{
|
{
|
||||||
physPreset.mass = physPresetInfo.mass;
|
physPreset.mass = physPresetInfo.mass;
|
||||||
physPreset.bounce = physPresetInfo.bounce;
|
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.bulletForceScale = physPresetInfo.bulletForceScale;
|
||||||
physPreset.explosiveForceScale = physPresetInfo.explosiveForceScale;
|
physPreset.explosiveForceScale = physPresetInfo.explosiveForceScale;
|
||||||
physPreset.sndAliasPrefix = physPresetInfo.sndAliasPrefix;
|
physPreset.sndAliasPrefix = physPresetInfo.sndAliasPrefix;
|
||||||
|
|||||||
@@ -47,7 +47,18 @@ namespace
|
|||||||
{
|
{
|
||||||
physPresetInfo->mass = physPreset->mass;
|
physPresetInfo->mass = physPreset->mass;
|
||||||
physPresetInfo->bounce = physPreset->bounce;
|
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->bulletForceScale = physPreset->bulletForceScale;
|
||||||
physPresetInfo->explosiveForceScale = physPreset->explosiveForceScale;
|
physPresetInfo->explosiveForceScale = physPreset->explosiveForceScale;
|
||||||
physPresetInfo->sndAliasPrefix = physPreset->sndAliasPrefix;
|
physPresetInfo->sndAliasPrefix = physPreset->sndAliasPrefix;
|
||||||
|
|||||||
Reference in New Issue
Block a user