From 20dbe4bc3495f173785c5e5b6c8916ece5bcbb47 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 28 Oct 2026 13:15:47 +0000 Subject: [PATCH] Decompile 2 functions in Source/UI/MiniPartyManager.cpp, Source/UI/Window/UIWindowMgr.h, ... Batch #1455 by Yommy: 0 byte-identical, 2 confirmed by peer review. - fn_07745 CMiniPartyWndAreaMgr::Instance: logic confirmed by peer review - fn_17263 UIWindowMgr::SetScreenSize: logic confirmed by peer review Reviewed-by: ragnarok-clanker Adds to the build: Source/UI/MiniPartyManager.cpp --- Source/UI/MiniPartyManager.cpp | 24 ++++++++++++++++++++++++ Source/UI/Window/MiniPartyWndAreaMgr.h | 2 ++ Source/UI/Window/UIWindowMgr.h | 1 + data/compile.json | 1 + 4 files changed, 28 insertions(+) create mode 100644 Source/UI/MiniPartyManager.cpp diff --git a/Source/UI/MiniPartyManager.cpp b/Source/UI/MiniPartyManager.cpp new file mode 100644 index 0000000..eb7defc --- /dev/null +++ b/Source/UI/MiniPartyManager.cpp @@ -0,0 +1,24 @@ +#include "UI/MiniPartyGrid.h" +#include "UI/Window/MiniPartyWndAreaMgr.h" +#include "UI/Window/UIWindowMgr.h" + +#include + +// OFFSET: 0x007435C0 +// FUNCTION: fn_07745 +CMiniPartyWndAreaMgr* CMiniPartyWndAreaMgr::Instance() { + if (!g_miniPartyWndAreaMgr) { + g_miniPartyWndAreaMgr = new (std::nothrow) CMiniPartyWndAreaMgr; + } + return g_miniPartyWndAreaMgr; +} + +// OFFSET: 0x00AA9ED0 +// FUNCTION: fn_17263 +void UIWindowMgr::SetScreenSize(int width, int height) { + this->unknown_047C = width; + this->unknown_0480 = height; + this->unknown_0030 = 0; + this->unknown_0034 = height - this->unknown_0038; + reinterpret_cast(CMiniPartyWndAreaMgr::Instance())->BuildAvailableCells(); +} diff --git a/Source/UI/Window/MiniPartyWndAreaMgr.h b/Source/UI/Window/MiniPartyWndAreaMgr.h index 4916b03..acde9d5 100644 --- a/Source/UI/Window/MiniPartyWndAreaMgr.h +++ b/Source/UI/Window/MiniPartyWndAreaMgr.h @@ -7,6 +7,8 @@ class CMiniPartyWndAreaMgr { public: + static CMiniPartyWndAreaMgr* Instance(); + /* 0004 */ RECT area; /* 0014 */ int columns; /* 0018 */ int rows; diff --git a/Source/UI/Window/UIWindowMgr.h b/Source/UI/Window/UIWindowMgr.h index fb12f23..8e1fd2b 100644 --- a/Source/UI/Window/UIWindowMgr.h +++ b/Source/UI/Window/UIWindowMgr.h @@ -419,6 +419,7 @@ public: void InitializeWindowPolicy(); void ResetWindows(); void Shutdown(); + void SetScreenSize(int width, int height); UIWindow* LookupWindow(int id); void Schedule(UIWindow* window); void Destroy(UIWindow* window); diff --git a/data/compile.json b/data/compile.json index 5e63916..5919c3e 100644 --- a/data/compile.json +++ b/data/compile.json @@ -585,6 +585,7 @@ "Source/UI/Lists/UIScrollBar.cpp": 2, "Source/UI/Lists/UIScrollBarNavi.cpp": 2, "Source/UI/MiniPartyGrid.cpp": 2, + "Source/UI/MiniPartyManager.cpp": 2, "Source/UI/MiniPartyPlacement.cpp": 2, "Source/UI/Party/UIAdvenPartyBoardWnd.cpp": 2, "Source/UI/Party/UIApplyForPartyWnd.cpp": 2,