From bb2b4b50a9d3a05fbb423768e1d5be2c178d08f2 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 5 Nov 2026 00:06:08 +0000 Subject: [PATCH] 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). --- Source/Contents/CashEmotionMgr.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Source/Contents/CashEmotionMgr.cpp b/Source/Contents/CashEmotionMgr.cpp index 0c6b628c..33ecae9d 100644 --- a/Source/Contents/CashEmotionMgr.cpp +++ b/Source/Contents/CashEmotionMgr.cpp @@ -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 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)); } }