22 #ifndef TWINE_SCENE_GAMESTATE_H 23 #define TWINE_SCENE_GAMESTATE_H 25 #include "common/savefile.h" 26 #include "common/scummsys.h" 27 #include "twine/menu/menu.h" 32 enum MagicballStrengthType {
34 kYellowBallStrength = 3,
35 kGreenBallStrength = 4,
46 void initGameStateVars();
71 uint8 _listFlagGame[NUM_GAME_FLAGS];
73 int16 _gameChapter = 0;
98 int16 getChapter()
const;
113 int16 _zlitosPieces = 0;
125 bool _endGameItems =
false;
133 uint8 _holomapFlags[NUM_LOCATIONS];
135 char _sceneName[30] {};
137 TextId _gameChoices[10];
138 int32 _numChoices = 0;
139 TextId _choiceAnswer = TextId::kNone;
141 inline bool inventoryDisabled()
const {
142 return hasGameFlag(GAMEFLAG_INVENTORY_DISABLED) != 0;
145 inline bool hasOpenedFunfrocksSafe()
const {
146 return hasGameFlag(30) != 0;
150 inline bool hasArrivedHamalayi()
const {
151 return hasGameFlag(90) != 0;
154 inline bool hasItem(InventoryItems item)
const {
155 return hasGameFlag(item) != 0;
158 inline void giveItem(InventoryItems item) {
159 setGameFlag(item, 1);
162 inline void removeItem(InventoryItems item) {
163 setGameFlag(item, 0);
166 void clearGameFlags();
168 uint8 hasGameFlag(uint8 index)
const;
170 void setGameFlag(uint8 index, uint8 value);
172 int16 setKeys(int16 value);
173 int16 setGas(int16 value);
174 int16 setLeafs(int16 value);
175 int16 setKashes(int16 value);
176 int16 setMagicPoints(int16 val);
177 int16 setMaxMagicPoints();
178 int16 setLeafBoxes(int16 val);
180 void handleLateGameItems();
182 void addGas(int16 value);
183 void addKeys(int16 val);
184 void addKashes(int16 val);
185 void addMagicPoints(int16 val);
186 void addLeafs(int16 val);
187 void addLeafBoxes(int16 val);
195 void doFoundObj(InventoryItems item);
201 void processGameChoices(TextId choiceIdx);
203 void processGameoverAnimation();
int16 _magicBallCount
Definition: gamestate.h:105
int16 _magicBallType
Definition: gamestate.h:103
bool _usingSabre
Definition: gamestate.h:124
int16 _inventoryNumLeafs
Definition: gamestate.h:117
int16 _magicLevelIdx
Definition: gamestate.h:107
int16 _inventoryNumKeys
Definition: gamestate.h:110
void setChapter(int16 chapter)
int16 _inventoryNumGas
Definition: gamestate.h:121
uint8 _inventoryFlags[NUM_INVENTORY_ITEMS]
Definition: gamestate.h:131
int16 _inventoryNumLeafsBox
Definition: gamestate.h:115
Definition: achievements_tables.h:27
Definition: gamestate.h:42
int16 _magicPoint
Definition: gamestate.h:119
int16 _magicBall
Definition: gamestate.h:101
int16 _goldPieces
Definition: gamestate.h:112