22#ifndef NANCY_COMMONYPES_H
23#define NANCY_COMMONYPES_H
25#include "common/rect.h"
26#include "common/array.h"
27#include "common/language.h"
28#include "common/path.h"
29#include "common/str.h"
30#include "math/vector3d.h"
33class SeekableReadStream;
48static const int8 kFlagNoLabel = -1;
49static const int8 kEvNoEvent = -1;
50static const int8 kFrNoFrame = -1;
51static const uint16 kNoScene = 9999;
52static const uint16 kNoSceneNancy17 = 0x7fff;
58static const uint kMaxPlayerCharacters = 3;
59static const uint kPlayerCharacterFrank = 1;
60static const uint kPlayerCharacterJoe = 2;
64static const byte kPlayerCharacterActive = 9;
75static const byte kInvItemUseThenLose = 0;
76static const byte kInvItemKeepAlways = 1;
77static const byte kInvItemReturn = 2;
78static const byte kInvItemNewSceneView = 3;
82static const uint16 kInvItemGroupAll = 100;
83static const uint16 kInvItemGroupViewable = 101;
84static const uint16 kInvItemGroupPortable = 102;
87static const byte kInvSoundOverrideCommandNoSound = 0;
88static const byte kInvSoundOverrideCommandTurnOff = 1;
89static const byte kInvSoundOverrideCommandNewSound = 2;
90static const byte kInvSoundOverrideCommandICant = 3;
93static const byte kFlagEvent = 1;
94static const byte kFlagInventory = 2;
95static const byte kFlagCursor = 3;
98static const byte kPanNone = 0;
99static const byte kPan360 = 1;
100static const byte kPanLeftRight = 2;
103static const byte kContinueSceneSound = 1;
104static const byte kLoadSceneSound = 0;
107static const uint16 kInvertedNode = 77;
108static const uint16 kNoAutoScroll = 333;
111static const byte kAbsoluteClockBump = 1;
112static const byte kRelativeClockBump = 2;
115static const byte kPlayerDay = 0;
116static const byte kPlayerNight = 1;
117static const byte kPlayerDuskDawn = 2;
120static const byte kSmallVideoFormat = 1;
121static const byte kLargeVideoFormat = 2;
124static const byte kVideoPlaytypeAVF = 0;
125static const byte kVideoPlaytypeBink = 1;
126static const byte kVideoPlaytypeAuto = 2;
131static const byte kPlayOverlayPlain = 1;
132static const byte kPlayOverlayTransparent = 2;
133static const byte kPlayOverlayTransparent2 = 3;
135static const byte kPlayOverlaySceneChange = 1;
136static const byte kPlayOverlayNoSceneChange = 2;
138static const byte kPlayOverlayStatic = 1;
139static const byte kPlayOverlayAnimated = 2;
141static const byte kPlayOverlayOnce = 1;
142static const byte kPlayOverlayLoop = 2;
144static const byte kPlayOverlayForward = 1;
145static const byte kPlayOverlayReverse = 2;
147static const byte kPlayOverlayWithHotspot = 1;
148static const byte kPlayOverlayNoHotspot = 2;
151static const byte kNoChangeTableValue = 0;
152static const byte kIncrementTableValue = 1;
153static const byte kDecrementTableValue = 2;
154static const uint16 kNoTableIndex = 99;
155static const int16 kNoTableValue = 9999;
156static const int16 kTimerDurationIndexBase = 5000;
159static const uint16 kListLIFO = 0;
160static const uint16 kListFIFO = 1;
163static const byte kRotateAroundX = 0;
164static const byte kRotateAroundY = 1;
165static const byte kRotateAroundZ = 2;
167enum MovementDirection :
byte { kUp = 1, kDown = 2, kLeft = 4, kRight = 8, kMoveFast = 16 };
170namespace NancyState {
173 kBoot, kLogo, kCredits, kMap,
174 kMainMenu, kLoadSave, kSetup,
175 kHelp, kScene, kSaveDialog,
187 uint16 sceneID = kNoScene;
189 uint16 verticalOffset = 0;
190 uint16 continueSceneSound = kLoadSceneSound;
194 Math::Vector3d listenerFrontVector = Math::Vector3d(0, 0, 1);
195 uint16 frontVectorFrameID = 0;
225 uint16 staticRectID = 0;
226 uint hasHotspot = kPlayOverlayNoHotspot;
254 int16 eventFlag = -1;
259 int16 frameID = kFrNoFrame;
270 uint32 minTimeDelay = 500;
271 uint32 maxTimeDelay = 2000;
273 int32 randomMoveMinX = 0;
274 int32 randomMoveMaxX = 0;
275 int32 randomMoveMinY = 0;
276 int32 randomMoveMaxY = 0;
277 int32 randomMoveMinZ = 0;
278 int32 randomMoveMaxZ = 0;
284 uint32 moveStepTime = 1000;
285 int32 numMoveSteps = 10;
287 int32 linearMoveStartX = 0;
288 int32 linearMoveEndX = 0;
289 int32 linearMoveStartY = 0;
290 int32 linearMoveEndY = 0;
291 int32 linearMoveStartZ = 0;
292 int32 linearMoveEndZ = 0;
294 int32 rotateMoveStartX = 0;
295 int32 rotateMoveStartY = 0;
296 int32 rotateMoveStartZ = 0;
297 byte rotateMoveAxis = kRotateAroundY;
299 uint32 minDistance = 0;
300 uint32 maxDistance = 0;
308 uint16 channelID = 0;
309 uint16 playCommands = 1;
312 uint16 panAnchorFrame = 0;
313 uint32 samplesPerSec = 0;
314 bool isPanning =
false;
341enum class StaticDataConditionType { kEvent = 0, kInventory = 1, kDifficulty = 2 };
380 byte numSceneSpecificChannels;
390 uint16 numItems = 11;
391 uint16 numEventFlags = 168;
394 uint16 numCursorTypes = 4;
395 uint32 logoEndAfter = 7000;
396 int16 wonGameFlagID = -1;
424 kUIButtonPressed = 2,
425 kUIButtonDisabled = 3
430 static const uint kRecordSize = 239;
437 uint32 destUsesGameFrameOffset = 0;
438 uint32 hoverEnableFlag = 0;
439 uint32 hoverCursorFlag = 0;
440 uint32 secondaryStateField = 0;
441 uint32 initialState = 0;
442 uint32 pressedDuration = 0;
449 static const uint kRecordSize = 247;
457 static const uint kRecordSize = 198;
464 uint32 destUsesGameFrameOffset = 0;
466 uint32 isDraggable = 0;
468 uint32 orientation = 0;
469 uint32 positionHint = 0;
470 uint32 secondaryStateField = 0;
471 uint32 initialState = 0;
478 uint32 unknownHeaderField = 0;
479 int16 linkbackScene = 9999;
484 uint32 overlayInGameFrame = 0;
487 uint32 secondaryButtonEnabled = 0;
489 uint32 sliderEnabled = 0;
Language
Definition: language.h:45
Definition: algorithm.h:29
Definition: actionmanager.h:32
Definition: commontypes.h:344
Definition: commontypes.h:201
Definition: commontypes.h:223
Definition: commontypes.h:361
Definition: commontypes.h:353
Definition: commontypes.h:368
Definition: commontypes.h:215
Definition: commontypes.h:235
Definition: commontypes.h:324
Definition: commontypes.h:186
Definition: commontypes.h:206
Definition: commontypes.h:249
Definition: commontypes.h:258
Definition: commontypes.h:378
Definition: commontypes.h:306
Definition: commontypes.h:269
Definition: commontypes.h:342
Definition: commontypes.h:388
Definition: commontypes.h:456