Mercurial > might-and-magic-trilogy
view Texture.h @ 21:3fa5d0522f92
Both Bink 1.5.21.0 & 3.0.0.0 support added
author | Nomad |
---|---|
date | Sat, 13 Oct 2012 20:17:56 +0200 |
parents | 2ca04ccb612a |
children | 484492a6dd28 |
line wrap: on
line source
#pragma once #include <stdio.h> /* 194 */ #pragma pack(push, 1) struct RGBTexture { RGBTexture(); void Release(); int _40E55E(const char *Filename, unsigned int a3); unsigned int LoadFromFILE(FILE *pFile, unsigned int mode, unsigned int bCloseFile); int DecodePCX(char *pPcx, unsigned __int16 *pOutPixels, unsigned int uNumPixels); int Load(const char *pContainer, int mode); int Reload(const char *pContainer); char pName[16]; unsigned int uNumPixels; unsigned __int16 uWidth; unsigned __int16 uHeight; __int16 field_18; __int16 field_1A; __int16 field_1C; __int16 field_1E; __int16 field_20; __int16 field_22; unsigned __int16 *pPixels; }; #pragma pack(pop) #pragma pack(push, 1) struct Texture { Texture(); void Release(); void *UnzipPalette(); char pName[16]; unsigned int uSizeOfMaxLevelOfDetail; unsigned int uTextureSize; unsigned __int16 uTextureWidth; unsigned __int16 uTextureHeight; __int16 uWidthLn2; __int16 uHeightLn2; __int16 uWidthMinus1; __int16 uHeightMinus1; short palette_id1; short palette_id2; unsigned int uDecompressedSize; int pBits; unsigned __int8 *pLevelOfDetail0; unsigned __int8 *pLevelOfDetail1; unsigned __int8 *pLevelOfDetail2; unsigned __int8 *pLevelOfDetail3; unsigned __int16 *pPalette16; unsigned __int8 *pPalette24; }; #pragma pack(pop) /* 323 */ enum TEXTURE_FRAME_TABLE_FLAGS { TEXTURE_FRAME_TABLE_MORE_FRAMES = 0x1, TEXTURE_FRAME_TABLE_FIRST = 0x2, }; /* 41 */ #pragma pack(push, 1) struct TextureFrame { char pTextureName[12]; __int16 uTextureID; __int16 uAnimTime; __int16 uAnimLength; __int16 uFlags; }; #pragma pack(pop) /* 40 */ #pragma pack(push, 1) struct TextureFrameTable { //----- (0044D4C9) -------------------------------------------------------- inline TextureFrameTable() { pTextures = 0; uNumTextures = 0; } int FromFileTxt(const char *Args); void ToFile(); void FromFile(void *pSerialized); unsigned int LoadAnimationSequenceAndPalettes(unsigned int uIconID); unsigned int GetFrameTexture(int uFrameID, signed int a3); unsigned int FindTextureByName(const char *Str2); unsigned int uNumTextures; struct TextureFrame *pTextures; }; #pragma pack(pop) extern struct TextureFrameTable *pTextureFrameTable; extern Texture *pTexture_LloydBeacons[2]; extern Texture *pTexture_50635C; extern Texture *pTexture_506368; extern Texture *pTexture_50636C; extern Texture *pTexture_506370; extern Texture *pTexture_506374; extern Texture *pTexture_506378; extern Texture *pTexture_50637C; extern Texture *pTexture_506380; extern Texture *pTexture_506384; extern Texture *pTexture_506388; extern Texture *pTexture_50638C; extern Texture *pTexture_506390; extern Texture *pTexture_506394; extern Texture *pTex_tab_an_7a__zoot_off; extern Texture *pTex_tab_an_6a__zoom_off; extern Texture *pTex_tab_an_7b__zoot_on; extern Texture *pTex_tab_an_6b__zoom_on; extern Texture *pTexture_TownPortalHarmn; extern Texture *pTexture_TownPortalElf; extern Texture *pTexture_TownPortalWarlock; extern Texture *pTexture_TownPortalIsland; extern Texture *pTexture_TownPortalHeaven; extern Texture *pTexture_TownPortalHell; extern Texture *dword_5063D8[]; extern Texture *dword_506404[]; extern Texture *dword_506434[]; extern Texture *pTexture_50643C; // idb extern Texture *ptr_506440; extern Texture *pTexture_506444; extern Texture *pTexture_506448; // idb extern Texture pTextures_tabs[8][2]; extern Texture *pTexture_mapbordr; // idb extern Texture *pTexture_pagemask; // idb extern Texture *pTextures_5064A0[14]; extern Texture *pTexture_AutonotesBook; extern Texture *pTexture_CurrentBook; extern Texture *pTex_moon_new; extern Texture *pTex_moon_4; extern Texture *pTex_moon_2; extern Texture *pTex_moon_2_2; extern Texture *pTex_moon_ful; extern RGBTexture stru_506E40; // weak extern RGBTexture stru_506F20; extern int uTextureID_RestUI_restb4; // weak extern int uTextureID_RestUI_restexit; // weak extern int uTextureID_RestUI_restb3; // weak extern int uTextureID_RestUI_restb1; // weak extern int uTextureID_RestUI_restb2; // weak extern int uTextureID_RestUI_restmain; // weak extern unsigned int uTextureID_Leather; extern int uTextureID_ar_dn_dn; // weak extern int uTextureID_ar_dn_up; // weak extern int uTextureID_ar_up_dn; // weak extern int uTextureID_ar_up_up; // weak extern int uTextureID_507698; // weak extern int uTextureID_50769C; // weak extern int uTextureID_5076A0; // weak extern int uTextureID_5076A4; // weak extern int uTextureID_5076A8; // weak extern int uTextureID_5076AC; // weak extern int uTextureID_5076B0; // weak extern int uTextureID_5076B4; // weak extern int uTextureID_Parchment; // weak extern unsigned int uTextureID_mhp_yel; extern unsigned int uTextureID_mhp_red; extern unsigned int uTextureID_mhp_grn; extern unsigned int uTextureID_mhp_capr; extern unsigned int uTextureID_mhp_capl; extern unsigned int uTextureID_mhp_bd; extern unsigned int uTextureID_BUTTDESC2; extern unsigned int uTextureID_x_x_u; extern unsigned int uTextureID_BUTTMAKE2; extern unsigned int uTextureID_BUTTMAKE; extern unsigned int uTextureID_BUTTYES2; extern unsigned int uTextureID_x_ok_u; extern Texture *pPlayerPortraits[22]; extern Texture *pTexture_IC_KNIGHT; extern Texture *pTexture_IC_THIEF; extern Texture *pTexture_IC_MONK; extern Texture *pTexture_IC_PALAD; extern Texture *pTexture_IC_ARCH; extern Texture *pTexture_IC_RANGER; extern Texture *pTexture_IC_CLER; extern Texture *pTexture_IC_DRUID; extern Texture *pTexture_IC_SORC; extern Texture *pTexture_MAKESKY; extern Texture *pTexture_MAKETOP; extern Texture *pTextures_arrowr[20]; extern Texture *pTextures_arrowl[20]; extern Texture *pTexture_presleft; extern Texture *pTexture_pressrigh; extern Texture *pTexture_buttminu; extern Texture *pTexture_buttplus; extern unsigned int uTextureID_50792C; // weak extern unsigned int uTextureID_507930; // weak extern unsigned int uTextureID_507934; // weak extern unsigned int uTextureID_507938; // weak extern unsigned int uTextureID_50793C; // weak extern unsigned int uTextureID_507940; // weak extern unsigned int uTextureID_507944; // weak extern unsigned int uTextureID_ib_td5_A; extern unsigned int uTextureID_ib_td2_A; // weak extern unsigned int uTextureID_ib_td1_A; extern int uTextureID_507958; // weak extern int uTextureID_50795C; // weak extern unsigned int uTextureID_507970; extern unsigned int uTextureID_507978; extern unsigned int uTextureID_50797C; extern unsigned int uTextureID_507980; extern unsigned int uTextureID_507984; extern unsigned int uTextureID_FONTPAL; extern unsigned int uTextureID_50798C; extern unsigned int uTextureID_507990; extern unsigned int pTextureIDs_pMapDirs[8]; extern unsigned int uTextureID_BarRed; extern unsigned int uTextureID_BarYellow; extern unsigned int uTextureID_BarGreen; extern unsigned int uTextureID_BarBlue; extern unsigned int uTextureID_right_panel; // weak extern RGBTexture *pTexture_StatusBar; extern RGBTexture *pTexture_LeftFrame; extern RGBTexture *pTexture_TopFrame; extern RGBTexture *pTexture_BottomFrame; extern RGBTexture *pTexture_RightFrame; extern unsigned int uTextureID_507B04; // weak extern Texture *pTexture_Leather; extern Texture *pTexture_RestUI_CurrentSkyFrame; // idb extern Texture *pTexture_RestUI_CurrentHourglassFrame; // idb extern unsigned int uTextureID_507BF4; // weak extern unsigned int uTextureID_507BF8; // weak extern unsigned int uTextureID_507BFC; // weak extern unsigned int uTextureID_507C00; // weak extern unsigned int uTextureID_507C04; // weak extern unsigned int uTextureID_507C10; // weak extern unsigned int uTextureID_507C14; // weak extern unsigned int uTextureID_507C18; // weak extern unsigned int uTextureID_507C1C; // weak extern unsigned int uTextureID_507C20; // weak extern unsigned int uTextureID_507C24; // weak extern unsigned int pTextureIDs_GammaPositions[10]; extern unsigned int uTextureID_507C50; // weak extern unsigned int uTextureID_507C54; // weak extern unsigned int uTextureID_507C58; // weak extern unsigned int uTextureID_507C60; // weak extern unsigned int uTextureID_507C64[]; // weak extern unsigned int uTextureID_507C68; // weak extern unsigned int uTextureID_507C6C; // weak extern unsigned int uTextureID_507C70; // weak extern unsigned int uTextureID_507C74; // weak extern unsigned int uTextureID_507C84; // weak extern unsigned int pTextureIDs_SoundLevels[10]; extern unsigned int uTextureID_507CB0; // weak extern unsigned int uTextureID_507CB4; // weak extern unsigned int uTextureID_507CB8; // weak extern unsigned int uTextureID_5118C8; // weak extern unsigned int uTextureID_MAGNIF_B; // weak extern unsigned int uTextureID_BACKDOLL; // weak extern unsigned int uTextureID_BACKHAND; // weak extern Texture pTex_F7CE30; extern RGBTexture stru_5773C4; // idb struct stru355 { int field_0; int field_4; int field_8; int field_C; int field_10; int field_14; int field_18; int field_1C; }; /* 390 */ #pragma pack(push, 1) struct stru350 { stru350 *_450DDE(); bool _450DF1(const stru355 *p1, const stru355 *p2); unsigned int _450F55(int a2); int _450FB1(int a2); int sub_451007_scale_image_bicubic(unsigned short *pSrc, int srcWidth, int srcHeight, int srcPitch, unsigned short *pDst, int dstWidth, int dstHeight, int dstPitch, int a9, int a10); stru355 field_0; stru355 field_20; int field_40; int field_44; int field_48; int field_4C; int field_50; int field_54; int field_58; int field_5C; }; #pragma pack(pop)