summaryrefslogtreecommitdiff
path: root/src/KingSystem
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-07-07 14:10:14 +0200
committerLéo Lam <leo@leolam.fr>2021-07-07 14:34:02 +0200
commit48e70b92bfb82cd0dad6d4f795c36f491be0f2eb (patch)
treee624b6bc646543147cbfaf391b8ee468e2e80ef1 /src/KingSystem
parent1b6c549a38de8fb27d2eb6584888feed972570a2 (diff)
ksys/map: Fix more matching or equivalency issues
Diffstat (limited to 'src/KingSystem')
-rw-r--r--src/KingSystem/Map/mapObject.cpp10
-rw-r--r--src/KingSystem/Map/mapPlacementActors.h5
-rw-r--r--src/KingSystem/Map/mapPlacementMgr.cpp2
-rw-r--r--src/KingSystem/Map/mapPlacementMgr.h7
-rw-r--r--src/KingSystem/Map/mapPlacementTree.h4
5 files changed, 15 insertions, 13 deletions
diff --git a/src/KingSystem/Map/mapObject.cpp b/src/KingSystem/Map/mapObject.cpp
index e693439a..d0671bdf 100644
--- a/src/KingSystem/Map/mapObject.cpp
+++ b/src/KingSystem/Map/mapObject.cpp
@@ -420,7 +420,6 @@ bool Object::x_18() const {
return !id->sub_7100D30DF8(info, temp);
}
-// NON_MATCHING
bool Object::setupTargetLinks(Object* src, ObjectLink* link, sead::Heap* heap) {
if (mNumLinksPointingToMe == 0)
return false;
@@ -431,11 +430,10 @@ bool Object::setupTargetLinks(Object* src, ObjectLink* link, sead::Heap* heap) {
return false;
}
- if (mLinkData->mLinksToSelf.links.isBufferReady())
- return mLinkData->sub_7100D4EC40(src, link, this);
-
- if (!mLinkData->allocLinksToSelf(mNumLinksPointingToMe, heap))
- return false;
+ if (!mLinkData->mLinksToSelf.links.isBufferReady()) {
+ if (!mLinkData->allocLinksToSelf(mNumLinksPointingToMe, heap))
+ return false;
+ }
return mLinkData->sub_7100D4EC40(src, link, this);
}
diff --git a/src/KingSystem/Map/mapPlacementActors.h b/src/KingSystem/Map/mapPlacementActors.h
index 49552ae9..a2e55a8f 100644
--- a/src/KingSystem/Map/mapPlacementActors.h
+++ b/src/KingSystem/Map/mapPlacementActors.h
@@ -118,9 +118,10 @@ public:
PlacementStruct1* mStruct1;
u8 _e8[0x538 - 0xe8];
sead::SafeArray<ActorData, 6000> mActorData;
- // u8 _261b38[0x2a80d0 - 0x261b38];
+ u8 _261b38[0x2a8058 - 0x261b38];
u32 mActorDataMapSize;
+ u8 _2a805c[0x2a80d0 - 0x2a805c];
};
-// KSYS_CHECK_SIZE_NX150(PlacementActors, 0x2A80D0);
+KSYS_CHECK_SIZE_NX150(PlacementActors, 0x2A80D0);
} // namespace ksys::map
diff --git a/src/KingSystem/Map/mapPlacementMgr.cpp b/src/KingSystem/Map/mapPlacementMgr.cpp
index 807dc199..931e6531 100644
--- a/src/KingSystem/Map/mapPlacementMgr.cpp
+++ b/src/KingSystem/Map/mapPlacementMgr.cpp
@@ -94,7 +94,7 @@ void PlacementMgr::printDebugInfo() {
mMassMemoryUsage / 1024, mClusteredMemoryUsage / 1024);
// Dynamic heap remaining:%dk
sead::FormatFixedSafeString<128> s4("動的ヒープ残り:%dk",
- int(mDynamicHeap->getFreeSize()) / 1024);
+ u32(mDynamicHeap->getFreeSize() / 1024));
}
void PlacementMgr::incrementCounter() {
diff --git a/src/KingSystem/Map/mapPlacementMgr.h b/src/KingSystem/Map/mapPlacementMgr.h
index d8189dfd..28ac2700 100644
--- a/src/KingSystem/Map/mapPlacementMgr.h
+++ b/src/KingSystem/Map/mapPlacementMgr.h
@@ -77,7 +77,7 @@ public:
u8 TEMP[0x108];
sead::Delegate2<PlacementMgr, sead::Thread*, sead::MessageQueue::Element> mThreadParams;
sead::DelegateThread* mThread;
- u32 mTraverseResultIdx;
+ int mTraverseResultIdx;
u16 mRequestedMsg = 0;
sead::Vector3f mCameraPos{};
@@ -106,6 +106,8 @@ public:
u8 TEMP2[0x70];
u32 _278;
+ sead::Vector3f _27c;
+ u32 _288;
u32 mPreActorNumDone;
u32 mLoadActorNumTotal;
@@ -117,7 +119,7 @@ public:
sead::CriticalSection mCS{};
u64 mStartTick;
- u8 TEMP3[0x5c];
+ u8 TEMP3[0x4c];
sead::TypedBitFlag<MgrFlag, sead::Atomic<u32>> mFlags;
bool mThreadStarted = false;
@@ -146,5 +148,6 @@ public:
u8 TEMP5[0x10];
};
KSYS_CHECK_SIZE_NX150(PlacementMgr, 0x818);
+static_assert(offsetof(PlacementMgr, mThreadStarted) == 0x688);
} // namespace ksys::map
diff --git a/src/KingSystem/Map/mapPlacementTree.h b/src/KingSystem/Map/mapPlacementTree.h
index f88bd25a..9dc50987 100644
--- a/src/KingSystem/Map/mapPlacementTree.h
+++ b/src/KingSystem/Map/mapPlacementTree.h
@@ -33,8 +33,8 @@ public:
u32 _30{};
f32 _34 = F32Limits::max();
f32 _38 = F32Limits::max();
- f32 _3c = F32Limits::max();
- f32 _40 = F32Limits::max();
+ f32 _3c = F32Limits::lowest();
+ f32 _40 = F32Limits::lowest();
sead::ReadWriteLock mLock{};
};