0
|
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 short palette_id1;
|
|
51 short palette_id2;
|
|
52 unsigned int uDecompressedSize;
|
|
53 int pBits;
|
|
54 unsigned __int8 *pLevelOfDetail0;
|
|
55 unsigned __int8 *pLevelOfDetail1;
|
|
56 unsigned __int8 *pLevelOfDetail2;
|
|
57 unsigned __int8 *pLevelOfDetail3;
|
|
58 unsigned __int16 *pPalette16;
|
|
59 unsigned __int8 *pPalette24;
|
|
60 };
|
|
61 #pragma pack(pop)
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79 /* 323 */
|
|
80 enum TEXTURE_FRAME_TABLE_FLAGS
|
|
81 {
|
|
82 TEXTURE_FRAME_TABLE_MORE_FRAMES = 0x1,
|
|
83 TEXTURE_FRAME_TABLE_FIRST = 0x2,
|
|
84 };
|
|
85
|
|
86
|
|
87
|
|
88 /* 41 */
|
|
89 #pragma pack(push, 1)
|
|
90 struct TextureFrame
|
|
91 {
|
|
92 char pTextureName[12];
|
|
93 __int16 uTextureID;
|
|
94 __int16 uAnimTime;
|
|
95 __int16 uAnimLength;
|
|
96 __int16 uFlags;
|
|
97 };
|
|
98 #pragma pack(pop)
|
|
99
|
|
100 /* 40 */
|
|
101 #pragma pack(push, 1)
|
|
102 struct TextureFrameTable
|
|
103 {
|
|
104 //----- (0044D4C9) --------------------------------------------------------
|
|
105 inline TextureFrameTable()
|
|
106 {
|
|
107 pTextures = 0;
|
|
108 uNumTextures = 0;
|
|
109 }
|
|
110 int FromFileTxt(const char *Args);
|
|
111 void ToFile();
|
|
112 void FromFile(void *pSerialized);
|
|
113 unsigned int LoadAnimationSequenceAndPalettes(unsigned int uIconID);
|
|
114 unsigned int GetFrameTexture(int uFrameID, signed int a3);
|
|
115 unsigned int FindTextureByName(const char *Str2);
|
|
116
|
|
117
|
|
118 unsigned int uNumTextures;
|
|
119 struct TextureFrame *pTextures;
|
|
120 };
|
|
121 #pragma pack(pop)
|
|
122
|
|
123 extern struct TextureFrameTable *pTextureFrameTable;
|
|
124
|
|
125
|
|
126
|
|
127
|
|
128
|
|
129 extern Texture *pTexture_LloydBeacons[2];
|
|
130 extern Texture *pTexture_50635C;
|
|
131 extern Texture *pTexture_506368;
|
|
132 extern Texture *pTexture_50636C;
|
|
133 extern Texture *pTexture_506370;
|
|
134 extern Texture *pTexture_506374;
|
|
135 extern Texture *pTexture_506378;
|
|
136 extern Texture *pTexture_50637C;
|
|
137 extern Texture *pTexture_506380;
|
|
138 extern Texture *pTexture_506384;
|
|
139 extern Texture *pTexture_506388;
|
|
140 extern Texture *pTexture_50638C;
|
|
141 extern Texture *pTexture_506390;
|
|
142 extern Texture *pTexture_506394;
|
|
143 extern Texture *pTex_tab_an_7a__zoot_off;
|
|
144 extern Texture *pTex_tab_an_6a__zoom_off;
|
|
145 extern Texture *pTex_tab_an_7b__zoot_on;
|
|
146 extern Texture *pTex_tab_an_6b__zoom_on;
|
|
147 extern Texture *pTexture_TownPortalHarmn;
|
|
148 extern Texture *pTexture_TownPortalElf;
|
|
149 extern Texture *pTexture_TownPortalWarlock;
|
|
150 extern Texture *pTexture_TownPortalIsland;
|
|
151 extern Texture *pTexture_TownPortalHeaven;
|
|
152 extern Texture *pTexture_TownPortalHell;
|
|
153 extern Texture *dword_5063D8[];
|
|
154 extern Texture *dword_506404[];
|
|
155 extern Texture *dword_506434[];
|
|
156 extern Texture *pTexture_50643C; // idb
|
|
157 extern Texture *ptr_506440;
|
|
158 extern Texture *pTexture_506444;
|
|
159 extern Texture *pTexture_506448; // idb
|
|
160 extern Texture *pTextures_tabs[8][2];
|
|
161 extern Texture *pTexture_mapbordr; // idb
|
|
162 extern Texture *pTexture_pagemask; // idb
|
|
163 extern Texture *pTextures_5064A0[14];
|
|
164 extern Texture *pTexture_AutonotesBook;
|
|
165 extern Texture *pTexture_CurrentBook;
|
|
166 extern Texture *pTex_moon_new;
|
|
167 extern Texture *pTex_moon_4;
|
|
168 extern Texture *pTex_moon_2;
|
|
169 extern Texture *pTex_moon_2_2;
|
|
170 extern Texture *pTex_moon_ful;
|
|
171
|
|
172
|
|
173
|
|
174 extern RGBTexture stru_506E40; // weak
|
|
175 extern RGBTexture pTexture_PCX;
|
|
176
|
|
177
|
|
178 extern int uTextureID_RestUI_restb4; // weak
|
|
179 extern int uTextureID_RestUI_restexit; // weak
|
|
180 extern int uTextureID_RestUI_restb3; // weak
|
|
181 extern int uTextureID_RestUI_restb1; // weak
|
|
182 extern int uTextureID_RestUI_restb2; // weak
|
|
183 extern int uTextureID_RestUI_restmain; // weak
|
|
184 extern unsigned int uTextureID_Leather;
|
|
185 extern int uTextureID_ar_dn_dn; // weak
|
|
186 extern int uTextureID_ar_dn_up; // weak
|
|
187 extern int uTextureID_ar_up_dn; // weak
|
|
188 extern int uTextureID_ar_up_up; // weak
|
|
189
|
|
190
|
|
191 extern int uTextureID_507698; // weak
|
|
192 extern int uTextureID_50769C; // weak
|
|
193 extern int uTextureID_5076A0; // weak
|
|
194 extern int uTextureID_5076A4; // weak
|
|
195 extern int uTextureID_5076A8; // weak
|
|
196 extern int uTextureID_5076AC; // weak
|
|
197 extern int uTextureID_5076B0; // weak
|
|
198 extern int uTextureID_5076B4; // weak
|
|
199 extern int uTextureID_Parchment; // weak
|
|
200 extern unsigned int uTextureID_mhp_yel;
|
|
201 extern unsigned int uTextureID_mhp_red;
|
|
202 extern unsigned int uTextureID_mhp_grn;
|
|
203 extern unsigned int uTextureID_mhp_capr;
|
|
204 extern unsigned int uTextureID_mhp_capl;
|
|
205 extern unsigned int uTextureID_mhp_bd;
|
|
206 extern unsigned int uTextureID_BUTTDESC2;
|
|
207 extern unsigned int uTextureID_x_x_u;
|
|
208 extern unsigned int uTextureID_BUTTMAKE2;
|
|
209 extern unsigned int uTextureID_BUTTMAKE;
|
|
210 extern unsigned int uTextureID_BUTTYES2;
|
|
211 extern unsigned int uTextureID_x_ok_u;
|
|
212 extern Texture *pPlayerPortraits[22];
|
|
213 extern Texture *pTexture_IC_KNIGHT[8];
|
|
214 extern Texture *pTexture_MAKESKY;
|
|
215 extern Texture *pTexture_MAKETOP;
|
|
216 extern Texture *pTextures_arrowr[20];
|
|
217 extern Texture *pTextures_arrowl[20];
|
|
218 extern Texture *pTexture_presleft;
|
|
219 extern Texture *pTexture_pressrigh;
|
|
220 extern Texture *pTexture_buttminu;
|
|
221 extern Texture *pTexture_buttplus;
|
|
222 extern unsigned int uTextureID_50792C; // weak
|
|
223 extern unsigned int uTextureID_507930; // weak
|
|
224 extern unsigned int uTextureID_507934; // weak
|
|
225 extern unsigned int uTextureID_507938; // weak
|
|
226 extern unsigned int uTextureID_50793C; // weak
|
|
227 extern unsigned int uTextureID_507940; // weak
|
|
228 extern unsigned int uTextureID_507944; // weak
|
|
229
|
|
230
|
|
231 extern unsigned int uTextureID_ib_td5_A;
|
|
232 extern unsigned int uTextureID_ib_td2_A; // weak
|
|
233 extern unsigned int uTextureID_ib_td1_A;
|
|
234 extern int uTextureID_507958; // weak
|
|
235 extern int uTextureID_50795C; // weak
|
|
236
|
|
237
|
|
238 extern unsigned int uTextureID_507970;
|
|
239
|
|
240
|
|
241 extern unsigned int uTextureID_507978;
|
|
242 extern unsigned int uTextureID_50797C;
|
|
243 extern unsigned int uTextureID_507980;
|
|
244 extern unsigned int uTextureID_507984;
|
|
245 extern unsigned int uTextureID_FONTPAL;
|
|
246 extern unsigned int uTextureID_50798C;
|
|
247 extern unsigned int uTextureID_507990;
|
|
248 extern unsigned int pTextureIDs_pMapDirs[8];
|
|
249
|
|
250
|
|
251 extern unsigned int uTextureID_BarRed;
|
|
252 extern unsigned int uTextureID_BarYellow;
|
|
253 extern unsigned int uTextureID_BarGreen;
|
|
254 extern unsigned int uTextureID_BarBlue;
|
|
255
|
|
256
|
|
257 extern unsigned int uTextureID_right_panel; // weak
|
|
258
|
|
259
|
|
260 extern RGBTexture *pTexture_StatusBar;
|
|
261 extern RGBTexture *pTexture_LeftFrame;
|
|
262 extern RGBTexture *pTexture_TopFrame;
|
|
263 extern RGBTexture *pTexture_BottomFrame;
|
|
264 extern RGBTexture *pTexture_RightFrame;
|
|
265
|
|
266
|
|
267 extern unsigned int uTextureID_507B04; // weak
|
|
268
|
|
269
|
|
270 extern Texture *pTexture_Leather;
|
|
271 extern Texture *pTexture_RestUI_CurrentSkyFrame; // idb
|
|
272 extern Texture *pTexture_RestUI_CurrentHourglassFrame; // idb
|
|
273
|
|
274
|
|
275 extern unsigned int uTextureID_507BF4; // weak
|
|
276 extern unsigned int uTextureID_507BF8; // weak
|
|
277 extern unsigned int uTextureID_507BFC; // weak
|
|
278 extern unsigned int uTextureID_507C00; // weak
|
|
279 extern unsigned int uTextureID_507C04; // weak
|
|
280
|
|
281
|
|
282 extern unsigned int uTextureID_507C10; // weak
|
|
283 extern unsigned int uTextureID_507C14; // weak
|
|
284 extern unsigned int uTextureID_507C18; // weak
|
|
285 extern unsigned int uTextureID_507C1C; // weak
|
|
286 extern unsigned int uTextureID_507C20; // weak
|
|
287 extern unsigned int uTextureID_507C24; // weak
|
|
288 extern unsigned int pTextureIDs_GammaPositions[10];
|
|
289 extern unsigned int uTextureID_507C50; // weak
|
|
290 extern unsigned int uTextureID_507C54; // weak
|
|
291 extern unsigned int uTextureID_507C58; // weak
|
|
292 extern unsigned int uTextureID_507C60; // weak
|
|
293 extern unsigned int uTextureID_507C64[]; // weak
|
|
294 extern unsigned int uTextureID_507C68; // weak
|
|
295 extern unsigned int uTextureID_507C6C; // weak
|
|
296 extern unsigned int uTextureID_507C70; // weak
|
|
297 extern unsigned int uTextureID_507C74; // weak
|
|
298 extern unsigned int uTextureID_507C84; // weak
|
|
299 extern unsigned int pTextureIDs_SoundLevels[10];
|
|
300 extern unsigned int uTextureID_507CB0; // weak
|
|
301 extern unsigned int uTextureID_507CB4; // weak
|
|
302 extern unsigned int uTextureID_507CB8; // weak
|
|
303
|
|
304
|
|
305 extern unsigned int uTextureID_5118C8; // weak
|
|
306 extern unsigned int uTextureID_MAGNIF_B; // weak
|
|
307 extern unsigned int uTextureID_BACKDOLL; // weak
|
|
308 extern unsigned int uTextureID_BACKHAND; // weak
|
|
309
|
|
310
|
|
311 extern Texture pTex_F7CE30;
|
|
312
|
|
313
|
|
314 extern RGBTexture stru_5773C4; // idb
|
|
315
|
|
316
|
|
317
|
|
318
|
|
319
|
|
320
|
|
321
|
|
322
|
|
323
|
|
324
|
|
325
|
|
326 struct stru355
|
|
327 {
|
|
328 int field_0;
|
|
329 int field_4;
|
|
330 int field_8;
|
|
331 int field_C;
|
|
332 int field_10;
|
|
333 int field_14;
|
|
334 int field_18;
|
|
335 int field_1C;
|
|
336 };
|
|
337
|
|
338 /* 390 */
|
|
339 #pragma pack(push, 1)
|
|
340 struct stru350
|
|
341 {
|
|
342 stru350 *_450DDE();
|
|
343 bool _450DF1(const stru355 *p1, const stru355 *p2);
|
|
344 unsigned int _450F55(int a2);
|
|
345 int _450FB1(int a2);
|
|
346 int sub_451007_scale_image_bicubic(unsigned short *pSrc, int srcWidth, int srcHeight, int srcPitch,
|
|
347 unsigned short *pDst, int dstWidth, int dstHeight, int dstPitch,
|
|
348 int a9, int a10);
|
|
349
|
|
350 stru355 field_0;
|
|
351 stru355 field_20;
|
|
352 int field_40;
|
|
353 int field_44;
|
|
354 int field_48;
|
|
355 int field_4C;
|
|
356 int field_50;
|
|
357 int field_54;
|
|
358 int field_58;
|
|
359 int field_5C;
|
|
360 };
|
|
361 #pragma pack(pop)
|