Mercurial > mm7
annotate GUIWindow.h @ 1004:eac5af72b614
UI cleans
author | Nomad |
---|---|
date | Thu, 16 May 2013 15:14:58 +0200 |
parents | dcdfbb6eede9 |
children | e865f349aa41 |
rev | line source |
---|---|
0 | 1 #pragma once |
816 | 2 #include "Items.h" |
3 #include "Player.h" | |
0 | 4 |
5 | |
6 | |
7 | |
8 | |
832 | 9 enum UIMessageType: unsigned __int32 |
10 { | |
11 UIMSG_0 = 0, | |
12 | |
13 UIMSG_ChangeGameState = 5, | |
14 | |
960 | 15 UIMSG_MouseLeftClickInGame = 10, |
832 | 16 |
987 | 17 UIMSG_CHEST_ClickItem = 12, |
832 | 18 |
990 | 19 UIMSG_MouseLeftClickInScreen = 14, |
832 | 20 UIMSG_F = 15, |
21 | |
22 UIMSG_11 = 17, | |
23 | |
24 UIMSG_Attack = 23, | |
25 | |
961 | 26 UIMSG_CastQuickSpell = 25, |
832 | 27 |
28 UIMSG_1B = 27, | |
29 UIMSG_1C = 28, | |
30 UIMSG_PlayArcomage = 29, | |
31 | |
32 UIMSG_31 = 49, | |
33 UIMSG_32 = 50, | |
34 UIMSG_33 = 51, | |
35 UIMSG_34 = 52, | |
36 UIMSG_35 = 53, | |
37 UIMSG_MainMenu_ShowPartyCreationWnd = 54, | |
38 UIMSG_MainMenu_ShowLoadWindow = 55, | |
39 UIMSG_ShowCredits = 56, | |
40 UIMSG_ExitToWindows = 57, | |
41 UIMSG_3A = 58, | |
42 | |
43 UIMSG_PlayerCreationChangeName = 60, | |
44 | |
45 UIMSG_PlayerCreationClickPlus = 62, | |
46 UIMSG_PlayerCreationClickMinus = 63, | |
47 UIMSG_PlayerCreationSelectActiveSkill = 64, | |
48 UIMSG_PlayerCreationSelectClass = 65, | |
49 UIMSG_PlayerCreationClickOK = 66, | |
50 UIMSG_PlayerCreationClickReset = 67, | |
51 UIMSG_44 = 68, | |
998 | 52 UIMSG_CastSpell_Character_Big_Improvement = 69, |
53 UIMSG_CastSpell_Shoot_Monster = 70, | |
996 | 54 UIMSG_ClickBooksBtn = 71, |
832 | 55 UIMSG_48 = 72, |
56 UIMSG_49 = 73, | |
57 UIMSG_PlayerCreationRemoveUpSkill = 74, | |
58 UIMSG_PlayerCreationRemoveDownSkill = 75, | |
59 | |
960 | 60 UIMSG_HintSelectRemoveQuickSpellBtn = 78, |
832 | 61 UIMSG_SPellbook_ShowHightlightedSpellInfo = 79, |
62 | |
63 UIMSG_BuyInShop_Identify_Repair = 81, | |
64 UIMSG_LoadGame = 82, | |
65 UIMSG_SaveGame = 83, | |
66 UIMSG_54 = 84, | |
910 | 67 UIMSG_ChangeDetaliz = 85, |
832 | 68 UIMSG_SelectSpell = 86, |
69 UIMSG_OpenSpellbookPage = 87, | |
960 | 70 UIMSG_ClickInstallRemoveQuickSpellBtn = 88, |
832 | 71 |
72 UIMSG_OnTravelByFoot = 90, | |
987 | 73 UIMSG_CHANGE_LOCATION_ClickCencelBtn = 91, |
832 | 74 UIMSG_ShowStatus_DateTime = 92, |
75 UIMSG_ShowStatus_ManaHP = 93, | |
76 UIMSG_ShowStatus_Player = 94, | |
77 UIMSG_Wait5Minutes = 95, | |
78 UIMSG_Wait1Hour = 96, | |
907 | 79 UIMSG_Rest8Hour = 97, |
832 | 80 |
81 UIMSG_ShowStatus_Food = 100, | |
82 UIMSG_ShowStatus_Funds = 101, | |
83 | |
907 | 84 UIMSG_RestWindow = 104, |
85 UIMSG_SpellBookWindow = 105, | |
832 | 86 UIMSG_QuickReference = 106, |
87 UIMSG_GameMenuButton = 107, | |
88 | |
89 UIMSG_AlreadyResting = 109, | |
90 UIMSG_SelectCharacter = 110, | |
91 UIMSG_ChangeSoundVolume = 111, | |
92 UIMSG_ChangeMusicVolume = 112, | |
93 UIMSG_Escape = 113, | |
960 | 94 UIMSG_ClickSkillsBtn = 114, |
95 UIMSG_ClickStatsBtn = 115, | |
96 UIMSG_ClickInventoryBtn = 116, | |
97 UIMSG_ClickAwardsBtn = 117, | |
832 | 98 UIMSG_PlayerCreation_SelectAttribute = 118, |
99 | |
100 UIMSG_InventoryLeftClick = 120, | |
101 UIMSG_SkillUp = 121, | |
102 UIMSG_7A = 122, | |
103 UIMSG_GameMenu_ReturnToGame = 123, | |
104 UIMSG_StartNewGame = 124, | |
105 UIMSG_Game_OpenLoadGameDialog = 125, | |
106 UIMSG_Game_OpenSaveGameDialog = 126, | |
107 UIMSG_Game_OpenOptionsDialog = 127, | |
108 UIMSG_80 = 128, | |
109 | |
110 UIMSG_SetGraphicsMode = 131, | |
111 UIMSG_Quit = 132, | |
910 | 112 UIMSG_ClickPaperdoll = 133, |
832 | 113 UIMSG_StartHireling1Dialogue = 134, |
114 UIMSG_StartHireling2Dialogue = 135, | |
115 UIMSG_SelectNPCDialogueOption = 136, | |
116 | |
998 | 117 UIMSG_CastSpell_Monster_Improvement = 140, |
118 UIMSG_CastSpell_Character_Small_Improvement = 141, | |
832 | 119 UIMSG_CastSpellFromBook = 142, |
998 | 120 UIMSG_HiredNPC_CastSpell = 143, |
832 | 121 UIMSG_PlayerCreation_VoicePrev = 144, |
122 UIMSG_PlayerCreation_VoiceNext = 145, | |
123 UIMSG_92 = 146, | |
124 | |
125 UIMSG_StartNPCDialogue = 161, | |
126 UIMSG_ArrowUp = 162, | |
127 UIMSG_DownArrow = 163, | |
961 | 128 UIMSG_SaveLoadBtn = 164, |
832 | 129 UIMSG_SelectLoadSlot = 165, |
130 UIMSG_Cancel = 166, | |
131 UIMSG_ExitRest = 167, | |
960 | 132 UIMSG_ClickExitCharacterWindowBtn = 168, |
961 | 133 UIMSG_ClickAwardsUpBtn = 169, |
134 UIMSG_ClickAwardsDownBtn = 170, | |
832 | 135 UIMSG_PlayerCreation_FacePrev = 171, |
136 UIMSG_PlayerCreation_FaceNext = 172, | |
137 UIMSG_AD = 173, | |
138 UIMSG_AE = 174, | |
139 UIMSG_ClickNPCTopic = 175, | |
140 UIMSG_CycleCharacters = 176, | |
961 | 141 UIMSG_OnCastLloydsBeacon = 177, |
142 UIMSG_LloydsBeacon_FlippingBtn = 178, | |
143 UIMSG_InstallBeacon = 179, | |
144 UIMSG_HintBeaconSlot = 180, | |
145 UIMSG_CloseAfterInstallBeacon = 181, | |
146 UIMSG_HintTownPortal = 182, | |
147 UIMSG_ClickTownInTP = 183, | |
832 | 148 UIMSG_SetTurnSpeed = 184, |
149 UIMSG_ToggleWalkSound = 185, | |
150 UIMSG_ChangeVoiceVolume = 186, | |
151 UIMSG_ToggleShowDamage = 187, | |
152 UIMSG_ScrollNPCPanel = 188, | |
153 UIMSG_BD = 189, | |
961 | 154 UIMSG_CastSpell_BE = 190, |
832 | 155 UIMSG_BF = 191, |
156 UIMSG_C0 = 192, | |
157 UIMSG_C1 = 192, | |
158 UIMSG_C2 = 192, | |
159 | |
160 UIMSG_OnCastTownPortal = 195, | |
161 UIMSG_C4 = 196, | |
162 UIMSG_ShowFinalWindow = 197, | |
163 UIMSG_C6 = 198, | |
164 UIMSG_C7 = 199, | |
165 UIMSG_OpenQuestBook = 200, | |
166 UIMSG_OpenAutonotes = 201, | |
167 UIMSG_OpenMapBook = 202, | |
168 UIMSG_OpenCalendar = 203, | |
169 UIMSG_CC = 204, | |
170 UIMSG_CD = 205, | |
171 UIMSG_CE = 206, | |
172 UIMSG_CF = 207, | |
173 UIMSG_D0 = 208, | |
174 UIMSG_D1 = 209, | |
175 UIMSG_D2 = 210, | |
176 UIMSG_D3 = 211, | |
177 UIMSG_D4 = 212, | |
178 UIMSG_D5 = 213, | |
179 UIMSG_D6 = 214, | |
180 | |
181 UIMSG_DD = 221, | |
182 | |
183 UIMSG_OpenHistoryBook = 224, | |
184 UIMSG_ToggleAlwaysRun = 225, | |
185 UIMSG_ToggleFlipOnExit = 226, | |
186 | |
960 | 187 UIMSG_ClickZoomOutBtn = 367, |
188 UIMSG_ClickZoomInBtn = 368, | |
832 | 189 |
190 UIMSG_Game_Action = 404, | |
191 UIMSG_SelectShopDialogueOption = 405, | |
192 | |
907 | 193 UIMSG_RentRoom = 409, |
961 | 194 UIMSG_ClickHouseNPCPortrait = 410, |
832 | 195 UIMSG_TransitionUI_Confirm = 411, |
960 | 196 UIMSG_TransitionWindowCloseBtn = 412, |
832 | 197 |
198 UIMSG_OpenKeyMappingOptions = 415, | |
199 UIMSG_SelectKeyPage1 = 416, | |
200 UIMSG_SelectKeyPage2 = 417, | |
201 UIMSG_ResetKeyMapping = 418, | |
202 UIMSG_ChangeKeyButton = 419, | |
203 | |
204 UIMSG_OpenVideoOptions = 421, | |
205 UIMSG_ToggleBloodsplats = 422, | |
206 UIMSG_ToggleColoredLights = 423, | |
207 UIMSG_ToggleTint = 424, | |
208 UIMSG_1A9 = 425, | |
209 }; | |
210 | |
211 | |
0 | 212 /* 251 */ |
213 enum MENU_STATE : __int32 | |
214 { | |
982 | 215 MENU_MAIN = 0, |
216 MENU_NEWGAME = 1, | |
217 MENU_CREDITS = 2, | |
218 MENU_SAVELOAD = 3, | |
219 MENU_EXIT_GAME = 4, | |
220 MENU_5 = 5, | |
221 MENU_CREATEPARTY = 6, | |
222 MENU_NAMEPANELESC = 7, | |
223 MENU_CREDITSPROC = 8, | |
224 MENU_LoadingProcInMainMenu = 9, | |
225 MENU_10 = 10, | |
226 MENU_CREDITSCLOSE = 11, | |
0 | 227 }; |
228 | |
229 | |
167 | 230 enum DIALOGUE_TYPE |
231 { | |
248 | 232 DIALOGUE_9 = 9, |
179 | 233 DIALOGUE_13 = 0xD, |
234 DIALOGUE_18 = 0x12, | |
248 | 235 DIALOGUE_19 = 19, |
236 DIALOGUE_20 = 20, | |
237 DIALOGUE_21 = 21, | |
238 DIALOGUE_22 = 22, | |
239 DIALOGUE_23 = 23, | |
179 | 240 DIALOGUE_24 = 0x18, |
248 | 241 DIALOGUE_76 = 76, |
242 DIALOGUE_PROFESSION_DETAILS = 77, | |
179 | 243 DIALOGUE_ARENA_WELCOME = 0x59, |
244 DIALOGUE_ARENA_FIGHT_NOT_OVER_YET = 0x5A, | |
245 DIALOGUE_ARENA_REWARD = 0x5B, | |
246 DIALOGUE_ARENA_ALREADY_WON = 0x5C, | |
167 | 247 }; |
0 | 248 |
249 | |
250 | |
251 | |
252 | |
253 /* 298 */ | |
254 enum WindowType: unsigned __int32 | |
255 { | |
256 WINDOW_null = 0, | |
961 | 257 WINDOW_MainMenu = 1, |
258 WINDOW_OptionsButtons = 3, | |
259 WINDOW_CharacterRecord = 4, | |
260 WINDOW_Options = 6, | |
710 | 261 WINDOW_8 = 8, |
961 | 262 WINDOW_Book = 9, |
959 | 263 WINDOW_Dialogue = 10, |
710 | 264 WINDOW_QuickReference = 12, |
960 | 265 WINDOW_F = 15, |
948 | 266 WINDOW_Rest = 16, |
710 | 267 WINDOW_ChangeLocation = 17, |
158 | 268 WINDOW_SpellBook = 0x12, |
710 | 269 WINDOW_GreetingNPC = 19, |
0 | 270 WINDOW_Chest = 0x14, |
990 | 271 WINDOW_22 = 0x16, |
961 | 272 WINDOW_SaveLoadButtons = 23, |
0 | 273 WINDOW_MainMenu_Load = 0x18, |
274 WINDOW_HouseInterior = 0x19, | |
710 | 275 WINDOW_Transition = 26, |
961 | 276 WINDOW_CastSpell = 27, |
158 | 277 WINDOW_Scroll = 0x1E, |
898 | 278 WINDOW_CastSpell_InInventory = 31, |
962 | 279 WINDOW_FinalWindow = 70, |
280 WINDOW_50 = 80, | |
281 WINDOW_59 = 89, | |
282 WINDOW_PressedButton2 = 90, | |
283 WINDOW_CharactersPressedButton = 91, | |
284 WINDOW_PressedButton = 92, | |
285 WINDOW_5D = 93, | |
961 | 286 WINDOW_SaveLoadBtn = 94, |
962 | 287 WINDOW_LoadGame_CancelBtn = 95, |
288 WINDOW_CloseRestWindowBtn = 96, | |
960 | 289 WINDOW_ExitCharacterWindow = 97, |
17 | 290 WINDOW_RestWindow = 0x62, |
960 | 291 WINDOW_BooksWindow = 99, |
17 | 292 WINDOW_CharacterWindow_Stats = 0x64, |
293 WINDOW_CharacterWindow_Skills = 0x65, | |
294 WINDOW_CharacterWindow_Awards = 0x66, | |
295 WINDOW_CharacterWindow_Inventory = 0x67, | |
710 | 296 WINDOW_68 = 104, |
0 | 297 WINDOW_KeyMappingOptions = 0x69, |
17 | 298 WINDOW_VideoOptions = 0x6A, |
961 | 299 WINDOW_LloydsBeacon = 177, |
710 | 300 WINDOW_TownPortal = 195, |
301 WINDOW_QuestBook = 200, | |
17 | 302 WINDOW_AutonotesBook = 0xC9, |
303 WINDOW_MapsBook = 0xCA, | |
304 WINDOW_CalendarBook = 0xCB, | |
1004 | 305 WINDOW_JournalBook = 0xE0, |
0 | 306 }; |
307 | |
832 | 308 struct GUIButton; |
309 struct Texture; | |
310 | |
0 | 311 /* 155 */ |
312 #pragma pack(push, 1) | |
313 struct GUIWindow | |
314 { | |
200 | 315 inline GUIWindow() |
316 { | |
317 pControlsHead = pControlsTail = nullptr; | |
318 eWindowType = WINDOW_null; | |
319 } | |
320 | |
189 | 321 GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7, |
832 | 322 UIMessageType msg, unsigned int msg_param, unsigned __int8 uHotkey, const char *pName, Texture *pTextures, ...); |
0 | 323 void DrawFlashingInputCursor(signed int a3, int a4, struct GUIFont *a2); |
324 int DrawTextInRect(GUIFont *a2, unsigned int uX, unsigned int uY, unsigned int uColor, const char *Str1, int Source, int a8); | |
325 char DrawText(GUIFont *a2, signed int uX, int uY, unsigned int uFontColor, const char *Str, int a7, int a8, unsigned int uFontShadowColor); | |
762 | 326 void DrawTitleText(GUIFont *a2, signed int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing); |
471
c43f156a95c9
ArmorShopDialog crash fixed. All shops show its items
Gloval
parents:
467
diff
changeset
|
327 void DrawCurrentTime(__int64 a2); |
405 | 328 void HouseDialogManager(); |
198 | 329 void OpenSpellBook(); |
0 | 330 void InitializeBookView(); |
331 void DrawMessageBox(int arg0); | |
332 GUIButton *GetControl(unsigned int uID); | |
333 void Release(); | |
972 | 334 void _41D08F_set_keyboard_control_group(int a2, int a3, int a4, int a5); |
0 | 335 char _41D73D_draw_buff_tooltip(); |
336 | |
337 static GUIWindow *Create(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, enum WindowType eType, int a4, int a5); | |
338 | |
339 unsigned int uFrameX; | |
340 unsigned int uFrameY; | |
341 unsigned int uFrameWidth; | |
342 unsigned int uFrameHeight; | |
343 unsigned int uFrameZ; | |
344 unsigned int uFrameW; | |
345 WindowType eWindowType; | |
496 | 346 union{ |
917 | 347 void *ptr_1C;// sometimes BuildID_2Events |
496 | 348 unsigned int par1C; |
349 }; | |
0 | 350 unsigned int uNumControls; |
351 int field_24; | |
352 int pNumPresenceButton; | |
353 int pCurrentPosActiveItem; | |
354 int field_30; | |
355 int field_34; | |
356 int pStartingPosActiveItem; | |
496 | 357 int numVisibleWindows; |
0 | 358 int field_40; |
972 | 359 int receives_keyboard_input; |
0 | 360 char *Hint; |
361 GUIButton *pControlsHead; | |
362 GUIButton *pControlsTail; | |
363 }; | |
364 #pragma pack(pop) | |
365 | |
366 | |
367 | |
368 | |
369 | |
370 | |
495 | 371 |
629 | 372 |
151 | 373 enum CURRENT_SCREEN |
374 { | |
375 SCREEN_GAME = 0x0, | |
376 SCREEN_MENU = 0x1, | |
377 SCREEN_OPTIONS = 0x2, | |
378 SCREEN_BOOKS = 0x3, | |
379 SCREEN_NPC_DIALOGUE = 0x4, | |
380 SCREEN_REST = 0x5, | |
381 SCREEN_CHARACTERS = 0x7, | |
382 SCREEN_SPELL_BOOK = 0x8, | |
383 SCREEN_CREATORS = 0x9, | |
384 SCREEN_CHEST = 0xA, | |
385 SCREEN_SAVEGAME = 0xB, | |
386 SCREEN_LOADGAME = 0xC, | |
387 SCREEN_HOUSE = 0xD, | |
388 SCREEN_E = 0xE, | |
987 | 389 SCREEN_CHEST_INVENTORY = 0xF, |
151 | 390 SCREEN_VIDEO = 0x10, |
391 SCREEN_CHANGE_LOCATION = 0x11, | |
392 SCREEN_INPUT_BLV = 0x12, | |
393 SCREEN_BRANCHLESS_NPC_DIALOG = 0x13, | |
394 SCREEN_PARTY_CREATION = 0x15, | |
395 SCREEN_PRESS_ESCAPE_MESSAGE = 0x16, | |
396 SCREEN_CASTING = 0x17, | |
397 SCREEN_19 = 0x19, | |
398 SCREEN_KEYBOARD_OPTIONS = 0x1A, | |
399 SCREEN_1B = 0x1B, | |
400 SCREEN_VIDEO_OPTIONS = 0x1C, | |
401 SCREEN_63 = 0x63, | |
402 SCREEN_64 = 0x64, | |
403 SCREEN_67 = 0x67, | |
404 SCREEN_QUICK_REFERENCE = 0x68, | |
405 }; | |
0 | 406 |
407 | |
408 | |
409 | |
410 /* 249 */ | |
411 #pragma pack(push, 1) | |
412 struct GUIMessage | |
413 { | |
414 enum UIMessageType eType; | |
415 int param; | |
416 int field_8; | |
417 }; | |
418 #pragma pack(pop) | |
419 | |
420 | |
421 | |
422 | |
437 | 423 #define AddMessage(msg, param, a4) AddMessageImpl((msg), (param), (a4), __FILE__, __LINE__) |
0 | 424 /* 250 */ |
425 #pragma pack(push, 1) | |
426 struct GUIMessageQueue | |
427 { | |
428 inline GUIMessageQueue(): | |
429 uNumMessages(0) | |
430 {} | |
431 | |
783 | 432 void Flush(); |
0 | 433 void PopMessage(UIMessageType *pMsg, int *pParam, int *a4); |
437 | 434 void AddMessageImpl(UIMessageType msg, int param, unsigned int a4, const char *file = nullptr, int line = 0); |
0 | 435 |
436 unsigned int uNumMessages; | |
437 GUIMessage pMessages[40]; | |
437 | 438 |
439 const char *files[40]; | |
440 int lines[40]; | |
0 | 441 }; |
442 #pragma pack(pop) | |
443 | |
444 extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb | |
445 | |
446 | |
447 | |
448 | |
248 | 449 |
651 | 450 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); |
248 | 451 |
452 | |
453 | |
0 | 454 extern int pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[]; // idb |
455 extern struct GUIWindow *pWindow_MainMenu; | |
566 | 456 extern struct GUIWindow pWindowList[20]; |
457 | |
458 | |
459 | |
460 | |
461 | |
462 | |
994 | 463 |
464 | |
465 void draw_leather(); | |
466 | |
467 | |
468 | |
469 | |
470 // game ui | |
471 void GameUI_DrawRightPanel(); | |
472 void GameUI_DrawRightPanelFrames(); | |
473 void GameUI_DrawRightPanelItems(); | |
991 | 474 void GameUI_QuickRef_Draw(); |
994 | 475 void GameUI_DrawFoodAndGold(); |
476 void GameUI_DrawLifeManaBars(); | |
477 void GameUI_DrawHiredNPCs(); | |
478 void GameUI_DrawPortraits(unsigned int _this); | |
479 void GameUI_Footer(); | |
480 void GameUI_Footer_2(); | |
481 void GameUI_SetFooterString(const char *pStr); | |
995 | 482 void GameUI_DrawMinimap(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW, unsigned int uZoom, unsigned int bRedrawOdmMinimap); |
483 void GameUI_DrawPartySpells(); | |
484 void GameUI_DrawTorchlightAndWizardEye(); | |
485 void GameUI_DrawCharacterSelectionFrame(); | |
1004 | 486 void GameUI_CharacterQuickRecord_Draw(GUIWindow *window, Player *player); |
816 | 487 |
488 | |
489 | |
490 | |
491 | |
492 | |
493 | |
494 | |
495 | |
496 | |
994 | 497 |
498 // character ui | |
995 | 499 struct GUIWindow *CharacterUI_Initialize(unsigned int _this); |
983 | 500 const char *CharacterUI_GetSkillDescText(unsigned int uPlayerID, PLAYER_SKILL_TYPE uPlayerSkillType); |
501 char CharacterUI_SkillsTab_ShowHint(); | |
502 void CharacterUI_StatsTab_ShowHint(); | |
991 | 503 char CharacterUI_StatsTab_Draw(Player *player); |
504 void CharacterUI_SkillsTab_CreateButtons(); | |
983 | 505 void CharacterUI_SkillsTab_Draw(Player *player); |
991 | 506 void CharacterUI_AwardsTab_Draw(Player *player); |
984 | 507 void CharacterUI_InventoryTab_Draw(Player *player, bool a2); |
991 | 508 void CharacterUI_CharacterScreen_Draw(Player *player); |
509 void CharacterUI_DrawPaperdoll(Player *player); | |
510 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player); | |
511 void CharacterUI_ReleaseButtons(); | |
512 | |
995 | 513 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level); |
832 | 514 |
515 | |
516 | |
517 | |
518 | |
995 | 519 //book ui |
520 void BookUI_Draw(WindowType book); | |
521 void BookUI_Questbook_Draw(); | |
522 void BookUI_Autonotes_Draw(); | |
523 void BookUI_Map_Draw(); | |
524 void BookUI_Calendar_Draw(); | |
1004 | 525 void BookUI_Journal_Draw(); |
995 | 526 |
527 void OnCloseSpellBook(); | |
528 void InitializeBookTextures(); | |
529 void InitializeBookFonts(); | |
1004 | 530 void DrawSpellBookContent(Player *player); |
995 | 531 unsigned int __cdecl DrawLloydBeaconsScreen(); |
532 void DrawTownPortalScreen(); | |
533 void LoadSpellbook(unsigned int uID); // idb | |
534 void DrawSpellDescriptionPopup(int spell_index); | |
1004 | 535 void sub_41140B(); |
536 void sub_411473(); | |
832 | 537 |
538 | |
539 | |
540 | |
541 | |
542 | |
543 | |
544 | |
545 | |
546 | |
547 | |
548 | |
549 | |
550 | |
551 | |
552 | |
553 | |
554 | |
555 | |
556 | |
557 | |
558 | |
559 | |
560 | |
561 | |
562 | |
563 #pragma pack(push, 1) | |
564 struct GUIButton | |
565 { | |
566 char DrawLabel(const char *edx0, struct GUIFont *pFont, int a5, int *a9); | |
567 | |
568 void Release(); | |
569 | |
570 | |
571 unsigned int uX; | |
572 unsigned int uY; | |
573 unsigned int uWidth; | |
574 unsigned int uHeight; | |
575 unsigned int uZ; | |
576 unsigned int uW; | |
577 int uButtonType; | |
578 int field_1C;//may be pMessageType | |
579 UIMessageType msg; | |
580 unsigned int msg_param; | |
581 int field_28; | |
582 int field_2C_is_pushed; | |
583 GUIButton *pPrev; | |
584 GUIButton *pNext; | |
585 struct GUIWindow *pParent; | |
586 struct Texture *pTextures[5]; | |
587 unsigned int uNumTextures; | |
588 unsigned __int8 uHotkey; | |
589 char pButtonName[32]; | |
590 char field_75[71]; | |
591 }; | |
592 #pragma pack(pop) | |
593 | |
594 | |
595 | |
596 | |
597 extern struct GUIButton *pBtn_CloseBook; | |
598 extern struct GUIButton *pBtn_InstallRemoveSpell; | |
599 extern struct GUIButton *pBtn_Autonotes_Instructors; | |
600 extern struct GUIButton *pBtn_Autonotes_Misc; | |
601 extern struct GUIButton *pBtn_Book_6; | |
602 extern struct GUIButton *pBtn_Book_5; | |
603 extern struct GUIButton *pBtn_Book_4; | |
604 extern struct GUIButton *pBtn_Book_3; | |
605 extern struct GUIButton *pBtn_Book_2; | |
606 extern struct GUIButton *pBtn_Book_1; | |
607 | |
608 | |
609 extern struct GUIButton *pPlayerCreationUI_BtnReset; | |
610 extern struct GUIButton *pPlayerCreationUI_BtnOK; | |
611 extern struct GUIButton *pBtn_ExitCancel; | |
612 extern struct GUIButton *pBtn_YES; | |
613 extern struct GUIButton *pPlayerCreationUI_BtnPlus; | |
614 extern struct GUIButton *pPlayerCreationUI_BtnMinus; | |
615 | |
616 | |
617 extern struct GUIButton *pButton_RestUI_Main; | |
618 extern struct GUIButton *pButton_RestUI_Exit; | |
619 extern struct GUIButton *pButton_RestUI_Wait5Minutes; | |
620 extern struct GUIButton *pButton_RestUI_WaitUntilDawn; | |
621 extern struct GUIButton *pButton_RestUI_Wait1Hour; | |
622 | |
623 | |
624 extern struct GUIButton *pCharacterScreen_ExitBtn; | |
625 extern struct GUIButton *pCharacterScreen_AwardsBtn; | |
626 extern struct GUIButton *pCharacterScreen_InventoryBtn; | |
627 extern struct GUIButton *pCharacterScreen_SkillsBtn; | |
628 extern struct GUIButton *pCharacterScreen_StatsBtn; | |
629 extern struct GUIButton *pCharacterScreen_DollBtn; | |
630 extern struct GUIButton *pCharacterScreen_DetalizBtn; | |
631 | |
632 | |
633 extern struct GUIButton *pBtn_NPCRight; | |
634 extern struct GUIButton *pBtn_NPCLeft; | |
635 extern struct GUIButton *pBtn_GameSettings; | |
636 extern struct GUIButton *pBtn_QuickReference; | |
637 extern struct GUIButton *pBtn_CastSpell; | |
638 extern struct GUIButton *pBtn_Rest; | |
639 extern struct GUIButton *pBtn_History; | |
640 extern struct GUIButton *pBtn_Calendar; | |
641 extern struct GUIButton *pBtn_Maps; | |
642 extern struct GUIButton *pBtn_Autonotes; | |
643 extern struct GUIButton *pBtn_Quests; | |
644 | |
645 | |
646 extern struct GUIButton *pMainMenu_BtnExit; | |
647 extern struct GUIButton *pMainMenu_BtnCredits; | |
648 extern struct GUIButton *pMainMenu_BtnLoad; | |
649 extern struct GUIButton *pMainMenu_BtnNew; | |
650 | |
651 | |
652 extern struct GUIButton *pBtn_Up; | |
653 extern struct GUIButton *pBtn_Down; | |
654 extern struct GUIButton *ptr_507BA4; | |
655 | |
656 | |
657 extern struct GUIWindow *pPrimaryWindow; | |
658 extern struct GUIWindow *pChestWindow; | |
659 extern struct GUIWindow *pDialogueWindow; | |
660 extern struct GUIWindow *window_SpeakInHouse; | |
661 extern struct GUIWindow *pGUIWindow_ScrollWindow; | |
662 extern struct GUIWindow *ptr_507BC8; | |
663 extern struct GUIWindow *pGUIWindow_CurrentMenu; | |
664 extern struct GUIWindow *ptr_507BD0; | |
665 extern struct GUIWindow *pGUIWindow_Settings; | |
666 extern struct GUIWindow *ptr_507BDC; | |
667 extern struct GUIWindow *pGUIWindow_EscMessageWindow; | |
668 extern struct GUIWindow *pBooksWindow; | |
669 extern struct GUIWindow *pGUIWindow2; | |
670 | |
671 | |
672 extern struct GUIButton *pBtn_Resume; | |
673 extern struct GUIButton *pBtn_QuitGame; | |
674 extern struct GUIButton *pBtn_GameControls; | |
675 extern struct GUIButton *pBtn_LoadGame; | |
676 extern struct GUIButton *pBtn_SaveGame; | |
677 extern struct GUIButton *pBtn_NewGame; | |
678 | |
679 extern struct GUIButton *pBtn_SliderRight; | |
680 extern struct GUIButton *pBtn_SliderLeft; | |
681 | |
682 | |
683 extern struct GUIButton *pBtnDownArrow; | |
684 extern struct GUIButton *pBtnArrowUp; | |
685 extern struct GUIButton *pBtnCancel; | |
686 extern struct GUIButton *pBtnLoadSlot; | |
687 | |
688 | |
689 extern GUIButton *pCreationUI_BtnPressRight2[4]; | |
690 extern GUIButton *pCreationUI_BtnPressLeft2[4]; | |
691 extern GUIButton *pCreationUI_BtnPressLeft[4]; | |
983 | 692 extern GUIButton *pCreationUI_BtnPressRight[4]; |
693 | |
995 | 694 extern int uTextureID_GameUI_CharSelectionFrame; // 50C98C |
983 | 695 |
1004 | 696 extern unsigned int ui_mainmenu_copyright_color; |
995 | 697 extern unsigned int ui_character_default_text_color; |
698 extern unsigned int ui_character_skill_highlight_color; | |
699 extern unsigned int ui_character_header_text_color; | |
700 extern unsigned int ui_character_bonus_text_color; | |
701 extern unsigned int ui_character_bonus_text_color_neg; | |
702 extern unsigned int ui_character_skill_upgradeable_color; | |
703 extern unsigned int ui_character_skill_default_color; | |
704 extern unsigned int ui_character_award_color[6]; | |
705 extern unsigned int ui_game_minimap_outline_color; | |
706 extern unsigned int ui_game_minimap_actor_friendly_color; | |
707 extern unsigned int ui_game_minimap_actor_hostile_color; | |
708 extern unsigned int ui_game_minimap_actor_corpse_color; | |
709 extern unsigned int ui_game_minimap_decoration_color_1; | |
710 extern unsigned int ui_game_minimap_projectile_color; | |
711 extern unsigned int ui_game_minimap_treasure_color; | |
1004 | 712 extern unsigned int ui_game_character_record_playerbuff_colors[24]; |
995 | 713 extern unsigned int ui_book_quests_title_color; |
714 extern unsigned int ui_book_quests_text_color; | |
715 extern unsigned int ui_book_autonotes_title_color; | |
716 extern unsigned int ui_book_autonotes_text_color; | |
717 extern unsigned int ui_book_map_title_color; | |
1004 | 718 extern unsigned int ui_book_map_coordinates_color; |
719 extern unsigned int ui_book_calendar_title_color; | |
720 extern unsigned int ui_book_calendar_time_color; | |
721 extern unsigned int ui_book_calendar_day_color; | |
722 extern unsigned int ui_book_calendar_month_color; | |
723 extern unsigned int ui_book_calendar_year_color; | |
724 extern unsigned int ui_book_calendar_moon_color; | |
725 extern unsigned int ui_book_calendar_location_color; | |
726 extern unsigned int ui_book_journal_title_color; | |
727 extern unsigned int ui_book_journal_text_color; | |
728 extern unsigned int ui_book_journal_text_shadow; |