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 Aug 26, 2021
1 parent 867c812 commit d8ca697
Show file tree
Hide file tree
Showing 11 changed files with 737 additions and 23 deletions.
42 changes: 21 additions & 21 deletions data/uking_functions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -73599,40 +73599,40 @@ Address,Quality,Size,Name
0x0000007100d375e4,U,000076,LazyTraverseList::dtor
0x0000007100d37630,U,000132,LazyTraverseList::updateFlags
0x0000007100d376b4,U,000216,
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,W,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
0x0000007100d382a4,O,000056,_ZN4ksys3act7LinkTag12finalizeInitEPNS0_8BaseProc11InitContextE
0x0000007100d382dc,O,000188,_ZN4ksys3act7LinkTag19prepareForPreDeleteEv
0x0000007100d38398,O,000092,_ZN4ksys3act7LinkTag27isDonePreparingForPreDeleteEv
0x0000007100d383f4,W,000320,_ZN4ksys3act7LinkTag9calcCountEb
0x0000007100d38534,W,000748,_ZN4ksys3act7LinkTag9calcPulseEb
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
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,W,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 @@ -107,6 +107,8 @@ target_sources(uking PRIVATE
actInstParamPack.cpp
actInstParamPack.h
actLifeRecoveryInfo.h
actLinkTag.cpp
actLinkTag.h
actPlayerInfo.cpp
actPlayerInfo.h
actTag.h
Expand Down
6 changes: 4 additions & 2 deletions src/KingSystem/ActorSystem/actActor.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <prim/seadTypedBitFlag.h>
#include "KingSystem/ActorSystem/actBaseProc.h"
#include "KingSystem/Map/mapMubinIter.h"
#include "KingSystem/Map/mapObjectLink.h"

namespace ksys {

Expand Down Expand Up @@ -90,7 +91,7 @@ class Actor : public BaseProc {

static constexpr size_t getCreatorListNodeOffset() { return offsetof(Actor, mCreatorListNode); }

protected:
//protected:
friend class ActorCreator;

/* 0x17c */ u8 TEMP_0x17c[0x518 - 0x17c]; // FIXME
Expand All @@ -105,7 +106,8 @@ class Actor : public BaseProc {
/* 0x658 */ u8 TEMP_0x650[0x710 - 0x658];
/* ..... */ // The name could be incorrect.
/* 0x710 */ sead::TypedBitFlag<StasisFlag> mStasisFlags;
/* 0x714 */ u8 TEMP_0x714[0x7b0 - 0x714]; // FIXME
/* 0x714 */ map::MapLinkDefType mEmittedSignalType;
/* 0x718 */ u8 TEMP_0x714[0x7b0 - 0x718]; // FIXME
/* 0x7b0 */ ActorCreator* mCreator{};
/* 0x7b8 */ sead::ListNode mCreatorListNode;
/* 0x7c8 */ map::Object* mMapObject;
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 @@ -214,12 +214,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 d8ca697

Please sign in to comment.