diff options
| author | Léo Lam <leo@leolam.fr> | 2021-02-07 16:37:46 +0100 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2021-02-07 16:44:40 +0100 |
| commit | 5b90a9b40f0c81fbc39e59b1bcb6fb84641be034 (patch) | |
| tree | 44c78afb90b482b55d69cbf90b9f3711b506cf24 /src | |
| parent | db6d210a5389e3113504dbe870a6db3ea9a43fc4 (diff) | |
ksys/evt: More coding style tweaks
Diffstat (limited to 'src')
| -rw-r--r-- | src/KingSystem/Event/evtOrderParam.cpp | 18 | ||||
| -rw-r--r-- | 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<sead::BufferedSafeString>(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<T*>(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<OrderParamEntry> mEntries; u32 mEntryCount = 0; |
