22 #ifndef DRAGONS_INVENTORY_H 23 #define DRAGONS_INVENTORY_H 29 class BackgroundResourceLoader;
32 class DragonINIResource;
34 #define DRAGONS_MAX_INVENTORY_ITEMS 0x29 36 #define ACTOR_INVENTORY_OFFSET 0x17 46 InventoryState _previousState;
50 int16 _screenPositionIndex;
52 InventoryState _state;
55 void (*_inventionBookPrevSceneUpdateFunc)();
56 uint16 _inventionBookPrevSceneId;
57 uint16 _inventionBookPrevFlickerINISceneId;
60 uint16 _inventoryItemTbl[DRAGONS_MAX_INVENTORY_ITEMS];
66 void loadScene(uint32 sceneId);
67 bool isActorSet() {
return true; }
69 int32 getSequenceId() {
72 void setActorSequenceId(int32 sequenceId);
73 void updateActorSequenceId(int32 sequenceId);
74 void resetSequenceId();
76 InventoryState getState() {
return _state; }
77 void setState(InventoryState newState) { _state = newState; }
78 void setPreviousState();
80 int16 getPositionIndex() {
return _screenPositionIndex; }
84 return _state != Closed;
87 void close() { _state = Closed; }
89 void updateVisibility();
90 void setActorFlag400();
91 void clearActorFlag400();
92 void setPriority(uint16 priority);
95 void closeInventory();
98 uint16 getIniAtPosition(int16 x, int16 y);
99 void loadInventoryItemsFromSave();
101 void openInventionBook();
102 void closeInventionBook();
104 bool addItem(uint16 iniId);
105 bool addItemIfPositionIsEmpty(uint16 iniId, uint16 x, uint16 y);
106 void replaceItem(uint16 existingIniId, uint16 newIniId);
107 bool clearItem(uint16 iniId);
108 bool hasItem(uint16 iniId);
110 Actor *getInventoryItemActor(uint16 iniId);
111 void inventoryMissing();
114 void setPositionFromSceneId(uint32 sceneId);
116 void animateBagOut();
121 #endif //DRAGONS_INVENTORY_H Definition: background.h:36
Definition: dragonini.h:63
Definition: inventory.h:44
Definition: dragons.h:166