diff --git a/lib/agl b/lib/agl index a437ed3b..88f87ad4 160000 --- a/lib/agl +++ b/lib/agl @@ -1 +1 @@ -Subproject commit a437ed3b812b6990d429f7a3874bd345656fa456 +Subproject commit 88f87ad4b166e1da384abb6131e8141ec1722b15 diff --git a/lib/sead b/lib/sead index 5c347c3e..6881c8ed 160000 --- a/lib/sead +++ b/lib/sead @@ -1 +1 @@ -Subproject commit 5c347c3ee762eba5595c107c448b527513dbb3e3 +Subproject commit 6881c8ed535464bf205ea9655b348c8553e1f956 diff --git a/src/KingSystem/Map/mapMubinIter.cpp b/src/KingSystem/Map/mapMubinIter.cpp index 450100f9..a18eb7a2 100644 --- a/src/KingSystem/Map/mapMubinIter.cpp +++ b/src/KingSystem/Map/mapMubinIter.cpp @@ -69,7 +69,7 @@ MubinIter::MubinIter() : ByamlIter() {} MubinIter::MubinIter(const u8* data) : ByamlIter(data) {} bool MubinIter::tryGetParamUInt8ByKey(u8* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.SRTHash == hash || sHashes.Index == hash) { s32 x = 0; @@ -90,7 +90,7 @@ bool MubinIter::tryGetParamUInt8ByKey(u8* value, const sead::SafeString& key) co } bool MubinIter::tryGetParamIntByKey(s32* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.SRTHash == hash || sHashes.Index == hash) return tryGetIntByKey(value, key.cstr()); @@ -99,7 +99,7 @@ bool MubinIter::tryGetParamIntByKey(s32* value, const sead::SafeString& key) con } bool MubinIter::tryGetParamUIntByKey(u32* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.HashId == hash || sHashes.DestUnitHashId == hash) return tryGetUIntByKey(value, key.cstr()); @@ -108,7 +108,7 @@ bool MubinIter::tryGetParamUIntByKey(u32* value, const sead::SafeString& key) co } bool MubinIter::tryGetParamFloatByKey(f32* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.LocationPosX == hash || sHashes.LocationPosZ == hash || sHashes.NextDistance == hash || sHashes.PrevDistance == hash) { return tryGetFloatByKey(value, key.cstr()); @@ -119,7 +119,7 @@ bool MubinIter::tryGetParamFloatByKey(f32* value, const sead::SafeString& key) c } bool MubinIter::tryGetParamBoolByKey(bool* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.IsClosed == hash || sHashes.OnlyOne == hash) return tryGetBoolByKey(value, key.cstr()); @@ -128,7 +128,7 @@ bool MubinIter::tryGetParamBoolByKey(bool* value, const sead::SafeString& key) c } bool MubinIter::tryGetParamStringByKey(const char** value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.RailType == hash || sHashes.UniqueName == hash || sHashes.UnitConfigName == hash || sHashes.CheckPointName == hash || sHashes.EntryPointName == hash || sHashes.DefinitionName == hash) { @@ -144,7 +144,7 @@ bool MubinIter::tryGetIterByIndex(MubinIter* iter, s32 index) const { } bool MubinIter::tryGetParamIterByKey(MubinIter* value, const sead::SafeString& key) const { - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.Objs == hash || sHashes.Rails == hash || sHashes.LinksToObj == hash || sHashes.LinksToRail == hash || sHashes.Rotate == hash || sHashes.Scale == hash || sHashes.Translate == hash || sHashes.RailPoints == hash || sHashes.ControlPoints == hash || @@ -166,7 +166,7 @@ bool MubinIter::isValid() const { bool MubinIter::tryGetFloatArrayByKey(f32* value, const sead::SafeString& key) const { al::ByamlIter iter; - const u32 hash = sead::HashCRC32::calcStringHash(key.cstr()); + const u32 hash = sead::HashCRC32::calcStringHash(key); if (sHashes.Objs == hash || sHashes.Rails == hash || sHashes.LinksToObj == hash || sHashes.LinksToRail == hash || sHashes.Rotate == hash || sHashes.Scale == hash || sHashes.Translate == hash || sHashes.RailPoints == hash || sHashes.ControlPoints == hash || diff --git a/src/KingSystem/Resource/resInfoContainer.cpp b/src/KingSystem/Resource/resInfoContainer.cpp index 204e9dd7..14795e56 100644 --- a/src/KingSystem/Resource/resInfoContainer.cpp +++ b/src/KingSystem/Resource/resInfoContainer.cpp @@ -81,7 +81,7 @@ bool ResourceInfoContainer::loadResourceSizeTable() { // NON_MATCHING: missing mStringEntries(string_entry_idx).res_size > 0 check u32 ResourceInfoContainer::getResourceSize(const sead::SafeString& name) const { - const u32 name_hash = sead::HashCRC32::calcStringHash(name.cstr()); + const u32 name_hash = sead::HashCRC32::calcStringHash(name); const s32 entry_idx = mEntries.binarySearch({name_hash, 0}, ResEntry::compareT); if (entry_idx >= 1 && mEntries(entry_idx).res_size > 0) diff --git a/src/KingSystem/Utils/StrTreeMap.h b/src/KingSystem/Utils/StrTreeMap.h index 52f72f4d..dfe4183f 100644 --- a/src/KingSystem/Utils/StrTreeMap.h +++ b/src/KingSystem/Utils/StrTreeMap.h @@ -12,7 +12,7 @@ public: StrTreeMapKey() = default; StrTreeMapKey(u32 key_hash, const sead::SafeString& key) : mKeyHash(key_hash), mKey(key) {} StrTreeMapKey(const sead::SafeString& key) - : StrTreeMapKey(sead::HashCRC32::calcStringHash(key.cstr()), key) {} + : StrTreeMapKey(sead::HashCRC32::calcStringHash(key), key) {} const sead::SafeString& key() const { return mKey; }