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[];
|
73
|
154 extern Texture *dword_506408[];
|
0
|
155 extern Texture *pTexture_50643C; // idb
|
|
156 extern Texture *ptr_506440;
|
|
157 extern Texture *pTexture_506444;
|
|
158 extern Texture *pTexture_506448; // idb
|
73
|
159 extern Texture *pTextures_tabs[9][2];
|
0
|
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 pTexture_PCX;
|
|
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];
|
135
|
212 extern Texture *pTexture_IC_KNIGHT[];
|
0
|
213 extern Texture *pTexture_MAKESKY;
|
|
214 extern Texture *pTexture_MAKETOP;
|
|
215 extern Texture *pTextures_arrowr[20];
|
|
216 extern Texture *pTextures_arrowl[20];
|
|
217 extern Texture *pTexture_presleft;
|
|
218 extern Texture *pTexture_pressrigh;
|
|
219 extern Texture *pTexture_buttminu;
|
|
220 extern Texture *pTexture_buttplus;
|
362
|
221 extern unsigned int uTextureID_Quit1;
|
|
222 extern unsigned int uTextureID_Resume1;
|
|
223 extern unsigned int uTextureID_Controls1;
|
|
224 extern unsigned int uTextureID_Save1;
|
|
225 extern unsigned int uTextureID_Load1;
|
|
226 extern unsigned int uTextureID_New1;
|
|
227 extern unsigned int uTextureID_Options;
|
0
|
228
|
|
229
|
|
230 extern unsigned int uTextureID_ib_td5_A;
|
|
231 extern unsigned int uTextureID_ib_td2_A; // weak
|
|
232 extern unsigned int uTextureID_ib_td1_A;
|
|
233 extern int uTextureID_507958; // weak
|
|
234 extern int uTextureID_50795C; // weak
|
|
235
|
|
236
|
319
|
237 extern unsigned int uTextureID_Btn_GameSettings;
|
0
|
238
|
|
239
|
319
|
240 extern unsigned int uTextureID_Btn_Rest;
|
|
241 extern unsigned int uTextureID_Btn_CastSpell;
|
|
242 extern unsigned int uTextureID_Btn_ZoomIn;
|
|
243 extern unsigned int uTextureID_Btn_ZoomOut;
|
0
|
244 extern unsigned int uTextureID_FONTPAL;
|
319
|
245 extern unsigned int uTextureID_Btn_NPCRight;
|
|
246 extern unsigned int uTextureID_Btn_NPCLeft;
|
0
|
247 extern unsigned int pTextureIDs_pMapDirs[8];
|
|
248
|
|
249
|
|
250 extern unsigned int uTextureID_BarRed;
|
|
251 extern unsigned int uTextureID_BarYellow;
|
|
252 extern unsigned int uTextureID_BarGreen;
|
|
253 extern unsigned int uTextureID_BarBlue;
|
|
254
|
|
255
|
|
256 extern unsigned int uTextureID_right_panel; // weak
|
|
257
|
|
258
|
|
259 extern RGBTexture *pTexture_StatusBar;
|
|
260 extern RGBTexture *pTexture_LeftFrame;
|
|
261 extern RGBTexture *pTexture_TopFrame;
|
|
262 extern RGBTexture *pTexture_BottomFrame;
|
|
263 extern RGBTexture *pTexture_RightFrame;
|
|
264
|
|
265
|
|
266 extern unsigned int uTextureID_507B04; // weak
|
|
267
|
|
268
|
|
269 extern Texture *pTexture_Leather;
|
|
270 extern Texture *pTexture_RestUI_CurrentSkyFrame; // idb
|
|
271 extern Texture *pTexture_RestUI_CurrentHourglassFrame; // idb
|
|
272
|
|
273
|
362
|
274 extern unsigned int uTextureID_Optkb; // weak
|
|
275 extern unsigned int uTextureID_Optkb_h; // weak
|
|
276 extern unsigned int uTextureID_KeyResume1; // weak
|
|
277 extern unsigned int uTextureID_Optkb_1; // weak
|
|
278 extern unsigned int uTextureID_Optkb_2; // weak
|
0
|
279
|
|
280
|
|
281 extern unsigned int uTextureID_507C10; // weak
|
|
282 extern unsigned int uTextureID_507C14; // weak
|
|
283 extern unsigned int uTextureID_507C18; // weak
|
|
284 extern unsigned int uTextureID_507C1C; // weak
|
|
285 extern unsigned int uTextureID_507C20; // weak
|
|
286 extern unsigned int uTextureID_507C24; // weak
|
|
287 extern unsigned int pTextureIDs_GammaPositions[10];
|
|
288 extern unsigned int uTextureID_507C50; // weak
|
|
289 extern unsigned int uTextureID_507C54; // weak
|
|
290 extern unsigned int uTextureID_507C58; // weak
|
362
|
291 extern unsigned int uTextureID_ControlBG; // weak
|
|
292 extern unsigned int uTextureID_Con_Smoo[3]; // weak
|
|
293 extern unsigned int uTextureID_Con_ArrL; // weak
|
|
294 extern unsigned int uTextureID_Con_ArrR; // weak
|
|
295 extern unsigned int uTextureID_Option04; // weak
|
0
|
296 extern unsigned int pTextureIDs_SoundLevels[10];
|
362
|
297 extern unsigned int uTextureID_Option03; // weak
|
|
298 extern unsigned int uTextureID_Option01;
|
|
299 extern unsigned int uTextureID_Option02; // weak
|
0
|
300
|
|
301
|
|
302 extern unsigned int uTextureID_5118C8; // weak
|
|
303 extern unsigned int uTextureID_MAGNIF_B; // weak
|
|
304 extern unsigned int uTextureID_BACKDOLL; // weak
|
|
305 extern unsigned int uTextureID_BACKHAND; // weak
|
|
306
|
|
307
|
|
308 extern Texture pTex_F7CE30;
|
|
309
|
|
310
|
|
311 extern RGBTexture stru_5773C4; // idb
|
|
312
|
|
313
|
|
314
|
|
315
|
|
316
|
|
317
|
|
318
|
|
319
|
|
320
|
|
321
|
|
322
|
|
323 struct stru355
|
|
324 {
|
|
325 int field_0;
|
|
326 int field_4;
|
|
327 int field_8;
|
|
328 int field_C;
|
|
329 int field_10;
|
|
330 int field_14;
|
|
331 int field_18;
|
|
332 int field_1C;
|
|
333 };
|
|
334
|
|
335 /* 390 */
|
|
336 #pragma pack(push, 1)
|
|
337 struct stru350
|
|
338 {
|
|
339 stru350 *_450DDE();
|
|
340 bool _450DF1(const stru355 *p1, const stru355 *p2);
|
|
341 unsigned int _450F55(int a2);
|
|
342 int _450FB1(int a2);
|
|
343 int sub_451007_scale_image_bicubic(unsigned short *pSrc, int srcWidth, int srcHeight, int srcPitch,
|
|
344 unsigned short *pDst, int dstWidth, int dstHeight, int dstPitch,
|
|
345 int a9, int a10);
|
|
346
|
|
347 stru355 field_0;
|
|
348 stru355 field_20;
|
|
349 int field_40;
|
|
350 int field_44;
|
|
351 int field_48;
|
|
352 int field_4C;
|
|
353 int field_50;
|
|
354 int field_54;
|
|
355 int field_58;
|
|
356 int field_5C;
|
|
357 };
|
|
358 #pragma pack(pop)
|