Skip to content

Commit

Permalink
ksys/act: Add LinkTag
Browse files Browse the repository at this point in the history
  • Loading branch information
MonsterDruide1 committed Sep 15, 2023
1 parent fe9558b commit 3414304
Show file tree
Hide file tree
Showing 11 changed files with 828 additions and 23 deletions.
44 changes: 22 additions & 22 deletions data/uking_functions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -73700,40 +73700,40 @@ Address,Quality,Size,Name
0x0000007100d375e4,O,000076,_ZN4ksys3map16LazyTraverseListD1Ev
0x0000007100d37630,O,000132,_ZN4ksys3map16LazyTraverseList11updateFlagsEv
0x0000007100d376b4,O,000216,_ZN4ksys3map16LazyTraverseList16wereFlagsUpdatedEv
0x0000007100d3778c,U,000204,LinkTag::construct
0x0000007100d37858,U,000280,LinkTag::calc
0x0000007100d37970,U,000064,LinkTag::dtor
0x0000007100d379b0,U,000072,LinkTag::dtorDelete
0x0000007100d379f8,U,001656,LinkTag::init2
0x0000007100d3778c,O,000204,_ZN4ksys3act7LinkTag9constructERKNS0_8BaseProc9CreateArgEPN4sead4HeapE
0x0000007100d37858,O,000280,_ZN4ksys3act7LinkTag4calcEv
0x0000007100d37970,O,000064,_ZN4ksys3act7LinkTagD1Ev
0x0000007100d379b0,O,000072,_ZN4ksys3act7LinkTagD0Ev
0x0000007100d379f8,W,001656,_ZN4ksys3act7LinkTag4initEv
0x0000007100d38070,U,000256,isLinkTagNAndOrNOr
0x0000007100d38170,U,000308,map::isFlagSet
0x0000007100d382a4,U,000056,LinkTag::finalizeInit
0x0000007100d382dc,U,000188,LinkTag::prepareForPreDelete
0x0000007100d38398,U,000092,LinkTag::isDonePreparingForPreDelete
0x0000007100d383f4,U,000320,LinkTag::calcCount
0x0000007100d38534,U,000748,LinkTag::calcPulse
0x0000007100d38820,U,001372,LinkTag::calcOther
0x0000007100d38d7c,U,000372,LinkTag::onEnterCalc
0x0000007100d38ef0,U,000076,LinkTag::hasJobType
0x0000007100d38f3c,U,000132,LinkTag::queueExtraJobPush
0x0000007100d38fc0,U,000008,LinkTag::isSpecialJobType
0x0000007100d38fc8,U,000148,LinkTag::canWakeUp
0x0000007100d3905c,U,000064,LinkTag::shouldSkipJobPush_
0x0000007100d3909c,U,000132,LinkTag::prePushJob2
0x0000007100d382a4,O,000056,_ZN4ksys3act7LinkTag12finalizeInitEPNS0_8BaseProc11InitContextE
0x0000007100d382dc,O,000188,_ZN4ksys3act7LinkTag20prepareForPreDelete_Ev
0x0000007100d38398,O,000092,_ZN4ksys3act7LinkTag27isDonePreparingForPreDeleteEv
0x0000007100d383f4,W,000320,_ZN4ksys3act7LinkTag9calcCountEb
0x0000007100d38534,W,000748,_ZN4ksys3act7LinkTag9calcPulseEb
0x0000007100d38820,W,001372,_ZN4ksys3act7LinkTag9calcOtherEb
0x0000007100d38d7c,O,000372,_ZN4ksys3act7LinkTag11onEnterCalcEv
0x0000007100d38ef0,O,000076,_ZN4ksys3act7LinkTag10hasJobTypeENS0_7JobTypeE
0x0000007100d38f3c,O,000132,_ZN4ksys3act7LinkTag17queueExtraJobPushENS0_7JobTypeEj
0x0000007100d38fc0,O,000008,_ZN4ksys3act7LinkTag16isSpecialJobTypeEv
0x0000007100d38fc8,O,000148,_ZN4ksys3act7LinkTag9canWakeUpEv
0x0000007100d3905c,O,000064,_ZN4ksys3act7LinkTag17shouldSkipJobPushEv
0x0000007100d3909c,O,000132,_ZN4ksys3act7LinkTag11prePushJob2Ev
0x0000007100d39120,U,000172,
0x0000007100d391cc,U,000596,LinkTag::updateIsFlagSetFlag
0x0000007100d391cc,O,000596,_ZN4ksys3act7LinkTag19updateIsFlagSetFlagEbbb
0x0000007100d39420,U,000052,
0x0000007100d39454,U,000588,isAreaOrLinkTagOrOtherTag
0x0000007100d396a0,U,000584,LinkTag::isTriggered
0x0000007100d396a0,W,000584,_ZN4ksys3act7LinkTag11isTriggeredEPNS_3map10ObjectLinkEh
0x0000007100d398e8,U,000124,PlacementObj::checkRevivalMaybe
0x0000007100d39964,U,000492,map::getLinkTagRevivalGameDataFlagHash
0x0000007100d39b50,U,000332,map::getLinkTagSaveFlagName
0x0000007100d39c9c,U,000196,GameDataMgr::setS32ByIdxForLinkTag
0x0000007100d39d60,U,000132,
0x0000007100d39de4,U,000072,
0x0000007100d39e2c,U,000028,
0x0000007100d39e48,U,000204,LinkTag::rtti1
0x0000007100d39f14,U,000092,LinkTag::rtti2
0x0000007100d39e48,O,000204,_ZNK4ksys3act7LinkTag27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x0000007100d39f14,O,000092,_ZNK4ksys3act7LinkTag18getRuntimeTypeInfoEv
0x0000007100d39f70,O,000004,_ZN4ksys3act8BaseProc18onDeleteRequested_ENS1_12DeleteReasonE
0x0000007100d39f74,O,000004,_ZN4ksys3act8BaseProc17onSleepRequested_ENS1_15SleepWakeReasonE
0x0000007100d39f78,O,000004,_ZN4ksys3act8BaseProc18onWakeUpRequested_ENS1_15SleepWakeReasonE
Expand Down
2 changes: 2 additions & 0 deletions src/KingSystem/ActorSystem/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ target_sources(uking PRIVATE
actInstParamPack.cpp
actInstParamPack.h
actLifeRecoveryInfo.h
actLinkTag.cpp
actLinkTag.h
actPhysicsConstraints.cpp
actPhysicsConstraints.h
actPhysicsUserTag.cpp
Expand Down
5 changes: 4 additions & 1 deletion src/KingSystem/ActorSystem/actActor.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include "KingSystem/ActorSystem/actPhysicsConstraints.h"
#include "KingSystem/ActorSystem/actPhysicsUserTag.h"
#include "KingSystem/Map/mapMubinIter.h"
#include "KingSystem/Map/mapObjectLink.h"
#include "KingSystem/Utils/AtomicLongBitFlag.h"
#include "KingSystem/Utils/Thread/ActorMessageTransceiver.h"

Expand Down Expand Up @@ -137,6 +138,7 @@ class Actor : public BaseProc, public ActorMessageTransceiver::IHandler {
const ActorParam* getParam() const { return mActorParam; }
map::Object* getMapObject() const { return mMapObject; }
const map::MubinIter& getMapObjIter() const { return mMapObjIter; }
map::MapLinkDefType getEmittedSignalType() const { return mEmittedSignalType; }

const sead::Matrix34f& getMtx() const { return mMtx; }
const sead::Vector3f& getVelocity() const { return mVelocity; }
Expand Down Expand Up @@ -457,7 +459,8 @@ class Actor : public BaseProc, public ActorMessageTransceiver::IHandler {
/* 0x700 */ int _700 = 0;
/* 0x708 */ ImpulseBaseProcLink* mImpulseBaseProcLink = nullptr;
/* 0x710 */ sead::TypedBitFlag<StasisFlag> mStasisFlags; // TODO: probably need to rename this
/* 0x714 */ float mLodLoadDistanceMultiplier = 1.0;
/* 0x714 */ map::MapLinkDefType mEmittedSignalType;
///* 0x714 */ float mLodLoadDistanceMultiplier = 1.0;
/* 0x718 */ float _718 = 0.0;
/* 0x71c */ sead::BitFlag32 mSignals;
/* 0x720 */ sead::BitFlag32 _720;
Expand Down
3 changes: 3 additions & 0 deletions src/KingSystem/ActorSystem/actBaseProcMgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,12 +217,15 @@ class BaseProcMgr {
void incrementPendingDeletions() { mNumPendingDeletions.increment(); }
void decrementPendingDeletions() { mNumPendingDeletions.decrement(); }

s8 getCurrentExtraJobArrayIdx() const { return mCurrentExtraJobArrayIdx; }
Status getStatus() const { return mStatus; }
JobType getJobType() const { return mJobType; }
u32 getNumJobTypes() const { return mJobLists.size(); }
BaseProcJobLists& getJobLists(JobType type) { return mJobLists[u32(type)]; }
bool isPushingJobs() const { return mIsPushingJobs; }

void setPushActorJobType3InsteadOf6(bool value) { mPushActorJobType3InsteadOf6 = value; }

static u32 sConstant0;
static u32 sConstant1;
static u32 sConstant2;
Expand Down
Loading

0 comments on commit 3414304

Please sign in to comment.