22 #include "common/serializer.h" 23 #include "common/array.h" 24 #include "common/hashmap.h" 26 #include "engines/nancy/commontypes.h" 27 #include "engines/nancy/enginedata.h" 29 #ifndef NANCY_PUZZLEDATA_H 30 #define NANCY_PUZZLEDATA_H 48 static constexpr uint32 getTag() {
return MKTAG(
'S',
'L',
'I',
'D'); }
52 bool playerHasTriedPuzzle;
59 static constexpr uint32 getTag() {
return MKTAG(
'R',
'I',
'P',
'L'); }
64 bool playerHasTriedPuzzle;
70 int8 pickedUpPieceID = -1;
71 byte pickedUpPieceRot = 0;
72 int pickedUpPieceLastPos = -1;
79 static constexpr uint32 getTag() {
return MKTAG(
'T',
'O',
'W',
'R'); }
83 bool playerHasTriedPuzzle;
90 static constexpr uint32 getTag() {
return MKTAG(
'R',
'I',
'D',
'L'); }
94 int8 incorrectRiddleID;
101 static constexpr uint32 getTag() {
return MKTAG(
'S',
'E',
'Q',
'L'); }
118 static constexpr uint32 getTag() {
return MKTAG(
'A',
'S',
'M',
'B'); }
126 static constexpr uint32 getTag() {
return MKTAG(
'B',
'E',
'A',
'D'); }
139 static constexpr uint32 getTag() {
return MKTAG(
'S',
'O',
'R',
'T'); }
153 static constexpr uint32 getTag() {
return MKTAG(
'M',
'M',
'A',
'Z'); }
166 static constexpr uint32 getTag() {
return MKTAG(
'G',
'M',
'A',
'P'); }
176 static constexpr uint32 getTag() {
return MKTAG(
'Q',
'U',
'I',
'Z'); }
194 uint16 sceneID = kNoScene;
197 static constexpr uint32 getTag() {
return MKTAG(
'J',
'O',
'U',
'R'); }
204 bool hasEntries(uint16 surfaceID)
const;
208 void inheritEntries(uint from, uint to);
225 static constexpr uint32 getTag() {
return MKTAG(
'T',
'A',
'B',
'L'); }
228 void setSingleValue(uint16 index, int16 value);
229 int16 getSingleValue(uint16 index)
const;
231 void setComboValue(uint16 index,
float value);
232 float getComboValue(uint16 index)
const;
236 uint getNumSingleValues()
const;
237 uint getNumComboValues()
const;
241 byte getNoIndex()
const;
242 byte getLiteralIndex()
const;
246 int16 getValue(uint16 index)
const;
247 void setValue(uint16 index, int16 value);
260 static constexpr uint32 getTag() {
return MKTAG(
'C',
'E',
'L',
'L'); }
263 bool noSignal =
false;
264 bool batteryLow =
false;
298 static constexpr uint32 getTag() {
return MKTAG(
'C',
'P',
'I',
'C'); }
316 enum Type { kOneShot = 1, kRepeating = 2 };
318 int32 type = kOneShot;
319 uint32 durationMs = 0;
320 bool hasFired =
false;
326 enum State { kIdle = 0, kRunning = 1, kPaused = 2, kOneShot = 5, kRepeating = 6 };
329 uint32 currentTimeMs = 0;
330 uint32 durationMs = 0;
331 bool hasFired =
false;
338 void reset() { *
this =
Timer(); }
346 static const uint kNumTimers = 20;
347 static const uint kNumSavedTimers = 10;
348 static const uint kNumTriggers = 20;
353 static constexpr uint32 getTag() {
return MKTAG(
'T',
'M',
'R',
'S'); }
356 Timer timers[kNumTimers];
366 static constexpr uint32 getTag() {
return MKTAG(
'U',
'R',
'E',
'S'); }
387 static const uint kNumButtons = 6;
388 static const uint kNumNotificationSubCategories = 3;
392 int16 startScene = -1;
394 uint16 clickSoundMode = 0;
400 static constexpr uint32 getTag() {
return MKTAG(
'T',
'S',
'K',
'B'); }
407 bool notifications[kNumButtons][kNumNotificationSubCategories] = {};
417 bool isValid =
false;
427 static constexpr uint32 getTag() {
return MKTAG(
'P',
'C',
'H',
'R'); }
434 uint16 characterIndex = 0;
448 static constexpr uint32 getTag() {
return MKTAG(
'W',
'F',
'N',
'D'); }
451 int16 currentWord = 0;
462 static constexpr uint32 getTag() {
return MKTAG(
'H',
'A',
'N',
'G'); }
475 static constexpr uint32 getTag() {
return MKTAG(
'D',
'C',
'D',
'R'); }
478 uint16 sceneID = kNoScene;
491 static constexpr uint32 getTag() {
return MKTAG(
'D',
'R',
'V',
'G'); }
497 double heading = 0.0;
498 int32 tireDamage = 0;
499 bool flatTire =
false;
500 double fuelBurnAccum = 0.0;
501 bool infiniteFuel =
false;
511 static constexpr uint32 getTag() {
return MKTAG(
'M',
'I',
'R',
'L'); }
524 static constexpr uint32 getTag() {
return MKTAG(
'B',
'L',
'D',
'P'); }
527 uint16 sceneID = kNoScene;
528 int16 placedCount = 0;
530 bool wrongIngredient =
false;
539 #endif // NANCY_PUZZLEDATA_H Definition: puzzledata.h:117
Definition: puzzledata.h:55
Definition: puzzledata.h:362
Definition: puzzledata.h:507
Definition: puzzledata.h:37
Definition: puzzledata.h:108
Definition: puzzledata.h:415
Definition: puzzledata.h:390
Definition: puzzledata.h:172
Definition: puzzledata.h:487
Definition: serializer.h:80
Definition: puzzledata.h:444
Definition: puzzledata.h:44
Definition: puzzledata.h:311
Definition: puzzledata.h:221
Definition: puzzledata.h:97
Definition: puzzledata.h:294
Definition: puzzledata.h:520
Definition: puzzledata.h:256
Definition: puzzledata.h:86
Definition: puzzledata.h:162
Definition: puzzledata.h:458
Definition: puzzledata.h:386
Definition: puzzledata.h:416
#define MKTAG(a0, a1, a2, a3)
Definition: endian.h:188
Definition: puzzledata.h:189
Definition: commontypes.h:296
Definition: puzzledata.h:75
Definition: puzzledata.h:325
Definition: puzzledata.h:315
Definition: puzzledata.h:135
Definition: puzzledata.h:149
Definition: puzzledata.h:122
Definition: commontypes.h:194
Definition: puzzledata.h:185
Definition: puzzledata.h:282
Definition: puzzledata.h:471
Definition: actionmanager.h:32