Mercurial > mm7
view Chest.h @ 713:1ea7dfa782cd
m
author | Ritor1 |
---|---|
date | Sat, 16 Mar 2013 09:32:56 +0600 |
parents | ec3546510fa1 |
children | d6236f6a9882 |
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 //0x14cc { inline bool Initialized() const {return uFlags & CHEST_ITEMS_PLACED;} inline void SetInitialized(bool b) {if (b) uFlags |= CHEST_ITEMS_PLACED; else uFlags &= ~CHEST_ITEMS_PLACED;} inline bool Trapped() const {return uFlags & CHEST_TRAPPED;} static bool CanPlaceItemAt(signed int a1, int a2, unsigned int uChestID); static int CountChestItems(unsigned int uChestID); static int PutItemInChest(int a1, ItemGen *a2, unsigned int uChestID); static void PlaceItemAt(unsigned int put_cell_pos, unsigned int uItemIdx, unsigned int uChestID); static void PlaceItems(unsigned int uChestID); static bool Open(signed int uChestID); static void DrawChestUI(unsigned int uChestID); static void ToggleFlag(unsigned int uChestID, unsigned __int16 uFlag, unsigned int bToggle); unsigned __int16 uChestBitmapID; //0 unsigned __int16 uFlags; //2 struct ItemGen igChestItems[140]; //4 signed __int16 pInventoryIndices[140]; //0x13b4 }; #pragma pack(pop) void __fastcall sub_420B13(int a1, int a2); extern size_t uNumChests; // idb extern struct ChestList *pChestList; extern Chest pChests[20];