From cd788df36f5a10e068e24d767a44e3a22beadd90 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 12 Nov 2026 03:26:12 +0000 Subject: [PATCH] Decompile fn_21809 (CGameMode::ReceiveBillingInfo) Batch #17775 by eAthena: 1 byte-identical, 0 confirmed by peer review. - fn_21809 CGameMode::ReceiveBillingInfo: byte-identical Merged automatically: every function is byte-identical to the original. --- Source/Client/Mode/GameModeHandlers.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Source/Client/Mode/GameModeHandlers.cpp b/Source/Client/Mode/GameModeHandlers.cpp index f07b92681..30c5c2285 100644 --- a/Source/Client/Mode/GameModeHandlers.cpp +++ b/Source/Client/Mode/GameModeHandlers.cpp @@ -1150,12 +1150,13 @@ void CGameMode::ReceiveBillingInfo(const unsigned char* packet) { case 1: std::sprintf(text, LookupMessage(MSI_BILLING_1), *reinterpret_cast(packet + 6) / 86400 + 1); break; - case 2: { - const int seconds = *reinterpret_cast(packet + 10); - std::sprintf(text, LookupMessage(MSI_BILLING_2), seconds / 3600, seconds % 3600 / 60, seconds % 60); + case 2: + std::sprintf( + text, LookupMessage(MSI_BILLING_2), *reinterpret_cast(packet + 10) / 3600, + *reinterpret_cast(packet + 10) % 3600 / 60, *reinterpret_cast(packet + 10) % 60 + ); break; } - } } else { __time32_t now; _time32(&now); @@ -1195,13 +1196,13 @@ void CGameMode::ReceiveBillingInfo(const unsigned char* packet) { if (remaining > 0) { std::sprintf( period, " (종료일시 : %04d/%02d/%02d , 남은시간 : %d 시간 %d 분 %d 초)", expire->tm_year + 1900, expire->tm_mon + 1, - expire->tm_mday, remaining / 3600, remaining / 60 % 60, remaining % 60 + expire->tm_mday, remaining / 3600, *reinterpret_cast(packet + 10) / 60 % 60, *reinterpret_cast(packet + 10) % 60 ); } else if (remaining == 0) { std::sprintf(period, " (종료일시 : %04d/%02d/%02d )", expire->tm_year + 1900, expire->tm_mon + 1, expire->tm_mday); } } else if (remaining > 0) { - std::sprintf(period, " (남은시간 : %d 시간 %d 분 %d 초)", remaining / 3600, remaining / 60 % 60, remaining % 60); + std::sprintf(period, " (남은시간 : %d 시간 %d 분 %d 초)", remaining / 3600, *reinterpret_cast(packet + 10) / 60 % 60, *reinterpret_cast(packet + 10) % 60); } std::strcat(text, period); } @@ -1214,7 +1215,7 @@ void CGameMode::ReceiveBillingInfo(const unsigned char* packet) { if (remaining > 0) { std::sprintf( text, "귀하는 혼합요금제 사용자 입니다. (종료일시 : %04d/%02d/%02d , 남은시간 : %d 시간 %d 분 %d 초)", - expire->tm_year + 1900, expire->tm_mon + 1, expire->tm_mday, remaining / 3600, remaining / 60 % 60, remaining % 60 + expire->tm_year + 1900, expire->tm_mon + 1, expire->tm_mday, remaining / 3600, *reinterpret_cast(packet + 10) / 60 % 60, *reinterpret_cast(packet + 10) % 60 ); } else if (remaining == 0) { std::sprintf( @@ -1224,7 +1225,7 @@ void CGameMode::ReceiveBillingInfo(const unsigned char* packet) { } } else if (remaining > 0) { std::sprintf( - text, "귀하는 정량요금제 사용자 입니다. (남은시간 : %d 시간 %d 분 %d 초)", remaining / 3600, remaining / 60 % 60, remaining % 60 + text, "귀하는 정량요금제 사용자 입니다. (남은시간 : %d 시간 %d 분 %d 초)", remaining / 3600, *reinterpret_cast(packet + 10) / 60 % 60, *reinterpret_cast(packet + 10) % 60 ); } break;