Mercurial > might-and-magic-trilogy
comparison Texture.h @ 0:8b8875f5b359
Initial commit
author | Nomad |
---|---|
date | Fri, 05 Oct 2012 16:07:14 +0200 |
parents | |
children | ac0fb48cd27a |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:8b8875f5b359 |
---|---|
1 #pragma once | |
2 #include <stdio.h> | |
3 | |
4 | |
5 | |
6 /* 194 */ | |
7 #pragma pack(push, 1) | |
8 struct RGBTexture | |
9 { | |
10 RGBTexture(); | |
11 void Release(); | |
12 int _40E55E(const char *Filename, unsigned int a3); | |
13 unsigned int LoadFromFILE(FILE *pFile, unsigned int mode, unsigned int bCloseFile); | |
14 int DecodePCX(char *pPcx, unsigned __int16 *pOutPixels, unsigned int uNumPixels); | |
15 int Load(const char *pContainer, int mode); | |
16 int Reload(const char *pContainer); | |
17 | |
18 char pName[16]; | |
19 unsigned int uNumPixels; | |
20 unsigned __int16 uWidth; | |
21 unsigned __int16 uHeight; | |
22 __int16 field_18; | |
23 __int16 field_1A; | |
24 __int16 field_1C; | |
25 __int16 field_1E; | |
26 __int16 field_20; | |
27 __int16 field_22; | |
28 unsigned __int16 *pPixels; | |
29 }; | |
30 #pragma pack(pop) | |
31 | |
32 | |
33 | |
34 #pragma pack(push, 1) | |
35 struct Texture | |
36 { | |
37 Texture(); | |
38 void Release(); | |
39 void *UnzipPalette(); | |
40 | |
41 char pName[16]; | |
42 unsigned int uSizeOfMaxLevelOfDetail; | |
43 unsigned int uTextureSize; | |
44 unsigned __int16 uTextureWidth; | |
45 unsigned __int16 uTextureHeight; | |
46 __int16 uWidthLn2; | |
47 __int16 uHeightLn2; | |
48 __int16 uWidthMinus1; | |
49 __int16 uHeightMinus1; | |
50 int palette; | |
51 unsigned int uDecompressedSize; | |
52 int pBits; | |
53 unsigned __int8 *pLevelOfDetail0; | |
54 unsigned __int8 *pLevelOfDetail1; | |
55 unsigned __int8 *pLevelOfDetail2; | |
56 unsigned __int8 *pLevelOfDetail3; | |
57 unsigned __int16 *pPalette16; | |
58 unsigned __int8 *pPalette24; | |
59 }; | |
60 #pragma pack(pop) | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 /* 323 */ | |
79 enum TEXTURE_FRAME_TABLE_FLAGS | |
80 { | |
81 TEXTURE_FRAME_TABLE_MORE_FRAMES = 0x1, | |
82 TEXTURE_FRAME_TABLE_FIRST = 0x2, | |
83 }; | |
84 | |
85 | |
86 | |
87 /* 41 */ | |
88 #pragma pack(push, 1) | |
89 struct TextureFrame | |
90 { | |
91 char pTextureName[12]; | |
92 __int16 uTextureID; | |
93 __int16 uAnimTime; | |
94 __int16 uAnimLength; | |
95 __int16 uFlags; | |
96 }; | |
97 #pragma pack(pop) | |
98 | |
99 /* 40 */ | |
100 #pragma pack(push, 1) | |
101 struct TextureFrameTable | |
102 { | |
103 //----- (0044D4C9) -------------------------------------------------------- | |
104 inline TextureFrameTable() | |
105 { | |
106 pTextures = 0; | |
107 uNumTextures = 0; | |
108 } | |
109 int FromFileTxt(const char *Args); | |
110 void ToFile(); | |
111 void FromFile(void *pSerialized); | |
112 unsigned int LoadAnimationSequenceAndPalettes(unsigned int uIconID); | |
113 unsigned int GetFrameTexture(int uFrameID, signed int a3); | |
114 unsigned int FindTextureByName(const char *Str2); | |
115 | |
116 | |
117 unsigned int uNumTextures; | |
118 struct TextureFrame *pTextures; | |
119 }; | |
120 #pragma pack(pop) | |
121 | |
122 extern struct TextureFrameTable *pTextureFrameTable; | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 extern Texture *pTexture_LloydBeacons[2]; | |
129 extern Texture *pTexture_50635C; | |
130 extern Texture *pTexture_506368; | |
131 extern Texture *pTexture_50636C; | |
132 extern Texture *pTexture_506370; | |
133 extern Texture *pTexture_506374; | |
134 extern Texture *pTexture_506378; | |
135 extern Texture *pTexture_50637C; | |
136 extern Texture *pTexture_506380; | |
137 extern Texture *pTexture_506384; | |
138 extern Texture *pTexture_506388; | |
139 extern Texture *pTexture_50638C; | |
140 extern Texture *pTexture_506390; | |
141 extern Texture *pTexture_506394; | |
142 extern Texture *pTex_tab_an_7a__zoot_off; | |
143 extern Texture *pTex_tab_an_6a__zoom_off; | |
144 extern Texture *pTex_tab_an_7b__zoot_on; | |
145 extern Texture *pTex_tab_an_6b__zoom_on; | |
146 extern Texture *pTexture_TownPortalHarmn; | |
147 extern Texture *pTexture_TownPortalElf; | |
148 extern Texture *pTexture_TownPortalWarlock; | |
149 extern Texture *pTexture_TownPortalIsland; | |
150 extern Texture *pTexture_TownPortalHeaven; | |
151 extern Texture *pTexture_TownPortalHell; | |
152 extern Texture *dword_5063D8[]; | |
153 extern Texture *dword_506404[]; | |
154 extern Texture *dword_506434[]; | |
155 extern Texture *pTexture_50643C; // idb | |
156 extern Texture *ptr_506440; | |
157 extern Texture *pTexture_506444; | |
158 extern Texture *pTexture_506448; // idb | |
159 extern Texture pTextures_tabs[8][2]; | |
160 extern Texture *pTexture_mapbordr; // idb | |
161 extern Texture *pTexture_pagemask; // idb | |
162 extern Texture *pTextures_5064A0[14]; | |
163 extern Texture *pTexture_AutonotesBook; | |
164 extern Texture *pTexture_CurrentBook; | |
165 extern Texture *pTex_moon_new; | |
166 extern Texture *pTex_moon_4; | |
167 extern Texture *pTex_moon_2; | |
168 extern Texture *pTex_moon_2_2; | |
169 extern Texture *pTex_moon_ful; | |
170 | |
171 | |
172 | |
173 extern RGBTexture stru_506E40; // weak | |
174 extern RGBTexture stru_506F20; | |
175 | |
176 | |
177 extern int uTextureID_RestUI_restb4; // weak | |
178 extern int uTextureID_RestUI_restexit; // weak | |
179 extern int uTextureID_RestUI_restb3; // weak | |
180 extern int uTextureID_RestUI_restb1; // weak | |
181 extern int uTextureID_RestUI_restb2; // weak | |
182 extern int uTextureID_RestUI_restmain; // weak | |
183 extern unsigned int uTextureID_Leather; | |
184 extern int uTextureID_ar_dn_dn; // weak | |
185 extern int uTextureID_ar_dn_up; // weak | |
186 extern int uTextureID_ar_up_dn; // weak | |
187 extern int uTextureID_ar_up_up; // weak | |
188 | |
189 | |
190 extern int uTextureID_507698; // weak | |
191 extern int uTextureID_50769C; // weak | |
192 extern int uTextureID_5076A0; // weak | |
193 extern int uTextureID_5076A4; // weak | |
194 extern int uTextureID_5076A8; // weak | |
195 extern int uTextureID_5076AC; // weak | |
196 extern int uTextureID_5076B0; // weak | |
197 extern int uTextureID_5076B4; // weak | |
198 extern int uTextureID_Parchment; // weak | |
199 extern unsigned int uTextureID_mhp_yel; | |
200 extern unsigned int uTextureID_mhp_red; | |
201 extern unsigned int uTextureID_mhp_grn; | |
202 extern unsigned int uTextureID_mhp_capr; | |
203 extern unsigned int uTextureID_mhp_capl; | |
204 extern unsigned int uTextureID_mhp_bd; | |
205 extern unsigned int uTextureID_BUTTDESC2; | |
206 extern unsigned int uTextureID_x_x_u; | |
207 extern unsigned int uTextureID_BUTTMAKE2; | |
208 extern unsigned int uTextureID_BUTTMAKE; | |
209 extern unsigned int uTextureID_BUTTYES2; | |
210 extern unsigned int uTextureID_x_ok_u; | |
211 extern Texture *pPlayerPortraits[22]; | |
212 extern Texture *pTexture_IC_KNIGHT; | |
213 extern Texture *pTexture_IC_THIEF; | |
214 extern Texture *pTexture_IC_MONK; | |
215 extern Texture *pTexture_IC_PALAD; | |
216 extern Texture *pTexture_IC_ARCH; | |
217 extern Texture *pTexture_IC_RANGER; | |
218 extern Texture *pTexture_IC_CLER; | |
219 extern Texture *pTexture_IC_DRUID; | |
220 extern Texture *pTexture_IC_SORC; | |
221 extern Texture *pTexture_MAKESKY; | |
222 extern Texture *pTexture_MAKETOP; | |
223 extern Texture *pTextures_arrowr[20]; | |
224 extern Texture *pTextures_arrowl[20]; | |
225 extern Texture *pTexture_presleft; | |
226 extern Texture *pTexture_pressrigh; | |
227 extern Texture *pTexture_buttminu; | |
228 extern Texture *pTexture_buttplus; | |
229 extern unsigned int uTextureID_50792C; // weak | |
230 extern unsigned int uTextureID_507930; // weak | |
231 extern unsigned int uTextureID_507934; // weak | |
232 extern unsigned int uTextureID_507938; // weak | |
233 extern unsigned int uTextureID_50793C; // weak | |
234 extern unsigned int uTextureID_507940; // weak | |
235 extern unsigned int uTextureID_507944; // weak | |
236 | |
237 | |
238 extern unsigned int uTextureID_ib_td5_A; | |
239 extern unsigned int uTextureID_ib_td2_A; // weak | |
240 extern unsigned int uTextureID_ib_td1_A; | |
241 extern int uTextureID_507958; // weak | |
242 extern int uTextureID_50795C; // weak | |
243 | |
244 | |
245 extern unsigned int uTextureID_507970; | |
246 | |
247 | |
248 extern unsigned int uTextureID_507978; | |
249 extern unsigned int uTextureID_50797C; | |
250 extern unsigned int uTextureID_507980; | |
251 extern unsigned int uTextureID_507984; | |
252 extern unsigned int uTextureID_FONTPAL; | |
253 extern unsigned int uTextureID_50798C; | |
254 extern unsigned int uTextureID_507990; | |
255 extern unsigned int pTextureIDs_pMapDirs[8]; | |
256 | |
257 | |
258 extern unsigned int uTextureID_BarRed; | |
259 extern unsigned int uTextureID_BarYellow; | |
260 extern unsigned int uTextureID_BarGreen; | |
261 extern unsigned int uTextureID_BarBlue; | |
262 | |
263 | |
264 extern unsigned int uTextureID_right_panel; // weak | |
265 | |
266 | |
267 extern RGBTexture *pTexture_StatusBar; | |
268 extern RGBTexture *pTexture_LeftFrame; | |
269 extern RGBTexture *pTexture_TopFrame; | |
270 extern RGBTexture *pTexture_BottomFrame; | |
271 extern RGBTexture *pTexture_RightFrame; | |
272 | |
273 | |
274 extern unsigned int uTextureID_507B04; // weak | |
275 | |
276 | |
277 extern Texture *pTexture_Leather; | |
278 extern Texture *pTexture_RestUI_CurrentSkyFrame; // idb | |
279 extern Texture *pTexture_RestUI_CurrentHourglassFrame; // idb | |
280 | |
281 | |
282 extern unsigned int uTextureID_507BF4; // weak | |
283 extern unsigned int uTextureID_507BF8; // weak | |
284 extern unsigned int uTextureID_507BFC; // weak | |
285 extern unsigned int uTextureID_507C00; // weak | |
286 extern unsigned int uTextureID_507C04; // weak | |
287 | |
288 | |
289 extern unsigned int uTextureID_507C10; // weak | |
290 extern unsigned int uTextureID_507C14; // weak | |
291 extern unsigned int uTextureID_507C18; // weak | |
292 extern unsigned int uTextureID_507C1C; // weak | |
293 extern unsigned int uTextureID_507C20; // weak | |
294 extern unsigned int uTextureID_507C24; // weak | |
295 extern unsigned int pTextureIDs_GammaPositions[10]; | |
296 extern unsigned int uTextureID_507C50; // weak | |
297 extern unsigned int uTextureID_507C54; // weak | |
298 extern unsigned int uTextureID_507C58; // weak | |
299 extern unsigned int uTextureID_507C60; // weak | |
300 extern unsigned int uTextureID_507C64[]; // weak | |
301 extern unsigned int uTextureID_507C68; // weak | |
302 extern unsigned int uTextureID_507C6C; // weak | |
303 extern unsigned int uTextureID_507C70; // weak | |
304 extern unsigned int uTextureID_507C74; // weak | |
305 extern unsigned int uTextureID_507C84; // weak | |
306 extern unsigned int pTextureIDs_SoundLevels[10]; | |
307 extern unsigned int uTextureID_507CB0; // weak | |
308 extern unsigned int uTextureID_507CB4; // weak | |
309 extern unsigned int uTextureID_507CB8; // weak | |
310 | |
311 | |
312 extern unsigned int uTextureID_5118C8; // weak | |
313 extern unsigned int uTextureID_MAGNIF_B; // weak | |
314 extern unsigned int uTextureID_BACKDOLL; // weak | |
315 extern unsigned int uTextureID_BACKHAND; // weak | |
316 | |
317 | |
318 extern Texture pTex_F7CE30; | |
319 | |
320 | |
321 extern RGBTexture stru_5773C4; // idb | |
322 | |
323 | |
324 | |
325 | |
326 | |
327 | |
328 | |
329 | |
330 | |
331 | |
332 | |
333 | |
334 /* 390 */ | |
335 #pragma pack(push, 1) | |
336 struct stru350 | |
337 { | |
338 stru350 *_450DDE(); | |
339 void *_450DF1(const char *Src, const char *a3); | |
340 unsigned int _450F55(int a2); | |
341 int _450FB1(int a2); | |
342 int sub_451007_scale_image_bicubic(int a2, signed int a3, signed int a4, int a5, signed int a6, signed int a7, signed int a8, int a9, int a10, int a11); | |
343 | |
344 int field_0[8]; | |
345 int array_20[8]; | |
346 int field_40; | |
347 int field_44; | |
348 int field_48; | |
349 int field_4C; | |
350 int field_50; | |
351 int field_54; | |
352 int field_58; | |
353 int field_5C; | |
354 }; | |
355 #pragma pack(pop) |