Decompile fn_09473 (UICashEmotionPack_Unpurchase::Slot53)

Batch #8806 by kyoshi: 0 byte-identical, 1 confirmed by peer review.

- fn_09473 UICashEmotionPack_Unpurchase::Slot53: logic confirmed by peer review

Peer-reviewed-by: eAthena, gordaoprogramas, dori
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-10-31 21:27:58 +00:00
commit ca9d96ebee
2 changed files with 22 additions and 2 deletions

View file

@ -122,6 +122,8 @@ public:
explicit UICashEmotionPack_Search(UIWindowContext& windows) : UICashEmotionPack(windows) {
}
void Paint() override;
int SetResults(const char* title, const std::vector<std::pair<int, int>>& results);
};
class UICashEmotionPack_Search_Normal : public UICashEmotionPack_Search {
@ -153,6 +155,8 @@ public:
void Slot26(int x, int y) override;
int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override;
int Slot53(int packId, bool showTooltip, bool hoverable) override;
void SetPressed(bool pressed, bool force);
protected:
@ -232,6 +236,8 @@ public:
int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override;
const char* Filter() override;
void AddResults(char type, const std::vector<std::pair<int, int>>& results, int& y);
protected:
/* 00B0 */ std::vector<UICashEmotionPack*> m_items;
/* 00BC */ ICashEmotionAction* m_action;
@ -1782,6 +1788,8 @@ const char* UICashEmotionListChildWnd_Search::Filter() {
return this->m_filter.c_str();
}
// OFFSET: 0x007C59A0
// OFFSET: 0x007C5D80
// FUNCTION: fn_09383
void UICashEmotionListChildWnd_Search::Slot15(int, int) {
@ -2586,6 +2594,8 @@ std::string UICashEmotionPack::GetPriceText(int packId) {
return std::vformat(format, std::make_format_args(price));
}
// OFFSET: 0x007CA2C0
// OFFSET: 0x007CA550
// FUNCTION: fn_09445
void UICashEmotionPack::Slot15(int, int) {
@ -2790,6 +2800,8 @@ int UICashEmotionPack_Purchase::SendMsg(
}
}
// OFFSET: 0x007CAF60
// OFFSET: 0x007CB160
// FUNCTION: fn_09465
void UICashEmotionPack_Search::Paint() {
@ -2868,6 +2880,14 @@ UICashEmotionPack_Unpurchase::UICashEmotionPack_Unpurchase(UIWindowContext& wind
this->Invalidate();
}
// OFFSET: 0x007CB790
// FUNCTION: fn_09473
int UICashEmotionPack_Unpurchase::Slot53(int packId, bool showTooltip, bool hoverable) {
const int height = UICashEmotionPack::Slot53(packId, showTooltip, hoverable);
this->unknown_00E4 = this->GetPriceText(packId);
return height;
}
// OFFSET: 0x007CB850
// FUNCTION: fn_09474
void UICashEmotionPack_Unpurchase::Paint() {

View file

@ -26,7 +26,7 @@ public:
void Slot27(int x, int y) override;
void Slot35(int argument) override;
int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override;
virtual int Slot53(int packId, bool showTooltip, bool hoverable) = 0;
virtual int Slot53(int packId, bool showTooltip, bool hoverable);
virtual void UpdateExpiry(Timestamp* expiry);
virtual void ShowExpiry(__time32_t expiry);
@ -36,7 +36,7 @@ public:
protected:
/* 007C */ std::vector<UICashEmotionPiece*> m_pieces;
/* 0088 */ UIWindow* unknown_0088;
/* 0088 */ UIStaticText* unknown_0088;
/* 008C */ UIStaticText* m_titleText;
/* 0090 */ std::string m_background;
/* 00A8 */ int unknown_00A8;