Mercurial > mm7
annotate GUI/GUIWindow.h @ 2546:4087cbc62706
GameMenu logic moved to GUIWindow_GameMenu
the same for game menu options
author | a.parshin |
---|---|
date | Mon, 11 May 2015 17:45:02 +0200 |
parents | e06a3fe9ad6e |
children | fed97f15d1e1 |
rev | line source |
---|---|
2502 | 1 #pragma once |
2 | |
3 #include <cstdint> | |
4 #include <array> | |
5 | |
6 #include "Engine/Objects/Player.h" | |
7 | |
8 enum UIMessageType: unsigned __int32 | |
9 { | |
10 UIMSG_0 = 0, | |
11 | |
12 UIMSG_ChangeGameState = 5, | |
13 | |
14 UIMSG_MouseLeftClickInGame = 10, | |
15 | |
16 UIMSG_CHEST_ClickItem = 12, | |
17 | |
18 UIMSG_MouseLeftClickInScreen = 14, | |
19 UIMSG_F = 15, | |
20 | |
21 UIMSG_ChangeCursor = 17, | |
22 | |
23 UIMSG_Attack = 23, | |
24 | |
25 UIMSG_CastQuickSpell = 25, | |
26 | |
27 UIMSG_STEALFROMACTOR = 27, | |
28 UIMSG_1C = 28, | |
29 UIMSG_PlayArcomage = 29, | |
30 | |
31 UIMSG_31 = 49, | |
32 UIMSG_32 = 50, | |
33 UIMSG_SpellBook_PressTab = 51, | |
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, | |
51 UIMSG_CastSpell_Character_Big_Improvement = 69, | |
52 UIMSG_CastSpell_Shoot_Monster = 70, | |
53 UIMSG_ClickBooksBtn = 71, | |
54 UIMSG_48 = 72, | |
55 UIMSG_49 = 73, | |
56 UIMSG_PlayerCreationRemoveUpSkill = 74, | |
57 UIMSG_PlayerCreationRemoveDownSkill = 75, | |
58 | |
59 UIMSG_HintSelectRemoveQuickSpellBtn = 78, | |
60 UIMSG_SPellbook_ShowHightlightedSpellInfo = 79, | |
61 | |
62 UIMSG_BuyInShop_Identify_Repair = 81, | |
63 UIMSG_LoadGame = 82, | |
64 UIMSG_SaveGame = 83, | |
65 UIMSG_54 = 84, | |
66 UIMSG_ChangeDetaliz = 85, | |
67 UIMSG_SelectSpell = 86, | |
68 UIMSG_OpenSpellbookPage = 87, | |
69 UIMSG_ClickInstallRemoveQuickSpellBtn = 88, | |
70 | |
71 UIMSG_OnTravelByFoot = 90, | |
72 UIMSG_CHANGE_LOCATION_ClickCencelBtn = 91, | |
73 UIMSG_ShowStatus_DateTime = 92, | |
74 UIMSG_ShowStatus_ManaHP = 93, | |
75 UIMSG_ShowStatus_Player = 94, | |
76 UIMSG_Wait5Minutes = 95, | |
77 UIMSG_Wait1Hour = 96, | |
78 UIMSG_Rest8Hour = 97, | |
79 | |
80 UIMSG_ShowStatus_Food = 100, | |
81 UIMSG_ShowStatus_Funds = 101, | |
82 | |
83 UIMSG_RestWindow = 104, | |
84 UIMSG_SpellBookWindow = 105, | |
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, | |
93 UIMSG_ClickSkillsBtn = 114, | |
94 UIMSG_ClickStatsBtn = 115, | |
95 UIMSG_ClickInventoryBtn = 116, | |
96 UIMSG_ClickAwardsBtn = 117, | |
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, | |
111 UIMSG_ClickPaperdoll = 133, | |
112 UIMSG_StartHireling1Dialogue = 134, | |
113 UIMSG_StartHireling2Dialogue = 135, | |
114 UIMSG_SelectNPCDialogueOption = 136, | |
115 | |
116 UIMSG_CastSpell_Monster_Improvement = 140, | |
117 UIMSG_CastSpell_Character_Small_Improvement = 141, | |
118 UIMSG_CastSpellFromBook = 142, | |
119 UIMSG_HiredNPC_CastSpell = 143, | |
120 UIMSG_PlayerCreation_VoicePrev = 144, | |
121 UIMSG_PlayerCreation_VoiceNext = 145, | |
122 UIMSG_SpellScrollUse = 146, | |
123 | |
124 UIMSG_StartNPCDialogue = 161, | |
125 UIMSG_ArrowUp = 162, | |
126 UIMSG_DownArrow = 163, | |
127 UIMSG_SaveLoadBtn = 164, | |
128 UIMSG_SelectLoadSlot = 165, | |
129 UIMSG_Cancel = 166, | |
130 UIMSG_ExitRest = 167, | |
131 UIMSG_ClickExitCharacterWindowBtn = 168, | |
132 UIMSG_ClickAwardsUpBtn = 169, | |
133 UIMSG_ClickAwardsDownBtn = 170, | |
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, | |
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, | |
147 UIMSG_SetTurnSpeed = 184, | |
148 UIMSG_ToggleWalkSound = 185, | |
149 UIMSG_ChangeVoiceVolume = 186, | |
150 UIMSG_ToggleShowDamage = 187, | |
151 UIMSG_ScrollNPCPanel = 188, | |
152 UIMSG_BD = 189, | |
153 UIMSG_CastSpell_Telekinesis = 190, | |
154 UIMSG_BF = 191, | |
155 UIMSG_ClickAwardScrollBar = 192, | |
156 UIMSG_C1 = 192, | |
157 UIMSG_C2 = 192, | |
158 | |
159 UIMSG_OnCastTownPortal = 195, | |
160 UIMSG_OnFinalWindowClose = 196, | |
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 | |
186 UIMSG_ClickZoomOutBtn = 367, | |
187 UIMSG_ClickZoomInBtn = 368, | |
188 | |
189 UIMSG_Game_Action = 404, | |
190 UIMSG_SelectShopDialogueOption = 405, | |
191 | |
192 UIMSG_RentRoom = 409, | |
193 UIMSG_ClickHouseNPCPortrait = 410, | |
194 UIMSG_TransitionUI_Confirm = 411, | |
195 UIMSG_TransitionWindowCloseBtn = 412, | |
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, | |
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 | |
214 }; | |
215 | |
216 | |
217 /* 251 */ | |
218 enum MENU_STATE : __int32 | |
219 { | |
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, | |
230 MENU_DebugBLVLevel = 10, | |
231 MENU_CREDITSCLOSE = 11, | |
232 MENU_MMT_MAIN_MENU = 12, | |
233 }; | |
234 | |
235 | |
236 enum DIALOGUE_TYPE | |
237 { | |
238 DIALOGUE_USE_NPC_ABILITY = 9, | |
239 DIALOGUE_13 = 0xD, | |
240 DIALOGUE_18 = 18, | |
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, | |
247 DIALOGUE_76 = 76, | |
248 DIALOGUE_PROFESSION_DETAILS = 77, | |
249 DIALOGUE_SKILL_TRAINER = 78, | |
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, | |
257 DIALOGUE_ARENA_REWARD = 91, | |
258 DIALOGUE_ARENA_ALREADY_WON = 92, | |
259 }; | |
260 | |
261 | |
262 | |
263 | |
264 | |
265 /* 298 */ | |
266 enum WindowType: unsigned __int32 | |
267 { | |
268 WINDOW_null = 0, | |
269 WINDOW_MainMenu = 1, | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
270 WINDOW_GameMenu = 3, |
2502 | 271 WINDOW_CharacterRecord = 4, |
272 WINDOW_Options = 6, | |
273 WINDOW_8 = 8, | |
274 WINDOW_Book = 9, | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
275 WINDOW_Dialogue = 10, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
276 WINDOW_QuickReference = 12, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
277 WINDOW_F = 15, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
278 WINDOW_Rest = 16, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
279 WINDOW_ChangeLocation = 17, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
280 WINDOW_SpellBook = 18, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
281 WINDOW_GreetingNPC = 19, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
282 WINDOW_Chest = 20, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
283 WINDOW_22 = 0x16, |
2502 | 284 WINDOW_SaveLoadButtons = 23, |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
285 WINDOW_MainMenu_Load = 0x18, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
286 WINDOW_HouseInterior = 0x19, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
287 WINDOW_Transition = 26, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
288 WINDOW_CastSpell = 27, // OnCastTargetedSpell |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
289 WINDOW_Scroll = 0x1E, |
2502 | 290 WINDOW_CastSpell_InInventory = 31, |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
291 WINDOW_ModalWindow = 70, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
292 WINDOW_50 = 80, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
293 WINDOW_59 = 89, |
2502 | 294 WINDOW_PressedButton2 = 90, |
295 WINDOW_CharactersPressedButton = 91, | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
296 WINDOW_PressedButton = 92, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
297 WINDOW_5D = 93, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
298 WINDOW_SaveLoadBtn = 94, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
299 WINDOW_LoadGame_CancelBtn = 95, // OnCancel3 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
300 WINDOW_CloseRestWindowBtn = 96, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
301 WINDOW_ExitCharacterWindow = 97, // OnCancel2 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
302 WINDOW_RestWindow = 0x62, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
303 WINDOW_BooksWindow = 99, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
304 WINDOW_CharacterWindow_Stats = 0x64, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
305 WINDOW_CharacterWindow_Skills = 0x65, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
306 WINDOW_CharacterWindow_Awards = 0x66, |
2502 | 307 WINDOW_CharacterWindow_Inventory = 0x67, |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
308 WINDOW_68 = 104, |
2502 | 309 WINDOW_KeyMappingOptions = 0x69, |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
310 WINDOW_VideoOptions = 0x6A, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
311 WINDOW_LloydsBeacon = 177, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
312 WINDOW_TownPortal = 195, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
313 WINDOW_QuestBook = 200, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
314 WINDOW_AutonotesBook = 0xC9, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
315 WINDOW_MapsBook = 0xCA, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
316 WINDOW_CalendarBook = 0xCB, |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
317 WINDOW_JournalBook = 0xE0, |
2502 | 318 }; |
319 | |
320 struct GUIButton; | |
321 struct Texture; | |
322 | |
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 | |
329 /* 155 */ | |
330 #pragma pack(push, 1) | |
331 struct GUIWindow | |
332 { | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
333 GUIWindow(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
334 GUIWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int pButton, const char* hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
335 virtual ~GUIWindow() {} |
2502 | 336 |
337 GUIButton *CreateButton(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight, int a6, int a7, | |
338 UIMessageType msg, unsigned int msg_param, unsigned __int8 uHotkey, const char *pName, struct Texture *pTextures, ...); | |
339 void DrawFlashingInputCursor(signed int uX, int uY, struct GUIFont *a2); | |
340 int DrawTextInRect(GUIFont *pFont, unsigned int uX, unsigned int uY, unsigned int uColor, const char *text, int rect_width, int reverse_text); | |
2529 | 341 void DrawText(GUIFont *a2, signed int uX, int uY, unsigned short uFontColor, const char *Str, bool present_time_transparency, int max_text_height, signed int uFontShadowColor); |
2502 | 342 void DrawTitleText(GUIFont *a2, signed int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing); |
343 void DrawShops_next_generation_time_string(__int64 next_generation_time); | |
344 void HouseDialogManager(); | |
345 void OpenSpellBook(); | |
346 void InitializeBookView(); | |
347 void DrawMessageBox(int arg0); | |
348 GUIButton *GetControl(unsigned int uID); | |
349 void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5); | |
350 void _41D73D_draw_buff_tooltip(); | |
351 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
352 virtual void Update() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
353 virtual void Release(); |
2502 | 354 |
355 unsigned int uFrameX; | |
356 unsigned int uFrameY; | |
357 unsigned int uFrameWidth; | |
358 unsigned int uFrameHeight; | |
359 unsigned int uFrameZ; | |
360 unsigned int uFrameW; | |
361 WindowType eWindowType; | |
362 union{ | |
363 void *ptr_1C;// sometimes BuildID_2Events | |
364 unsigned int par1C; | |
365 }; | |
366 unsigned int uNumControls; | |
367 int field_24; | |
368 int pNumPresenceButton; | |
369 int pCurrentPosActiveItem; | |
370 int field_30; | |
371 int field_34; | |
372 int pStartingPosActiveItem; | |
373 int numVisibleWindows; | |
374 int receives_keyboard_input_2; // 0 no input 1 currently typing 2 enter pressed 3 escape pressed | |
375 int receives_keyboard_input; | |
376 const char *Hint; | |
377 GUIButton *pControlsHead; | |
378 GUIButton *pControlsTail; | |
379 }; | |
380 #pragma pack(pop) | |
381 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
382 struct GUIWindow_CharacterRecord : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
383 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
384 GUIWindow_CharacterRecord(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
385 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
386 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
387 virtual ~GUIWindow_CharacterRecord() {} |
2502 | 388 |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
389 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
390 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
391 struct GUIWindow_Book : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
392 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
393 GUIWindow_Book(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
394 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
395 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
396 InitializeBookView(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
397 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
398 virtual ~GUIWindow_Book() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
399 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
400 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
401 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
402 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
403 struct GUIWindow_BooksWindow : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
404 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
405 GUIWindow_BooksWindow(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
406 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
407 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
408 virtual ~GUIWindow_BooksWindow() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
409 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
410 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
411 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
412 struct GUIWindow_QuickReference : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
413 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
414 GUIWindow_QuickReference(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
415 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
416 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
417 virtual ~GUIWindow_QuickReference() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
418 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
419 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
420 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
421 struct GUIWindow_Dialogue : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
422 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
423 GUIWindow_Dialogue(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
424 virtual ~GUIWindow_Dialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
425 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
426 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
427 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
428 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
429 struct GUIWindow_Spellbook : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
430 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
431 GUIWindow_Spellbook(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
432 virtual ~GUIWindow_Spellbook() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
433 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
434 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
435 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
436 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
437 struct GUIWindow_GenericDialogue : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
438 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
439 GUIWindow_GenericDialogue(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
440 virtual ~GUIWindow_GenericDialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
441 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
442 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
443 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
444 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
445 struct GUIWindow_Chest : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
446 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
447 GUIWindow_Chest(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
448 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
449 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
450 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
451 CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
452 CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
453 CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
454 CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, 9, "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
455 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
456 virtual ~GUIWindow_Chest() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
457 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
458 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
459 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
460 struct GUIWindow_Save : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
461 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
462 GUIWindow_Save(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
463 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
464 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
465 virtual ~GUIWindow_Save() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
466 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
467 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
468 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
469 struct GUIWindow_Load : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
470 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
471 GUIWindow_Load(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
472 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
473 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
474 virtual ~GUIWindow_Load() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
475 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
476 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
477 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
478 struct GUIWindow_House : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
479 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
480 GUIWindow_House(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
481 virtual ~GUIWindow_House() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
482 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
483 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
484 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
485 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
486 struct GUIWindow_Scroll : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
487 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
488 GUIWindow_Scroll(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
489 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
490 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
491 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
492 CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
493 CreateButton(292, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 3, '3', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
494 CreateButton(407, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 4, '4', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
495 CreateButton(0, 0, 0, 0, 1, 0, UIMSG_CycleCharacters, 0, '\t', "", 0); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
496 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
497 virtual ~GUIWindow_Scroll() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
498 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
499 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
500 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
501 struct GUIWindow_Inventory : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
502 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
503 GUIWindow_Inventory(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
504 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
505 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
506 virtual ~GUIWindow_Inventory() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
507 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
508 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
509 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
510 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
511 struct GUIWindow_Inventory_CastSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
512 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
513 GUIWindow_Inventory_CastSpell(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
514 virtual ~GUIWindow_Inventory_CastSpell() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
515 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
516 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
517 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
518 struct GUIWindow_Modal : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
519 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
520 GUIWindow_Modal(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
521 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
522 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
523 virtual ~GUIWindow_Modal() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
524 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
525 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
526 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
527 struct OnButtonClick : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
528 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
529 OnButtonClick(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
530 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
531 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
532 virtual ~OnButtonClick() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
533 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
534 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
535 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
536 struct OnButtonClick2 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
537 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
538 OnButtonClick2(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
539 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
540 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
541 virtual ~OnButtonClick2() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
542 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
543 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
544 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
545 struct OnButtonClick3 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
546 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
547 OnButtonClick3(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
548 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
549 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
550 virtual ~OnButtonClick3() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
551 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
552 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
553 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
554 struct OnButtonClick4 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
555 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
556 OnButtonClick4(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
557 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
558 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
559 virtual ~OnButtonClick4() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
560 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
561 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
562 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
563 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
564 struct OnSaveLoad : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
565 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
566 OnSaveLoad(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
567 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
568 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
569 virtual ~OnSaveLoad() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
570 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
571 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
572 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
573 struct OnCancel : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
574 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
575 OnCancel(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
576 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
577 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
578 virtual ~OnCancel() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
579 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
580 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
581 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
582 struct OnCancel2 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
583 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
584 OnCancel2(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
585 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
586 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
587 virtual ~OnCancel2() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
588 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
589 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
590 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
591 struct OnCancel3 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
592 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
593 OnCancel3(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
594 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
595 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
596 virtual ~OnCancel3() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
597 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
598 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
599 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
600 struct OnCastTargetedSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
601 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
602 OnCastTargetedSpell(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
603 virtual ~OnCastTargetedSpell() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
604 }; |
2502 | 605 |
606 | |
607 | |
608 | |
609 | |
610 enum CURRENT_SCREEN | |
611 { | |
2542 | 612 SCREEN_GAME = 0, |
613 SCREEN_MENU = 1, | |
614 SCREEN_OPTIONS = 2, | |
615 SCREEN_BOOKS = 3, | |
616 SCREEN_NPC_DIALOGUE = 4, | |
617 SCREEN_REST = 5, | |
618 SCREEN_6 = 6, | |
2541 | 619 SCREEN_CHARACTERS = 7, |
2542 | 620 SCREEN_SPELL_BOOK = 8, |
621 SCREEN_CREATORS = 9, | |
2541 | 622 SCREEN_CHEST = 10, |
623 SCREEN_SAVEGAME = 11, | |
624 SCREEN_LOADGAME = 12, | |
625 SCREEN_HOUSE = 13, | |
626 SCREEN_E = 14, | |
627 SCREEN_CHEST_INVENTORY = 15, | |
2542 | 628 SCREEN_VIDEO = 16, |
629 SCREEN_CHANGE_LOCATION = 17, | |
630 SCREEN_INPUT_BLV = 18, | |
631 SCREEN_BRANCHLESS_NPC_DIALOG = 19, | |
632 SCREEN_20 = 20, | |
633 SCREEN_PARTY_CREATION = 21, | |
634 SCREEN_MODAL_WINDOW = 22, | |
635 SCREEN_CASTING = 23, | |
636 SCREEN_24 = 24, | |
637 SCREEN_19 = 25, | |
638 SCREEN_KEYBOARD_OPTIONS = 26, | |
639 SCREEN_1B = 27, | |
640 SCREEN_VIDEO_OPTIONS = 28, | |
641 | |
2502 | 642 SCREEN_63 = 0x63, |
643 SCREEN_64 = 0x64, | |
644 SCREEN_67 = 0x67, | |
645 SCREEN_QUICK_REFERENCE = 0x68, | |
646 }; | |
647 | |
648 | |
649 | |
650 | |
651 /* 249 */ | |
652 #pragma pack(push, 1) | |
653 struct GUIMessage | |
654 { | |
655 enum UIMessageType eType; | |
656 int param; | |
657 int field_8; | |
658 }; | |
659 #pragma pack(pop) | |
660 | |
661 | |
662 | |
663 | |
664 #define AddGUIMessage(msg, param, a4) AddMessageImpl((msg), (param), (a4), __FILE__, __LINE__) | |
665 /* 250 */ | |
666 #pragma pack(push, 1) | |
667 struct GUIMessageQueue | |
668 { | |
669 inline GUIMessageQueue(): | |
670 uNumMessages(0) | |
671 {} | |
672 | |
673 void Flush(); | |
674 void PopMessage(UIMessageType *pMsg, int *pParam, int *a4); | |
675 void AddMessageImpl(UIMessageType msg, int param, unsigned int a4, const char *file = nullptr, int line = 0); | |
676 | |
677 unsigned int uNumMessages; | |
678 GUIMessage pMessages[40]; | |
679 | |
680 const char *files[40]; | |
681 int lines[40]; | |
682 }; | |
683 #pragma pack(pop) | |
684 | |
685 extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb | |
686 | |
687 extern struct GUIMessageQueue *pMessageQueue_50C9E8; // idb | |
688 | |
689 | |
690 | |
691 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); | |
692 | |
693 | |
694 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
695 extern enum WindowType current_character_screen_window; |
2502 | 696 extern struct GUIWindow *pWindow_MMT_MainMenu; |
697 extern struct GUIWindow *pWindow_MainMenu; | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
698 extern std::array<struct GUIWindow *, 20> pWindowList; |
2502 | 699 |
700 | |
701 | |
702 | |
703 void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message); | |
704 void ModalWindow_ShowHint(); | |
705 void ModalWindow_Release(); | |
706 | |
707 | |
708 | |
709 void draw_leather(); | |
710 | |
711 | |
712 // main menu ui | |
713 void MainMenuUI_LoadFontsAndSomeStuff(); | |
714 void MainMenuUI_Create(); | |
715 MENU_STATE MainMenuUI_Credits_Loop(); | |
716 | |
717 // save & load ui | |
2541 | 718 GUIWindow *SaveUI_Load(enum CURRENT_SCREEN screen); |
2502 | 719 void SaveUI_Draw(); |
720 | |
721 void LoadUI_Draw(); | |
722 void LoadUI_Load(unsigned int uDialogueType); // idb | |
723 | |
724 // game ui | |
725 void GameUI_DrawRightPanel(); | |
726 void GameUI_DrawRightPanelFrames(); | |
727 void GameUI_DrawRightPanelItems(); | |
728 void GameUI_QuickRef_Draw(); | |
729 void GameUI_DrawFoodAndGold(); | |
730 void GameUI_DrawLifeManaBars(); | |
731 void GameUI_DrawHiredNPCs(); | |
732 void GameUI_DrawPortraits(unsigned int _this); | |
733 void GameUI_Footer(); | |
734 void GameUI_Footer_2(); | |
735 void GameUI_SetFooterString(const char *pStr); | |
736 void GameUI_DrawMinimap(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW, unsigned int uZoom, unsigned int bRedrawOdmMinimap); | |
737 auto GameUI_GetMinimapHintText() -> const char *; | |
738 void GameUI_DrawPartySpells(); | |
739 void GameUI_DrawTorchlightAndWizardEye(); | |
740 void GameUI_DrawCharacterSelectionFrame(); | |
741 void GameUI_CharacterQuickRecord_Draw(GUIWindow *window, Player *player); | |
742 void GameUI_DrawNPCPopup(void *_this); | |
743 | |
744 void GameUI_InitializeDialogue(struct Actor *actor, int bPlayerSaysHello); | |
745 void GameUI_DrawBranchlessDialogue(); | |
746 void GameUI_DrawDialogue(); | |
747 | |
748 | |
749 | |
750 | |
751 // character ui | |
2541 | 752 struct GUIWindow *CharacterUI_Initialize(enum CURRENT_SCREEN); |
2502 | 753 const char *CharacterUI_GetSkillDescText(unsigned int uPlayerID, PLAYER_SKILL_TYPE uPlayerSkillType); |
754 void CharacterUI_SkillsTab_ShowHint(); | |
755 void CharacterUI_StatsTab_ShowHint(); | |
756 void CharacterUI_StatsTab_Draw(Player *player); | |
757 void CharacterUI_SkillsTab_CreateButtons(); | |
758 void CharacterUI_SkillsTab_Draw(Player *player); | |
759 void CharacterUI_AwardsTab_Draw(Player *player); | |
760 void CharacterUI_InventoryTab_Draw(Player *player, bool a2); | |
761 void CharacterUI_CharacterScreen_Draw(Player *player); | |
762 void CharacterUI_DrawPaperdoll(Player *player); | |
763 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player); | |
764 void CharacterUI_ReleaseButtons(); | |
765 | |
766 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level); | |
767 | |
768 | |
769 | |
770 | |
771 | |
772 // book ui | |
773 void BookUI_Draw(WindowType book); | |
774 void BookUI_Questbook_Draw(); | |
775 void BookUI_Autonotes_Draw(); | |
776 void BookUI_Map_Draw(); | |
777 void BookUI_Calendar_Draw(); | |
778 void BookUI_Journal_Draw(); | |
779 | |
780 void OnCloseBook(); | |
781 void InitializeBookTextures(); | |
782 void InitializeBookFonts(); | |
783 void DrawSpellBookContent(Player *player); | |
784 unsigned int DrawLloydBeaconsScreen(); | |
785 void BookUI_DrawTownPortalMap(); | |
786 void LoadSpellbook(unsigned int uID); // idb | |
787 void DrawSpellDescriptionPopup(int spell_index); | |
788 void OnCloseSpellBookPage(); | |
789 void OnCloseSpellBook(); | |
790 | |
791 | |
792 | |
793 // rest ui | |
2543 | 794 void PrepareToLoadRestUI(); |
795 GUIWindow *RestUI_Load(); | |
2502 | 796 |
797 | |
798 | |
799 | |
800 | |
801 | |
802 void UI_OnMouseRightClick(Vec2_int_ *_this); | |
803 | |
804 void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb | |
805 void DrawMM7CopyrightWindow(); | |
806 //void LoadFonts_and_DrawCopyrightWindow(); | |
807 void GUI_UpdateWindows(); | |
808 int GetConditionDrawColor(unsigned int uConditionIdx); // idb | |
809 void FillAwardsData(); | |
810 void CreateAwardsScrollBar(); | |
811 void ReleaseAwardsScrollBar(); | |
812 void Inventory_ItemPopupAndAlchemy(); | |
813 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); | |
814 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos); | |
815 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); | |
816 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
817 void GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); |
2502 | 818 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font); |
819 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb | |
820 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window); | |
821 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); | |
822 void CreateMsgScrollWindow(signed int mscroll_id); | |
823 void free_book_subwindow(); | |
824 void CreateScrollWindow(); | |
825 void OnPaperdollLeftClick(); | |
826 void DrawJoinGuildWindow(int pEventCode); | |
827 void DialogueEnding(); | |
828 char sub_4637E0_is_there_popup_onscreen(); | |
829 void sub_4B3E1E(); | |
830 void __fastcall ClickNPCTopic(signed int uMessageParam); | |
831 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
832 void _4B3FE5_training_dialogue(int a4); | |
833 void OracleDialogue(); | |
834 void CheckBountyRespawnAndAward(); | |
835 const char * _4B254D_SkillMasteryTeacher(int trainerInfo); | |
836 char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); | |
837 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
838 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds); | |
839 void ShowNothingHereStatus(); | |
840 int const_2(); | |
841 | |
842 | |
843 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); | |
844 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); | |
845 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb | |
846 | |
847 | |
848 | |
849 | |
850 | |
851 | |
852 | |
853 | |
854 | |
855 | |
856 | |
857 | |
858 | |
859 | |
860 #pragma pack(push, 1) | |
861 struct GUIButton | |
862 { | |
863 void DrawLabel(const char *label_text, struct GUIFont *pFont, int a5, int uFontShadowColor); | |
864 | |
865 void Release(); | |
866 | |
867 | |
868 unsigned int uX; | |
869 unsigned int uY; | |
870 unsigned int uWidth; | |
871 unsigned int uHeight; | |
872 unsigned int uZ; | |
873 unsigned int uW; | |
874 int uButtonType; | |
875 int field_1C;//may be pMessageType | |
876 UIMessageType msg; | |
877 unsigned int msg_param; | |
878 int field_28; | |
879 int field_2C_is_pushed; | |
880 GUIButton *pPrev; | |
881 GUIButton *pNext; | |
882 struct GUIWindow *pParent; | |
883 struct Texture *pTextures[5]; | |
884 unsigned int uNumTextures; | |
885 unsigned __int8 uHotkey; | |
886 char pButtonName[32]; | |
887 char field_75[71]; | |
888 }; | |
889 #pragma pack(pop) | |
890 | |
891 | |
892 | |
893 | |
894 extern struct GUIButton *pBtn_CloseBook; | |
895 extern struct GUIButton *pBtn_InstallRemoveSpell; | |
896 extern struct GUIButton *pBtn_Autonotes_Instructors; | |
897 extern struct GUIButton *pBtn_Autonotes_Misc; | |
898 extern struct GUIButton *pBtn_Book_6; | |
899 extern struct GUIButton *pBtn_Book_5; | |
900 extern struct GUIButton *pBtn_Book_4; | |
901 extern struct GUIButton *pBtn_Book_3; | |
902 extern struct GUIButton *pBtn_Book_2; | |
903 extern struct GUIButton *pBtn_Book_1; | |
904 | |
905 | |
906 extern struct GUIButton *pPlayerCreationUI_BtnReset; | |
907 extern struct GUIButton *pPlayerCreationUI_BtnOK; | |
908 extern struct GUIButton *pBtn_ExitCancel; | |
909 extern struct GUIButton *pBtn_YES; | |
910 extern struct GUIButton *pPlayerCreationUI_BtnPlus; | |
911 extern struct GUIButton *pPlayerCreationUI_BtnMinus; | |
912 | |
913 | |
914 extern struct GUIButton *pButton_RestUI_Main; | |
915 extern struct GUIButton *pButton_RestUI_Exit; | |
916 extern struct GUIButton *pButton_RestUI_Wait5Minutes; | |
917 extern struct GUIButton *pButton_RestUI_WaitUntilDawn; | |
918 extern struct GUIButton *pButton_RestUI_Wait1Hour; | |
919 | |
920 | |
921 extern struct GUIButton *pCharacterScreen_ExitBtn; | |
922 extern struct GUIButton *pCharacterScreen_AwardsBtn; | |
923 extern struct GUIButton *pCharacterScreen_InventoryBtn; | |
924 extern struct GUIButton *pCharacterScreen_SkillsBtn; | |
925 extern struct GUIButton *pCharacterScreen_StatsBtn; | |
926 extern struct GUIButton *pCharacterScreen_DollBtn; | |
927 extern struct GUIButton *pCharacterScreen_DetalizBtn; | |
928 | |
929 | |
930 extern struct GUIButton *pBtn_NPCRight; | |
931 extern struct GUIButton *pBtn_NPCLeft; | |
932 extern struct GUIButton *pBtn_GameSettings; | |
933 extern struct GUIButton *pBtn_QuickReference; | |
934 extern struct GUIButton *pBtn_CastSpell; | |
935 extern struct GUIButton *pBtn_Rest; | |
936 extern struct GUIButton *pBtn_History; | |
937 extern struct GUIButton *pBtn_Calendar; | |
938 extern struct GUIButton *pBtn_Maps; | |
939 extern struct GUIButton *pBtn_Autonotes; | |
940 extern struct GUIButton *pBtn_Quests; | |
941 | |
942 | |
943 extern struct GUIButton *pMMT_MainMenu_BtnMM6; | |
944 extern struct GUIButton *pMMT_MainMenu_BtnMM7; | |
945 extern struct GUIButton *pMMT_MainMenu_BtnMM8; | |
946 extern struct GUIButton *pMMT_MainMenu_BtnContinue; | |
947 extern struct GUIButton *pMMT_MainMenu_BtnExit; | |
948 | |
949 | |
950 extern struct GUIButton *pBtn_Up; | |
951 extern struct GUIButton *pBtn_Down; | |
952 extern struct GUIButton *ptr_507BA4; | |
953 | |
954 | |
955 extern struct GUIWindow *pPrimaryWindow; | |
956 extern struct GUIWindow *pChestWindow; | |
957 extern struct GUIWindow *pDialogueWindow; | |
958 extern struct GUIWindow *window_SpeakInHouse; | |
959 extern struct GUIWindow *pGUIWindow_ScrollWindow; | |
960 extern struct GUIWindow *ptr_507BC8; | |
961 extern struct GUIWindow *pGUIWindow_CurrentMenu; | |
962 extern struct GUIWindow *ptr_507BD0; | |
963 extern struct GUIWindow *pGUIWindow_Settings; | |
964 extern struct GUIWindow *pModalWindow; | |
965 extern struct GUIWindow *pGUIWindow_EscMessageWindow; | |
966 extern struct GUIWindow *pBooksWindow; | |
967 extern struct GUIWindow *pGUIWindow2; | |
968 | |
969 | |
970 extern struct GUIButton *pBtn_Resume; | |
971 extern struct GUIButton *pBtn_QuitGame; | |
972 extern struct GUIButton *pBtn_GameControls; | |
973 extern struct GUIButton *pBtn_LoadGame; | |
974 extern struct GUIButton *pBtn_SaveGame; | |
975 extern struct GUIButton *pBtn_NewGame; | |
976 | |
977 extern struct GUIButton *pBtn_SliderRight; | |
978 extern struct GUIButton *pBtn_SliderLeft; | |
979 | |
980 | |
981 extern struct GUIButton *pBtnDownArrow; | |
982 extern struct GUIButton *pBtnArrowUp; | |
983 extern struct GUIButton *pBtnCancel; | |
984 extern struct GUIButton *pBtnLoadSlot; | |
985 | |
986 | |
987 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight2; | |
988 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft2; | |
989 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft; | |
990 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight; | |
991 | |
992 extern int uTextureID_GameUI_CharSelectionFrame; // 50C98C | |
993 | |
994 extern unsigned int ui_mainmenu_copyright_color; | |
995 extern unsigned int ui_character_tooltip_header_default_color; | |
996 extern unsigned int ui_character_default_text_color; | |
997 extern unsigned int ui_character_skill_highlight_color; | |
998 extern unsigned int ui_character_header_text_color; | |
999 extern unsigned int ui_character_bonus_text_color; | |
1000 extern unsigned int ui_character_bonus_text_color_neg; | |
1001 extern unsigned int ui_character_skill_upgradeable_color; | |
1002 extern unsigned int ui_character_skill_default_color; | |
1003 extern unsigned int ui_character_stat_default_color; | |
1004 extern unsigned int ui_character_stat_buffed_color; | |
1005 extern unsigned int ui_character_stat_debuffed_color; | |
1006 extern unsigned int ui_character_skillinfo_can_learn; | |
1007 extern unsigned int ui_character_skillinfo_can_learn_gm; | |
1008 extern unsigned int ui_character_skillinfo_cant_learn; | |
1009 extern unsigned int ui_character_condition_normal_color; | |
1010 extern unsigned int ui_character_condition_light_color; | |
1011 extern unsigned int ui_character_condition_moderate_color; | |
1012 extern unsigned int ui_character_condition_severe_color; | |
1013 extern std::array<unsigned int, 6> ui_character_award_color; | |
1014 extern unsigned int ui_game_minimap_outline_color; | |
1015 extern unsigned int ui_game_minimap_actor_friendly_color; | |
1016 extern unsigned int ui_game_minimap_actor_hostile_color; | |
1017 extern unsigned int ui_game_minimap_actor_corpse_color; | |
1018 extern unsigned int ui_game_minimap_decoration_color_1; | |
1019 extern unsigned int ui_game_minimap_projectile_color; | |
1020 extern unsigned int ui_game_minimap_treasure_color; | |
1021 extern std::array<unsigned int, 24> ui_game_character_record_playerbuff_colors; | |
1022 extern unsigned int ui_gamemenu_video_gamma_title_color; | |
1023 extern unsigned int ui_gamemenu_keys_action_name_color; | |
1024 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_1; | |
1025 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_2; | |
1026 extern unsigned int ui_gamemenu_keys_key_default_color; | |
1027 extern unsigned int ui_book_quests_title_color; | |
1028 extern unsigned int ui_book_quests_text_color; | |
1029 extern unsigned int ui_book_autonotes_title_color; | |
1030 extern unsigned int ui_book_autonotes_text_color; | |
1031 extern unsigned int ui_book_map_title_color; | |
1032 extern unsigned int ui_book_map_coordinates_color; | |
1033 extern unsigned int ui_book_calendar_title_color; | |
1034 extern unsigned int ui_book_calendar_time_color; | |
1035 extern unsigned int ui_book_calendar_day_color; | |
1036 extern unsigned int ui_book_calendar_month_color; | |
1037 extern unsigned int ui_book_calendar_year_color; | |
1038 extern unsigned int ui_book_calendar_moon_color; | |
1039 extern unsigned int ui_book_calendar_location_color; | |
1040 extern unsigned int ui_book_journal_title_color; | |
1041 extern unsigned int ui_book_journal_text_color; | |
1042 extern unsigned int ui_book_journal_text_shadow; | |
1043 extern unsigned int ui_game_dialogue_npc_name_color; | |
1044 extern unsigned int ui_game_dialogue_option_highlight_color; | |
1045 extern unsigned int ui_game_dialogue_option_normal_color; | |
1046 extern unsigned int ui_house_player_cant_interact_color; |