Decompile fn_10931 (UIBitmapButton::SetBitmap)

Batch #12297 by cremane: 0 byte-identical, 1 confirmed by peer review.

- fn_10931 UIBitmapButton::SetBitmap: logic confirmed by peer review

Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-11-05 13:06:48 +00:00
commit e1f6822a42

View file

@ -1,7 +1,7 @@
#include "Resource/Bitmap/BitmapResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/TextureNames.h"
#include "UI/Buttons/UIBitmapButton.h"
// OFFSET: 0x0084EAB0
// FUNCTION: fn_10650
UIBitmapButton::UIBitmapButton()
@ -15,7 +15,7 @@ UIBitmapButton::~UIBitmapButton() = default;
// OFFSET: 0x008657A0
// FUNCTION: fn_10931
bool UIBitmapButton::SetBitmap(const char* name, int state, unsigned char exactSize) {
CBitmapRes* bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(name));
CBitmapRes* bitmap = static_cast<CBitmapRes*>(ResourceMgr::Instance().Load(Resolve(name)));
if (!bitmap) {
return false;
}
@ -23,18 +23,18 @@ bool UIBitmapButton::SetBitmap(const char* name, int state, unsigned char exactS
if (bitmap->image.width > this->m_bitmapWidth) {
this->m_bitmapWidth = bitmap->image.width;
}
if (bitmap->image.height > this->m_bitmapHeight) {
this->m_bitmapHeight = bitmap->image.height;
}
if (exactSize != 0) {
this->m_bitmapWidth = bitmap->image.width;
this->m_bitmapHeight = bitmap->image.height;
}
if (state >= 0 && state <= 3) {
this->m_names[state] = name;
switch (state) {
case 0: this->m_names[0] = name; break;
case 1: this->m_names[1] = name; break;
case 2: this->m_names[2] = name; break;
case 3: this->m_names[3] = name; break;
}
return true;