diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 81697797..27b9855e 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -89523,10 +89523,10 @@ 0x00000071011bc42c,sub_71011BC42C,56, 0x00000071011bc464,sinitBaseProcHandle,172, 0x00000071011bc510,_ZN12BaseProcLinkC2Ev,20,_ZN4ksys3act12BaseProcLinkC1Ev -0x00000071011bc524,_ZN12BaseProcLink12acquireActorER13ActorAccessorP9ActorBase,308,_ZN4ksys3act12BaseProcLink7getProcEPNS0_24ActorLinkConstDataAccessEPNS0_8BaseProcE +0x00000071011bc524,_ZN12BaseProcLink12acquireActorER13ActorAccessorP9ActorBase,308,_ZNK4ksys3act12BaseProcLink7getProcEPNS0_24ActorLinkConstDataAccessEPNS0_8BaseProcE 0x00000071011bc658,BaseProcLinkData::lockCritSectionOnGameThreadOrHavokThread,68,_ZN4ksys3act16BaseProcLinkData12lockIfNeededEv 0x00000071011bc69c,BaseProcLinkData::checkIdAndEngaged,52,_ZNK4ksys3act16BaseProcLinkData7getProcEjb -0x00000071011bc6d0,_ZN12BaseProcLink12fromAccessorER13ActorAccessor,276,_ZN4ksys3act12BaseProcLink7getProcEPNS0_24ActorLinkConstDataAccessE +0x00000071011bc6d0,_ZN12BaseProcLink12fromAccessorER13ActorAccessor,276,_ZNK4ksys3act12BaseProcLink7getProcEPNS0_24ActorLinkConstDataAccessE 0x00000071011bc7e4,BaseProcLink::checkHasActorById,40,_ZNK4ksys3act12BaseProcLink11hasProcByIdEPNS0_8BaseProcE 0x00000071011bc80c,_ZN12BaseProcLinkeqERS_,152,_ZNK4ksys3act12BaseProcLinkeqERKS1_ 0x00000071011bc8a4,BaseProcLink::hasAcquiredActor,100,_ZNK4ksys3act12BaseProcLink7hasProcEv diff --git a/src/KingSystem/ActorSystem/actBaseProcLink.cpp b/src/KingSystem/ActorSystem/actBaseProcLink.cpp index a99960d9..677e1aaf 100644 --- a/src/KingSystem/ActorSystem/actBaseProcLink.cpp +++ b/src/KingSystem/ActorSystem/actBaseProcLink.cpp @@ -39,7 +39,7 @@ bool BaseProcLink::hasProcById(BaseProc* proc) const { return proc != nullptr & mId != cInvalidId && mId == proc->getId(); } -BaseProc* BaseProcLink::getProc(ActorLinkConstDataAccess* accessor, BaseProc* other_proc) { +BaseProc* BaseProcLink::getProc(ActorLinkConstDataAccess* accessor, BaseProc* other_proc) const { return getProcInContext([&](BaseProc* proc) -> BaseProc* { if (proc && acquireProc(accessor, proc, "frm::BaseProcLink") && BaseProcMgr::instance()->isAccessingProcSafe(proc, other_proc)) { @@ -49,7 +49,7 @@ BaseProc* BaseProcLink::getProc(ActorLinkConstDataAccess* accessor, BaseProc* ot }); } -BaseProc* BaseProcLink::getProc(ActorLinkConstDataAccess* accessor) { +BaseProc* BaseProcLink::getProc(ActorLinkConstDataAccess* accessor) const { return getProcInContext([&](BaseProc* proc) -> BaseProc* { if (proc && acquireProc(accessor, proc, "frm::BaseProcLink")) return proc; diff --git a/src/KingSystem/ActorSystem/actBaseProcLink.h b/src/KingSystem/ActorSystem/actBaseProcLink.h index df1e1aa6..c1d278e7 100644 --- a/src/KingSystem/ActorSystem/actBaseProcLink.h +++ b/src/KingSystem/ActorSystem/actBaseProcLink.h @@ -29,8 +29,8 @@ public: bool hasProcInCalcState() const; bool hasProcById(BaseProc* proc) const; - BaseProc* getProc(ActorLinkConstDataAccess* accessor, BaseProc* other_proc); - BaseProc* getProc(ActorLinkConstDataAccess* accessor); + BaseProc* getProc(ActorLinkConstDataAccess* accessor, BaseProc* other_proc) const; + BaseProc* getProc(ActorLinkConstDataAccess* accessor) const; /// Acquire the specified BaseProc. /// If a BaseProc has already been specified, it is released.