From 9822c2fdf5afbfd7b8a9c0e4f1fde062808b0049 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 24 Oct 2026 18:10:11 +0000 Subject: [PATCH] Decompile fn_18183 (CRes::AddRef) Batch #125 by ragnarok-clanker: 1 byte-identical, 0 confirmed by peer review. - fn_18183 CRes::AddRef: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/Resource/Resource.cpp | 10 +++++++--- Source/Resource/Resource.h | 3 ++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Source/Resource/Resource.cpp b/Source/Resource/Resource.cpp index ec8ffca..2e5cec7 100644 --- a/Source/Resource/Resource.cpp +++ b/Source/Resource/Resource.cpp @@ -9,8 +9,8 @@ // OFFSET: 0x00AECDE0 // FUNCTION: fn_18144 -ResourceName::ResourceName() { - this->Assign(""); +ResourceName::ResourceName(const char* name) { + this->Assign(name); } void ResourceName::Assign(const char* name) { myGPack::AssignNameKey(this->hash, this->text, name); @@ -21,7 +21,6 @@ void ResourceName::Assign(const char* name) { CRes::CRes() : references(0) { } // OFFSET: 0x007498B0 -// FUNCTION: fn_07851 CRes::~CRes() = default; // OFFSET: 0x00745260 // FUNCTION: fn_07756 @@ -48,6 +47,11 @@ void CRes::MissingFile(CRenderSystemBase* system, const char* name) { std::sprintf(text, "ResourceError : Can't find file %s\n", name); ShowErrorDialog(system, text, 0); } + +// FUNCTION: fn_18183 +std::uint32_t CRes::AddRef() { + return ++this->references; +} // OFFSET: 0x00AF0BE0 // FUNCTION: fn_18194 void CRes::Release() { diff --git a/Source/Resource/Resource.h b/Source/Resource/Resource.h index 2c977de..056035e 100644 --- a/Source/Resource/Resource.h +++ b/Source/Resource/Resource.h @@ -12,7 +12,7 @@ class CRenderSystemBase; struct ResourceName { std::uint32_t hash; char text[252]; - ResourceName(); + explicit ResourceName(const char* name = ""); void Assign(const char* name); }; static_assert(sizeof(ResourceName) == 256); @@ -30,6 +30,7 @@ public: virtual bool Load(const char* name) = 0; virtual void Unload(); virtual void MissingFile(CRenderSystemBase* system, const char* name); + std::uint32_t AddRef(); void Release(); /* 0004 */ std::uint32_t references;