Mercurial > mm7
annotate GUI/GUIWindow.h @ 2545:e06a3fe9ad6e
TravelUI init logic moved to GUIWindow_Travel
TransitionUI init logic moved to GUIWindow_Transition
author | a.parshin |
---|---|
date | Mon, 11 May 2015 16:43:46 +0200 |
parents | c674d547cc7c |
children | 4087cbc62706 |
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_GameMenu : 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_GameMenu(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_GameMenu() {} |
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_CharacterRecord : 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_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
|
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 virtual ~GUIWindow_CharacterRecord() {} |
2502 | 397 |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
398 virtual void Update(); |
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 struct GUIWindow_Book : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
401 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
402 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
|
403 GUIWindow(x, y, width, height, button, hint) |
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 InitializeBookView(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
406 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
407 virtual ~GUIWindow_Book() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
408 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
409 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
410 virtual void Release(); |
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_BooksWindow : 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_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
|
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_BooksWindow() {} |
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_QuickReference : 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_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
|
424 GUIWindow(x, y, width, height, button, hint) |
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 ~GUIWindow_QuickReference() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
427 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
428 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
429 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
430 struct GUIWindow_Dialogue : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
431 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
432 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
|
433 virtual ~GUIWindow_Dialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
434 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
435 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
436 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
437 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
438 struct GUIWindow_Spellbook : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
439 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
440 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
|
441 virtual ~GUIWindow_Spellbook() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
442 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
443 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
444 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
445 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
446 struct GUIWindow_GenericDialogue : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
447 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
448 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
|
449 virtual ~GUIWindow_GenericDialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
450 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
451 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
452 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
453 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
454 struct GUIWindow_Chest : public GUIWindow |
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 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
|
457 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
458 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
459 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
|
460 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
|
461 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
|
462 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
|
463 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
|
464 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
465 virtual ~GUIWindow_Chest() {} |
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_Save : 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_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
|
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_Save() {} |
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_Load : 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_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
|
481 GUIWindow(x, y, width, height, button, hint) |
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 ~GUIWindow_Load() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
484 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
485 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
486 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
487 struct GUIWindow_House : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
488 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
489 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
|
490 virtual ~GUIWindow_House() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
491 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
492 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
493 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
494 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
495 struct GUIWindow_Scroll : public GUIWindow |
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 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
|
498 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
499 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
500 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
|
501 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
|
502 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
|
503 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
|
504 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
|
505 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
506 virtual ~GUIWindow_Scroll() {} |
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 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
510 struct GUIWindow_Inventory : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
511 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
512 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
|
513 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
514 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
515 virtual ~GUIWindow_Inventory() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
516 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
517 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
518 virtual void Release(); |
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 struct GUIWindow_Inventory_CastSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
521 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
522 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
|
523 virtual ~GUIWindow_Inventory_CastSpell() {} |
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 GUIWindow_Modal : 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 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
|
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 ~GUIWindow_Modal() {} |
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 OnButtonClick : 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 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
|
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 ~OnButtonClick() {} |
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 OnButtonClick2 : 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 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
|
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 ~OnButtonClick2() {} |
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 OnButtonClick3 : 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 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
|
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 ~OnButtonClick3() {} |
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 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
563 struct OnButtonClick4 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
564 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
565 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
|
566 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
567 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
568 virtual ~OnButtonClick4() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
569 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
570 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
571 virtual void Release(); |
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 OnSaveLoad : 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 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
|
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 ~OnSaveLoad() {} |
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 OnCancel : 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 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
|
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 ~OnCancel() {} |
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 OnCancel2 : 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 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
|
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 ~OnCancel2() {} |
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 OnCancel3 : 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 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
|
603 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
604 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
605 virtual ~OnCancel3() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
606 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
607 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
608 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
609 struct OnCastTargetedSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
610 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
611 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
|
612 virtual ~OnCastTargetedSpell() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
613 }; |
2502 | 614 |
615 | |
616 | |
617 | |
618 | |
619 enum CURRENT_SCREEN | |
620 { | |
2542 | 621 SCREEN_GAME = 0, |
622 SCREEN_MENU = 1, | |
623 SCREEN_OPTIONS = 2, | |
624 SCREEN_BOOKS = 3, | |
625 SCREEN_NPC_DIALOGUE = 4, | |
626 SCREEN_REST = 5, | |
627 SCREEN_6 = 6, | |
2541 | 628 SCREEN_CHARACTERS = 7, |
2542 | 629 SCREEN_SPELL_BOOK = 8, |
630 SCREEN_CREATORS = 9, | |
2541 | 631 SCREEN_CHEST = 10, |
632 SCREEN_SAVEGAME = 11, | |
633 SCREEN_LOADGAME = 12, | |
634 SCREEN_HOUSE = 13, | |
635 SCREEN_E = 14, | |
636 SCREEN_CHEST_INVENTORY = 15, | |
2542 | 637 SCREEN_VIDEO = 16, |
638 SCREEN_CHANGE_LOCATION = 17, | |
639 SCREEN_INPUT_BLV = 18, | |
640 SCREEN_BRANCHLESS_NPC_DIALOG = 19, | |
641 SCREEN_20 = 20, | |
642 SCREEN_PARTY_CREATION = 21, | |
643 SCREEN_MODAL_WINDOW = 22, | |
644 SCREEN_CASTING = 23, | |
645 SCREEN_24 = 24, | |
646 SCREEN_19 = 25, | |
647 SCREEN_KEYBOARD_OPTIONS = 26, | |
648 SCREEN_1B = 27, | |
649 SCREEN_VIDEO_OPTIONS = 28, | |
650 | |
2502 | 651 SCREEN_63 = 0x63, |
652 SCREEN_64 = 0x64, | |
653 SCREEN_67 = 0x67, | |
654 SCREEN_QUICK_REFERENCE = 0x68, | |
655 }; | |
656 | |
657 | |
658 | |
659 | |
660 /* 249 */ | |
661 #pragma pack(push, 1) | |
662 struct GUIMessage | |
663 { | |
664 enum UIMessageType eType; | |
665 int param; | |
666 int field_8; | |
667 }; | |
668 #pragma pack(pop) | |
669 | |
670 | |
671 | |
672 | |
673 #define AddGUIMessage(msg, param, a4) AddMessageImpl((msg), (param), (a4), __FILE__, __LINE__) | |
674 /* 250 */ | |
675 #pragma pack(push, 1) | |
676 struct GUIMessageQueue | |
677 { | |
678 inline GUIMessageQueue(): | |
679 uNumMessages(0) | |
680 {} | |
681 | |
682 void Flush(); | |
683 void PopMessage(UIMessageType *pMsg, int *pParam, int *a4); | |
684 void AddMessageImpl(UIMessageType msg, int param, unsigned int a4, const char *file = nullptr, int line = 0); | |
685 | |
686 unsigned int uNumMessages; | |
687 GUIMessage pMessages[40]; | |
688 | |
689 const char *files[40]; | |
690 int lines[40]; | |
691 }; | |
692 #pragma pack(pop) | |
693 | |
694 extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb | |
695 | |
696 extern struct GUIMessageQueue *pMessageQueue_50C9E8; // idb | |
697 | |
698 | |
699 | |
700 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); | |
701 | |
702 | |
703 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
704 extern enum WindowType current_character_screen_window; |
2502 | 705 extern struct GUIWindow *pWindow_MMT_MainMenu; |
706 extern struct GUIWindow *pWindow_MainMenu; | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
707 extern std::array<struct GUIWindow *, 20> pWindowList; |
2502 | 708 |
709 | |
710 | |
711 | |
712 void ModalWindow(const char *pStrHint, UIMessageType OnRelease_message); | |
713 void ModalWindow_ShowHint(); | |
714 void ModalWindow_Release(); | |
715 | |
716 | |
717 | |
718 void draw_leather(); | |
719 | |
720 | |
721 // main menu ui | |
722 void MainMenuUI_LoadFontsAndSomeStuff(); | |
723 void MainMenuUI_Create(); | |
724 MENU_STATE MainMenuUI_Credits_Loop(); | |
725 | |
726 // save & load ui | |
2541 | 727 GUIWindow *SaveUI_Load(enum CURRENT_SCREEN screen); |
2502 | 728 void SaveUI_Draw(); |
729 | |
730 void LoadUI_Draw(); | |
731 void LoadUI_Load(unsigned int uDialogueType); // idb | |
732 | |
733 // game ui | |
734 void GameUI_DrawRightPanel(); | |
735 void GameUI_DrawRightPanelFrames(); | |
736 void GameUI_DrawRightPanelItems(); | |
737 void GameUI_QuickRef_Draw(); | |
738 void GameUI_DrawFoodAndGold(); | |
739 void GameUI_DrawLifeManaBars(); | |
740 void GameUI_DrawHiredNPCs(); | |
741 void GameUI_DrawPortraits(unsigned int _this); | |
742 void GameUI_Footer(); | |
743 void GameUI_Footer_2(); | |
744 void GameUI_SetFooterString(const char *pStr); | |
745 void GameUI_DrawMinimap(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW, unsigned int uZoom, unsigned int bRedrawOdmMinimap); | |
746 auto GameUI_GetMinimapHintText() -> const char *; | |
747 void GameUI_DrawPartySpells(); | |
748 void GameUI_DrawTorchlightAndWizardEye(); | |
749 void GameUI_DrawCharacterSelectionFrame(); | |
750 void GameUI_CharacterQuickRecord_Draw(GUIWindow *window, Player *player); | |
751 void GameUI_DrawNPCPopup(void *_this); | |
752 | |
753 void GameUI_InitializeDialogue(struct Actor *actor, int bPlayerSaysHello); | |
754 void GameUI_DrawBranchlessDialogue(); | |
755 void GameUI_DrawDialogue(); | |
756 | |
757 | |
758 // game menu ui | |
2542 | 759 GUIWindow *GameMenuUI_Load(); |
2541 | 760 GUIWindow *GameMenuUI_Options_Load(); |
761 GUIWindow *GameMenuUI_OptionsKeymapping_Load(); | |
762 GUIWindow *GameMenuUI_OptionsVideo_Load(); | |
2502 | 763 |
764 | |
765 | |
766 | |
767 // character ui | |
2541 | 768 struct GUIWindow *CharacterUI_Initialize(enum CURRENT_SCREEN); |
2502 | 769 const char *CharacterUI_GetSkillDescText(unsigned int uPlayerID, PLAYER_SKILL_TYPE uPlayerSkillType); |
770 void CharacterUI_SkillsTab_ShowHint(); | |
771 void CharacterUI_StatsTab_ShowHint(); | |
772 void CharacterUI_StatsTab_Draw(Player *player); | |
773 void CharacterUI_SkillsTab_CreateButtons(); | |
774 void CharacterUI_SkillsTab_Draw(Player *player); | |
775 void CharacterUI_AwardsTab_Draw(Player *player); | |
776 void CharacterUI_InventoryTab_Draw(Player *player, bool a2); | |
777 void CharacterUI_CharacterScreen_Draw(Player *player); | |
778 void CharacterUI_DrawPaperdoll(Player *player); | |
779 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player); | |
780 void CharacterUI_ReleaseButtons(); | |
781 | |
782 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level); | |
783 | |
784 | |
785 | |
786 | |
787 | |
788 // book ui | |
789 void BookUI_Draw(WindowType book); | |
790 void BookUI_Questbook_Draw(); | |
791 void BookUI_Autonotes_Draw(); | |
792 void BookUI_Map_Draw(); | |
793 void BookUI_Calendar_Draw(); | |
794 void BookUI_Journal_Draw(); | |
795 | |
796 void OnCloseBook(); | |
797 void InitializeBookTextures(); | |
798 void InitializeBookFonts(); | |
799 void DrawSpellBookContent(Player *player); | |
800 unsigned int DrawLloydBeaconsScreen(); | |
801 void BookUI_DrawTownPortalMap(); | |
802 void LoadSpellbook(unsigned int uID); // idb | |
803 void DrawSpellDescriptionPopup(int spell_index); | |
804 void OnCloseSpellBookPage(); | |
805 void OnCloseSpellBook(); | |
806 | |
807 | |
808 | |
809 // rest ui | |
2543 | 810 void PrepareToLoadRestUI(); |
811 GUIWindow *RestUI_Load(); | |
2502 | 812 |
813 | |
814 | |
815 | |
816 | |
817 | |
818 void UI_OnMouseRightClick(Vec2_int_ *_this); | |
819 | |
820 void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb | |
821 void DrawMM7CopyrightWindow(); | |
822 //void LoadFonts_and_DrawCopyrightWindow(); | |
823 void GUI_UpdateWindows(); | |
824 int GetConditionDrawColor(unsigned int uConditionIdx); // idb | |
825 void FillAwardsData(); | |
826 void CreateAwardsScrollBar(); | |
827 void ReleaseAwardsScrollBar(); | |
828 void Inventory_ItemPopupAndAlchemy(); | |
829 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); | |
830 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos); | |
831 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); | |
832 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
833 void GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); |
2502 | 834 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font); |
835 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb | |
836 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window); | |
837 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); | |
838 void CreateMsgScrollWindow(signed int mscroll_id); | |
839 void free_book_subwindow(); | |
840 void CreateScrollWindow(); | |
841 void OnPaperdollLeftClick(); | |
842 void DrawJoinGuildWindow(int pEventCode); | |
843 void DialogueEnding(); | |
844 char sub_4637E0_is_there_popup_onscreen(); | |
845 void sub_4B3E1E(); | |
846 void __fastcall ClickNPCTopic(signed int uMessageParam); | |
847 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
848 void _4B3FE5_training_dialogue(int a4); | |
849 void OracleDialogue(); | |
850 void CheckBountyRespawnAndAward(); | |
851 const char * _4B254D_SkillMasteryTeacher(int trainerInfo); | |
852 char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); | |
853 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
854 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds); | |
855 void ShowNothingHereStatus(); | |
856 int const_2(); | |
857 | |
858 | |
859 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); | |
860 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); | |
861 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb | |
862 | |
863 | |
864 | |
865 | |
866 | |
867 | |
868 | |
869 | |
870 | |
871 | |
872 | |
873 | |
874 | |
875 | |
876 #pragma pack(push, 1) | |
877 struct GUIButton | |
878 { | |
879 void DrawLabel(const char *label_text, struct GUIFont *pFont, int a5, int uFontShadowColor); | |
880 | |
881 void Release(); | |
882 | |
883 | |
884 unsigned int uX; | |
885 unsigned int uY; | |
886 unsigned int uWidth; | |
887 unsigned int uHeight; | |
888 unsigned int uZ; | |
889 unsigned int uW; | |
890 int uButtonType; | |
891 int field_1C;//may be pMessageType | |
892 UIMessageType msg; | |
893 unsigned int msg_param; | |
894 int field_28; | |
895 int field_2C_is_pushed; | |
896 GUIButton *pPrev; | |
897 GUIButton *pNext; | |
898 struct GUIWindow *pParent; | |
899 struct Texture *pTextures[5]; | |
900 unsigned int uNumTextures; | |
901 unsigned __int8 uHotkey; | |
902 char pButtonName[32]; | |
903 char field_75[71]; | |
904 }; | |
905 #pragma pack(pop) | |
906 | |
907 | |
908 | |
909 | |
910 extern struct GUIButton *pBtn_CloseBook; | |
911 extern struct GUIButton *pBtn_InstallRemoveSpell; | |
912 extern struct GUIButton *pBtn_Autonotes_Instructors; | |
913 extern struct GUIButton *pBtn_Autonotes_Misc; | |
914 extern struct GUIButton *pBtn_Book_6; | |
915 extern struct GUIButton *pBtn_Book_5; | |
916 extern struct GUIButton *pBtn_Book_4; | |
917 extern struct GUIButton *pBtn_Book_3; | |
918 extern struct GUIButton *pBtn_Book_2; | |
919 extern struct GUIButton *pBtn_Book_1; | |
920 | |
921 | |
922 extern struct GUIButton *pPlayerCreationUI_BtnReset; | |
923 extern struct GUIButton *pPlayerCreationUI_BtnOK; | |
924 extern struct GUIButton *pBtn_ExitCancel; | |
925 extern struct GUIButton *pBtn_YES; | |
926 extern struct GUIButton *pPlayerCreationUI_BtnPlus; | |
927 extern struct GUIButton *pPlayerCreationUI_BtnMinus; | |
928 | |
929 | |
930 extern struct GUIButton *pButton_RestUI_Main; | |
931 extern struct GUIButton *pButton_RestUI_Exit; | |
932 extern struct GUIButton *pButton_RestUI_Wait5Minutes; | |
933 extern struct GUIButton *pButton_RestUI_WaitUntilDawn; | |
934 extern struct GUIButton *pButton_RestUI_Wait1Hour; | |
935 | |
936 | |
937 extern struct GUIButton *pCharacterScreen_ExitBtn; | |
938 extern struct GUIButton *pCharacterScreen_AwardsBtn; | |
939 extern struct GUIButton *pCharacterScreen_InventoryBtn; | |
940 extern struct GUIButton *pCharacterScreen_SkillsBtn; | |
941 extern struct GUIButton *pCharacterScreen_StatsBtn; | |
942 extern struct GUIButton *pCharacterScreen_DollBtn; | |
943 extern struct GUIButton *pCharacterScreen_DetalizBtn; | |
944 | |
945 | |
946 extern struct GUIButton *pBtn_NPCRight; | |
947 extern struct GUIButton *pBtn_NPCLeft; | |
948 extern struct GUIButton *pBtn_GameSettings; | |
949 extern struct GUIButton *pBtn_QuickReference; | |
950 extern struct GUIButton *pBtn_CastSpell; | |
951 extern struct GUIButton *pBtn_Rest; | |
952 extern struct GUIButton *pBtn_History; | |
953 extern struct GUIButton *pBtn_Calendar; | |
954 extern struct GUIButton *pBtn_Maps; | |
955 extern struct GUIButton *pBtn_Autonotes; | |
956 extern struct GUIButton *pBtn_Quests; | |
957 | |
958 | |
959 extern struct GUIButton *pMMT_MainMenu_BtnMM6; | |
960 extern struct GUIButton *pMMT_MainMenu_BtnMM7; | |
961 extern struct GUIButton *pMMT_MainMenu_BtnMM8; | |
962 extern struct GUIButton *pMMT_MainMenu_BtnContinue; | |
963 extern struct GUIButton *pMMT_MainMenu_BtnExit; | |
964 | |
965 | |
966 extern struct GUIButton *pBtn_Up; | |
967 extern struct GUIButton *pBtn_Down; | |
968 extern struct GUIButton *ptr_507BA4; | |
969 | |
970 | |
971 extern struct GUIWindow *pPrimaryWindow; | |
972 extern struct GUIWindow *pChestWindow; | |
973 extern struct GUIWindow *pDialogueWindow; | |
974 extern struct GUIWindow *window_SpeakInHouse; | |
975 extern struct GUIWindow *pGUIWindow_ScrollWindow; | |
976 extern struct GUIWindow *ptr_507BC8; | |
977 extern struct GUIWindow *pGUIWindow_CurrentMenu; | |
978 extern struct GUIWindow *ptr_507BD0; | |
979 extern struct GUIWindow *pGUIWindow_Settings; | |
980 extern struct GUIWindow *pModalWindow; | |
981 extern struct GUIWindow *pGUIWindow_EscMessageWindow; | |
982 extern struct GUIWindow *pBooksWindow; | |
983 extern struct GUIWindow *pGUIWindow2; | |
984 | |
985 | |
986 extern struct GUIButton *pBtn_Resume; | |
987 extern struct GUIButton *pBtn_QuitGame; | |
988 extern struct GUIButton *pBtn_GameControls; | |
989 extern struct GUIButton *pBtn_LoadGame; | |
990 extern struct GUIButton *pBtn_SaveGame; | |
991 extern struct GUIButton *pBtn_NewGame; | |
992 | |
993 extern struct GUIButton *pBtn_SliderRight; | |
994 extern struct GUIButton *pBtn_SliderLeft; | |
995 | |
996 | |
997 extern struct GUIButton *pBtnDownArrow; | |
998 extern struct GUIButton *pBtnArrowUp; | |
999 extern struct GUIButton *pBtnCancel; | |
1000 extern struct GUIButton *pBtnLoadSlot; | |
1001 | |
1002 | |
1003 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight2; | |
1004 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft2; | |
1005 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft; | |
1006 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight; | |
1007 | |
1008 extern int uTextureID_GameUI_CharSelectionFrame; // 50C98C | |
1009 | |
1010 extern unsigned int ui_mainmenu_copyright_color; | |
1011 extern unsigned int ui_character_tooltip_header_default_color; | |
1012 extern unsigned int ui_character_default_text_color; | |
1013 extern unsigned int ui_character_skill_highlight_color; | |
1014 extern unsigned int ui_character_header_text_color; | |
1015 extern unsigned int ui_character_bonus_text_color; | |
1016 extern unsigned int ui_character_bonus_text_color_neg; | |
1017 extern unsigned int ui_character_skill_upgradeable_color; | |
1018 extern unsigned int ui_character_skill_default_color; | |
1019 extern unsigned int ui_character_stat_default_color; | |
1020 extern unsigned int ui_character_stat_buffed_color; | |
1021 extern unsigned int ui_character_stat_debuffed_color; | |
1022 extern unsigned int ui_character_skillinfo_can_learn; | |
1023 extern unsigned int ui_character_skillinfo_can_learn_gm; | |
1024 extern unsigned int ui_character_skillinfo_cant_learn; | |
1025 extern unsigned int ui_character_condition_normal_color; | |
1026 extern unsigned int ui_character_condition_light_color; | |
1027 extern unsigned int ui_character_condition_moderate_color; | |
1028 extern unsigned int ui_character_condition_severe_color; | |
1029 extern std::array<unsigned int, 6> ui_character_award_color; | |
1030 extern unsigned int ui_game_minimap_outline_color; | |
1031 extern unsigned int ui_game_minimap_actor_friendly_color; | |
1032 extern unsigned int ui_game_minimap_actor_hostile_color; | |
1033 extern unsigned int ui_game_minimap_actor_corpse_color; | |
1034 extern unsigned int ui_game_minimap_decoration_color_1; | |
1035 extern unsigned int ui_game_minimap_projectile_color; | |
1036 extern unsigned int ui_game_minimap_treasure_color; | |
1037 extern std::array<unsigned int, 24> ui_game_character_record_playerbuff_colors; | |
1038 extern unsigned int ui_gamemenu_video_gamma_title_color; | |
1039 extern unsigned int ui_gamemenu_keys_action_name_color; | |
1040 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_1; | |
1041 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_2; | |
1042 extern unsigned int ui_gamemenu_keys_key_default_color; | |
1043 extern unsigned int ui_book_quests_title_color; | |
1044 extern unsigned int ui_book_quests_text_color; | |
1045 extern unsigned int ui_book_autonotes_title_color; | |
1046 extern unsigned int ui_book_autonotes_text_color; | |
1047 extern unsigned int ui_book_map_title_color; | |
1048 extern unsigned int ui_book_map_coordinates_color; | |
1049 extern unsigned int ui_book_calendar_title_color; | |
1050 extern unsigned int ui_book_calendar_time_color; | |
1051 extern unsigned int ui_book_calendar_day_color; | |
1052 extern unsigned int ui_book_calendar_month_color; | |
1053 extern unsigned int ui_book_calendar_year_color; | |
1054 extern unsigned int ui_book_calendar_moon_color; | |
1055 extern unsigned int ui_book_calendar_location_color; | |
1056 extern unsigned int ui_book_journal_title_color; | |
1057 extern unsigned int ui_book_journal_text_color; | |
1058 extern unsigned int ui_book_journal_text_shadow; | |
1059 extern unsigned int ui_game_dialogue_npc_name_color; | |
1060 extern unsigned int ui_game_dialogue_option_highlight_color; | |
1061 extern unsigned int ui_game_dialogue_option_normal_color; | |
1062 extern unsigned int ui_house_player_cant_interact_color; |