#include "Client/Mode/ActiveGameMode.h" #include "Client/Replay.h" #include "Contents/Configuration/ServiceConfiguration.h" #include "UI/Window/UIWindowMgr.h" // OFFSET: 0x00A94FD0 // FUNCTION: fn_17179 void UIWindowMgr::InitializeWindowPolicy() { for (WindowPolicyEntry& entry : this->policy) { entry = {}; entry.actions[3] = 1; } this->policy[15].actions[3] = 0; this->policy[16].actions[3] = 0; this->policy[17].actions[3] = 0; this->policy[22].actions[3] = 0; this->policy[23].actions[3] = 0; this->policy[24].actions[3] = 0; this->policy[25].actions[3] = 0; this->policy[27].actions[3] = 0; this->policy[28].actions[3] = 0; this->policy[31].actions[3] = 0; this->policy[32].actions[3] = 0; this->policy[35].actions[3] = 0; this->policy[39].actions[3] = 0; this->policy[41].actions[3] = 0; this->policy[43].actions[3] = 1; this->policy[44].actions[3] = 0; this->policy[45].actions[3] = 0; this->policy[56].actions[3] = 0; this->policy[70].actions[3] = 0; this->policy[73].actions[3] = 0; this->policy[74].actions[3] = 0; this->policy[79].actions[3] = 0; this->policy[80].actions[3] = 0; this->policy[88].actions[3] = 0; this->policy[90].actions[3] = 0; this->policy[94].actions[3] = 0; this->policy[99].actions[3] = 0; this->policy[100].actions[3] = 0; this->policy[105].actions[3] = 0; this->policy[107].actions[3] = 0; this->policy[109].actions[3] = 0; this->policy[110].actions[3] = 0; this->policy[111].actions[3] = 0; this->policy[113].actions[3] = 0; this->policy[119].actions[3] = 0; this->policy[125].actions[3] = 0; this->policy[160].actions[3] = 1; this->policy[161].actions[3] = 1; this->policy[174].actions[3] = 0; this->policy[176].actions[3] = 0; this->policy[178].actions[3] = 0; this->policy[177].actions[3] = 0; this->policy[179].actions[3] = 0; this->policy[203].actions[3] = 0; this->policy[157].actions[3] = 0; this->policy[209].actions[3] = 0; this->policy[210].actions[3] = 0; this->policy[275].actions[3] = 0; this->policy[315].actions[3] = 0; this->policy[8].actions[5] = 1; this->policy[22].actions[5] = 1; this->policy[23].actions[5] = 1; this->policy[24].actions[5] = 1; this->policy[31].actions[5] = 1; this->policy[10011].actions[5] = 1; this->policy[33].actions[5] = 1; this->policy[40].actions[5] = 1; this->policy[41].actions[5] = 1; this->policy[42].actions[5] = 1; this->policy[43].actions[5] = 1; this->policy[44].actions[5] = 1; this->policy[160].actions[5] = 1; this->policy[161].actions[5] = 1; this->policy[174].actions[5] = 1; this->policy[175].actions[5] = 1; this->policy[178].actions[5] = 1; this->policy[36].actions[5] = 1; this->policy[159].actions[5] = 1; this->policy[80].actions[5] = 1; this->policy[1].actions[6] = 1; this->policy[4].actions[6] = 1; this->policy[15].actions[6] = 1; this->policy[27].actions[6] = 1; this->policy[28].actions[6] = 1; this->policy[31].actions[6] = 1; this->policy[10011].actions[6] = 1; this->policy[41].actions[6] = 1; this->policy[55].actions[6] = 1; this->policy[56].actions[6] = 1; this->policy[84].actions[6] = 1; this->policy[88].actions[6] = 1; this->policy[100].actions[6] = 1; this->policy[101].actions[6] = 1; this->policy[113].actions[6] = 1; this->policy[116].actions[6] = 1; this->policy[120].actions[6] = 1; this->policy[121].actions[6] = 1; this->policy[128].actions[6] = 1; this->policy[125].actions[6] = 1; this->policy[130].actions[6] = 1; this->policy[145].actions[6] = 1; this->policy[168].actions[6] = 1; this->policy[169].actions[6] = 1; this->policy[174].actions[6] = 1; this->policy[181].actions[6] = 1; this->policy[191].actions[6] = 1; this->policy[203].actions[6] = 1; this->policy[16].actions[7] = 1; this->policy[17].actions[7] = 1; this->policy[23].actions[7] = 1; this->policy[24].actions[7] = 1; this->policy[25].actions[7] = 1; this->policy[28].actions[7] = 1; this->policy[31].actions[7] = 1; this->policy[10011].actions[7] = 1; this->policy[32].actions[7] = 1; this->policy[33].actions[7] = 1; this->policy[35].actions[7] = 1; this->policy[39].actions[7] = 1; this->policy[41].actions[7] = 1; this->policy[43].actions[7] = 1; this->policy[44].actions[7] = 1; this->policy[45].actions[7] = 1; this->policy[70].actions[7] = 1; this->policy[73].actions[7] = 1; this->policy[74].actions[7] = 1; this->policy[79].actions[7] = 1; this->policy[80].actions[7] = 1; this->policy[94].actions[7] = 1; this->policy[105].actions[7] = 1; this->policy[107].actions[7] = 1; this->policy[109].actions[7] = 1; this->policy[110].actions[7] = 1; this->policy[111].actions[7] = 1; this->policy[119].actions[7] = 1; this->policy[161].actions[7] = 1; this->policy[174].actions[7] = 1; this->policy[176].actions[7] = 1; this->policy[178].actions[7] = 1; this->policy[177].actions[7] = 1; this->policy[179].actions[7] = 1; this->policy[203].actions[7] = 1; this->policy[157].actions[7] = 1; this->policy[209].actions[7] = 1; this->policy[210].actions[7] = 1; this->policy[321].actions[7] = 1; this->policy[322].actions[7] = 1; this->policy[307].actions[7] = 1; this->policy[247].actions[7] = 1; this->policy[316].actions[7] = 1; } // OFFSET: 0x00AA5F70 // FUNCTION: fn_17227 UIWindow* UIWindowMgr::LookupWindow(int id) { if (g_replayAnimationScaling != 0 && id == 600) { return this->window_4F16C; } switch (id) { case 1: return this->window_01C8; case 3: return this->window_01CC; case 27: return this->window_0274; case 28: return this->window_027C; case 30: return this->window_0278; case 33: return this->window_0288; case 34: return this->window_02C8; case 37: return this->window_02C4; case 60: return this->window_0320; case 61: return this->window_0324; case 63: return this->window_032C; case 88: return this->window_038C; case 103: return this->window_0388; case 113: return this->window_03C0; case 114: return this->window_03C4; case 125: return this->window_03C8; case 126: return this->window_03CC; case 180: return this->window_01D0; case 196: return this->window_4F18C; case 203: return this->window_4F174; case 204: return this->window_0428; case 237: return this->window_0444; case 253: return this->window_044C; case 273: return this->window_4F1CC; case 274: return this->window_4F1D0; case 275: return this->window_0448; case 277: return this->window_03D4; case 284: return this->window_4F1E8; case 285: return this->window_4F1EC; case 286: return this->window_4F1F0; case 287: return this->window_4F1F4; case 288: return this->window_4F1F8; case 315: return this->window_0468; case 325: return this->window_4F25C; case 359: return this->window_4F288; case 10024: return this->window_4F2AC; case 301: if (!this->snapExcluded.empty()) { return this->snapExcluded.front(); } [[fallthrough]]; case 318: return this->window_4F254; default: { const auto found = this->windows.find(id); return found != this->windows.end() ? found->second : nullptr; } } } // OFFSET: 0x00AA1800 // OFFSET: 0x00A88490