Use sead::SafeString overload of HashCRC32::calcStringHash

This commit is contained in:
Léo Lam 2020-10-24 20:59:43 +02:00
parent f886213593
commit 6cae9c75b5
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
5 changed files with 12 additions and 12 deletions

@ -1 +1 @@
Subproject commit a437ed3b812b6990d429f7a3874bd345656fa456
Subproject commit 88f87ad4b166e1da384abb6131e8141ec1722b15

@ -1 +1 @@
Subproject commit 5c347c3ee762eba5595c107c448b527513dbb3e3
Subproject commit 6881c8ed535464bf205ea9655b348c8553e1f956

View File

@ -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 ||

View File

@ -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)

View File

@ -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; }