mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-11 07:18:11 -05:00
chore: dump iw5 weapon fx overrides
This commit is contained in:
@ -225,6 +225,10 @@ namespace IW5
|
||||
FillFromSoundOverrides(std::string(field.szName));
|
||||
break;
|
||||
|
||||
case WFT_FX_OVERRIDES:
|
||||
FillFromFxOverrides(std::string(field.szName));
|
||||
break;
|
||||
|
||||
case WFT_NUM_FIELD_TYPES:
|
||||
default:
|
||||
assert(false);
|
||||
@ -410,6 +414,55 @@ namespace IW5
|
||||
m_info_string.SetValueForKey(key, ss.str());
|
||||
}
|
||||
|
||||
void FillFromFxOverrides(const std::string& key)
|
||||
{
|
||||
std::stringstream ss;
|
||||
bool first = true;
|
||||
|
||||
for (auto i = 0u; i < m_weapon->weapCompleteDef.numFXOverrides; i++)
|
||||
{
|
||||
const auto& fxOverride = m_weapon->weapCompleteDef.fxOverrides[i];
|
||||
|
||||
if (!first)
|
||||
ss << "\n";
|
||||
else
|
||||
first = false;
|
||||
|
||||
assert(fxOverride.fxType < FXTYPE_COUNT);
|
||||
|
||||
if (fxOverride.attachment1.fields)
|
||||
ss << GetNameForSingleWeaponAttachment(fxOverride.attachment1);
|
||||
else
|
||||
ss << "none";
|
||||
|
||||
ss << ' ';
|
||||
|
||||
if (fxOverride.attachment2.fields)
|
||||
ss << GetNameForSingleWeaponAttachment(fxOverride.attachment2);
|
||||
else
|
||||
ss << "none";
|
||||
|
||||
ss << ' ';
|
||||
|
||||
if (fxOverride.fxType < FXTYPE_COUNT)
|
||||
ss << fxOverrideTypeNames[fxOverride.fxType] << ' ';
|
||||
|
||||
if (fxOverride.overrideFX && fxOverride.overrideFX->name && fxOverride.overrideFX->name[0])
|
||||
ss << fxOverride.overrideFX->name;
|
||||
else
|
||||
ss << "none";
|
||||
|
||||
ss << ' ';
|
||||
|
||||
if (fxOverride.altmodeFX && fxOverride.altmodeFX->name && fxOverride.altmodeFX->name[0])
|
||||
ss << fxOverride.altmodeFX->name;
|
||||
else
|
||||
ss << "none";
|
||||
}
|
||||
|
||||
m_info_string.SetValueForKey(key, ss.str());
|
||||
}
|
||||
|
||||
const WeaponFullDef* m_weapon;
|
||||
};
|
||||
} // namespace IW5
|
||||
|
Reference in New Issue
Block a user