2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-04-29 15:09:38 +00:00

Add IW3 PhysPreset dump logic (#744)

* Copied template from font.

* Create PhysPreset writer from Font dumper template.

* Completely refactor to match previous implementation.

* Remove files from previous implementation.

* Fix PhysPresetFields.

* Add missing fields and correct order.

* Add static infinity check as builtin does not work.

* Wasn't clang formatted.

* Remove unused 'perSurfaceSndAlias' field.

* Removed unsupported vals (tracer & vehicle) and un-needed vals (material).

* Make order match struct and mark 'tempDefaultToCylinder' as QBOOLEAN.

* Make order match struct and clamp vals for 'mass' and 'tempDefaultToCylinder'.

* Remove un-needed includes and add limits for float max.

* Remove clamping of mass.

* Use float max to determine if friction is infinite.

* Clang format.

* chore: formatting

* chore: do not use classes for obj constants

---------

Co-authored-by: njohnson <gitea.nicholasjohnson.info>
Co-authored-by: Jan Laupetin <jan@laupetin.net>
This commit is contained in:
Paging Red
2026-04-23 17:27:34 -04:00
committed by GitHub
parent 7a0109ab2e
commit 010ac3ad3e
48 changed files with 405 additions and 115 deletions
+16 -22
View File
@@ -2,27 +2,21 @@
namespace T6
{
class ObjConstants
{
ObjConstants() = default;
static constexpr auto INFO_STRING_PREFIX_PHYS_CONSTRAINTS = "PHYSCONSTRAINTS";
static constexpr auto INFO_STRING_PREFIX_PHYS_PRESET = "PHYSIC";
static constexpr auto INFO_STRING_PREFIX_TRACER = "TRACER";
static constexpr auto INFO_STRING_PREFIX_VEHICLE = "VEHICLEFILE";
static constexpr auto INFO_STRING_PREFIX_WEAPON = "WEAPONFILE";
static constexpr auto INFO_STRING_PREFIX_WEAPON_ATTACHMENT = "ATTACHMENTFILE";
static constexpr auto INFO_STRING_PREFIX_WEAPON_ATTACHMENT_UNIQUE = "ATTACHMENTUNIQUEFILE";
static constexpr auto INFO_STRING_PREFIX_ZBARRIER = "ZBARRIER";
public:
static constexpr const char* INFO_STRING_PREFIX_PHYS_CONSTRAINTS = "PHYSCONSTRAINTS";
static constexpr const char* INFO_STRING_PREFIX_PHYS_PRESET = "PHYSIC";
static constexpr const char* INFO_STRING_PREFIX_TRACER = "TRACER";
static constexpr const char* INFO_STRING_PREFIX_VEHICLE = "VEHICLEFILE";
static constexpr const char* INFO_STRING_PREFIX_WEAPON = "WEAPONFILE";
static constexpr const char* INFO_STRING_PREFIX_WEAPON_ATTACHMENT = "ATTACHMENTFILE";
static constexpr const char* INFO_STRING_PREFIX_WEAPON_ATTACHMENT_UNIQUE = "ATTACHMENTUNIQUEFILE";
static constexpr const char* INFO_STRING_PREFIX_ZBARRIER = "ZBARRIER";
static constexpr const char* GDF_FILENAME_PHYS_CONSTRAINTS = "physconstraints.gdf";
static constexpr const char* GDF_FILENAME_PHYS_PRESET = "physpreset.gdf";
static constexpr const char* GDF_FILENAME_TRACER = "tracer.gdf";
static constexpr const char* GDF_FILENAME_VEHICLE = "vehicle.gdf";
static constexpr const char* GDF_FILENAME_WEAPON = "weapon.gdf";
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT = "attachment.gdf";
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT_UNIQUE = "attachmentunique.gdf";
static constexpr const char* GDF_FILENAME_ZBARRIER = "zbarrier.gdf";
};
static constexpr auto GDF_FILENAME_PHYS_CONSTRAINTS = "physconstraints.gdf";
static constexpr auto GDF_FILENAME_PHYS_PRESET = "physpreset.gdf";
static constexpr auto GDF_FILENAME_TRACER = "tracer.gdf";
static constexpr auto GDF_FILENAME_VEHICLE = "vehicle.gdf";
static constexpr auto GDF_FILENAME_WEAPON = "weapon.gdf";
static constexpr auto GDF_FILENAME_WEAPON_ATTACHMENT = "attachment.gdf";
static constexpr auto GDF_FILENAME_WEAPON_ATTACHMENT_UNIQUE = "attachmentunique.gdf";
static constexpr auto GDF_FILENAME_ZBARRIER = "zbarrier.gdf";
} // namespace T6