Mercurial > mm7
annotate GUIWindow.h @ 2340:dc822157c98d
Moving functions from unsorted_subs.h pt4
author | Grumpy7 |
---|---|
date | Sun, 06 Apr 2014 12:50:35 +0200 |
parents | 63e1388c5463 |
children | 5d263539bbec |
rev | line source |
---|---|
0 | 1 #pragma once |
1512 | 2 |
3 #include <cstdint> | |
1202 | 4 #include <array> |
0 | 5 |
1512 | 6 #include "Player.h" |
1254 | 7 |
832 | 8 enum UIMessageType: unsigned __int32 |
9 { | |
10 UIMSG_0 = 0, | |
11 | |
12 UIMSG_ChangeGameState = 5, | |
13 | |
960 | 14 UIMSG_MouseLeftClickInGame = 10, |
832 | 15 |
987 | 16 UIMSG_CHEST_ClickItem = 12, |
832 | 17 |
990 | 18 UIMSG_MouseLeftClickInScreen = 14, |
832 | 19 UIMSG_F = 15, |
20 | |
1412 | 21 UIMSG_ChangeCursor = 17, |
832 | 22 |
23 UIMSG_Attack = 23, | |
24 | |
961 | 25 UIMSG_CastQuickSpell = 25, |
832 | 26 |
1687
5f01f1ed97f4
Player::StealFromActor cleanup, renamed UIMSG_1B to UIMSG_STEALFROMACTOR
Grumpy7
parents:
1512
diff
changeset
|
27 UIMSG_STEALFROMACTOR = 27, |
832 | 28 UIMSG_1C = 28, |
29 UIMSG_PlayArcomage = 29, | |
30 | |
31 UIMSG_31 = 49, | |
32 UIMSG_32 = 50, | |
1118 | 33 UIMSG_SpellBook_PressTab = 51, |
832 | 34 UIMSG_34 = 52, |
35 UIMSG_35 = 53, | |
36 UIMSG_MainMenu_ShowPartyCreationWnd = 54, | |
37 UIMSG_MainMenu_ShowLoadWindow = 55, | |
38 UIMSG_ShowCredits = 56, | |
39 UIMSG_ExitToWindows = 57, | |
40 UIMSG_3A = 58, | |
41 | |
42 UIMSG_PlayerCreationChangeName = 60, | |
43 | |
44 UIMSG_PlayerCreationClickPlus = 62, | |
45 UIMSG_PlayerCreationClickMinus = 63, | |
46 UIMSG_PlayerCreationSelectActiveSkill = 64, | |
47 UIMSG_PlayerCreationSelectClass = 65, | |
48 UIMSG_PlayerCreationClickOK = 66, | |
49 UIMSG_PlayerCreationClickReset = 67, | |
50 UIMSG_44 = 68, | |
998 | 51 UIMSG_CastSpell_Character_Big_Improvement = 69, |
52 UIMSG_CastSpell_Shoot_Monster = 70, | |
996 | 53 UIMSG_ClickBooksBtn = 71, |
832 | 54 UIMSG_48 = 72, |
55 UIMSG_49 = 73, | |
56 UIMSG_PlayerCreationRemoveUpSkill = 74, | |
57 UIMSG_PlayerCreationRemoveDownSkill = 75, | |
58 | |
960 | 59 UIMSG_HintSelectRemoveQuickSpellBtn = 78, |
832 | 60 UIMSG_SPellbook_ShowHightlightedSpellInfo = 79, |
61 | |
62 UIMSG_BuyInShop_Identify_Repair = 81, | |
63 UIMSG_LoadGame = 82, | |
64 UIMSG_SaveGame = 83, | |
65 UIMSG_54 = 84, | |
910 | 66 UIMSG_ChangeDetaliz = 85, |
832 | 67 UIMSG_SelectSpell = 86, |
68 UIMSG_OpenSpellbookPage = 87, | |
960 | 69 UIMSG_ClickInstallRemoveQuickSpellBtn = 88, |
832 | 70 |
71 UIMSG_OnTravelByFoot = 90, | |
987 | 72 UIMSG_CHANGE_LOCATION_ClickCencelBtn = 91, |
832 | 73 UIMSG_ShowStatus_DateTime = 92, |
74 UIMSG_ShowStatus_ManaHP = 93, | |
75 UIMSG_ShowStatus_Player = 94, | |
76 UIMSG_Wait5Minutes = 95, | |
77 UIMSG_Wait1Hour = 96, | |
907 | 78 UIMSG_Rest8Hour = 97, |
832 | 79 |
80 UIMSG_ShowStatus_Food = 100, | |
81 UIMSG_ShowStatus_Funds = 101, | |
82 | |
907 | 83 UIMSG_RestWindow = 104, |
84 UIMSG_SpellBookWindow = 105, | |
832 | 85 UIMSG_QuickReference = 106, |
86 UIMSG_GameMenuButton = 107, | |
87 | |
88 UIMSG_AlreadyResting = 109, | |
89 UIMSG_SelectCharacter = 110, | |
90 UIMSG_ChangeSoundVolume = 111, | |
91 UIMSG_ChangeMusicVolume = 112, | |
92 UIMSG_Escape = 113, | |
960 | 93 UIMSG_ClickSkillsBtn = 114, |
94 UIMSG_ClickStatsBtn = 115, | |
95 UIMSG_ClickInventoryBtn = 116, | |
96 UIMSG_ClickAwardsBtn = 117, | |
832 | 97 UIMSG_PlayerCreation_SelectAttribute = 118, |
98 | |
99 UIMSG_InventoryLeftClick = 120, | |
100 UIMSG_SkillUp = 121, | |
101 UIMSG_7A = 122, | |
102 UIMSG_GameMenu_ReturnToGame = 123, | |
103 UIMSG_StartNewGame = 124, | |
104 UIMSG_Game_OpenLoadGameDialog = 125, | |
105 UIMSG_Game_OpenSaveGameDialog = 126, | |
106 UIMSG_Game_OpenOptionsDialog = 127, | |
107 UIMSG_80 = 128, | |
108 | |
109 UIMSG_SetGraphicsMode = 131, | |
110 UIMSG_Quit = 132, | |
910 | 111 UIMSG_ClickPaperdoll = 133, |
832 | 112 UIMSG_StartHireling1Dialogue = 134, |
113 UIMSG_StartHireling2Dialogue = 135, | |
114 UIMSG_SelectNPCDialogueOption = 136, | |
115 | |
998 | 116 UIMSG_CastSpell_Monster_Improvement = 140, |
117 UIMSG_CastSpell_Character_Small_Improvement = 141, | |
832 | 118 UIMSG_CastSpellFromBook = 142, |
998 | 119 UIMSG_HiredNPC_CastSpell = 143, |
832 | 120 UIMSG_PlayerCreation_VoicePrev = 144, |
121 UIMSG_PlayerCreation_VoiceNext = 145, | |
1019 | 122 UIMSG_SpellScrollUse = 146, |
832 | 123 |
124 UIMSG_StartNPCDialogue = 161, | |
125 UIMSG_ArrowUp = 162, | |
126 UIMSG_DownArrow = 163, | |
961 | 127 UIMSG_SaveLoadBtn = 164, |
832 | 128 UIMSG_SelectLoadSlot = 165, |
129 UIMSG_Cancel = 166, | |
130 UIMSG_ExitRest = 167, | |
960 | 131 UIMSG_ClickExitCharacterWindowBtn = 168, |
961 | 132 UIMSG_ClickAwardsUpBtn = 169, |
133 UIMSG_ClickAwardsDownBtn = 170, | |
832 | 134 UIMSG_PlayerCreation_FacePrev = 171, |
135 UIMSG_PlayerCreation_FaceNext = 172, | |
136 UIMSG_AD = 173, | |
137 UIMSG_AE = 174, | |
138 UIMSG_ClickNPCTopic = 175, | |
139 UIMSG_CycleCharacters = 176, | |
961 | 140 UIMSG_OnCastLloydsBeacon = 177, |
141 UIMSG_LloydsBeacon_FlippingBtn = 178, | |
142 UIMSG_InstallBeacon = 179, | |
143 UIMSG_HintBeaconSlot = 180, | |
144 UIMSG_CloseAfterInstallBeacon = 181, | |
145 UIMSG_HintTownPortal = 182, | |
146 UIMSG_ClickTownInTP = 183, | |
832 | 147 UIMSG_SetTurnSpeed = 184, |
148 UIMSG_ToggleWalkSound = 185, | |
149 UIMSG_ChangeVoiceVolume = 186, | |
150 UIMSG_ToggleShowDamage = 187, | |
151 UIMSG_ScrollNPCPanel = 188, | |
152 UIMSG_BD = 189, | |
1326 | 153 UIMSG_CastSpell_Telekinesis = 190, |
832 | 154 UIMSG_BF = 191, |
1101
3e5d70cfe20e
Award order fix, changed UIMSG_C0 to UIMSG_ClickAwardScrollBar
Grumpy7
parents:
1038
diff
changeset
|
155 UIMSG_ClickAwardScrollBar = 192, |
832 | 156 UIMSG_C1 = 192, |
157 UIMSG_C2 = 192, | |
158 | |
159 UIMSG_OnCastTownPortal = 195, | |
1458 | 160 UIMSG_OnFinalWindowClose = 196, |
832 | 161 UIMSG_ShowFinalWindow = 197, |
162 UIMSG_C6 = 198, | |
163 UIMSG_C7 = 199, | |
164 UIMSG_OpenQuestBook = 200, | |
165 UIMSG_OpenAutonotes = 201, | |
166 UIMSG_OpenMapBook = 202, | |
167 UIMSG_OpenCalendar = 203, | |
168 UIMSG_CC = 204, | |
169 UIMSG_CD = 205, | |
170 UIMSG_CE = 206, | |
171 UIMSG_CF = 207, | |
172 UIMSG_D0 = 208, | |
173 UIMSG_D1 = 209, | |
174 UIMSG_D2 = 210, | |
175 UIMSG_D3 = 211, | |
176 UIMSG_D4 = 212, | |
177 UIMSG_D5 = 213, | |
178 UIMSG_D6 = 214, | |
179 | |
180 UIMSG_DD = 221, | |
181 | |
182 UIMSG_OpenHistoryBook = 224, | |
183 UIMSG_ToggleAlwaysRun = 225, | |
184 UIMSG_ToggleFlipOnExit = 226, | |
185 | |
960 | 186 UIMSG_ClickZoomOutBtn = 367, |
187 UIMSG_ClickZoomInBtn = 368, | |
832 | 188 |
189 UIMSG_Game_Action = 404, | |
190 UIMSG_SelectShopDialogueOption = 405, | |
191 | |
907 | 192 UIMSG_RentRoom = 409, |
961 | 193 UIMSG_ClickHouseNPCPortrait = 410, |
832 | 194 UIMSG_TransitionUI_Confirm = 411, |
960 | 195 UIMSG_TransitionWindowCloseBtn = 412, |
832 | 196 |
197 UIMSG_OpenKeyMappingOptions = 415, | |
198 UIMSG_SelectKeyPage1 = 416, | |
199 UIMSG_SelectKeyPage2 = 417, | |
200 UIMSG_ResetKeyMapping = 418, | |
201 UIMSG_ChangeKeyButton = 419, | |
202 | |
203 UIMSG_OpenVideoOptions = 421, | |
204 UIMSG_ToggleBloodsplats = 422, | |
205 UIMSG_ToggleColoredLights = 423, | |
206 UIMSG_ToggleTint = 424, | |
207 UIMSG_1A9 = 425, | |
2278 | 208 |
209 UIMSG_MMT_MainMenu_MM6 = 426, | |
210 UIMSG_MMT_MainMenu_MM7 = 427, | |
211 UIMSG_MMT_MainMenu_MM8 = 428, | |
212 UIMSG_MMT_MainMenu_Continue = 429, | |
213 | |
832 | 214 }; |
215 | |
216 | |
0 | 217 /* 251 */ |
218 enum MENU_STATE : __int32 | |
219 { | |
982 | 220 MENU_MAIN = 0, |
221 MENU_NEWGAME = 1, | |
222 MENU_CREDITS = 2, | |
223 MENU_SAVELOAD = 3, | |
224 MENU_EXIT_GAME = 4, | |
225 MENU_5 = 5, | |
226 MENU_CREATEPARTY = 6, | |
227 MENU_NAMEPANELESC = 7, | |
228 MENU_CREDITSPROC = 8, | |
229 MENU_LoadingProcInMainMenu = 9, | |
1458 | 230 MENU_DebugBLVLevel = 10, |
982 | 231 MENU_CREDITSCLOSE = 11, |
2278 | 232 MENU_MMT_MAIN_MENU = 12, |
0 | 233 }; |
234 | |
235 | |
167 | 236 enum DIALOGUE_TYPE |
237 { | |
1413 | 238 DIALOGUE_USE_NPC_ABILITY = 9, |
179 | 239 DIALOGUE_13 = 0xD, |
240 DIALOGUE_18 = 0x12, | |
2102 | 241 DIALOGUE_EVT_A = 19, |
242 DIALOGUE_EVT_B = 20, | |
243 DIALOGUE_EVT_C = 21, | |
244 DIALOGUE_EVT_D = 22, | |
245 DIALOGUE_EVT_E = 23, | |
246 DIALOGUE_EVT_F = 0x18, | |
248 | 247 DIALOGUE_76 = 76, |
248 DIALOGUE_PROFESSION_DETAILS = 77, | |
2240
1fc4223bddf6
dword_F8B1B0_MasteryBeingTaught removing redundant case bodies
Grumpy7
parents:
2152
diff
changeset
|
249 DIALOGUE_SKILL_TRAINER = 78, |
2102 | 250 DIALOGUE_84 = 84, |
251 DIALOGUE_ARENA_SELECT_PAGE = 85, | |
252 DIALOGUE_ARENA_SELECT_SQUIRE = 86, | |
253 DIALOGUE_ARENA_SELECT_KNIGHT = 87, | |
254 DIALOGUE_ARENA_SELECT_CHAMPION = 88, | |
255 DIALOGUE_ARENA_WELCOME = 89, | |
256 DIALOGUE_ARENA_FIGHT_NOT_OVER_YET = 90, | |
179 | 257 DIALOGUE_ARENA_REWARD = 0x5B, |
258 DIALOGUE_ARENA_ALREADY_WON = 0x5C, | |
167 | 259 }; |
0 | 260 |
261 | |
262 | |
263 | |
264 | |
265 /* 298 */ | |
266 enum WindowType: unsigned __int32 | |
267 { | |
1268 | 268 WINDOW_null = 0, |
269 WINDOW_MainMenu = 1, | |
270 WINDOW_OptionsButtons = 3, | |
961 | 271 WINDOW_CharacterRecord = 4, |
1268 | 272 WINDOW_Options = 6, |
273 WINDOW_8 = 8, | |
274 WINDOW_Book = 9, | |
275 WINDOW_Dialogue = 10, | |
710 | 276 WINDOW_QuickReference = 12, |
1268 | 277 WINDOW_F = 15, |
278 WINDOW_Rest = 16, | |
710 | 279 WINDOW_ChangeLocation = 17, |
1268 | 280 WINDOW_SpellBook = 18, |
281 WINDOW_GreetingNPC = 19, | |
282 WINDOW_Chest = 20, | |
990 | 283 WINDOW_22 = 0x16, |
961 | 284 WINDOW_SaveLoadButtons = 23, |
0 | 285 WINDOW_MainMenu_Load = 0x18, |
286 WINDOW_HouseInterior = 0x19, | |
710 | 287 WINDOW_Transition = 26, |
961 | 288 WINDOW_CastSpell = 27, |
158 | 289 WINDOW_Scroll = 0x1E, |
898 | 290 WINDOW_CastSpell_InInventory = 31, |
1458 | 291 WINDOW_ModalWindow = 70, |
962 | 292 WINDOW_50 = 80, |
293 WINDOW_59 = 89, | |
294 WINDOW_PressedButton2 = 90, | |
295 WINDOW_CharactersPressedButton = 91, | |
296 WINDOW_PressedButton = 92, | |
297 WINDOW_5D = 93, | |
961 | 298 WINDOW_SaveLoadBtn = 94, |
962 | 299 WINDOW_LoadGame_CancelBtn = 95, |
300 WINDOW_CloseRestWindowBtn = 96, | |
960 | 301 WINDOW_ExitCharacterWindow = 97, |
17 | 302 WINDOW_RestWindow = 0x62, |
960 | 303 WINDOW_BooksWindow = 99, |
17 | 304 WINDOW_CharacterWindow_Stats = 0x64, |
305 WINDOW_CharacterWindow_Skills = 0x65, | |
306 WINDOW_CharacterWindow_Awards = 0x66, | |
307 WINDOW_CharacterWindow_Inventory = 0x67, | |
710 | 308 WINDOW_68 = 104, |
0 | 309 WINDOW_KeyMappingOptions = 0x69, |
17 | 310 WINDOW_VideoOptions = 0x6A, |
961 | 311 WINDOW_LloydsBeacon = 177, |
710 | 312 WINDOW_TownPortal = 195, |
313 WINDOW_QuestBook = 200, | |
17 | 314 WINDOW_AutonotesBook = 0xC9, |
315 WINDOW_MapsBook = 0xCA, | |
316 WINDOW_CalendarBook = 0xCB, | |
1004 | 317 WINDOW_JournalBook = 0xE0, |
0 | 318 }; |
319 | |
832 | 320 struct GUIButton; |
321 struct Texture; | |
322 | |
1038 | 323 |
324 #define WINDOW_INPUT_NONE 0 | |
325 #define WINDOW_INPUT_IN_PROGRESS 1 | |
326 #define WINDOW_INPUT_CONFIRMED 2 | |
327 #define WINDOW_INPUT_CANCELLED 3 | |
328 | |
0 | 329 /* 155 */ |
330 #pragma pack(push, 1) | |
331 struct GUIWindow | |
332 { | |
200 | 333 inline GUIWindow() |
334 { | |
335 pControlsHead = pControlsTail = nullptr; | |
336 eWindowType = WINDOW_null; | |
337 } | |
338 | |
189 | 339 GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7, |
1262 | 340 UIMessageType msg, unsigned int msg_param, unsigned __int8 uHotkey, const char *pName, struct Texture *pTextures, ...); |
1268 | 341 void DrawFlashingInputCursor(signed int uX, int uY, struct GUIFont *a2); |
342 int DrawTextInRect(GUIFont *pFont, unsigned int uX, unsigned int uY, unsigned int uColor, const char *text, int rect_width, int reverse_text); | |
2006 | 343 void DrawText(GUIFont *a2, signed int uX, int uY, unsigned int uFontColor, const char *Str, int a7, int a8, signed int uFontShadowColor); |
762 | 344 void DrawTitleText(GUIFont *a2, signed int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing); |
1758
24e756a50073
DrawBuff_remaind_time_string and DrawShops_next_generation_time_string fix and cleared
Ritor1
parents:
1687
diff
changeset
|
345 void DrawShops_next_generation_time_string(__int64 next_generation_time); |
405 | 346 void HouseDialogManager(); |
198 | 347 void OpenSpellBook(); |
0 | 348 void InitializeBookView(); |
349 void DrawMessageBox(int arg0); | |
350 GUIButton *GetControl(unsigned int uID); | |
351 void Release(); | |
1411 | 352 void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5); |
1006 | 353 void _41D73D_draw_buff_tooltip(); |
0 | 354 |
1268 | 355 static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, enum WindowType eWindowType, int pButton, const char* hint); |
0 | 356 |
357 unsigned int uFrameX; | |
358 unsigned int uFrameY; | |
359 unsigned int uFrameWidth; | |
360 unsigned int uFrameHeight; | |
361 unsigned int uFrameZ; | |
362 unsigned int uFrameW; | |
363 WindowType eWindowType; | |
496 | 364 union{ |
917 | 365 void *ptr_1C;// sometimes BuildID_2Events |
496 | 366 unsigned int par1C; |
367 }; | |
0 | 368 unsigned int uNumControls; |
369 int field_24; | |
370 int pNumPresenceButton; | |
371 int pCurrentPosActiveItem; | |
372 int field_30; | |
373 int field_34; | |
374 int pStartingPosActiveItem; | |
496 | 375 int numVisibleWindows; |
1038 | 376 int receives_keyboard_input_2; // 0 no input 1 currently typing 2 enter pressed 3 escape pressed |
972 | 377 int receives_keyboard_input; |
1268 | 378 const char *Hint; |
0 | 379 GUIButton *pControlsHead; |
380 GUIButton *pControlsTail; | |
381 }; | |
382 #pragma pack(pop) | |
383 | |
384 | |
385 | |
386 | |
387 | |
388 | |
495 | 389 |
629 | 390 |
151 | 391 enum CURRENT_SCREEN |
392 { | |
393 SCREEN_GAME = 0x0, | |
394 SCREEN_MENU = 0x1, | |
395 SCREEN_OPTIONS = 0x2, | |
396 SCREEN_BOOKS = 0x3, | |
397 SCREEN_NPC_DIALOGUE = 0x4, | |
398 SCREEN_REST = 0x5, | |
399 SCREEN_CHARACTERS = 0x7, | |
400 SCREEN_SPELL_BOOK = 0x8, | |
401 SCREEN_CREATORS = 0x9, | |
402 SCREEN_CHEST = 0xA, | |
403 SCREEN_SAVEGAME = 0xB, | |
404 SCREEN_LOADGAME = 0xC, | |
405 SCREEN_HOUSE = 0xD, | |
406 SCREEN_E = 0xE, | |
987 | 407 SCREEN_CHEST_INVENTORY = 0xF, |
151 | 408 SCREEN_VIDEO = 0x10, |
409 SCREEN_CHANGE_LOCATION = 0x11, | |
410 SCREEN_INPUT_BLV = 0x12, | |
411 SCREEN_BRANCHLESS_NPC_DIALOG = 0x13, | |
412 SCREEN_PARTY_CREATION = 0x15, | |
1458 | 413 SCREEN_MODAL_WINDOW = 0x16, |
151 | 414 SCREEN_CASTING = 0x17, |
415 SCREEN_19 = 0x19, | |
416 SCREEN_KEYBOARD_OPTIONS = 0x1A, | |
417 SCREEN_1B = 0x1B, | |
418 SCREEN_VIDEO_OPTIONS = 0x1C, | |
419 SCREEN_63 = 0x63, | |
420 SCREEN_64 = 0x64, | |
421 SCREEN_67 = 0x67, | |
422 SCREEN_QUICK_REFERENCE = 0x68, | |
423 }; | |
0 | 424 |
425 | |
426 | |
427 | |
428 /* 249 */ | |
429 #pragma pack(push, 1) | |
430 struct GUIMessage | |
431 { | |
432 enum UIMessageType eType; | |
433 int param; | |
434 int field_8; | |
435 }; | |
436 #pragma pack(pop) | |
437 | |
438 | |
439 | |
440 | |
437 | 441 #define AddMessage(msg, param, a4) AddMessageImpl((msg), (param), (a4), __FILE__, __LINE__) |
0 | 442 /* 250 */ |
443 #pragma pack(push, 1) | |
444 struct GUIMessageQueue | |
445 { | |
446 inline GUIMessageQueue(): | |
447 uNumMessages(0) | |
448 {} | |
449 | |
783 | 450 void Flush(); |
0 | 451 void PopMessage(UIMessageType *pMsg, int *pParam, int *a4); |
437 | 452 void AddMessageImpl(UIMessageType msg, int param, unsigned int a4, const char *file = nullptr, int line = 0); |
0 | 453 |
454 unsigned int uNumMessages; | |
455 GUIMessage pMessages[40]; | |
437 | 456 |
457 const char *files[40]; | |
458 int lines[40]; | |
0 | 459 }; |
460 #pragma pack(pop) | |
461 | |
462 extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb | |
463 | |
1012 | 464 extern struct GUIMessageQueue *pMessageQueue_50C9E8; // idb |
0 | 465 |
466 | |
248 | 467 |
651 | 468 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); |
248 | 469 |
470 | |
471 | |
0 | 472 extern int pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[]; // idb |
2278 | 473 extern struct GUIWindow *pWindow_MMT_MainMenu; |
0 | 474 extern struct GUIWindow *pWindow_MainMenu; |
1202 | 475 extern std::array<struct GUIWindow, 20> pWindowList; |
566 | 476 |
477 | |
478 | |
479 | |
1458 | 480 void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message); |
481 void ModalWindow_ShowHint(); | |
482 void ModalWindow_Release(); | |
566 | 483 |
994 | 484 |
485 | |
486 void draw_leather(); | |
487 | |
488 | |
1033 | 489 // main menu ui |
490 void MainMenuUI_LoadFontsAndSomeStuff(); | |
491 void MainMenuUI_Create(); | |
492 MENU_STATE MainMenuUI_Credits_Loop(); | |
994 | 493 |
1033 | 494 // save & load ui |
495 void SaveUI_Load(); | |
496 void SaveUI_Draw(); | |
497 | |
498 void LoadUI_Draw(); | |
499 void LoadUI_Load(unsigned int uDialogueType); // idb | |
994 | 500 |
501 // game ui | |
502 void GameUI_DrawRightPanel(); | |
503 void GameUI_DrawRightPanelFrames(); | |
504 void GameUI_DrawRightPanelItems(); | |
991 | 505 void GameUI_QuickRef_Draw(); |
994 | 506 void GameUI_DrawFoodAndGold(); |
507 void GameUI_DrawLifeManaBars(); | |
508 void GameUI_DrawHiredNPCs(); | |
509 void GameUI_DrawPortraits(unsigned int _this); | |
510 void GameUI_Footer(); | |
511 void GameUI_Footer_2(); | |
512 void GameUI_SetFooterString(const char *pStr); | |
995 | 513 void GameUI_DrawMinimap(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW, unsigned int uZoom, unsigned int bRedrawOdmMinimap); |
1033 | 514 auto GameUI_GetMinimapHintText() -> const char *; |
995 | 515 void GameUI_DrawPartySpells(); |
516 void GameUI_DrawTorchlightAndWizardEye(); | |
517 void GameUI_DrawCharacterSelectionFrame(); | |
1004 | 518 void GameUI_CharacterQuickRecord_Draw(GUIWindow *window, Player *player); |
1033 | 519 void GameUI_DrawNPCPopup(void *_this); |
816 | 520 |
2152 | 521 void GameUI_InitializeDialogue(struct Actor *actor, int bPlayerSaysHello); |
1033 | 522 void GameUI_DrawBranchlessDialogue(); |
523 void GameUI_DrawDialogue(); | |
816 | 524 |
525 | |
1031 | 526 // game menu ui |
527 void GameMenuUI_DrawKeyBindings(); | |
528 void GameMenuUI_DrawVideoOptions(); | |
529 void GameMenuUI_Options_Draw(); | |
816 | 530 |
531 | |
532 | |
533 | |
994 | 534 // character ui |
995 | 535 struct GUIWindow *CharacterUI_Initialize(unsigned int _this); |
983 | 536 const char *CharacterUI_GetSkillDescText(unsigned int uPlayerID, PLAYER_SKILL_TYPE uPlayerSkillType); |
1006 | 537 void CharacterUI_SkillsTab_ShowHint(); |
983 | 538 void CharacterUI_StatsTab_ShowHint(); |
1006 | 539 void CharacterUI_StatsTab_Draw(Player *player); |
991 | 540 void CharacterUI_SkillsTab_CreateButtons(); |
983 | 541 void CharacterUI_SkillsTab_Draw(Player *player); |
991 | 542 void CharacterUI_AwardsTab_Draw(Player *player); |
984 | 543 void CharacterUI_InventoryTab_Draw(Player *player, bool a2); |
991 | 544 void CharacterUI_CharacterScreen_Draw(Player *player); |
545 void CharacterUI_DrawPaperdoll(Player *player); | |
546 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player); | |
547 void CharacterUI_ReleaseButtons(); | |
548 | |
995 | 549 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level); |
832 | 550 |
551 | |
552 | |
553 | |
554 | |
1033 | 555 // book ui |
995 | 556 void BookUI_Draw(WindowType book); |
557 void BookUI_Questbook_Draw(); | |
558 void BookUI_Autonotes_Draw(); | |
559 void BookUI_Map_Draw(); | |
560 void BookUI_Calendar_Draw(); | |
1004 | 561 void BookUI_Journal_Draw(); |
995 | 562 |
1402 | 563 void OnCloseBook(); |
995 | 564 void InitializeBookTextures(); |
565 void InitializeBookFonts(); | |
1004 | 566 void DrawSpellBookContent(Player *player); |
1458 | 567 unsigned int DrawLloydBeaconsScreen(); |
1038 | 568 void BookUI_DrawTownPortalMap(); |
995 | 569 void LoadSpellbook(unsigned int uID); // idb |
570 void DrawSpellDescriptionPopup(int spell_index); | |
1402 | 571 void OnCloseSpellBookPage(); |
572 void OnCloseSpellBook(); | |
832 | 573 |
574 | |
575 | |
1033 | 576 // rest ui |
577 void RestUI_Load(); | |
578 void RestUI_Draw(); | |
832 | 579 |
580 | |
1033 | 581 // transition & travel ui |
1512 | 582 void TransitionUI_Load(uint32_t anim_id, uint32_t exit_pic_id, int x, int y, int z, int directiony, int directionx, int a8, const char *pLocationName); |
1033 | 583 void TransitionUI_Draw(); |
584 | |
585 void TravelUI_Load(); | |
586 void TravelUI_Draw(); | |
832 | 587 |
588 | |
589 | |
590 | |
591 | |
2336 | 592 void UI_OnMouseRightClick(Vec2_int_ *_this); |
832 | 593 |
1458 | 594 void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb |
2290 | 595 void DrawMM7CopyrightWindow(); |
596 //void LoadFonts_and_DrawCopyrightWindow(); | |
1458 | 597 void GUI_UpdateWindows(); |
598 int GetConditionDrawColor(unsigned int uConditionIdx); // idb | |
599 void FillAwardsData(); | |
600 void CreateAwardsScrollBar(); | |
601 void ReleaseAwardsScrollBar(); | |
2339 | 602 void Inventory_ItemPopupAndAlchemy(); |
603 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); | |
604 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos); | |
605 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); | |
606 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb | |
607 int __fastcall GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); | |
608 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font); | |
2340 | 609 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb |
610 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window); | |
1458 | 611 |
832 | 612 |
2339 | 613 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); |
614 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); | |
615 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb | |
832 | 616 |
617 | |
618 | |
619 | |
620 | |
621 | |
622 | |
623 | |
624 | |
625 | |
626 | |
627 | |
628 | |
629 | |
630 #pragma pack(push, 1) | |
631 struct GUIButton | |
632 { | |
1006 | 633 void DrawLabel(const char *label_text, struct GUIFont *pFont, int a5, int uFontShadowColor); |
832 | 634 |
635 void Release(); | |
636 | |
637 | |
638 unsigned int uX; | |
639 unsigned int uY; | |
640 unsigned int uWidth; | |
641 unsigned int uHeight; | |
642 unsigned int uZ; | |
643 unsigned int uW; | |
644 int uButtonType; | |
645 int field_1C;//may be pMessageType | |
646 UIMessageType msg; | |
647 unsigned int msg_param; | |
648 int field_28; | |
649 int field_2C_is_pushed; | |
650 GUIButton *pPrev; | |
651 GUIButton *pNext; | |
652 struct GUIWindow *pParent; | |
653 struct Texture *pTextures[5]; | |
654 unsigned int uNumTextures; | |
655 unsigned __int8 uHotkey; | |
656 char pButtonName[32]; | |
657 char field_75[71]; | |
658 }; | |
659 #pragma pack(pop) | |
660 | |
661 | |
662 | |
663 | |
664 extern struct GUIButton *pBtn_CloseBook; | |
665 extern struct GUIButton *pBtn_InstallRemoveSpell; | |
666 extern struct GUIButton *pBtn_Autonotes_Instructors; | |
667 extern struct GUIButton *pBtn_Autonotes_Misc; | |
668 extern struct GUIButton *pBtn_Book_6; | |
669 extern struct GUIButton *pBtn_Book_5; | |
670 extern struct GUIButton *pBtn_Book_4; | |
671 extern struct GUIButton *pBtn_Book_3; | |
672 extern struct GUIButton *pBtn_Book_2; | |
673 extern struct GUIButton *pBtn_Book_1; | |
674 | |
675 | |
676 extern struct GUIButton *pPlayerCreationUI_BtnReset; | |
677 extern struct GUIButton *pPlayerCreationUI_BtnOK; | |
678 extern struct GUIButton *pBtn_ExitCancel; | |
679 extern struct GUIButton *pBtn_YES; | |
680 extern struct GUIButton *pPlayerCreationUI_BtnPlus; | |
681 extern struct GUIButton *pPlayerCreationUI_BtnMinus; | |
682 | |
683 | |
684 extern struct GUIButton *pButton_RestUI_Main; | |
685 extern struct GUIButton *pButton_RestUI_Exit; | |
686 extern struct GUIButton *pButton_RestUI_Wait5Minutes; | |
687 extern struct GUIButton *pButton_RestUI_WaitUntilDawn; | |
688 extern struct GUIButton *pButton_RestUI_Wait1Hour; | |
689 | |
690 | |
691 extern struct GUIButton *pCharacterScreen_ExitBtn; | |
692 extern struct GUIButton *pCharacterScreen_AwardsBtn; | |
693 extern struct GUIButton *pCharacterScreen_InventoryBtn; | |
694 extern struct GUIButton *pCharacterScreen_SkillsBtn; | |
695 extern struct GUIButton *pCharacterScreen_StatsBtn; | |
696 extern struct GUIButton *pCharacterScreen_DollBtn; | |
697 extern struct GUIButton *pCharacterScreen_DetalizBtn; | |
698 | |
699 | |
700 extern struct GUIButton *pBtn_NPCRight; | |
701 extern struct GUIButton *pBtn_NPCLeft; | |
702 extern struct GUIButton *pBtn_GameSettings; | |
703 extern struct GUIButton *pBtn_QuickReference; | |
704 extern struct GUIButton *pBtn_CastSpell; | |
705 extern struct GUIButton *pBtn_Rest; | |
706 extern struct GUIButton *pBtn_History; | |
707 extern struct GUIButton *pBtn_Calendar; | |
708 extern struct GUIButton *pBtn_Maps; | |
709 extern struct GUIButton *pBtn_Autonotes; | |
710 extern struct GUIButton *pBtn_Quests; | |
711 | |
712 | |
2278 | 713 extern struct GUIButton *pMMT_MainMenu_BtnMM6; |
714 extern struct GUIButton *pMMT_MainMenu_BtnMM7; | |
715 extern struct GUIButton *pMMT_MainMenu_BtnMM8; | |
716 extern struct GUIButton *pMMT_MainMenu_BtnContinue; | |
717 extern struct GUIButton *pMMT_MainMenu_BtnExit; | |
718 | |
832 | 719 extern struct GUIButton *pMainMenu_BtnExit; |
720 extern struct GUIButton *pMainMenu_BtnCredits; | |
721 extern struct GUIButton *pMainMenu_BtnLoad; | |
722 extern struct GUIButton *pMainMenu_BtnNew; | |
723 | |
724 | |
725 extern struct GUIButton *pBtn_Up; | |
726 extern struct GUIButton *pBtn_Down; | |
727 extern struct GUIButton *ptr_507BA4; | |
728 | |
729 | |
730 extern struct GUIWindow *pPrimaryWindow; | |
731 extern struct GUIWindow *pChestWindow; | |
732 extern struct GUIWindow *pDialogueWindow; | |
733 extern struct GUIWindow *window_SpeakInHouse; | |
734 extern struct GUIWindow *pGUIWindow_ScrollWindow; | |
735 extern struct GUIWindow *ptr_507BC8; | |
736 extern struct GUIWindow *pGUIWindow_CurrentMenu; | |
737 extern struct GUIWindow *ptr_507BD0; | |
738 extern struct GUIWindow *pGUIWindow_Settings; | |
1458 | 739 extern struct GUIWindow *pModalWindow; |
832 | 740 extern struct GUIWindow *pGUIWindow_EscMessageWindow; |
741 extern struct GUIWindow *pBooksWindow; | |
742 extern struct GUIWindow *pGUIWindow2; | |
743 | |
744 | |
745 extern struct GUIButton *pBtn_Resume; | |
746 extern struct GUIButton *pBtn_QuitGame; | |
747 extern struct GUIButton *pBtn_GameControls; | |
748 extern struct GUIButton *pBtn_LoadGame; | |
749 extern struct GUIButton *pBtn_SaveGame; | |
750 extern struct GUIButton *pBtn_NewGame; | |
751 | |
752 extern struct GUIButton *pBtn_SliderRight; | |
753 extern struct GUIButton *pBtn_SliderLeft; | |
754 | |
755 | |
756 extern struct GUIButton *pBtnDownArrow; | |
757 extern struct GUIButton *pBtnArrowUp; | |
758 extern struct GUIButton *pBtnCancel; | |
759 extern struct GUIButton *pBtnLoadSlot; | |
760 | |
761 | |
1202 | 762 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight2; |
763 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft2; | |
764 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft; | |
765 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight; | |
983 | 766 |
995 | 767 extern int uTextureID_GameUI_CharSelectionFrame; // 50C98C |
983 | 768 |
1004 | 769 extern unsigned int ui_mainmenu_copyright_color; |
1393 | 770 extern unsigned int ui_character_tooltip_header_default_color; |
995 | 771 extern unsigned int ui_character_default_text_color; |
772 extern unsigned int ui_character_skill_highlight_color; | |
773 extern unsigned int ui_character_header_text_color; | |
774 extern unsigned int ui_character_bonus_text_color; | |
775 extern unsigned int ui_character_bonus_text_color_neg; | |
776 extern unsigned int ui_character_skill_upgradeable_color; | |
777 extern unsigned int ui_character_skill_default_color; | |
1393 | 778 extern unsigned int ui_character_stat_default_color; |
779 extern unsigned int ui_character_stat_buffed_color; | |
780 extern unsigned int ui_character_stat_debuffed_color; | |
781 extern unsigned int ui_character_skillinfo_can_learn; | |
782 extern unsigned int ui_character_skillinfo_can_learn_gm; | |
783 extern unsigned int ui_character_skillinfo_cant_learn; | |
1458 | 784 extern unsigned int ui_character_condition_normal_color; |
785 extern unsigned int ui_character_condition_light_color; | |
786 extern unsigned int ui_character_condition_moderate_color; | |
787 extern unsigned int ui_character_condition_severe_color; | |
1202 | 788 extern std::array<unsigned int, 6> ui_character_award_color; |
995 | 789 extern unsigned int ui_game_minimap_outline_color; |
790 extern unsigned int ui_game_minimap_actor_friendly_color; | |
791 extern unsigned int ui_game_minimap_actor_hostile_color; | |
792 extern unsigned int ui_game_minimap_actor_corpse_color; | |
793 extern unsigned int ui_game_minimap_decoration_color_1; | |
794 extern unsigned int ui_game_minimap_projectile_color; | |
795 extern unsigned int ui_game_minimap_treasure_color; | |
1202 | 796 extern std::array<unsigned int, 24> ui_game_character_record_playerbuff_colors; |
1031 | 797 extern unsigned int ui_gamemenu_video_gamma_title_color; |
798 extern unsigned int ui_gamemenu_keys_action_name_color; | |
799 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_1; | |
800 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_2; | |
801 extern unsigned int ui_gamemenu_keys_key_default_color; | |
995 | 802 extern unsigned int ui_book_quests_title_color; |
803 extern unsigned int ui_book_quests_text_color; | |
804 extern unsigned int ui_book_autonotes_title_color; | |
805 extern unsigned int ui_book_autonotes_text_color; | |
806 extern unsigned int ui_book_map_title_color; | |
1004 | 807 extern unsigned int ui_book_map_coordinates_color; |
808 extern unsigned int ui_book_calendar_title_color; | |
809 extern unsigned int ui_book_calendar_time_color; | |
810 extern unsigned int ui_book_calendar_day_color; | |
811 extern unsigned int ui_book_calendar_month_color; | |
812 extern unsigned int ui_book_calendar_year_color; | |
813 extern unsigned int ui_book_calendar_moon_color; | |
814 extern unsigned int ui_book_calendar_location_color; | |
815 extern unsigned int ui_book_journal_title_color; | |
816 extern unsigned int ui_book_journal_text_color; | |
1393 | 817 extern unsigned int ui_book_journal_text_shadow; |
818 extern unsigned int ui_game_dialogue_npc_name_color; | |
819 extern unsigned int ui_game_dialogue_option_highlight_color; | |
820 extern unsigned int ui_game_dialogue_option_normal_color; | |
821 extern unsigned int ui_house_player_cant_interact_color; |