fix: attachment unique overwrites handling being incorrect

This commit is contained in:
Jan 2024-02-15 21:13:58 +01:00
parent d712cbd2f8
commit 62e08c29bd
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C
2 changed files with 14 additions and 14 deletions

View File

@ -426,26 +426,26 @@ void AssetLoaderWeapon::CalculateWeaponFields(WeaponFullDef* weapon)
weapon->weapVariantDef.fOOPosAnimLength[1] = 1.0f / static_cast<float>(weapon->weapVariantDef.iAdsTransOutTime);
}
bool AssetLoaderWeapon::IsStringOverride(const char* str1, const char* str2)
bool AssetLoaderWeapon::IsStringOverride(const char* baseString, const char* overrideString)
{
if ((str1 == nullptr) != (str2 == nullptr))
return true;
if (str1 == nullptr)
if (overrideString == nullptr || overrideString[0] == '\0')
return false;
return strcmp(str1, str2) != 0;
if (baseString == nullptr || baseString[0] == '\0')
return true;
return strcmp(baseString, overrideString) != 0;
}
bool AssetLoaderWeapon::IsFxOverride(const FxEffectDef* effect1, const FxEffectDef* effect2)
bool AssetLoaderWeapon::IsFxOverride(const FxEffectDef* baseEffect, const FxEffectDef* overrideEffect)
{
if ((effect1 == nullptr) != (effect2 == nullptr))
return true;
if (effect1 == nullptr)
if (overrideEffect == nullptr)
return false;
return strcmp(effect1->name, effect2->name) != 0;
if (baseEffect == nullptr)
return true;
return strcmp(baseEffect->name, overrideEffect->name) != 0;
}
void AssetLoaderWeapon::HandleSoundOverride(WeaponAttachmentUnique* attachmentUnique,

View File

@ -11,8 +11,8 @@ namespace T6
{
static void LinkWeaponFullDefSubStructs(WeaponFullDef* weapon);
static bool IsStringOverride(const char* str1, const char* str2);
static bool IsFxOverride(const FxEffectDef* effect1, const FxEffectDef* effect2);
static bool IsStringOverride(const char* baseString, const char* overrideString);
static bool IsFxOverride(const FxEffectDef* baseEffect, const FxEffectDef* overrideEffect);
static void
HandleSoundOverride(WeaponAttachmentUnique* attachmentUnique, const char* snd1, const char* snd2, eAttachmentOverrideSounds sndOverrideIndex);
static void HandleFxOverride(WeaponAttachmentUnique* attachmentUnique,