Decompile 5 functions in Source/Contents/CashEmotionMgr.cpp

Batch #11406 by Yommy: 3 byte-identical, 2 confirmed by peer review.

- fn_09416 UICashEmotionListWnd::RestartExpirySchedule: byte-identical
- fn_09419 UICashEmotionListWnd::StartExpirySchedule: byte-identical
- fn_09421 UICashEmotionListWnd::UpdateExpiry: byte-identical (already on main)
- fn_02977 CCashEmotionMgr::sub_59C5A0: logic confirmed by peer review (already on main)
- fn_02986 CCashEmotionMgr::sub_59D2C0: logic confirmed by peer review (already on main)

Peer-reviewed-by: Yommy, cremane
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 00:06:08 +00:00
commit bb2b4b50a9

View file

@ -221,7 +221,7 @@ public:
void Refresh(const char* filter) override;
const char* Filter() override;
void UpdateExpiry(int packId, Timestamp* expiry);
__declspec(noinline) void UpdateExpiry(int packId, Timestamp* expiry);
protected:
/* 00B0 */ std::vector<UICashEmotionPack*> m_items;
@ -289,7 +289,7 @@ public:
int SetPeriod(int packId);
void SetTab(char tab);
void StartExpirySchedule();
void UpdateExpiry(int packId, Timestamp* expiry);
__declspec(noinline) void UpdateExpiry(int packId, Timestamp* expiry);
__declspec(noinline) void RefreshSelection();
void RestartExpirySchedule();
@ -2390,12 +2390,10 @@ int UICashEmotionListWnd::SetPeriod(int packId) {
// OFFSET: 0x007C80C0
// FUNCTION: fn_09416
void UICashEmotionListWnd::RestartExpirySchedule() {
CTimeScheduler* scheduler = g_timeScheduler;
scheduler->sub_BA95F0(7);
g_timeScheduler->sub_BA95F0(7);
if (g_cashEmotionMgr->m_expiry.size() != 0) {
const std::uint64_t now = _Xtime_get_ticks();
const std::int64_t interval = 30000;
scheduler->AddSchedule(new CEmotionPurchaseUseableTimeUISchedule(now, interval, 1));
g_timeScheduler->AddSchedule(new CEmotionPurchaseUseableTimeUISchedule(now, 30000, 1));
}
}
@ -2627,8 +2625,7 @@ void UICashEmotionListWnd::SetTab(char tab) {
void UICashEmotionListWnd::StartExpirySchedule() {
if (g_cashEmotionMgr->m_expiry.size() != 0) {
const std::uint64_t now = _Xtime_get_ticks();
const std::int64_t interval = 30000;
g_timeScheduler->AddSchedule(new CEmotionPurchaseUseableTimeUISchedule(now, interval, 1));
g_timeScheduler->AddSchedule(new CEmotionPurchaseUseableTimeUISchedule(now, 30000, 1));
}
}