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 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)
|