Mercurial > mm7
annotate GUI/GUIWindow.h @ 2548:87e5590d034b
All Books windows are refactored into respective classes
author | a.parshin |
---|---|
date | Tue, 12 May 2015 03:24:19 +0200 |
parents | fed97f15d1e1 |
children | 3121fb54a110 |
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, |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
303 WINDOW_BooksButtonOverlay = 99, |
2544
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 DrawMessageBox(int arg0); | |
347 GUIButton *GetControl(unsigned int uID); | |
348 void _41D08F_set_keyboard_control_group(int num_buttons, int a3, int a4, int a5); | |
349 void _41D73D_draw_buff_tooltip(); | |
350 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
351 virtual void Update() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
352 virtual void Release(); |
2502 | 353 |
354 unsigned int uFrameX; | |
355 unsigned int uFrameY; | |
356 unsigned int uFrameWidth; | |
357 unsigned int uFrameHeight; | |
358 unsigned int uFrameZ; | |
359 unsigned int uFrameW; | |
360 WindowType eWindowType; | |
361 union{ | |
362 void *ptr_1C;// sometimes BuildID_2Events | |
363 unsigned int par1C; | |
364 }; | |
365 unsigned int uNumControls; | |
366 int field_24; | |
367 int pNumPresenceButton; | |
368 int pCurrentPosActiveItem; | |
369 int field_30; | |
370 int field_34; | |
371 int pStartingPosActiveItem; | |
372 int numVisibleWindows; | |
373 int receives_keyboard_input_2; // 0 no input 1 currently typing 2 enter pressed 3 escape pressed | |
374 int receives_keyboard_input; | |
375 const char *Hint; | |
376 GUIButton *pControlsHead; | |
377 GUIButton *pControlsTail; | |
378 }; | |
379 #pragma pack(pop) | |
380 | |
381 | |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
382 |
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
383 struct GUIWindow_BooksButtonOverlay : public GUIWindow |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
384 { |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
385 GUIWindow_BooksButtonOverlay(unsigned int x, unsigned int y, unsigned int width, unsigned int height, int button, const char *hint) : |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
386 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
387 {} |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
388 virtual ~GUIWindow_BooksButtonOverlay() {} |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
389 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
390 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
391 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
392 struct GUIWindow_Dialogue : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
393 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
394 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
|
395 virtual ~GUIWindow_Dialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
396 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
397 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
398 virtual void Release(); |
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_Spellbook : 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_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
|
403 virtual ~GUIWindow_Spellbook() {} |
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 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
406 virtual void Release(); |
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 struct GUIWindow_GenericDialogue : public GUIWindow |
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 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
|
411 virtual ~GUIWindow_GenericDialogue() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
412 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
413 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
414 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
415 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
416 struct GUIWindow_Chest : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
417 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
418 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
|
419 GUIWindow(x, y, width, height, button, hint) |
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 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
|
422 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
|
423 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
|
424 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
|
425 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
|
426 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
427 virtual ~GUIWindow_Chest() {} |
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 virtual void Update(); |
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 struct GUIWindow_House : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
432 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
433 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
|
434 virtual ~GUIWindow_House() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
435 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
436 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
437 virtual void Release(); |
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 struct GUIWindow_Scroll : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
440 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
441 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
|
442 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
443 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
444 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
|
445 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
|
446 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
|
447 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
|
448 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
|
449 } |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
450 virtual ~GUIWindow_Scroll() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
451 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
452 virtual void Update(); |
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_Inventory : 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_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
|
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 virtual ~GUIWindow_Inventory() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
460 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
461 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
462 virtual void Release(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
463 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
464 struct GUIWindow_Inventory_CastSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
465 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
466 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
|
467 virtual ~GUIWindow_Inventory_CastSpell() {} |
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 virtual void Update(); |
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 struct OnButtonClick : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
472 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
473 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
|
474 GUIWindow(x, y, width, height, button, hint) |
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 ~OnButtonClick() {} |
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 virtual void Update(); |
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 struct OnButtonClick2 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
481 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
482 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
|
483 GUIWindow(x, y, width, height, button, hint) |
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 ~OnButtonClick2() {} |
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 virtual void Update(); |
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 struct OnButtonClick3 : public GUIWindow |
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 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
|
492 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
493 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
494 virtual ~OnButtonClick3() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
495 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
496 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
497 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
498 struct OnButtonClick4 : public GUIWindow |
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 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
|
501 GUIWindow(x, y, width, height, button, hint) |
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 virtual ~OnButtonClick4() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
504 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
505 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
506 virtual void Release(); |
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 struct OnSaveLoad : public GUIWindow |
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 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
|
511 GUIWindow(x, y, width, height, button, hint) |
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 virtual ~OnSaveLoad() {} |
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 void Update(); |
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 struct OnCancel : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
518 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
519 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
|
520 GUIWindow(x, y, width, height, button, hint) |
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 virtual ~OnCancel() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
523 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
524 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
525 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
526 struct OnCancel2 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
527 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
528 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
|
529 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
530 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
531 virtual ~OnCancel2() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
532 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
533 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
534 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
535 struct OnCancel3 : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
536 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
537 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
|
538 GUIWindow(x, y, width, height, button, hint) |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
539 {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
540 virtual ~OnCancel3() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
541 |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
542 virtual void Update(); |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
543 }; |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
544 struct OnCastTargetedSpell : public GUIWindow |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
545 { |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
546 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
|
547 virtual ~OnCastTargetedSpell() {} |
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
548 }; |
2502 | 549 |
550 | |
551 | |
552 | |
553 | |
554 enum CURRENT_SCREEN | |
555 { | |
2542 | 556 SCREEN_GAME = 0, |
557 SCREEN_MENU = 1, | |
558 SCREEN_OPTIONS = 2, | |
559 SCREEN_BOOKS = 3, | |
560 SCREEN_NPC_DIALOGUE = 4, | |
561 SCREEN_REST = 5, | |
562 SCREEN_6 = 6, | |
2541 | 563 SCREEN_CHARACTERS = 7, |
2542 | 564 SCREEN_SPELL_BOOK = 8, |
565 SCREEN_CREATORS = 9, | |
2541 | 566 SCREEN_CHEST = 10, |
567 SCREEN_SAVEGAME = 11, | |
568 SCREEN_LOADGAME = 12, | |
569 SCREEN_HOUSE = 13, | |
570 SCREEN_E = 14, | |
571 SCREEN_CHEST_INVENTORY = 15, | |
2542 | 572 SCREEN_VIDEO = 16, |
573 SCREEN_CHANGE_LOCATION = 17, | |
574 SCREEN_INPUT_BLV = 18, | |
575 SCREEN_BRANCHLESS_NPC_DIALOG = 19, | |
576 SCREEN_20 = 20, | |
577 SCREEN_PARTY_CREATION = 21, | |
578 SCREEN_MODAL_WINDOW = 22, | |
579 SCREEN_CASTING = 23, | |
580 SCREEN_24 = 24, | |
581 SCREEN_19 = 25, | |
582 SCREEN_KEYBOARD_OPTIONS = 26, | |
583 SCREEN_1B = 27, | |
584 SCREEN_VIDEO_OPTIONS = 28, | |
585 | |
2502 | 586 SCREEN_63 = 0x63, |
587 SCREEN_64 = 0x64, | |
588 SCREEN_67 = 0x67, | |
589 SCREEN_QUICK_REFERENCE = 0x68, | |
590 }; | |
591 | |
592 | |
593 | |
594 | |
595 /* 249 */ | |
596 #pragma pack(push, 1) | |
597 struct GUIMessage | |
598 { | |
599 enum UIMessageType eType; | |
600 int param; | |
601 int field_8; | |
602 }; | |
603 #pragma pack(pop) | |
604 | |
605 | |
606 | |
607 | |
608 #define AddGUIMessage(msg, param, a4) AddMessageImpl((msg), (param), (a4), __FILE__, __LINE__) | |
609 /* 250 */ | |
610 #pragma pack(push, 1) | |
611 struct GUIMessageQueue | |
612 { | |
613 inline GUIMessageQueue(): | |
614 uNumMessages(0) | |
615 {} | |
616 | |
617 void Flush(); | |
618 void PopMessage(UIMessageType *pMsg, int *pParam, int *a4); | |
619 void AddMessageImpl(UIMessageType msg, int param, unsigned int a4, const char *file = nullptr, int line = 0); | |
620 | |
621 unsigned int uNumMessages; | |
622 GUIMessage pMessages[40]; | |
623 | |
624 const char *files[40]; | |
625 int lines[40]; | |
626 }; | |
627 #pragma pack(pop) | |
628 | |
629 extern struct GUIMessageQueue *pMessageQueue_50CBD0; // idb | |
630 | |
631 extern struct GUIMessageQueue *pMessageQueue_50C9E8; // idb | |
632 | |
633 | |
634 | |
635 void OnSelectNPCDialogueOption(DIALOGUE_TYPE newDialogueType); | |
636 | |
637 | |
638 | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
639 extern enum WindowType current_character_screen_window; |
2502 | 640 extern struct GUIWindow *pWindow_MMT_MainMenu; |
641 extern struct GUIWindow *pWindow_MainMenu; | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
642 extern std::array<struct GUIWindow *, 20> pWindowList; |
2502 | 643 |
644 | |
645 | |
646 | |
647 | |
648 | |
649 | |
650 void draw_leather(); | |
651 | |
652 | |
653 // main menu ui | |
654 void MainMenuUI_LoadFontsAndSomeStuff(); | |
655 void MainMenuUI_Create(); | |
656 MENU_STATE MainMenuUI_Credits_Loop(); | |
657 | |
658 // game ui | |
659 void GameUI_DrawRightPanel(); | |
660 void GameUI_DrawRightPanelFrames(); | |
661 void GameUI_DrawRightPanelItems(); | |
662 void GameUI_DrawFoodAndGold(); | |
663 void GameUI_DrawLifeManaBars(); | |
664 void GameUI_DrawHiredNPCs(); | |
665 void GameUI_DrawPortraits(unsigned int _this); | |
666 void GameUI_Footer(); | |
667 void GameUI_Footer_2(); | |
668 void GameUI_SetFooterString(const char *pStr); | |
669 void GameUI_DrawMinimap(unsigned int uX, unsigned int uY, unsigned int uZ, unsigned int uW, unsigned int uZoom, unsigned int bRedrawOdmMinimap); | |
670 auto GameUI_GetMinimapHintText() -> const char *; | |
671 void GameUI_DrawPartySpells(); | |
672 void GameUI_DrawTorchlightAndWizardEye(); | |
673 void GameUI_DrawCharacterSelectionFrame(); | |
674 void GameUI_CharacterQuickRecord_Draw(GUIWindow *window, Player *player); | |
675 void GameUI_DrawNPCPopup(void *_this); | |
676 | |
677 void GameUI_InitializeDialogue(struct Actor *actor, int bPlayerSaysHello); | |
678 void GameUI_DrawBranchlessDialogue(); | |
679 void GameUI_DrawDialogue(); | |
680 | |
681 | |
682 | |
683 | |
684 // character ui | |
685 const char *CharacterUI_GetSkillDescText(unsigned int uPlayerID, PLAYER_SKILL_TYPE uPlayerSkillType); | |
686 void CharacterUI_SkillsTab_ShowHint(); | |
687 void CharacterUI_StatsTab_ShowHint(); | |
688 void CharacterUI_InventoryTab_Draw(Player *player, bool a2); | |
689 void CharacterUI_DrawPaperdoll(Player *player); | |
690 void CharacterUI_DrawPaperdollWithRingOverlay(Player *player); | |
691 void CharacterUI_ReleaseButtons(); | |
692 | |
693 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level); | |
694 | |
695 | |
696 | |
697 | |
698 | |
699 // book ui | |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
700 void InitializeSpellBookTextures(); |
2502 | 701 void DrawSpellBookContent(Player *player); |
702 void LoadSpellbook(unsigned int uID); // idb | |
703 void DrawSpellDescriptionPopup(int spell_index); | |
704 void OnCloseSpellBookPage(); | |
705 void OnCloseSpellBook(); | |
706 | |
707 | |
708 | |
709 // rest ui | |
2543 | 710 void PrepareToLoadRestUI(); |
711 GUIWindow *RestUI_Load(); | |
2502 | 712 |
713 | |
714 | |
715 | |
716 | |
717 | |
718 void UI_OnMouseRightClick(Vec2_int_ *_this); | |
719 | |
720 void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb | |
721 void DrawMM7CopyrightWindow(); | |
722 //void LoadFonts_and_DrawCopyrightWindow(); | |
723 void GUI_UpdateWindows(); | |
724 int GetConditionDrawColor(unsigned int uConditionIdx); // idb | |
725 void FillAwardsData(); | |
726 void CreateAwardsScrollBar(); | |
727 void ReleaseAwardsScrollBar(); | |
728 void Inventory_ItemPopupAndAlchemy(); | |
729 void __fastcall LoadThumbnailLloydTexture(unsigned int uSlot, unsigned int uPlayer); | |
730 unsigned int UI_GetHealthManaAndOtherQualitiesStringColor(signed int current_pos, signed int base_pos); | |
731 unsigned int __fastcall GetSizeInInventorySlots(unsigned int uNumPixels); | |
732 struct GUIButton *__fastcall GUI_HandleHotkey(unsigned __int8 uHotkey); // idb | |
2544
c674d547cc7c
GUIWindow switch logic refactored into behaviour classes
a.parshin
parents:
2543
diff
changeset
|
733 void GUI_ReplaceHotkey(unsigned __int8 uOldHotkey, unsigned __int8 uNewHotkey, char bFirstCall); |
2502 | 734 void DrawBuff_remaining_time_string(int uY, struct GUIWindow *window, __int64 remaining_time, struct GUIFont *Font); |
735 void GameUI_DrawItemInfo(struct ItemGen* inspect_item); // idb | |
736 void MonsterPopup_Draw(unsigned int uActorID, struct GUIWindow *window); | |
737 void SetUserInterface(enum PartyAlignment alignment, bool bReplace); | |
738 void CreateMsgScrollWindow(signed int mscroll_id); | |
739 void free_book_subwindow(); | |
740 void CreateScrollWindow(); | |
741 void OnPaperdollLeftClick(); | |
742 void DrawJoinGuildWindow(int pEventCode); | |
743 void DialogueEnding(); | |
744 char sub_4637E0_is_there_popup_onscreen(); | |
745 void sub_4B3E1E(); | |
746 void __fastcall ClickNPCTopic(signed int uMessageParam); | |
747 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
748 void _4B3FE5_training_dialogue(int a4); | |
749 void OracleDialogue(); | |
750 void CheckBountyRespawnAndAward(); | |
751 const char * _4B254D_SkillMasteryTeacher(int trainerInfo); | |
752 char *BuildDialogueString(const char *lpsz, unsigned __int8 uPlayerID, struct ItemGen *a3, char *a4, int a5, __int64 *a6); | |
753 void __fastcall DrawTextAtStatusBar(const char *Str, int a5); | |
754 void ShowStatusBarString(const char *pString, unsigned int uNumSeconds); | |
755 void ShowNothingHereStatus(); | |
756 int const_2(); | |
757 | |
758 | |
759 void __fastcall ZBuffer_Fill(int *pZBuffer, int uTextureId, int iZValue); | |
760 void __fastcall ZBuffer_DoFill(int *pZBuffer, struct Texture *pTex, int uZValue); | |
761 void __fastcall ZBuffer_DoFill2(int *pZBuffer, struct Texture *a2, int a3); // idb | |
762 | |
763 | |
764 | |
765 | |
766 | |
767 | |
768 | |
769 | |
770 | |
771 | |
772 | |
773 | |
774 | |
775 | |
776 #pragma pack(push, 1) | |
777 struct GUIButton | |
778 { | |
779 void DrawLabel(const char *label_text, struct GUIFont *pFont, int a5, int uFontShadowColor); | |
780 | |
781 void Release(); | |
782 | |
783 | |
784 unsigned int uX; | |
785 unsigned int uY; | |
786 unsigned int uWidth; | |
787 unsigned int uHeight; | |
788 unsigned int uZ; | |
789 unsigned int uW; | |
790 int uButtonType; | |
791 int field_1C;//may be pMessageType | |
792 UIMessageType msg; | |
793 unsigned int msg_param; | |
794 int field_28; | |
795 int field_2C_is_pushed; | |
796 GUIButton *pPrev; | |
797 GUIButton *pNext; | |
798 struct GUIWindow *pParent; | |
799 struct Texture *pTextures[5]; | |
800 unsigned int uNumTextures; | |
801 unsigned __int8 uHotkey; | |
802 char pButtonName[32]; | |
803 char field_75[71]; | |
804 }; | |
805 #pragma pack(pop) | |
806 | |
807 | |
808 | |
809 | |
810 extern struct GUIButton *pBtn_CloseBook; | |
811 extern struct GUIButton *pBtn_InstallRemoveSpell; | |
812 extern struct GUIButton *pBtn_Autonotes_Instructors; | |
813 extern struct GUIButton *pBtn_Autonotes_Misc; | |
814 extern struct GUIButton *pBtn_Book_6; | |
815 extern struct GUIButton *pBtn_Book_5; | |
816 extern struct GUIButton *pBtn_Book_4; | |
817 extern struct GUIButton *pBtn_Book_3; | |
818 extern struct GUIButton *pBtn_Book_2; | |
819 extern struct GUIButton *pBtn_Book_1; | |
820 | |
821 | |
822 extern struct GUIButton *pPlayerCreationUI_BtnReset; | |
823 extern struct GUIButton *pPlayerCreationUI_BtnOK; | |
824 extern struct GUIButton *pBtn_ExitCancel; | |
825 extern struct GUIButton *pBtn_YES; | |
826 extern struct GUIButton *pPlayerCreationUI_BtnPlus; | |
827 extern struct GUIButton *pPlayerCreationUI_BtnMinus; | |
828 | |
829 | |
830 extern struct GUIButton *pButton_RestUI_Main; | |
831 extern struct GUIButton *pButton_RestUI_Exit; | |
832 extern struct GUIButton *pButton_RestUI_Wait5Minutes; | |
833 extern struct GUIButton *pButton_RestUI_WaitUntilDawn; | |
834 extern struct GUIButton *pButton_RestUI_Wait1Hour; | |
835 | |
836 | |
837 extern struct GUIButton *pCharacterScreen_ExitBtn; | |
838 extern struct GUIButton *pCharacterScreen_AwardsBtn; | |
839 extern struct GUIButton *pCharacterScreen_InventoryBtn; | |
840 extern struct GUIButton *pCharacterScreen_SkillsBtn; | |
841 extern struct GUIButton *pCharacterScreen_StatsBtn; | |
842 extern struct GUIButton *pCharacterScreen_DollBtn; | |
843 extern struct GUIButton *pCharacterScreen_DetalizBtn; | |
844 | |
845 | |
846 extern struct GUIButton *pBtn_NPCRight; | |
847 extern struct GUIButton *pBtn_NPCLeft; | |
848 extern struct GUIButton *pBtn_GameSettings; | |
849 extern struct GUIButton *pBtn_QuickReference; | |
850 extern struct GUIButton *pBtn_CastSpell; | |
851 extern struct GUIButton *pBtn_Rest; | |
852 extern struct GUIButton *pBtn_History; | |
853 extern struct GUIButton *pBtn_Calendar; | |
854 extern struct GUIButton *pBtn_Maps; | |
855 extern struct GUIButton *pBtn_Autonotes; | |
856 extern struct GUIButton *pBtn_Quests; | |
857 | |
858 | |
859 extern struct GUIButton *pMMT_MainMenu_BtnMM6; | |
860 extern struct GUIButton *pMMT_MainMenu_BtnMM7; | |
861 extern struct GUIButton *pMMT_MainMenu_BtnMM8; | |
862 extern struct GUIButton *pMMT_MainMenu_BtnContinue; | |
863 extern struct GUIButton *pMMT_MainMenu_BtnExit; | |
864 | |
865 | |
866 extern struct GUIButton *pBtn_Up; | |
867 extern struct GUIButton *pBtn_Down; | |
868 extern struct GUIButton *ptr_507BA4; | |
869 | |
870 | |
871 extern struct GUIWindow *pPrimaryWindow; | |
872 extern struct GUIWindow *pChestWindow; | |
873 extern struct GUIWindow *pDialogueWindow; | |
874 extern struct GUIWindow *window_SpeakInHouse; | |
875 extern struct GUIWindow *pGUIWindow_ScrollWindow; | |
876 extern struct GUIWindow *ptr_507BC8; | |
877 extern struct GUIWindow *pGUIWindow_CurrentMenu; | |
878 extern struct GUIWindow *ptr_507BD0; | |
879 extern struct GUIWindow *pGUIWindow_Settings; | |
880 extern struct GUIWindow *pModalWindow; | |
881 extern struct GUIWindow *pGUIWindow_EscMessageWindow; | |
2548
87e5590d034b
All Books windows are refactored into respective classes
a.parshin
parents:
2547
diff
changeset
|
882 extern struct GUIWindow *pBooksButtonOverlay; |
2502 | 883 extern struct GUIWindow *pGUIWindow2; |
884 | |
885 | |
886 extern struct GUIButton *pBtn_Resume; | |
887 extern struct GUIButton *pBtn_QuitGame; | |
888 extern struct GUIButton *pBtn_GameControls; | |
889 extern struct GUIButton *pBtn_LoadGame; | |
890 extern struct GUIButton *pBtn_SaveGame; | |
891 extern struct GUIButton *pBtn_NewGame; | |
892 | |
893 extern struct GUIButton *pBtn_SliderRight; | |
894 extern struct GUIButton *pBtn_SliderLeft; | |
895 | |
896 | |
897 extern struct GUIButton *pBtnDownArrow; | |
898 extern struct GUIButton *pBtnArrowUp; | |
899 extern struct GUIButton *pBtnCancel; | |
900 extern struct GUIButton *pBtnLoadSlot; | |
901 | |
902 | |
903 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight2; | |
904 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft2; | |
905 extern std::array<GUIButton*, 4> pCreationUI_BtnPressLeft; | |
906 extern std::array<GUIButton*, 4> pCreationUI_BtnPressRight; | |
907 | |
908 extern int uTextureID_GameUI_CharSelectionFrame; // 50C98C | |
909 | |
910 extern unsigned int ui_mainmenu_copyright_color; | |
911 extern unsigned int ui_character_tooltip_header_default_color; | |
912 extern unsigned int ui_character_default_text_color; | |
913 extern unsigned int ui_character_skill_highlight_color; | |
914 extern unsigned int ui_character_header_text_color; | |
915 extern unsigned int ui_character_bonus_text_color; | |
916 extern unsigned int ui_character_bonus_text_color_neg; | |
917 extern unsigned int ui_character_skill_upgradeable_color; | |
918 extern unsigned int ui_character_skill_default_color; | |
919 extern unsigned int ui_character_stat_default_color; | |
920 extern unsigned int ui_character_stat_buffed_color; | |
921 extern unsigned int ui_character_stat_debuffed_color; | |
922 extern unsigned int ui_character_skillinfo_can_learn; | |
923 extern unsigned int ui_character_skillinfo_can_learn_gm; | |
924 extern unsigned int ui_character_skillinfo_cant_learn; | |
925 extern unsigned int ui_character_condition_normal_color; | |
926 extern unsigned int ui_character_condition_light_color; | |
927 extern unsigned int ui_character_condition_moderate_color; | |
928 extern unsigned int ui_character_condition_severe_color; | |
929 extern std::array<unsigned int, 6> ui_character_award_color; | |
930 extern unsigned int ui_game_minimap_outline_color; | |
931 extern unsigned int ui_game_minimap_actor_friendly_color; | |
932 extern unsigned int ui_game_minimap_actor_hostile_color; | |
933 extern unsigned int ui_game_minimap_actor_corpse_color; | |
934 extern unsigned int ui_game_minimap_decoration_color_1; | |
935 extern unsigned int ui_game_minimap_projectile_color; | |
936 extern unsigned int ui_game_minimap_treasure_color; | |
937 extern std::array<unsigned int, 24> ui_game_character_record_playerbuff_colors; | |
938 extern unsigned int ui_gamemenu_video_gamma_title_color; | |
939 extern unsigned int ui_gamemenu_keys_action_name_color; | |
940 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_1; | |
941 extern unsigned int ui_gamemenu_keys_key_selection_blink_color_2; | |
942 extern unsigned int ui_gamemenu_keys_key_default_color; | |
943 extern unsigned int ui_book_quests_title_color; | |
944 extern unsigned int ui_book_quests_text_color; | |
945 extern unsigned int ui_book_autonotes_title_color; | |
946 extern unsigned int ui_book_autonotes_text_color; | |
947 extern unsigned int ui_book_map_title_color; | |
948 extern unsigned int ui_book_map_coordinates_color; | |
949 extern unsigned int ui_book_calendar_title_color; | |
950 extern unsigned int ui_book_calendar_time_color; | |
951 extern unsigned int ui_book_calendar_day_color; | |
952 extern unsigned int ui_book_calendar_month_color; | |
953 extern unsigned int ui_book_calendar_year_color; | |
954 extern unsigned int ui_book_calendar_moon_color; | |
955 extern unsigned int ui_book_calendar_location_color; | |
956 extern unsigned int ui_book_journal_title_color; | |
957 extern unsigned int ui_book_journal_text_color; | |
958 extern unsigned int ui_book_journal_text_shadow; | |
959 extern unsigned int ui_game_dialogue_npc_name_color; | |
960 extern unsigned int ui_game_dialogue_option_highlight_color; | |
961 extern unsigned int ui_game_dialogue_option_normal_color; | |
962 extern unsigned int ui_house_player_cant_interact_color; |