Merge pull request #753 from pagingred/iw5_physpreset_dumper

feat: phys presets dumping and loading for IW3, IW5, T5
This commit is contained in:
Paging Red
2026-05-02 12:01:59 +02:00
committed by GitHub
parent 704b191b97
commit 759a3ccf0e
41 changed files with 1698 additions and 12 deletions
@@ -0,0 +1,9 @@
#pragma once
namespace IW5
{
inline const char* szPhysPresetScalingNames[]{
"linear",
"quadratic",
};
} // namespace IW5
@@ -0,0 +1,25 @@
#pragma once
#include "Game/IW5/IW5.h"
namespace IW5
{
inline cspField_t phys_preset_fields[]{
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
{"sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
{"piecesSpreadFraction", offsetof(PhysPresetInfo, piecesSpreadFraction), CSPFT_FLOAT },
{"piecesUpwardVelocity", offsetof(PhysPresetInfo, piecesUpwardVelocity), CSPFT_FLOAT },
{"minMomentum", offsetof(PhysPresetInfo, minMomentum), CSPFT_FLOAT },
{"maxMomentum", offsetof(PhysPresetInfo, maxMomentum), CSPFT_FLOAT },
{"minPitch", offsetof(PhysPresetInfo, minPitch), CSPFT_FLOAT },
{"maxPitch", offsetof(PhysPresetInfo, maxPitch), CSPFT_FLOAT },
{"volumeType", offsetof(PhysPresetInfo, volumeType), PPFT_SCALING },
{"pitchType", offsetof(PhysPresetInfo, pitchType), PPFT_SCALING },
{"tempDefaultToCylinder", offsetof(PhysPresetInfo, tempDefaultToCylinder), CSPFT_QBOOLEAN},
{"perSurfaceSndAlias", offsetof(PhysPresetInfo, perSurfaceSndAlias), CSPFT_QBOOLEAN},
};
}