From 84d8f2ccf10cbc157517bafbad09fe4bba66e9ae Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 31 Oct 2026 05:50:31 +0000 Subject: [PATCH] Decompile 2 functions in Source/UI/StylingShop/UIStylingShopWnd.cpp, Source/UI/StylingShop/UIStylingShopWnd.h Batch #7296 by meitogi: 0 byte-identical, 2 confirmed by peer review. - fn_10289 UIDisplayCharacter::UIDisplayCharacter: logic confirmed by peer review - fn_10320 UIShowInfoWnd::CheckColoringGoods: logic confirmed by peer review Peer-reviewed-by: eAthena, superintelligence, aDw Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/UI/StylingShop/UIStylingShopWnd.cpp | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/Source/UI/StylingShop/UIStylingShopWnd.cpp b/Source/UI/StylingShop/UIStylingShopWnd.cpp index e838d8d9d..b6245afb8 100644 --- a/Source/UI/StylingShop/UIStylingShopWnd.cpp +++ b/Source/UI/StylingShop/UIStylingShopWnd.cpp @@ -494,6 +494,26 @@ void UIDisplayCharacter::LoadSessionStyle() { } // OFFSET: 0x00822F20 +// FUNCTION: fn_10289 +UIDisplayCharacter::UIDisplayCharacter(UIWindowContext& context) : UIWindow(context, 0) { + this->unknown_0080 = 0; + this->unknown_0084 = 0; + this->unknown_0088 = 0; + this->unknown_008C = 0; + this->job = 0; + this->unknown_0094 = 0; + this->unknown_0098 = 0; + this->unknown_009C = 0; + this->unknown_00A0 = 0; + this->unknown_00A4 = 0; + *reinterpret_cast(&this->unknown_00B0) = 0; + this->unknown_00BC = 0; + this->unknown_00C0 = 0; + this->unknown_00C4 = 0; + this->unknown_00B4 = 0; + this->unknown_00B8 = 0; + this->unknown_007C = "유저인터페이스\\styleshop\\shadow_chr_off.bmp"; +} // OFFSET: 0x00823CE0 // FUNCTION: fn_10298 @@ -678,6 +698,38 @@ void UIStylingShopWnd::Paint() { } // OFFSET: 0x00825910 +// FUNCTION: fn_10320 +void UIShowInfoWnd::CheckColoringGoods(bool* coloring) { + if (g_session.IsDoramJob(g_session.GetDisplayJob()) == true) { + g_luaScript->Call("StylingShop_GetIsColoring_by_goods", "d>b", this->m_display->unknown_008C, coloring); + } + + const unsigned char* flags = this->unknown_00AD; + const unsigned char wingFlag = reinterpret_cast(&this->unknown_00B1)[0]; + const unsigned char accessoryFlag = reinterpret_cast(&this->unknown_00B1)[1]; + const UIDisplayCharacter* display = this->m_display; + if (*coloring) { + if (flags[0] == 1 && display->unknown_0094 == g_session.m_headPalette) { + } else if (flags[1] == 1 && display->unknown_008C == g_session.m_head) { + } else if (this->unknown_00BC == 1 && display->job == g_session.m_bodyCostume) { + } else if (flags[2] == 1 && display->unknown_0098 == g_session.m_bodyStyle) { + } else if (flags[3] == 1 && (display->unknown_009C == *reinterpret_cast(&g_session.unknown_0EF4[4]) || display->unknown_009C == 0)) { + } else if (wingFlag == 1 && (display->unknown_00A0 == *reinterpret_cast(&g_session.unknown_0EF4[8]) || display->unknown_00A0 == 0)) { + } else if (accessoryFlag == 1 && (display->unknown_00A4 == *reinterpret_cast(&g_session.unknown_0EF4[0]) || display->unknown_00A0 == 0)) { + } else { + return; + } + } + + for (unsigned int i = 0; i < this->m_list.size(); ++i) { + this->m_checks[i]->SetTooltip(""); + this->m_checks[i]->SetChecked(0); + } + this->m_list.clear(); + *reinterpret_cast(this->unknown_00AD) = 0; + this->unknown_00B1 = 0; + this->unknown_00BC = 0; +} // OFFSET: 0x00826E50 // FUNCTION: fn_10325