From 4b2c55b82b7c68ccbc63bc2c71e13f03a2db2a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 25 Mar 2022 21:33:00 +0100 Subject: [PATCH] Use sead::Buffer::fill where applicable Equivalent, shorter, more readable, and matching! --- data/uking_functions.csv | 2 +- src/KingSystem/Resource/Actor/resResourceAS.cpp | 4 +--- src/KingSystem/Resource/Actor/resResourceASResource.cpp | 3 +-- .../Resource/Actor/resResourceASResourceExtension.cpp | 3 +-- src/KingSystem/Utils/Container/LockFreeQueue.h | 4 +--- 5 files changed, 5 insertions(+), 11 deletions(-) diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 6682098d..f292644b 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -91512,7 +91512,7 @@ Address,Quality,Size,Name 0x00000071011ab1fc,O,000144,_ZThn664_N4ksys3res2ASD0Ev 0x00000071011ab28c,O,000004,_ZN4ksys3res2AS9doCreate_EPhjPN4sead4HeapE 0x00000071011ab290,O,000004,_ZThn632_N4ksys3res2AS9doCreate_EPhjPN4sead4HeapE -0x00000071011ab294,m,001992,_ZN4ksys3res2AS6parse_EPhmPN4sead4HeapE +0x00000071011ab294,O,001992,_ZN4ksys3res2AS6parse_EPhmPN4sead4HeapE 0x00000071011aba5c,O,000028,_ZNK4ksys3res2AS16getFirstResourceEv 0x00000071011aba78,O,000008,_ZThn632_N4ksys3res2AS6parse_EPhmPN4sead4HeapE 0x00000071011aba80,O,000104,_ZN4ksys3res2AS9finalize_Ev diff --git a/src/KingSystem/Resource/Actor/resResourceAS.cpp b/src/KingSystem/Resource/Actor/resResourceAS.cpp index 2453d491..bf3edb8d 100644 --- a/src/KingSystem/Resource/Actor/resResourceAS.cpp +++ b/src/KingSystem/Resource/Actor/resResourceAS.cpp @@ -18,7 +18,6 @@ AS::~AS() = default; void AS::doCreate_(u8*, u32, sead::Heap*) {} -// NON_MATCHING: SafeString vtable load is reordered bool AS::parse_(u8* data, size_t size, sead::Heap* parent_heap) { mHeap = util::tryCreateDualHeap(parent_heap); if (!mHeap) @@ -47,8 +46,7 @@ bool AS::parse_(u8* data, size_t size, sead::Heap* parent_heap) { return false; } - for (int i = 0, n = mElementResources.size(); i < n; ++i) - mElementResources(i) = nullptr; + mElementResources.fill(nullptr); ASResource::ParseArgs args; args.list = {}; diff --git a/src/KingSystem/Resource/Actor/resResourceASResource.cpp b/src/KingSystem/Resource/Actor/resResourceASResource.cpp index e6b2be31..00e41a05 100644 --- a/src/KingSystem/Resource/Actor/resResourceASResource.cpp +++ b/src/KingSystem/Resource/Actor/resResourceASResource.cpp @@ -228,8 +228,7 @@ bool ASResourceWithChildren::doParse(const ASResource::ParseArgs& args) { if (!mChildren.tryAllocBuffer(size, args.heap)) return false; - for (int i = 0, n = mChildren.size(); i < n; ++i) - mChildren(i) = nullptr; + mChildren.fill(nullptr); for (auto it = mChildren.begin(), end = mChildren.end(); it != end; ++it) { const auto idx = *Children.getParameterData(it.getIndex()); diff --git a/src/KingSystem/Resource/Actor/resResourceASResourceExtension.cpp b/src/KingSystem/Resource/Actor/resResourceASResourceExtension.cpp index 9a400cd1..c44948f1 100644 --- a/src/KingSystem/Resource/Actor/resResourceASResourceExtension.cpp +++ b/src/KingSystem/Resource/Actor/resResourceASResourceExtension.cpp @@ -259,8 +259,7 @@ bool ASExtensions::parse(const ASExtensions::ParseArgs& args) { if (!mParsers.tryAllocBuffer(num_extensions, args.heap)) return false; - for (int i = 0, n = mParsers.size(); i < n; ++i) - mParsers(i) = nullptr; + mParsers.fill(nullptr); auto it = mParsers.begin(); const auto end = mParsers.end(); diff --git a/src/KingSystem/Utils/Container/LockFreeQueue.h b/src/KingSystem/Utils/Container/LockFreeQueue.h index 1f6d5817..28de8593 100644 --- a/src/KingSystem/Utils/Container/LockFreeQueue.h +++ b/src/KingSystem/Utils/Container/LockFreeQueue.h @@ -22,9 +22,7 @@ public: void alloc(int capacity, sead::Heap* heap) { SEAD_ASSERT(sead::Mathi::isPow2(capacity)); mBuffer.allocBufferAssert(capacity, heap); - - for (int i = 0, n = getCapacity(); i < n; ++i) - mBuffer(i) = nullptr; + mBuffer.fill(nullptr); } void freeBuffer() { mBuffer.freeBuffer(); }