From 5b90a9b40f0c81fbc39e59b1bcb6fb84641be034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 7 Feb 2021 16:37:46 +0100 Subject: [PATCH] ksys/evt: More coding style tweaks --- src/KingSystem/Event/evtOrderParam.cpp | 18 ++++++++++-------- src/KingSystem/Event/evtOrderParam.h | 18 +++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/KingSystem/Event/evtOrderParam.cpp b/src/KingSystem/Event/evtOrderParam.cpp index 1168fa2d..06915c58 100644 --- a/src/KingSystem/Event/evtOrderParam.cpp +++ b/src/KingSystem/Event/evtOrderParam.cpp @@ -28,7 +28,7 @@ bool OrderParam::initialize(s32 entry_count) { return false; for (u32 i = 0; i < u32(entry_count); i++) - clearEntry(&mEntries[i]); + mEntries[i].clear(); mEntryCount = 0; mInitialized = true; @@ -65,7 +65,7 @@ void OrderParam::uninitialize() { break; } } - clearEntry(&entry); + entry.clear(); } mEntries.freeBuffer(); mEntryCount = 0; @@ -159,6 +159,7 @@ bool OrderParam::addParamFloat(f32 val, const sead::SafeString& name) { ++mEntryCount; return true; } + bool OrderParam::addParamString(const sead::SafeString& val, const sead::SafeString& name) { auto* entry_ptr = tryAllocParam(name, OrderParamType::String); if (!entry_ptr) @@ -207,6 +208,7 @@ bool OrderParam::getStringByName(const sead::SafeString& name, sead::SafeString* bool OrderParam::getArrayByName(const sead::SafeString& name, void** out_ptr, u32* out_size) { return getPointerByName(name, out_ptr, OrderParamType::Array, out_size); } + OrderParamEntry* OrderParam::getFreeEntry() { for (s32 i = 0; i < mEntries.size(); i++) { auto* entry = &mEntries[i]; @@ -267,13 +269,13 @@ OrderParamEntry* OrderParam::tryAlloc(OrderParamType type, u32 size, const sead: if (ptr) { entry->hash = sead::HashCRC32::calcStringHash(*entry->name); entry->type = type; - } else { - if (entry->name) - delete entry->name; - clearEntry(entry); - entry = nullptr; + return entry; } - return entry; + + if (entry->name) + delete entry->name; + entry->clear(); + return nullptr; } void* OrderParam::getPointerByName(const sead::SafeString& name, OrderParamType type, diff --git a/src/KingSystem/Event/evtOrderParam.h b/src/KingSystem/Event/evtOrderParam.h index 5498a307..95f2a5fb 100644 --- a/src/KingSystem/Event/evtOrderParam.h +++ b/src/KingSystem/Event/evtOrderParam.h @@ -19,6 +19,14 @@ enum class OrderParamType : u16 { }; struct OrderParamEntry { + void clear() { + hash = 0; + size = 0; + type = OrderParamType::Invalid; + name = nullptr; + data = nullptr; + } + u32 hash; sead::SafeString* name; void* data; @@ -72,19 +80,11 @@ private: return nullptr; auto* entry = tryAlloc(type, size, name); - if (!entry || !(entry->data)) + if (!entry || !entry->data) return nullptr; return static_cast(entry->data); } - inline void clearEntry(OrderParamEntry* e) { - e->hash = 0; - e->size = 0; - e->type = OrderParamType::Invalid; - e->name = nullptr; - e->data = nullptr; - } - sead::Heap* mHeap; sead::Buffer mEntries; u32 mEntryCount = 0;