view DecorationList.h @ 123:05b2d9653abc

15.11.12
author Ritor1
date Thu, 15 Nov 2012 16:36:30 +0600
parents 8b8875f5b359
children
line wrap: on
line source

#pragma once




/*  321 */
enum DECORATION_FLAGS
{
  DECORATION_MOVE_THROUGH = 0x1,
  DECORATION_DONT_DRAW = 0x2,
  DECORATION_FLICKER_SLOW = 0x4,
  DECORATION_FICKER_AVERAGE = 0x8,
  DECORATION_FICKER_FAST = 0x10,
  DECORATION_MARKER = 0x20,
  DECORATION_SLOW_LOOP = 0x40,
  DECORATION_EMITS_FIRE = 0x80,
  DECORATION_SOUND_ON_DAWN = 0x100,
  DECORATION_SOUND_ON_DUSK = 0x200,
  DECORATION_EMITS_SMOKE = 0x400,
};



/*   54 */
#pragma pack(push, 1)
struct DecorationDesc
{
  char pName[32];
  char field_20[32];
  __int16 uType;
  unsigned __int16 uDecorationHeight;
  __int16 uRadius;
  __int16 uLightRadius;
  unsigned __int16 uSpriteID;
  __int16 uFlags;
  __int16 uSoundID;
  __int16 _pad;
  unsigned __int8 uColoredLightRed;
  unsigned __int8 uColoredLightGreen;
  unsigned __int8 uColoredLightBlue;
  char __padding;
};
#pragma pack(pop)

/*   55 */
#pragma pack(push, 1)
struct DecorationList
{
  inline DecorationList():   //----- (00458380)
    pDecorations(nullptr), uNumDecorations(0)
  {}

  void ToFile();
  void FromFile(void *pSerialized);
  bool FromFileTxt(const char *Args);
  void InitializeDecorationSprite(unsigned int uDecID);
  unsigned __int16 GetDecorIdByName(const char *pName);

  unsigned int uNumDecorations;
  struct DecorationDesc *pDecorations;
};
#pragma pack(pop)


extern struct DecorationList *pDecorationList;