Mercurial > mm7
comparison Arcomage/Arcomage.h @ 2496:5abd8fc8f1c6
for ITEM_ARTIFACT_LADYS_ESCORT
author | Ritor1 |
---|---|
date | Thu, 18 Sep 2014 17:38:54 +0600 |
parents | |
children | dd36326a9994 |
comparison
equal
deleted
inserted
replaced
2495:7b076fe64f23 | 2496:5abd8fc8f1c6 |
---|---|
1 #pragma once | |
2 #include "OSAPI.h" | |
3 | |
4 #include "..\Engine/Graphics/Texture.h" | |
5 | |
6 | |
7 | |
8 | |
9 /* 272 */ | |
10 #pragma pack(push, 1) | |
11 struct ArcomageCard | |
12 { | |
13 char pCardName[32]; | |
14 int slot; | |
15 char field_24; | |
16 char needed_quarry_level; | |
17 char needed_magic_level; | |
18 char needed_zoo_level; | |
19 char needed_bricks; | |
20 char needed_gems; | |
21 char needed_beasts; | |
22 bool can_be_discarded; | |
23 int compare_param; | |
24 char field_30; | |
25 char draw_extra_card_count; | |
26 char to_player_quarry_lvl; | |
27 char to_player_magic_lvl; | |
28 char to_player_zoo_lvl; | |
29 char to_player_bricks; | |
30 char to_player_gems; | |
31 char to_player_beasts; | |
32 char to_player_buildings; | |
33 char to_player_wall; | |
34 char to_player_tower; | |
35 char to_enemy_quarry_lvl; | |
36 char to_enemy_magic_lvl; | |
37 char to_enemy_zoo_lvl; | |
38 char to_enemy_bricks; | |
39 char to_enemy_gems; | |
40 char to_enemy_beasts; | |
41 char to_enemy_buildings; | |
42 char to_enemy_wall; | |
43 char to_enemy_tower; | |
44 char to_pl_enm_quarry_lvl; | |
45 char to_pl_enm_magic_lvl; | |
46 char to_pl_enm_zoo_lvl; | |
47 char to_pl_enm_bricks; | |
48 char to_pl_enm_gems; | |
49 char to_pl_enm_beasts; | |
50 char to_pl_enm_buildings; | |
51 char to_pl_enm_wall; | |
52 char to_pl_enm_tower; | |
53 char field_4D; | |
54 char can_draw_extra_card2; | |
55 char to_player_quarry_lvl2; | |
56 char to_player_magic_lvl2; | |
57 char to_player_zoo_lvl2; | |
58 char to_player_bricks2; | |
59 char to_player_gems2; | |
60 char to_player_beasts2; | |
61 char to_player_buildings2; | |
62 char to_player_wall2; | |
63 char to_player_tower2; | |
64 char to_enemy_quarry_lvl2; | |
65 char to_enemy_magic_lvl2; | |
66 char to_enemy_zoo_lvl2; | |
67 char to_enemy_bricks2; | |
68 char to_enemy_gems2; | |
69 char to_enemy_beasts2; | |
70 char to_enemy_buildings2; | |
71 char to_enemy_wall2; | |
72 char to_enemy_tower2; | |
73 char to_pl_enm_quarry_lvl2; | |
74 char to_pl_enm_magic_lvl2; | |
75 char to_pl_enm_zoo_lvl2; | |
76 char to_pl_enm_bricks2; | |
77 char to_pl_enm_gems2; | |
78 char to_pl_enm_beasts2; | |
79 char to_pl_enm_buildings2; | |
80 char to_pl_enm_wall2; | |
81 char to_pl_enm_tower2; | |
82 char field_6A; | |
83 char field_6B; | |
84 }; | |
85 #pragma pack(pop) | |
86 | |
87 | |
88 /* 401 */ | |
89 #pragma pack(push, 1) | |
90 struct AcromageCardOnTable | |
91 { | |
92 int uCardId; | |
93 int field_4; | |
94 POINT field_8; | |
95 int field_10_xplus; | |
96 int field_14_y_plus; | |
97 POINT field_18_point; | |
98 }; | |
99 #pragma pack(pop) | |
100 | |
101 | |
102 #pragma pack(push, 1) | |
103 struct ArcomagePlayer | |
104 { | |
105 char pPlayerName[32]; | |
106 int IsHisTurn; | |
107 int tower_height; | |
108 int wall_height; | |
109 int quarry_level; | |
110 int magic_level; | |
111 int zoo_level; | |
112 int resource_bricks; | |
113 int resource_gems; | |
114 int resource_beasts; | |
115 int cards_at_hand[10]; | |
116 POINT card_shift[10]; | |
117 }; | |
118 #pragma pack(pop) | |
119 | |
120 | |
121 | |
122 #pragma pack(push, 1) | |
123 struct ArcomageGame_stru1 | |
124 { | |
125 int field_0; | |
126 int field_4; | |
127 int field_8; | |
128 }; | |
129 #pragma pack(pop) | |
130 | |
131 | |
132 | |
133 | |
134 #pragma pack(push, 1) | |
135 struct ArcomageGame | |
136 { | |
137 ArcomageGame(); | |
138 | |
139 static bool LoadBackground(); | |
140 static bool LoadSprites(); | |
141 static bool MsgLoop(int a1, ArcomageGame_stru1 *a2); | |
142 static void PlaySound(unsigned int event_id); | |
143 static void OnMouseClick(char right_left, bool bDown); | |
144 static void OnMouseMove(int x, int y); | |
145 static void GetCardRect(unsigned int uCardID, RECT *pCardRect); | |
146 static void PrepareArcomage(); | |
147 static void DoBlt_Copy(unsigned __int16 *pPixels); // idb | |
148 | |
149 static void Loop(); | |
150 | |
151 char field_0; | |
152 char field_1; | |
153 char field_2; | |
154 char field_3; | |
155 int field_4; | |
156 ArcomageGame_stru1 stru1; | |
157 tagMSG msg; | |
158 int mouse_x; | |
159 int mouse_y; | |
160 char mouse_left; | |
161 char field_39; | |
162 char mouse_right; | |
163 char field_3B; | |
164 unsigned __int16 *pBackgroundPixels; | |
165 unsigned __int16 *pSpritesPixels; | |
166 unsigned __int16 *pBlit_Copy_pixels; | |
167 struct GUIFont *pfntComic;//ptr_48; | |
168 struct GUIFont *pfntArrus;//ptr_4C; | |
169 int field_50; | |
170 int field_54; | |
171 RGBTexture pGameBackground; | |
172 RGBTexture pSprites; | |
173 int event_timer_time; | |
174 int uGameWinner; | |
175 int Victory_type; | |
176 char pPlayer1Name[32]; | |
177 char pPlayer2Name[32]; | |
178 char field_F4; | |
179 char GameOver; | |
180 char field_F6; | |
181 char prev_mouse_left; | |
182 char prev_mouse_right; | |
183 char field_F9; | |
184 char bGameInProgress; | |
185 }; | |
186 #pragma pack(pop) | |
187 | |
188 | |
189 | |
190 | |
191 extern ArcomageGame *pArcomageGame; | |
192 extern ArcomageCard pCards[87]; | |
193 extern void set_stru1_field_8_InArcomage(int inValue); | |
194 | |
195 | |
196 | |
197 #pragma pack(push, 1) | |
198 struct stru272_stru1 | |
199 { | |
200 int have_spark; | |
201 POINT spark_position; | |
202 int field_C; | |
203 int field_10; | |
204 int field_14; | |
205 int field_18; | |
206 }; | |
207 #pragma pack(pop) | |
208 | |
209 /* 404 */ | |
210 #pragma pack(push, 1) | |
211 struct stru272_stru2 | |
212 { | |
213 /*int field_0; | |
214 int field_4; | |
215 int field_8; | |
216 int field_C;*/ | |
217 RECT effect_area; | |
218 int field_10; | |
219 int field_14; | |
220 int field_18; | |
221 float field_1Cf; | |
222 int field_20; | |
223 float field_24f; | |
224 float field_28f; | |
225 float field_2Cf; | |
226 int field_30; | |
227 int field_34; | |
228 stru272_stru1* sparks_array; | |
229 }; | |
230 #pragma pack(pop) | |
231 | |
232 | |
233 /* 270 */ | |
234 #pragma pack(push, 1) | |
235 struct stru272_stru0 // ARCOMAGE stuff | |
236 { | |
237 static stru272_stru0 *New(); | |
238 | |
239 int Free(); | |
240 int StartFill(stru272_stru2* a2); | |
241 int Clear(char a2, char a3); | |
242 int DrawEffect(); | |
243 int _40E2A7(); | |
244 | |
245 int signature; | |
246 int field_4; | |
247 int position_in_sparks_arr; | |
248 int field_C; | |
249 int field_10; | |
250 int field_14; | |
251 int field_18; | |
252 int field_1C; | |
253 int field_20; | |
254 int field_24; | |
255 float field_28; | |
256 float field_2C; | |
257 float field_30; | |
258 int field_34; | |
259 int field_38; | |
260 int field_3C; | |
261 int field_40; | |
262 int field_44; | |
263 int field_48; | |
264 int field_4C; | |
265 int field_50; | |
266 stru272_stru1 * field_54; | |
267 char field_58; | |
268 char field_59; | |
269 char field_5A; | |
270 char field_5B; | |
271 }; | |
272 #pragma pack(pop) | |
273 | |
274 #define DECK_SIZE 108 | |
275 | |
276 #pragma pack(push, 1) | |
277 struct ArcomageDeck | |
278 { | |
279 char name[32]; | |
280 char cardsInUse[DECK_SIZE]; | |
281 int cards_IDs[DECK_SIZE]; | |
282 }; | |
283 | |
284 #pragma pack(pop) | |
285 | |
286 #pragma pack(push, 1) | |
287 struct stru272 | |
288 { | |
289 char have_effect; | |
290 char effect_sign; | |
291 char _pad_2; | |
292 char _pad_3; | |
293 stru272_stru2 field_4; | |
294 stru272_stru0 *field_40; | |
295 stru272_stru1 effect_sparks[150]; | |
296 }; | |
297 #pragma pack(pop) | |
298 |