view Sprites.h @ 955:21cc2b274220

m
author Ritor1
date Thu, 02 May 2013 11:02:48 +0600
parents 9824e2eeee30
children af20650a052f
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);
  void BinarySearch(int a2, int a3, 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 field_8;
  struct SpriteFrame *pSpriteSFrames;  //0c
  struct SpriteFrame **pSpritePFrames; //10h
  __int16 *pSpriteEFrames; //14h
};
#pragma pack(pop)






extern struct SpriteFrameTable *pSpriteFrameTable;