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:
Léo Lam
2026-10-15 22:56:21 +01:00
parent 8eca2642b0
commit 13861707e3
7 changed files with 26 additions and 10 deletions
+1 -1
View File
@@ -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