mirror of
https://github.com/zeldaret/botw
synced 2026-10-21 01:04:27 -04:00
ksys/act: make calcHash a free function in actAwarenessMiscUtils
calcHash is linked between AwarenessInstance's sinit and the next one, together with two AwarenessSourcePool helpers and the job queue functions of Awareness::Unk1, so it's a shared helper rather than an Awareness member, declared in the new file's own header. actAwareness.cpp calls this 4-byte function out of line, so it's likely not defined there. The file name sorts between actAwarenessInstance and the sensor files, which is where it is linked. (AI assisted using Claude Opus 5.5)
This commit is contained in:
@@ -75237,7 +75237,7 @@ Address,Quality,Size,Name
|
||||
0x0000007100d7ee8c,U,000076,
|
||||
0x0000007100d7eed8,U,000016,
|
||||
0x0000007100d7eee8,U,000128,
|
||||
0x0000007100d7ef68,O,000004,_ZN4ksys3act9Awareness8calcHashERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d7ef68,O,000004,_ZN4ksys3act17calcAwarenessHashERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d7ef6c,U,000116,
|
||||
0x0000007100d7efe0,U,000036,_ZN4ksys3act9Awareness4Unk18finalizeEv
|
||||
0x0000007100d7f004,U,000040,
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -231,10 +231,6 @@ void Awareness::calc() {
|
||||
resetFlag(Flag::_0);
|
||||
}
|
||||
|
||||
u32 Awareness::calcHash(const sead::SafeString& key) {
|
||||
return agl::utl::ParameterBase::calcHash(key);
|
||||
}
|
||||
|
||||
void Awareness::Links2::calc() {
|
||||
count = 0;
|
||||
}
|
||||
|
||||
@@ -35,8 +35,6 @@ public:
|
||||
void setEventActive(bool active);
|
||||
void calc();
|
||||
|
||||
static u32 calcHash(const sead::SafeString& key);
|
||||
|
||||
private:
|
||||
friend class AwarenessInstance;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwarenessDefs.h"
|
||||
#include <container/seadSafeArray.h>
|
||||
#include <utility/aglParameter.h>
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwareness.h"
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h"
|
||||
|
||||
namespace ksys::act {
|
||||
|
||||
@@ -29,7 +29,7 @@ sead::SafeArray<const char*, 23> sAwarenessSensorTypes = sead::toArray({
|
||||
|
||||
u32 getAwarenessTerrorFlags(u32 hash) {
|
||||
for (u32 i = 0; i < u32(sAwarenessTerrorTypes.size()); ++i) {
|
||||
if (Awareness::calcHash(sAwarenessTerrorTypes(i)) == hash)
|
||||
if (calcAwarenessHash(sAwarenessTerrorTypes(i)) == hash)
|
||||
return 1 << i;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ u32 getAwarenessTerrorFlags(u32 hash) {
|
||||
|
||||
u32 getAwarenessSensorFlags(u32 hash) {
|
||||
for (u32 i = 0; i < u32(sAwarenessSensorTypes.size()); ++i) {
|
||||
if (Awareness::calcHash(sAwarenessSensorTypes(i)) == hash)
|
||||
if (calcAwarenessHash(sAwarenessSensorTypes(i)) == hash)
|
||||
return 1 << i;
|
||||
}
|
||||
return 0xffffffff;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwarenessMiscUtils.h"
|
||||
#include <utility/aglParameter.h>
|
||||
|
||||
namespace ksys::act {
|
||||
|
||||
u32 calcAwarenessHash(const sead::SafeString& key) {
|
||||
return agl::utl::ParameterBase::calcHash(key);
|
||||
}
|
||||
|
||||
} // namespace ksys::act
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <basis/seadTypes.h>
|
||||
#include <prim/seadSafeString.h>
|
||||
|
||||
namespace ksys::act {
|
||||
|
||||
u32 calcAwarenessHash(const sead::SafeString& key);
|
||||
|
||||
} // namespace ksys::act
|
||||
@@ -11,6 +11,8 @@ target_sources(uking PRIVATE
|
||||
Awareness/actAwarenessDefs.h
|
||||
Awareness/actAwarenessInstance.cpp
|
||||
Awareness/actAwarenessInstance.h
|
||||
Awareness/actAwarenessMiscUtils.cpp
|
||||
Awareness/actAwarenessMiscUtils.h
|
||||
|
||||
|
||||
Profiles/actRopeBase.cpp
|
||||
|
||||
Reference in New Issue
Block a user