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" 33 class SeekableReadStream;
48 static const int8 kFlagNoLabel = -1;
49 static const int8 kEvNoEvent = -1;
50 static const int8 kFrNoFrame = -1;
51 static const uint16 kNoScene = 9999;
62 static const byte kInvItemUseThenLose = 0;
63 static const byte kInvItemKeepAlways = 1;
64 static const byte kInvItemReturn = 2;
65 static const byte kInvItemNewSceneView = 3;
68 static const byte kInvSoundOverrideCommandNoSound = 0;
69 static const byte kInvSoundOverrideCommandTurnOff = 1;
70 static const byte kInvSoundOverrideCommandNewSound = 2;
71 static const byte kInvSoundOverrideCommandICant = 3;
74 static const byte kFlagEvent = 1;
75 static const byte kFlagInventory = 2;
76 static const byte kFlagCursor = 3;
79 static const byte kPanNone = 0;
80 static const byte kPan360 = 1;
81 static const byte kPanLeftRight = 2;
84 static const byte kContinueSceneSound = 1;
85 static const byte kLoadSceneSound = 0;
88 static const uint16 kInvertedNode = 77;
89 static const uint16 kNoAutoScroll = 333;
92 static const byte kAbsoluteClockBump = 1;
93 static const byte kRelativeClockBump = 2;
96 static const byte kPlayerDay = 0;
97 static const byte kPlayerNight = 1;
98 static const byte kPlayerDuskDawn = 2;
101 static const byte kSmallVideoFormat = 1;
102 static const byte kLargeVideoFormat = 2;
104 static const byte kVideoPlaytypeAVF = 0;
105 static const byte kVideoPlaytypeBink = 1;
108 static const byte kPlayOverlayPlain = 1;
109 static const byte kPlayOverlayTransparent = 2;
111 static const byte kPlayOverlaySceneChange = 1;
112 static const byte kPlayOverlayNoSceneChange = 2;
114 static const byte kPlayOverlayStatic = 1;
115 static const byte kPlayOverlayAnimated = 2;
117 static const byte kPlayOverlayOnce = 1;
118 static const byte kPlayOverlayLoop = 2;
120 static const byte kPlayOverlayForward = 1;
121 static const byte kPlayOverlayReverse = 2;
123 static const byte kPlayOverlayWithHotspot = 1;
124 static const byte kPlayOverlayNoHotspot = 2;
127 static const byte kNoChangeTableValue = 0;
128 static const byte kIncrementTableValue = 1;
129 static const byte kDecrementTableValue = 2;
130 static const uint16 kNoTableIndex = 99;
131 static const int16 kNoTableValue = 9999;
134 static const uint16 kListLIFO = 0;
135 static const uint16 kListFIFO = 1;
138 static const byte kRotateAroundX = 0;
139 static const byte kRotateAroundY = 1;
140 static const byte kRotateAroundZ = 2;
142 enum MovementDirection : byte { kUp = 1, kDown = 2, kLeft = 4, kRight = 8, kMoveFast = 16 };
145 namespace NancyState {
148 kBoot, kLogo, kCredits, kMap,
149 kMainMenu, kLoadSave, kSetup,
150 kHelp, kScene, kSaveDialog,
161 uint16 sceneID = kNoScene;
163 uint16 verticalOffset = 0;
164 uint16 continueSceneSound = kLoadSceneSound;
168 Math::Vector3d listenerFrontVector = Math::Vector3d(0, 0, 1);
169 uint16 frontVectorFrameID = 0;
199 uint16 staticRectID = 0;
200 uint hasHotspot = kPlayOverlayNoHotspot;
225 int16 eventFlag = -1;
230 int16 frameID = kFrNoFrame;
241 uint32 minTimeDelay = 500;
242 uint32 maxTimeDelay = 2000;
244 int32 randomMoveMinX = 0;
245 int32 randomMoveMaxX = 0;
246 int32 randomMoveMinY = 0;
247 int32 randomMoveMaxY = 0;
248 int32 randomMoveMinZ = 0;
249 int32 randomMoveMaxZ = 0;
255 uint32 moveStepTime = 1000;
256 int32 numMoveSteps = 10;
258 int32 linearMoveStartX = 0;
259 int32 linearMoveEndX = 0;
260 int32 linearMoveStartY = 0;
261 int32 linearMoveEndY = 0;
262 int32 linearMoveStartZ = 0;
263 int32 linearMoveEndZ = 0;
265 int32 rotateMoveStartX = 0;
266 int32 rotateMoveStartY = 0;
267 int32 rotateMoveStartZ = 0;
268 byte rotateMoveAxis = kRotateAroundY;
270 uint32 minDistance = 0;
271 uint32 maxDistance = 0;
279 uint16 channelID = 0;
280 uint16 playCommands = 1;
283 uint16 panAnchorFrame = 0;
284 uint32 samplesPerSec = 0;
285 bool isPanning =
false;
307 enum class StaticDataConditionType { kEvent = 0, kInventory = 1, kDifficulty = 2 };
346 byte numSceneSpecificChannels;
356 uint16 numItems = 11;
357 uint16 numEventFlags = 168;
360 uint16 numCursorTypes = 4;
361 uint32 logoEndAfter = 7000;
362 int16 wonGameFlagID = -1;
390 kUIButtonPressed = 2,
391 kUIButtonDisabled = 3
396 static const uint kRecordSize = 239;
403 uint32 destUsesGameFrameOffset = 0;
404 uint32 hoverEnableFlag = 0;
405 uint32 hoverCursorFlag = 0;
406 uint32 secondaryStateField = 0;
407 uint32 initialState = 0;
408 uint32 reservedField = 0;
415 static const uint kRecordSize = 247;
423 static const uint kRecordSize = 198;
430 uint32 destUsesGameFrameOffset = 0;
432 uint32 isDraggable = 0;
434 uint32 orientation = 0;
435 uint32 positionHint = 0;
436 uint32 secondaryStateField = 0;
437 uint32 initialState = 0;
444 uint32 unknownHeaderField = 0;
445 int16 linkbackScene = 9999;
450 uint32 overlayInGameFrame = 0;
453 uint32 secondaryButtonEnabled = 0;
455 uint32 sliderEnabled = 0;
461 #endif // NANCY_COMMONYPES_H Definition: commontypes.h:208
Definition: commontypes.h:354
Definition: commontypes.h:160
Definition: commontypes.h:308
Definition: commontypes.h:334
Definition: commontypes.h:310
Definition: commontypes.h:422
Definition: commontypes.h:240
Definition: commontypes.h:197
Definition: commontypes.h:327
Definition: commontypes.h:180
Definition: commontypes.h:344
Definition: commontypes.h:220
Definition: commontypes.h:295
Definition: algorithm.h:29
Definition: commontypes.h:277
Definition: commontypes.h:175
Definition: commontypes.h:229
Definition: commontypes.h:189
Definition: commontypes.h:319
Definition: actionmanager.h:32
Language
Definition: language.h:45