view Sprites.h @ 1169:958c7372f2d4

m
author Ritor1
date Thu, 23 May 2013 17:17:01 +0600
parents af20650a052f
children db395ce89ede
line wrap: on
line source

#pragma once


/*   18 */
#pragma pack(push, 1)
struct Sprite  //28h
{
    void Release();

    const char *pName;  //0
    int uPaletteID; //4
    struct IDirectDrawSurface4 *pTextureSurface;  //8
    struct IDirect3DTexture2 *pTexture;   //ch
    int uAreaX;  //10h
    int uAreaY;  //14h
    int uBufferWidth;  //18h
    int uBufferHeight;  //1ch
    int uAreaWidth;  //20h
    int uAreaHeight; //24h
};
#pragma pack(pop)


/*   42 */
#pragma pack(push, 1)
struct SpriteFrame
{
    char pIconName[12]; 
    char pTextureName[12]; //c
    __int16 pHwSpriteIDs[8]; //18h
    int scale; //28h
    int uFlags; //2c
    __int16 uGlowRadius; //30
    __int16 uPaletteID;  //32
    __int16 uPaletteIndex;
    __int16 uAnimTime;
    __int16 uAnimLength;
    __int16 _pad;
};
#pragma pack(pop)

/*   43 */
#pragma pack(push, 1)
struct SpriteFrameTable
{
    //----- (0044D4BA) --------------------------------------------------------
    inline SpriteFrameTable()
    {
        uNumSpriteFrames = 0;
        pSpriteSFrames = nullptr;
        pSpritePFrames = nullptr;
        pSpriteEFrames = nullptr;
    }
    void ToFile();
    void FromFile(void *pSerialized);
    bool FromFileTxt(const char *Args);
    void ReleaseSFrames();
    void ResetSomeSpriteFlags();
    void InitializeSprite(signed int uSpriteID);
    signed int FastFindSprite(char *pSpriteName);
    int BinarySearch(const char *pSpriteName);
    SpriteFrame *GetFrame(unsigned int uSpriteID, unsigned int uTime);
    SpriteFrame *GetFrameBy_x(unsigned int uSpriteID, signed int a3);

    signed int uNumSpriteFrames;
    unsigned int uNumEFrames;//field_4;
    int unused_field;          //field_8
    struct SpriteFrame *pSpriteSFrames;  //0c
    struct SpriteFrame **pSpritePFrames; //10h
    __int16 *pSpriteEFrames; //14h
};
#pragma pack(pop)






extern struct SpriteFrameTable *pSpriteFrameTable;