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;
|
710
|
54 unsigned __int8 *pLevelOfDetail0_prolly_alpha_mask;
|
0
|
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;
|
711
|
108 sNumTextures = 0;
|
0
|
109 }
|
|
110 int FromFileTxt(const char *Args);
|
|
111 void ToFile();
|
|
112 void FromFile(void *pSerialized);
|
711
|
113 void LoadAnimationSequenceAndPalettes(signed int uIconID);
|
0
|
114 unsigned int GetFrameTexture(int uFrameID, signed int a3);
|
|
115 unsigned int FindTextureByName(const char *Str2);
|
|
116
|
|
117
|
711
|
118 signed int sNumTextures;
|
0
|
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;
|
710
|
147 extern Texture *pTexture_TownPortalIcons[]; // [0]Harmonale, [1]Pierpont, [2]Nighon, [3]Evenmorn Island, [4]Celestia, [5]The Pit
|
948
|
148
|
0
|
149 extern Texture *dword_5063D8[];
|
73
|
150 extern Texture *dword_506408[];
|
0
|
151 extern Texture *pTexture_50643C; // idb
|
|
152 extern Texture *ptr_506440;
|
|
153 extern Texture *pTexture_506444;
|
|
154 extern Texture *pTexture_506448; // idb
|
73
|
155 extern Texture *pTextures_tabs[9][2];
|
0
|
156 extern Texture *pTexture_mapbordr; // idb
|
|
157 extern Texture *pTexture_pagemask; // idb
|
1119
|
158 extern Texture *pSpellBookPagesTextr[9];
|
688
|
159 extern Texture *pSpellBookPagesTextr_9;
|
|
160 extern Texture *pSpellBookPagesTextr_10;
|
|
161 extern Texture *pSpellBookPagesTextr_11;
|
|
162 extern Texture *pSpellBookPagesTextr_12;
|
|
163 extern Texture *pSpellBookPagesTextr_13;
|
0
|
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];
|
135
|
213 extern Texture *pTexture_IC_KNIGHT[];
|
0
|
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;
|
362
|
222 extern unsigned int uTextureID_Quit1;
|
|
223 extern unsigned int uTextureID_Resume1;
|
|
224 extern unsigned int uTextureID_Controls1;
|
|
225 extern unsigned int uTextureID_Save1;
|
|
226 extern unsigned int uTextureID_Load1;
|
|
227 extern unsigned int uTextureID_New1;
|
|
228 extern unsigned int uTextureID_Options;
|
0
|
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;
|
984
|
234 extern int uTextureID_CharacterUI_InventoryBackground; // weak
|
0
|
235 extern int uTextureID_50795C; // weak
|
|
236
|
|
237
|
319
|
238 extern unsigned int uTextureID_Btn_GameSettings;
|
0
|
239
|
|
240
|
319
|
241 extern unsigned int uTextureID_Btn_Rest;
|
|
242 extern unsigned int uTextureID_Btn_CastSpell;
|
|
243 extern unsigned int uTextureID_Btn_ZoomIn;
|
|
244 extern unsigned int uTextureID_Btn_ZoomOut;
|
0
|
245 extern unsigned int uTextureID_FONTPAL;
|
319
|
246 extern unsigned int uTextureID_Btn_NPCRight;
|
|
247 extern unsigned int uTextureID_Btn_NPCLeft;
|
0
|
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
|
910
|
267 extern unsigned int uTextureID_right_panel_loop; // weak
|
0
|
268
|
|
269
|
|
270 extern Texture *pTexture_Leather;
|
|
271 extern Texture *pTexture_RestUI_CurrentSkyFrame; // idb
|
|
272 extern Texture *pTexture_RestUI_CurrentHourglassFrame; // idb
|
|
273
|
|
274
|
369
|
275 extern unsigned int uTextureID_Optkb[5];
|
0
|
276
|
|
277 extern unsigned int uTextureID_507C10; // weak
|
|
278 extern unsigned int uTextureID_507C14; // weak
|
|
279 extern unsigned int uTextureID_507C18; // weak
|
|
280 extern unsigned int uTextureID_507C1C; // weak
|
|
281 extern unsigned int uTextureID_507C20; // weak
|
|
282 extern unsigned int uTextureID_507C24; // weak
|
|
283 extern unsigned int pTextureIDs_GammaPositions[10];
|
|
284 extern unsigned int uTextureID_507C50; // weak
|
|
285 extern unsigned int uTextureID_507C54; // weak
|
|
286 extern unsigned int uTextureID_507C58; // weak
|
948
|
287
|
|
288
|
|
289 struct OptionsMenuSkin
|
|
290 {
|
|
291 OptionsMenuSkin();
|
|
292 void Relaease();
|
|
293
|
|
294 unsigned int uTextureID_Background; // 507C60
|
|
295 unsigned int uTextureID_TurnSpeed[3]; // 507C64
|
|
296 unsigned int uTextureID_ArrowLeft; // 507C70
|
|
297 unsigned int uTextureID_ArrowRight; // 507C74
|
|
298 unsigned int uTextureID_unused_0; // 507C78
|
|
299 unsigned int uTextureID_unused_1; // 507C7C
|
|
300 unsigned int uTextureID_unused_2; // 507C80
|
|
301 unsigned int uTextureID_FlipOnExit; // 507C84
|
|
302 unsigned int uTextureID_SoundLevels[10]; // 507C88
|
|
303 unsigned int uTextureID_AlwaysRun; // 507CB0
|
|
304 unsigned int uTextureID_WalkSound; // 507CB4
|
|
305 unsigned int uTextureID_ShowDamage; // 507CB8
|
|
306 };
|
|
307 extern OptionsMenuSkin options_menu_skin; // 507C60
|
0
|
308
|
|
309
|
910
|
310 extern unsigned int uTextureID_detaliz_close_button; // weak
|
0
|
311 extern unsigned int uTextureID_MAGNIF_B; // weak
|
|
312 extern unsigned int uTextureID_BACKDOLL; // weak
|
|
313 extern unsigned int uTextureID_BACKHAND; // weak
|
|
314
|
|
315
|
|
316 extern Texture pTex_F7CE30;
|
|
317
|
|
318
|
|
319 extern RGBTexture stru_5773C4; // idb
|
|
320
|
|
321
|
|
322
|
|
323
|
|
324
|
|
325
|
|
326
|
|
327
|
|
328
|
|
329
|
|
330
|
|
331 struct stru355
|
|
332 {
|
|
333 int field_0;
|
|
334 int field_4;
|
|
335 int field_8;
|
|
336 int field_C;
|
|
337 int field_10;
|
|
338 int field_14;
|
|
339 int field_18;
|
|
340 int field_1C;
|
|
341 };
|
|
342
|
|
343 /* 390 */
|
|
344 #pragma pack(push, 1)
|
|
345 struct stru350
|
|
346 {
|
|
347 stru350 *_450DDE();
|
|
348 bool _450DF1(const stru355 *p1, const stru355 *p2);
|
|
349 unsigned int _450F55(int a2);
|
|
350 int _450FB1(int a2);
|
|
351 int sub_451007_scale_image_bicubic(unsigned short *pSrc, int srcWidth, int srcHeight, int srcPitch,
|
|
352 unsigned short *pDst, int dstWidth, int dstHeight, int dstPitch,
|
|
353 int a9, int a10);
|
|
354
|
|
355 stru355 field_0;
|
|
356 stru355 field_20;
|
|
357 int field_40;
|
|
358 int field_44;
|
|
359 int field_48;
|
|
360 int field_4C;
|
|
361 int field_50;
|
|
362 int field_54;
|
|
363 int field_58;
|
|
364 int field_5C;
|
|
365 };
|
|
366 #pragma pack(pop)
|