diff --git a/Source/Contents/Actors/RenderObject.cpp b/Source/Contents/Actors/RenderObject.cpp index 90bcc1d4..bd53f540 100644 --- a/Source/Contents/Actors/RenderObject.cpp +++ b/Source/Contents/Actors/RenderObject.cpp @@ -2123,6 +2123,16 @@ void CGameActor::ClearUnknown037C(int value) { } } +// OFFSET: 0x00CAB990 +// FUNCTION: fn_21032 +const char* CRenderObject::GetActName() { + if (!this->render.action) { + return nullptr; + } + + return this->render.action->GetName(); +} + // OFFSET: 0x00CAB9B0 // FUNCTION: fn_21033 CActRes* CRenderObject::GetActRes() { diff --git a/Source/Contents/Actors/RenderObject.h b/Source/Contents/Actors/RenderObject.h index 386cb15e..587aff8b 100644 --- a/Source/Contents/Actors/RenderObject.h +++ b/Source/Contents/Actors/RenderObject.h @@ -80,6 +80,7 @@ public: void ApplySwing(int mode, int& x, int& y, int& outX, int& outY) const; void SetInstantValue(int key, std::int64_t value); std::int64_t GetInstant(int key) const; + const char* GetActName(); CActRes* GetActRes(); void SetFrameSequence( unsigned char animation, unsigned char firstFrame, unsigned char lastFrame, unsigned char finishAnimation, diff --git a/Source/Resource/Resource.cpp b/Source/Resource/Resource.cpp index 3f9bff66..64ad2095 100644 --- a/Source/Resource/Resource.cpp +++ b/Source/Resource/Resource.cpp @@ -68,3 +68,9 @@ void CRes::Unlock() { this->lastUse = timeGetTime(); --this->references; } + +// OFFSET: 0x00AEF390 +// FUNCTION: fn_18178 +const char* CRes::GetName() { + return this->name.text; +} diff --git a/Source/Resource/Resource.h b/Source/Resource/Resource.h index a7b3be55..d47bf2a1 100644 --- a/Source/Resource/Resource.h +++ b/Source/Resource/Resource.h @@ -29,6 +29,7 @@ public: virtual void MissingFile(CRenderSystemBase* system, const char* name); std::uint32_t Lock(); void Unlock(); + const char* GetName(); /* 0004 */ std::uint32_t references; /* 0008 */ std::uint32_t lastUse;