view Chest.h @ 145:dac041fc74e8

19.11.12
author Ritor1
date Mon, 19 Nov 2012 09:41:10 +0600
parents 8b8875f5b359
children
line wrap: on
line source

#pragma once
#include "Items.h"




/*  348 */
enum CHEST_FLAGS
{
  CHEST_TRAPPED = 0x1,
  CHEST_ITEMS_PLACED = 0x2,
  CHEST_OPENED = 0x4,
};



#pragma pack(push, 1)
struct ChestDesc
{
  char pName[32];
  char uWidth;
  char uHeight;
  __int16 uTextureID;
};
#pragma pack(pop)



#pragma pack(push, 1)
struct ChestList
{
  inline ChestList():  //----- (00458438)
    uNumChests(0), pChests(nullptr)
  {}

  void ToFile();
  void FromFile(void *pSerialized);
  int FromFileTxt(const char *Args);


  unsigned int uNumChests;
  struct ChestDesc *pChests;
};
#pragma pack(pop)



/*   65 */
#pragma pack(push, 1)
struct Chest
{
  static int CanPlaceItemAt(signed int a1, int a2, unsigned int uChestID);
  static int _41FF64(unsigned int uChestID);
  static int _41FFA2(int a1, ItemGen *a2, unsigned int uChestID);
  static unsigned int PlaceItemAt(unsigned int a1, unsigned int uItemIdx, unsigned int uChestID);
  static char *_420284(unsigned int uChestID);
  static bool Open(unsigned int uChestID);
  static void DrawChestUI(unsigned int uChestID);
  static void ToggleFlag(unsigned int uChestID, unsigned __int16 uFlag, unsigned int bToggle);

  unsigned __int16 uChestBitmapID;
  unsigned __int16 uFlags;
  struct ItemGen mm7__vector_pItems[140];
  __int16 pInventoryIndices[140];
};
#pragma pack(pop)




extern size_t uNumChests; // idb
extern struct ChestList *pChestList;
extern Chest pChests[20];