Batch #1038 by ragnarok-clanker: 0 byte-identical, 6 confirmed by peer review. - fn_07649 CMiniPartyWndAreaMgr::CMiniPartyWndAreaMgr: logic confirmed by peer review - fn_17099 UIWindowMgr::~UIWindowMgr: logic confirmed by peer review - fn_17233 UIWindowMgr::Shutdown: logic confirmed by peer review - fn_09716 CSnapMgr::MoveEdge: logic confirmed by peer review - fn_06318 ServiceOptions::Get: logic confirmed by peer review (already on main) - fn_06325 ServiceOptions::Set: logic confirmed by peer review (already on main) Reviewed-by: ragnarok-clanker
464 lines
17 KiB
C++
464 lines
17 KiB
C++
#ifndef RAGNAROK_SOURCE_UI_WINDOW_UIWINDOWMGR_H
|
|
#define RAGNAROK_SOURCE_UI_WINDOW_UIWINDOWMGR_H
|
|
|
|
#include "UI/Layout/SnapRectangle.h"
|
|
|
|
#include <windows.h>
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <deque>
|
|
#include <list>
|
|
#include <map>
|
|
#include <set>
|
|
#include <string>
|
|
#include <unordered_set>
|
|
#include <vector>
|
|
|
|
class UIWindow;
|
|
class CWebBrowser;
|
|
|
|
struct WindowTextEntry {
|
|
/* 0000 */ std::string text;
|
|
/* 0018 */ std::uint32_t unknown_0018;
|
|
};
|
|
|
|
struct WindowTextRecord {
|
|
/* 0000 */ std::string text;
|
|
/* 0018 */ std::uint32_t unknown_0018;
|
|
/* 001C */ std::uint32_t unknown_001C;
|
|
};
|
|
|
|
struct SavedWindowRectangle {
|
|
/* 0000 */ int x;
|
|
/* 0004 */ int y;
|
|
/* 0008 */ int width;
|
|
/* 000C */ int height;
|
|
};
|
|
|
|
struct WindowPolicyEntry {
|
|
/* 0000 */ int actions[8];
|
|
};
|
|
|
|
class UIWindowMgr {
|
|
public:
|
|
/* 0004 */ int activeWindowId;
|
|
/* 0008 */ std::map<int, UIWindow*> windows;
|
|
/* 0010 */ unsigned char unknown_0010[8];
|
|
/* 0018 */ std::list<int> windowHistory;
|
|
/* 0020 */ int lastWindowId;
|
|
/* 0024 */ unsigned char unknown_0024;
|
|
/* 0025 */ unsigned char unknown_0025;
|
|
/* 0026 */ unsigned char unknown_0026;
|
|
/* 0028 */ std::map<int, UIWindow*> retainedWindows;
|
|
/* 0030 */ int unknown_0030;
|
|
/* 0034 */ int unknown_0034;
|
|
/* 0038 */ int unknown_0038;
|
|
/* 003C */ int unknown_003C;
|
|
/* 0040 */ int unknown_0040;
|
|
/* 0044 */ int unknown_0044;
|
|
/* 0048 */ int unknown_0048;
|
|
/* 004C */ int unknown_004C;
|
|
/* 0050 */ float unknown_0050;
|
|
/* 0054 */ unsigned char unknown_0054;
|
|
/* 0055 */ unsigned char unknown_0055[3];
|
|
/* 0058 */ int unknown_0058;
|
|
/* 005C */ std::uint32_t unknown_005C;
|
|
/* 0060 */ int unknown_0060;
|
|
/* 0064 */ int unknown_0064;
|
|
/* 0068 */ int unknown_0068;
|
|
/* 006C */ int unknown_006C;
|
|
/* 0070 */ int unknown_0070;
|
|
/* 0074 */ int unknown_0074;
|
|
/* 0078 */ int unknown_0078;
|
|
/* 007C */ int unknown_007C;
|
|
/* 0080 */ int unknown_0080;
|
|
/* 0084 */ int unknown_0084;
|
|
/* 0088 */ int unknown_0088;
|
|
/* 008C */ int unknown_008C;
|
|
/* 0090 */ int unknown_0090;
|
|
/* 0094 */ int unknown_0094;
|
|
/* 0098 */ int unknown_0098;
|
|
/* 009C */ int unknown_009C;
|
|
/* 00A0 */ int unknown_00A0;
|
|
/* 00A4 */ int unknown_00A4;
|
|
/* 00A8 */ int unknown_00A8;
|
|
/* 00AC */ int unknown_00AC;
|
|
/* 00B0 */ int unknown_00B0;
|
|
/* 00B4 */ int unknown_00B4;
|
|
/* 00B8 */ int unknown_00B8;
|
|
/* 00BC */ int unknown_00BC;
|
|
/* 00C0 */ int unknown_00C0;
|
|
/* 00C4 */ int unknown_00C4;
|
|
/* 00C8 */ int unknown_00C8;
|
|
/* 00CC */ int unknown_00CC;
|
|
/* 00D0 */ int unknown_00D0;
|
|
/* 00D4 */ int unknown_00D4;
|
|
/* 00D8 */ int unknown_00D8;
|
|
/* 00DC */ int unknown_00DC;
|
|
/* 00E0 */ int unknown_00E0;
|
|
/* 00E4 */ int unknown_00E4;
|
|
/* 00E8 */ int unknown_00E8;
|
|
/* 00EC */ int unknown_00EC;
|
|
/* 00F0 */ int unknown_00F0;
|
|
/* 00F4 */ int unknown_00F4;
|
|
/* 00F8 */ int unknown_00F8;
|
|
/* 00FC */ int unknown_00FC;
|
|
/* 0100 */ int unknown_0100;
|
|
/* 0104 */ int unknown_0104;
|
|
/* 0108 */ int unknown_0108;
|
|
/* 010C */ int unknown_010C;
|
|
/* 0110 */ int unknown_0110;
|
|
/* 0114 */ int unknown_0114;
|
|
/* 0118 */ int unknown_0118;
|
|
/* 011C */ int unknown_011C;
|
|
/* 0120 */ int unknown_0120;
|
|
/* 0124 */ int unknown_0124;
|
|
/* 0128 */ int unknown_0128;
|
|
/* 012C */ int unknown_012C;
|
|
/* 0130 */ int unknown_0130;
|
|
/* 0134 */ int unknown_0134;
|
|
/* 0138 */ int unknown_0138;
|
|
/* 013C */ int unknown_013C;
|
|
/* 0140 */ int unknown_0140;
|
|
/* 0144 */ int unknown_0144;
|
|
/* 0148 */ int unknown_0148;
|
|
/* 014C */ int unknown_014C;
|
|
/* 0150 */ int unknown_0150;
|
|
/* 0154 */ int unknown_0154;
|
|
/* 0158 */ int unknown_0158;
|
|
/* 015C */ int unknown_015C;
|
|
/* 0160 */ int unknown_0160;
|
|
/* 0164 */ int unknown_0164;
|
|
/* 0168 */ int unknown_0168;
|
|
/* 016C */ int unknown_016C;
|
|
/* 0170 */ std::set<UIWindow*> persistentWindows;
|
|
/* 0178 */ bool retainedPersistentWindow;
|
|
/* 017C */ std::list<UIWindow*> rendered;
|
|
/* 0184 */ std::list<UIWindow*> retired;
|
|
/* 018C */ std::list<UIWindow*> registeredWindows;
|
|
/* 0194 */ std::map<UIWindow*, SnapRectangle> snapRectangles;
|
|
/* 019C */ UIWindow* inputWindow;
|
|
/* 01A0 */ UIWindow* hoverWindow;
|
|
/* 01A4 */ std::deque<UIWindow*> modalWindows;
|
|
/* 01B8 */ UIWindow* window_01B8;
|
|
/* 01BC */ std::uint32_t unknown_01BC;
|
|
/* 01C0 */ std::uint32_t unknown_01C0;
|
|
/* 01C4 */ std::uint32_t unknown_01C4;
|
|
/* 01C8 */ UIWindow* window_01C8;
|
|
/* 01CC */ UIWindow* window_01CC;
|
|
/* 01D0 */ UIWindow* window_01D0;
|
|
/* 01D4 */ std::uint32_t unknown_01D4;
|
|
/* 01D8 */ std::uint32_t unknown_01D8;
|
|
/* 01DC */ std::uint32_t unknown_01DC;
|
|
/* 01E0 */ std::uint32_t unknown_01E0;
|
|
/* 01E4 */ std::uint32_t unknown_01E4;
|
|
/* 01E8 */ UIWindow* window_01E8;
|
|
/* 01EC */ UIWindow* window_01EC;
|
|
/* 01F0 */ std::uint32_t unknown_01F0;
|
|
/* 01F4 */ std::uint32_t unknown_01F4;
|
|
/* 01F8 */ std::uint32_t unknown_01F8;
|
|
/* 01FC */ std::uint32_t unknown_01FC;
|
|
/* 0200 */ std::uint32_t unknown_0200;
|
|
/* 0204 */ std::uint32_t unknown_0204;
|
|
/* 0208 */ std::uint32_t unknown_0208;
|
|
/* 020C */ std::uint32_t unknown_020C;
|
|
/* 0210 */ std::uint32_t unknown_0210;
|
|
/* 0214 */ std::uint32_t unknown_0214;
|
|
/* 0218 */ std::uint32_t unknown_0218;
|
|
/* 021C */ std::uint32_t unknown_021C;
|
|
/* 0220 */ std::uint32_t unknown_0220;
|
|
/* 0224 */ std::uint32_t unknown_0224;
|
|
/* 0228 */ std::uint32_t unknown_0228;
|
|
/* 022C */ std::uint32_t unknown_022C;
|
|
/* 0230 */ UIWindow* window_0230;
|
|
/* 0234 */ std::uint32_t unknown_0234;
|
|
/* 0238 */ std::uint32_t unknown_0238;
|
|
/* 023C */ std::uint32_t unknown_023C;
|
|
/* 0240 */ std::uint32_t unknown_0240;
|
|
/* 0244 */ std::uint32_t unknown_0244;
|
|
/* 0248 */ std::uint32_t unknown_0248;
|
|
/* 024C */ std::uint32_t unknown_024C;
|
|
/* 0250 */ std::uint32_t unknown_0250;
|
|
/* 0254 */ std::uint32_t unknown_0254;
|
|
/* 0258 */ std::uint32_t unknown_0258;
|
|
/* 025C */ std::uint32_t unknown_025C;
|
|
/* 0260 */ std::uint32_t unknown_0260;
|
|
/* 0264 */ std::uint32_t unknown_0264;
|
|
/* 0268 */ std::uint32_t unknown_0268;
|
|
/* 026C */ std::uint32_t unknown_026C;
|
|
/* 0270 */ UIWindow* window_0270;
|
|
/* 0274 */ UIWindow* window_0274;
|
|
/* 0278 */ UIWindow* window_0278;
|
|
/* 027C */ UIWindow* window_027C;
|
|
/* 0280 */ std::uint32_t unknown_0280;
|
|
/* 0284 */ std::uint32_t unknown_0284;
|
|
/* 0288 */ UIWindow* window_0288;
|
|
/* 028C */ std::uint32_t unknown_028C;
|
|
/* 0290 */ std::uint32_t unknown_0290;
|
|
/* 0294 */ std::uint32_t unknown_0294;
|
|
/* 0298 */ std::uint32_t unknown_0298;
|
|
/* 029C */ std::uint32_t unknown_029C;
|
|
/* 02A0 */ std::uint32_t unknown_02A0;
|
|
/* 02A4 */ std::uint32_t unknown_02A4;
|
|
/* 02A8 */ std::uint32_t unknown_02A8;
|
|
/* 02AC */ std::uint32_t unknown_02AC;
|
|
/* 02B0 */ std::uint32_t unknown_02B0;
|
|
/* 02B4 */ std::uint32_t unknown_02B4;
|
|
/* 02B8 */ std::uint32_t unknown_02B8;
|
|
/* 02BC */ std::uint32_t unknown_02BC;
|
|
/* 02C0 */ std::uint32_t unknown_02C0;
|
|
/* 02C4 */ UIWindow* window_02C4;
|
|
/* 02C8 */ UIWindow* window_02C8;
|
|
/* 02CC */ std::uint32_t unknown_02CC;
|
|
/* 02D0 */ std::uint32_t unknown_02D0;
|
|
/* 02D4 */ std::uint32_t unknown_02D4;
|
|
/* 02D8 */ std::uint32_t unknown_02D8;
|
|
/* 02DC */ std::uint32_t unknown_02DC;
|
|
/* 02E0 */ std::uint32_t unknown_02E0;
|
|
/* 02E4 */ std::uint32_t unknown_02E4;
|
|
/* 02E8 */ std::uint32_t unknown_02E8;
|
|
/* 02EC */ std::uint32_t unknown_02EC;
|
|
/* 02F0 */ std::uint32_t unknown_02F0;
|
|
/* 02F4 */ std::uint32_t unknown_02F4;
|
|
/* 02F8 */ std::uint32_t unknown_02F8;
|
|
/* 02FC */ std::uint32_t unknown_02FC;
|
|
/* 0300 */ std::uint32_t unknown_0300;
|
|
/* 0304 */ std::uint32_t unknown_0304;
|
|
/* 0308 */ std::uint32_t unknown_0308;
|
|
/* 030C */ std::uint32_t unknown_030C;
|
|
/* 0310 */ std::uint32_t unknown_0310;
|
|
/* 0314 */ std::uint32_t unknown_0314;
|
|
/* 0318 */ std::uint32_t unknown_0318;
|
|
/* 031C */ std::uint32_t unknown_031C;
|
|
/* 0320 */ UIWindow* window_0320;
|
|
/* 0324 */ UIWindow* window_0324;
|
|
/* 0328 */ std::uint32_t unknown_0328;
|
|
/* 032C */ UIWindow* window_032C;
|
|
/* 0330 */ std::uint32_t unknown_0330;
|
|
/* 0334 */ std::uint32_t unknown_0334;
|
|
/* 0338 */ std::uint32_t unknown_0338;
|
|
/* 033C */ std::uint32_t unknown_033C;
|
|
/* 0340 */ std::uint32_t unknown_0340;
|
|
/* 0344 */ std::uint32_t unknown_0344;
|
|
/* 0348 */ std::uint32_t unknown_0348;
|
|
/* 034C */ std::uint32_t unknown_034C;
|
|
/* 0350 */ std::uint32_t unknown_0350;
|
|
/* 0354 */ std::uint32_t unknown_0354;
|
|
/* 0358 */ std::uint32_t unknown_0358;
|
|
/* 035C */ std::uint32_t unknown_035C;
|
|
/* 0360 */ std::uint32_t unknown_0360;
|
|
/* 0364 */ std::uint32_t unknown_0364;
|
|
/* 0368 */ std::uint32_t unknown_0368;
|
|
/* 036C */ std::uint32_t unknown_036C;
|
|
/* 0370 */ std::uint32_t unknown_0370;
|
|
/* 0374 */ std::uint32_t unknown_0374;
|
|
/* 0378 */ std::uint32_t unknown_0378;
|
|
/* 037C */ std::uint32_t unknown_037C;
|
|
/* 0380 */ std::uint32_t unknown_0380;
|
|
/* 0384 */ std::uint32_t unknown_0384;
|
|
/* 0388 */ UIWindow* window_0388;
|
|
/* 038C */ UIWindow* window_038C;
|
|
/* 0390 */ std::uint32_t unknown_0390;
|
|
/* 0394 */ std::uint32_t unknown_0394;
|
|
/* 0398 */ std::uint32_t unknown_0398;
|
|
/* 039C */ std::uint32_t unknown_039C;
|
|
/* 03A0 */ std::uint32_t unknown_03A0;
|
|
/* 03A4 */ std::uint32_t unknown_03A4;
|
|
/* 03A8 */ std::uint32_t unknown_03A8;
|
|
/* 03AC */ std::uint32_t unknown_03AC;
|
|
/* 03B0 */ std::uint32_t unknown_03B0;
|
|
/* 03B4 */ std::uint32_t unknown_03B4;
|
|
/* 03B8 */ std::uint32_t unknown_03B8;
|
|
/* 03BC */ std::uint32_t unknown_03BC;
|
|
/* 03C0 */ UIWindow* window_03C0;
|
|
/* 03C4 */ UIWindow* window_03C4;
|
|
/* 03C8 */ UIWindow* window_03C8;
|
|
/* 03CC */ UIWindow* window_03CC;
|
|
/* 03D0 */ std::uint32_t unknown_03D0;
|
|
/* 03D4 */ UIWindow* window_03D4;
|
|
/* 03D8 */ UIWindow* window_03D8;
|
|
/* 03DC */ UIWindow* window_03DC;
|
|
/* 03E0 */ std::uint32_t unknown_03E0;
|
|
/* 03E4 */ std::uint32_t unknown_03E4;
|
|
/* 03E8 */ std::uint32_t unknown_03E8;
|
|
/* 03EC */ std::uint32_t unknown_03EC;
|
|
/* 03F0 */ std::uint32_t unknown_03F0;
|
|
/* 03F4 */ unsigned short unknown_03F4;
|
|
/* 03F6 */ unsigned char unknown_03F6;
|
|
/* 03F7 */ unsigned char unknown_03F7;
|
|
/* 03F8 */ std::uint32_t unknown_03F8;
|
|
/* 03FC */ std::uint32_t unknown_03FC;
|
|
/* 0400 */ int modal;
|
|
/* 0404 */ std::uint32_t unknown_0404;
|
|
/* 0408 */ std::uint32_t unknown_0408;
|
|
/* 040C */ std::uint32_t unknown_040C;
|
|
/* 0410 */ std::uint32_t unknown_0410;
|
|
/* 0414 */ std::uint32_t unknown_0414;
|
|
/* 0418 */ std::uint32_t unknown_0418;
|
|
/* 041C */ std::uint32_t unknown_041C;
|
|
/* 0420 */ std::uint32_t unknown_0420;
|
|
/* 0424 */ std::uint32_t unknown_0424;
|
|
/* 0428 */ UIWindow* window_0428;
|
|
/* 042C */ std::uint32_t unknown_042C;
|
|
/* 0430 */ std::uint32_t unknown_0430;
|
|
/* 0434 */ std::uint32_t unknown_0434;
|
|
/* 0438 */ std::uint32_t unknown_0438;
|
|
/* 043C */ std::uint32_t unknown_043C;
|
|
/* 0440 */ std::uint32_t unknown_0440;
|
|
/* 0444 */ UIWindow* window_0444;
|
|
/* 0448 */ UIWindow* window_0448;
|
|
/* 044C */ UIWindow* window_044C;
|
|
/* 0450 */ std::uint32_t unknown_0450;
|
|
/* 0454 */ std::uint32_t unknown_0454;
|
|
/* 0458 */ std::uint32_t unknown_0458;
|
|
/* 045C */ std::uint32_t unknown_045C;
|
|
/* 0460 */ std::uint32_t unknown_0460;
|
|
/* 0464 */ std::uint32_t unknown_0464;
|
|
/* 0468 */ UIWindow* window_0468;
|
|
/* 046C */ int unknown_046C;
|
|
/* 0470 */ int unknown_0470;
|
|
/* 0474 */ int unknown_0474;
|
|
/* 0478 */ UIWindow* unknown_0478;
|
|
/* 047C */ int unknown_047C;
|
|
/* 0480 */ int unknown_0480;
|
|
/* 0484 */ std::string unknown_0484;
|
|
/* 049C */ short unknown_049C;
|
|
/* 049E */ short unknown_049E;
|
|
/* 04A0 */ int unknown_04A0;
|
|
/* 04A4 */ int unknown_04A4;
|
|
/* 04A8 */ int unknown_04A8;
|
|
/* 04AC */ int unknown_04AC;
|
|
/* 04B0 */ unsigned char unknown_04B0;
|
|
/* 04B1 */ unsigned char unknown_04B1[3];
|
|
/* 04B4 */ int unknown_04B4;
|
|
/* 04B8 */ int unknown_04B8;
|
|
/* 04BC */ int unknown_04BC;
|
|
/* 04C0 */ int unknown_04C0;
|
|
/* 04C4 */ std::list<WindowTextEntry> unknown_04C4;
|
|
/* 04CC */ std::list<std::string> unknown_04CC;
|
|
/* 04D4 */ std::list<std::string> unknown_04D4;
|
|
/* 04DC */ std::string unknown_04DC;
|
|
/* 04F4 */ int unknown_04F4;
|
|
/* 04F8 */ int unknown_04F8;
|
|
/* 04FC */ int unknown_04FC;
|
|
/* 0500 */ std::map<std::string, int> namedWindows;
|
|
/* 0508 */ int unknown_0508;
|
|
/* 050C */ std::list<UIWindow*> hiddenWindows;
|
|
/* 0514 */ unsigned char unknown_0514[0x12];
|
|
/* 0526 */ bool unknown_0526;
|
|
/* 0527 */ unsigned char unknown_0527[0x49D];
|
|
/* 09C4 */ std::map<HWND, CWebBrowser*> browsers;
|
|
/* 09CC */ int unknown_09CC;
|
|
/* 09D0 */ CWebBrowser* browser_09D0;
|
|
/* 09D4 */ unsigned char unknown_09D4[0x10];
|
|
/* 09E4 */ std::vector<UIWindow*> messageBoxes;
|
|
/* 09F0 */ unsigned char unknown_09F0[0x40];
|
|
/* 0A30 */ UIWindow* window_0A30;
|
|
/* 0A34 */ WindowPolicyEntry policy[10041];
|
|
/* 4F154 */ unsigned char unknown_4F154[16];
|
|
/* 4F164 */ UIWindow* window_4F164;
|
|
/* 4F168 */ UIWindow* window_4F168;
|
|
/* 4F16C */ UIWindow* window_4F16C;
|
|
/* 4F170 */ UIWindow* window_4F170;
|
|
/* 4F174 */ UIWindow* window_4F174;
|
|
/* 4F178 */ UIWindow* window_4F178;
|
|
/* 4F17C */ UIWindow* window_4F17C;
|
|
/* 4F180 */ UIWindow* window_4F180;
|
|
/* 4F184 */ UIWindow* window_4F184;
|
|
/* 4F188 */ UIWindow* window_4F188;
|
|
/* 4F18C */ UIWindow* window_4F18C;
|
|
/* 4F190 */ std::map<int, SavedWindowRectangle*> savedRectangles;
|
|
/* 4F198 */ std::map<int, UIWindow*> overlays;
|
|
/* 4F1A0 */ unsigned previousHitUid;
|
|
/* 4F1A4 */ unsigned currentHitUid;
|
|
/* 4F1A8 */ unsigned char unknown_4F1A8[0x24];
|
|
/* 4F1CC */ UIWindow* window_4F1CC;
|
|
/* 4F1D0 */ UIWindow* window_4F1D0;
|
|
/* 4F1D4 */ UIWindow* window_4F1D4;
|
|
/* 4F1D8 */ UIWindow* window_4F1D8;
|
|
/* 4F1DC */ UIWindow* window_4F1DC;
|
|
/* 4F1E0 */ int visible_276;
|
|
/* 4F1E4 */ UIWindow* window_4F1E4;
|
|
/* 4F1E8 */ UIWindow* window_4F1E8;
|
|
/* 4F1EC */ UIWindow* window_4F1EC;
|
|
/* 4F1F0 */ UIWindow* window_4F1F0;
|
|
/* 4F1F4 */ UIWindow* window_4F1F4;
|
|
/* 4F1F8 */ UIWindow* window_4F1F8;
|
|
/* 4F1FC */ UIWindow* window_4F1FC;
|
|
/* 4F200 */ unsigned char unknown_4F200[16];
|
|
/* 4F210 */ bool unknown_4F210;
|
|
/* 4F211 */ bool unknown_4F211;
|
|
/* 4F214 */ std::vector<WindowTextRecord> unknown_4F214;
|
|
/* 4F220 */ unsigned char unknown_4F220[0x18];
|
|
/* 4F238 */ int unknown_4F238;
|
|
/* 4F23C */ int unknown_4F23C;
|
|
/* 4F240 */ std::list<UIWindow*> snapExcluded;
|
|
/* 4F248 */ std::list<int> unknown_4F248;
|
|
/* 4F250 */ UIWindow* window_4F250;
|
|
/* 4F254 */ UIWindow* window_4F254;
|
|
/* 4F258 */ UIWindow* window_4F258;
|
|
/* 4F25C */ UIWindow* window_4F25C;
|
|
/* 4F260 */ UIWindow* window_4F260;
|
|
/* 4F264 */ UIWindow* window_4F264;
|
|
/* 4F268 */ UIWindow* window_4F268;
|
|
/* 4F26C */ UIWindow* window_4F26C;
|
|
/* 4F270 */ UIWindow* window_4F270;
|
|
/* 4F274 */ UIWindow* window_4F274;
|
|
/* 4F278 */ UIWindow* window_4F278;
|
|
/* 4F27C */ UIWindow* window_4F27C;
|
|
/* 4F280 */ std::list<int> savedWindowIds;
|
|
/* 4F288 */ UIWindow* window_4F288;
|
|
/* 4F28C */ std::unordered_set<UIWindow*> deferredDeletion;
|
|
/* 4F2AC */ UIWindow* window_4F2AC;
|
|
|
|
virtual ~UIWindowMgr();
|
|
UIWindowMgr();
|
|
|
|
void InitializeWindowPolicy();
|
|
void ResetWindows();
|
|
void Shutdown();
|
|
UIWindow* LookupWindow(int id);
|
|
};
|
|
|
|
extern UIWindowMgr g_windowMgr;
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(WindowTextEntry) == 0x1C);
|
|
static_assert(sizeof(WindowTextRecord) == 0x20);
|
|
static_assert(sizeof(SavedWindowRectangle) == 0x10);
|
|
static_assert(sizeof(WindowPolicyEntry) == 0x20);
|
|
static_assert(offsetof(UIWindowMgr, windows) == 0x8);
|
|
static_assert(offsetof(UIWindowMgr, windowHistory) == 0x18);
|
|
static_assert(offsetof(UIWindowMgr, retainedWindows) == 0x28);
|
|
static_assert(offsetof(UIWindowMgr, persistentWindows) == 0x170);
|
|
static_assert(offsetof(UIWindowMgr, rendered) == 0x17C);
|
|
static_assert(offsetof(UIWindowMgr, retired) == 0x184);
|
|
static_assert(offsetof(UIWindowMgr, registeredWindows) == 0x18C);
|
|
static_assert(offsetof(UIWindowMgr, snapRectangles) == 0x194);
|
|
static_assert(offsetof(UIWindowMgr, modalWindows) == 0x1A4);
|
|
static_assert(offsetof(UIWindowMgr, window_01C8) == 0x1C8);
|
|
static_assert(offsetof(UIWindowMgr, window_01E8) == 0x1E8);
|
|
static_assert(offsetof(UIWindowMgr, window_0230) == 0x230);
|
|
static_assert(offsetof(UIWindowMgr, modal) == 0x400);
|
|
static_assert(offsetof(UIWindowMgr, unknown_0484) == 0x484);
|
|
static_assert(offsetof(UIWindowMgr, unknown_04C4) == 0x4C4);
|
|
static_assert(offsetof(UIWindowMgr, unknown_04CC) == 0x4CC);
|
|
static_assert(offsetof(UIWindowMgr, unknown_04D4) == 0x4D4);
|
|
static_assert(offsetof(UIWindowMgr, unknown_04DC) == 0x4DC);
|
|
static_assert(offsetof(UIWindowMgr, namedWindows) == 0x500);
|
|
static_assert(offsetof(UIWindowMgr, hiddenWindows) == 0x50C);
|
|
static_assert(offsetof(UIWindowMgr, browsers) == 0x9C4);
|
|
static_assert(offsetof(UIWindowMgr, messageBoxes) == 0x9E4);
|
|
static_assert(offsetof(UIWindowMgr, policy) == 0xA34);
|
|
static_assert(offsetof(UIWindowMgr, savedRectangles) == 0x4F190);
|
|
static_assert(offsetof(UIWindowMgr, overlays) == 0x4F198);
|
|
static_assert(offsetof(UIWindowMgr, unknown_4F214) == 0x4F214);
|
|
static_assert(offsetof(UIWindowMgr, snapExcluded) == 0x4F240);
|
|
static_assert(offsetof(UIWindowMgr, unknown_4F248) == 0x4F248);
|
|
static_assert(offsetof(UIWindowMgr, savedWindowIds) == 0x4F280);
|
|
static_assert(offsetof(UIWindowMgr, deferredDeletion) == 0x4F28C);
|
|
static_assert(offsetof(UIWindowMgr, window_4F2AC) == 0x4F2AC);
|
|
static_assert(sizeof(UIWindowMgr) == 0x4F2B0);
|
|
#endif
|
|
|
|
#endif
|