Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ksys/act: Add LinkTag #56

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading