diff DecorationList.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children 5bea494a2365
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DecorationList.h	Sat Jan 12 09:45:18 2013 +0600
@@ -0,0 +1,65 @@
+#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;
\ No newline at end of file