annotate GUI/UI/UIHouses.h @ 2541:a902abdfc7f2

1. Renamed class Game to class Engine. 2. Separated game logic as state of FSM from game logic as engine. 3. Found out that many UI screen initializers were optimized away, intially they all returned newly created window as separate object like it is done in CharacterUI_Initialize.
author a.parshin
date Sun, 10 May 2015 01:29:11 +0200
parents 0ff6a9e9bf7f
children 0c67be4ec900
rev   line source
2501
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
1 #pragma once
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
2 #include "..\..\Engine/Events2D.h"
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
3
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
4 enum HOUSE_DIALOGUE_MENU: __int32
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
5 {
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
6 HOUSE_DIALOGUE_NULL = 0,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
7 HOUSE_DIALOGUE_MAIN = 1,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
8 HOUSE_DIALOGUE_SHOP_BUY_STANDARD = 2,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
9 HOUSE_DIALOGUE_SHOP_SELL = 3,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
10 HOUSE_DIALOGUE_SHOP_IDENTIFY = 4,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
11 HOUSE_DIALOGUE_SHOP_REPAIR = 5,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
12 HOUSE_DIALOGUE_SHOP_6 = 6,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
13 HOUSE_DIALOGUE_BANK_PUT_GOLD = 7,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
14 HOUSE_DIALOGUE_BANK_GET_GOLD = 8,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
15 HOUSE_DIALOGUE_9 = 9,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
16 HOUSE_DIALOGUE_TEMPLE_HEAL = 10,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
17 HOUSE_DIALOGUE_TEMPLE_DONATE = 11,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
18 HOUSE_DIALOGUE_12 = 12,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
19 HOUSE_DIALOGUE_13 = 13,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
20 HOUSE_DIALOGUE_14 = 14,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
21 HOUSE_DIALOGUE_TAVERN_REST = 15,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
22 HOUSE_DIALOGUE_TAVERN_BUY_FOOD = 16,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
23 HOUSE_DIALOGUE_TRAININGHALL_TRAIN = 17,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
24 HOUSE_DIALOGUE_GUILD_BUY_BOOKS = 18,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
25 //...
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
26 HOUSE_DIALOGUE_36 = 36,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
27 //..
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
28 HOUSE_DIALOGUE_GUILD_LEARN_SKILL = 72,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
29 //...
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
30 HOUSE_DIALOGUE_SHOP_DISPLAY_EQUIPMENT = 94,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
31 HOUSE_DIALOGUE_SHOP_BUY_SPECIAL = 95,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
32 HOUSE_DIALOGUE_LEARN_SKILLS = 96,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
33 HOUSE_DIALOGUE_97 = 97,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
34 HOUSE_DIALOGUE_98 = 98,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
35 HOUSE_DIALOGUE_TOWNHALL_MESSAGE = 99,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
36 HOUSE_DIALOGUE_TOWNHALL_PAY_FINE = 100,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
37 HOUSE_DIALOGUE_TAVERN_ARCOMAGE_MAIN = 101,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
38 HOUSE_DIALOGUE_TAVERN_ARCOMAGE_RULES = 102,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
39 HOUSE_DIALOGUE_TAVERN_ARCOMAGE_VICTORY_CONDITIONS = 103,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
40 HOUSE_DIALOGUE_TAVERN_ARCOMAGE_RESULT = 104,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
41 HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_1 = 105,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
42 HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_2 = 106,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
43 HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_3 = 107,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
44 HOUSE_DIALOGUE_TRANSPORT_SCHEDULE_4 = 108,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
45 HOUSE_DIALOGUE_OTHER = -1
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
46 };
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
47
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
48 /* 349 */
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
49 enum HOUSE_ID
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
50 {
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
51 HOUSE_SMITH_EMERALD_ISLE = 1,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
52 HOUSE_ARMOURER_EMERALD_ISLE = 15,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
53 HOUSE_MAGE_EMERALD_ISLE = 29,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
54 HOUSE_MAGE_HARMONDALE = 30,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
55 HOUSE_ALCHEMIST_EMERALD_ISLE = 42,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
56 HOUSE_ALCHEMIST_HARMONDALE = 43,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
57 HOUSE_STABLES_HARMONDALE = 54,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
58 HOUSE_STABLES_STEADWICK = 55,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
59 HOUSE_STABLES_TULAREAN_FOREST = 56,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
60 HOUSE_STABLES_DEYJA = 57,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
61 HOUSE_STABLES_BRACADA_DESERT = 58,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
62 HOUSE_STABLES_TATALIA = 59,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
63 HOUSE_STABLES_AVLEE = 60,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
64 HOUSE_STABLES_61 = 61,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
65 HOUSE_STABLES_62 = 62,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
66 HOUSE_BOATS_EMERALD_ISLE = 63,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
67 HOUSE_BOATS_ERATHIA = 64,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
68 HOUSE_BOATS_TULAREAN_FOREST = 65,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
69 HOUSE_BOATS_BRACADA_DESERT = 66,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
70 HOUSE_BOATS_EVENMORN_ISLAND = 67,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
71 HOUSE_BOATS_68 = 68,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
72 HOUSE_BOATS_TATALIA = 69,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
73 HOUSE_BOATS_AVLEE = 70,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
74 HOUSE_BOATS_71 = 71,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
75 HOUSE_BOATS_72 = 72,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
76 HOUSE_BOATS_73 = 73,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
77 HOUSE_TEMPLE_EMERALD_ISLE = 74,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
78 HOUSE_TEMPLE_HARMONDALE = 75,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
79 HOUSE_TRAINING_HALL_EMERALD_ISLE = 89,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
80 HOUSE_TRAINING_HALL_HARMONDALE = 90,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
81 HOUSE_TRAINING_HALL_91 = 91,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
82 HOUSE_TRAINING_HALL_92 = 92,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
83 HOUSE_TRAINING_HALL_93 = 93,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
84 HOUSE_TRAINING_HALL_94 = 94,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
85 HOUSE_TRAINING_HALL_95 = 95,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
86
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
87 HOUSE_TOWNHALL_HARMONDALE = 102,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
88 HOUSE_TAVERN_EMERALD_ISLE = 107,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
89 HOUSE_BANK_HARMONDALE = 128,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
90 HOUSE_FIRE_GUILD_INITIATE_EMERALD_ISLE = 139,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
91 HOUSE_AIR_GUILD_INITIATE_EMERALD_ISLE = 143,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
92 HOUSE_SPIRIT_GUILD_INITIATE_EMERALD_ISLE = 155,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
93 HOUSE_BODY_GUILD_INITIATE_EMERALD_ISLE = 163,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
94 HOUSE_BODY_GUILD_ERATHIA = 165,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
95 HOUSE_DARK_GUILD_PIT = 170,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
96 HOUSE_LORD_AND_JUDGE_EMERALD_ISLE = 186,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
97 HOUSE_JAIL = 187,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
98 HOUSE_JUDGE_HARMONDALE = 190,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
99 HOUSE_224_EMERALD_ISLE = 224,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
100 HOUSE_225_EMERALD_ISLE = 225,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
101 HOUSE_238_EMERALD_ISLE = 238,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
102 HOUSE_466_HARMONDALE = 466,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
103 HOUSE_467_HARMONDALE = 467,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
104 HOUSE_468_HARMONDALE = 468,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
105 HOUSE_472_HARMONDALE = 472,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
106 HOUSE_488_HARMONDALE = 488,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
107 HOUSE_489_HARMONDALE = 489,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
108 HOUSE_600 = 600,//???
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
109 HOUSE_601 = 601//???
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
110 };
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
111
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
112 enum HouseSoundID: unsigned __int32
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
113 {
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
114 HouseSound_Greeting = 1, // General greeting
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
115 HouseSound_NotEnoughMoney_TrainingSuccessful = 2,
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
116 HouseSound_Greeting_2 = 3, // Polite Greeting when you're guild member
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
117 HouseSound_Goodbye = 4 // farewells when bought something
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
118 };
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
119
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
120 bool HouseUI_CheckIfPlayerCanInteract();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
121 void TrainingDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
122 void JailDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
123 void MagicShopDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
124 void GuildDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
125 void sub_4B6478();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
126 bool __fastcall IsTravelAvailable(int a1);
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
127 void TravelByTransport();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
128 void TempleDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
129 void TownHallDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
130 void BankDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
131 void TavernDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
132 void PlayHouseSound(unsigned int uHouseID, HouseSoundID sound); // idb
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
133 void WeaponShopDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
134 void AlchemistDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
135 void ArmorShopDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
136 void SimpleHouseDialog();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
137 void __fastcall OnSelectShopDialogueOption(signed int uMessageParam);
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
138 void PrepareHouse(enum HOUSE_ID house); // idb
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
139 bool EnterHouse(enum HOUSE_ID uHouseID);
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
140 void BackToHouseMenu();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
141
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
142
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
143 void InitializaDialogueOptions_Tavern(BuildingType type); // idb
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
144 void InitializaDialogueOptions_Shops(BuildingType type);
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
145 void InitializaDialogueOptions(BuildingType type);
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
146 void InitializeBuildingResidents();
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
147
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
148 extern int uHouse_ExitPic; // weak
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
149 extern int dword_591080; // weak
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
150 extern BuildingType in_current_building_type; // 00F8B198
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
151 extern HOUSE_DIALOGUE_MENU dialog_menu_id; // 00F8B19C
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
152
0ff6a9e9bf7f GUI folger
Ritor1
parents:
diff changeset
153 int HouseDialogPressCloseBtn();