From 1b6c549a38de8fb27d2eb6584888feed972570a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 7 Jul 2021 13:58:36 +0200 Subject: [PATCH] ksys/map: Fix matching issues --- src/KingSystem/Map/mapObject.cpp | 2 +- src/KingSystem/Map/mapObjectLink.cpp | 12 ++++++------ src/KingSystem/Map/mapObjectLink.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/KingSystem/Map/mapObject.cpp b/src/KingSystem/Map/mapObject.cpp index 4cdc137f..e693439a 100644 --- a/src/KingSystem/Map/mapObject.cpp +++ b/src/KingSystem/Map/mapObject.cpp @@ -499,7 +499,7 @@ void* Object::getRails() const { void* Object::getRails_0() const { if (mLinkData == nullptr) return nullptr; - return mLinkData->mRail; + return mLinkData->mRails; } bool Object::allocLinkData(sead::Heap* heap) { diff --git a/src/KingSystem/Map/mapObjectLink.cpp b/src/KingSystem/Map/mapObjectLink.cpp index ebda8430..700ab069 100644 --- a/src/KingSystem/Map/mapObjectLink.cpp +++ b/src/KingSystem/Map/mapObjectLink.cpp @@ -139,9 +139,9 @@ bool ObjectLink::getObjectProcWithAccessor(act::ActorLinkConstDataAccess& access ObjectLinkData::ObjectLinkData() = default; void ObjectLinkData::deleteArrays() { - if (mRail) { - delete mRail; - mRail = nullptr; + if (mRails) { + delete[] mRails; + mRails = nullptr; } mLinksOther.links.freeBuffer(); @@ -222,9 +222,9 @@ ObjectLink* ObjectLinkArray::findLinkWithType(MapLinkDefType type) { } ObjectLink* ObjectLinkArray::findLinkWithType_0(MapLinkDefType type) { - for (int i = 0; i < links.size(); ++i) { - if (links[i].type == type) - return &links[i]; + for (auto it = links.begin(), end = links.end(); it != end; ++it) { + if (it->type == type) + return &*it; } return nullptr; } diff --git a/src/KingSystem/Map/mapObjectLink.h b/src/KingSystem/Map/mapObjectLink.h index 0068fe9f..382aa804 100644 --- a/src/KingSystem/Map/mapObjectLink.h +++ b/src/KingSystem/Map/mapObjectLink.h @@ -127,7 +127,7 @@ public: bool field_57 = false; GenGroup* mGenGroup = nullptr; - Rail* mRail = nullptr; + Rail* mRails = nullptr; }; KSYS_CHECK_SIZE_NX150(ObjectLinkData, 0x68);