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;
57 static const uint kMaxPlayerCharacters = 3;
58 static const uint kPlayerCharacterFrank = 1;
59 static const uint kPlayerCharacterJoe = 2;
63 static const byte kPlayerCharacterActive = 9;
74 static const byte kInvItemUseThenLose = 0;
75 static const byte kInvItemKeepAlways = 1;
76 static const byte kInvItemReturn = 2;
77 static const byte kInvItemNewSceneView = 3;
80 static const byte kInvSoundOverrideCommandNoSound = 0;
81 static const byte kInvSoundOverrideCommandTurnOff = 1;
82 static const byte kInvSoundOverrideCommandNewSound = 2;
83 static const byte kInvSoundOverrideCommandICant = 3;
86 static const byte kFlagEvent = 1;
87 static const byte kFlagInventory = 2;
88 static const byte kFlagCursor = 3;
91 static const byte kPanNone = 0;
92 static const byte kPan360 = 1;
93 static const byte kPanLeftRight = 2;
96 static const byte kContinueSceneSound = 1;
97 static const byte kLoadSceneSound = 0;
100 static const uint16 kInvertedNode = 77;
101 static const uint16 kNoAutoScroll = 333;
104 static const byte kAbsoluteClockBump = 1;
105 static const byte kRelativeClockBump = 2;
108 static const byte kPlayerDay = 0;
109 static const byte kPlayerNight = 1;
110 static const byte kPlayerDuskDawn = 2;
113 static const byte kSmallVideoFormat = 1;
114 static const byte kLargeVideoFormat = 2;
117 static const byte kVideoPlaytypeAVF = 0;
118 static const byte kVideoPlaytypeBink = 1;
119 static const byte kVideoPlaytypeAuto = 2;
124 static const byte kPlayOverlayPlain = 1;
125 static const byte kPlayOverlayTransparent = 2;
126 static const byte kPlayOverlayTransparent2 = 3;
128 static const byte kPlayOverlaySceneChange = 1;
129 static const byte kPlayOverlayNoSceneChange = 2;
131 static const byte kPlayOverlayStatic = 1;
132 static const byte kPlayOverlayAnimated = 2;
134 static const byte kPlayOverlayOnce = 1;
135 static const byte kPlayOverlayLoop = 2;
137 static const byte kPlayOverlayForward = 1;
138 static const byte kPlayOverlayReverse = 2;
140 static const byte kPlayOverlayWithHotspot = 1;
141 static const byte kPlayOverlayNoHotspot = 2;
144 static const byte kNoChangeTableValue = 0;
145 static const byte kIncrementTableValue = 1;
146 static const byte kDecrementTableValue = 2;
147 static const uint16 kNoTableIndex = 99;
148 static const int16 kNoTableValue = 9999;
151 static const uint16 kListLIFO = 0;
152 static const uint16 kListFIFO = 1;
155 static const byte kRotateAroundX = 0;
156 static const byte kRotateAroundY = 1;
157 static const byte kRotateAroundZ = 2;
159 enum MovementDirection : byte { kUp = 1, kDown = 2, kLeft = 4, kRight = 8, kMoveFast = 16 };
162 namespace NancyState {
165 kBoot, kLogo, kCredits, kMap,
166 kMainMenu, kLoadSave, kSetup,
167 kHelp, kScene, kSaveDialog,
179 uint16 sceneID = kNoScene;
181 uint16 verticalOffset = 0;
182 uint16 continueSceneSound = kLoadSceneSound;
186 Math::Vector3d listenerFrontVector = Math::Vector3d(0, 0, 1);
187 uint16 frontVectorFrameID = 0;
217 uint16 staticRectID = 0;
218 uint hasHotspot = kPlayOverlayNoHotspot;
243 int16 eventFlag = -1;
248 int16 frameID = kFrNoFrame;
259 uint32 minTimeDelay = 500;
260 uint32 maxTimeDelay = 2000;
262 int32 randomMoveMinX = 0;
263 int32 randomMoveMaxX = 0;
264 int32 randomMoveMinY = 0;
265 int32 randomMoveMaxY = 0;
266 int32 randomMoveMinZ = 0;
267 int32 randomMoveMaxZ = 0;
273 uint32 moveStepTime = 1000;
274 int32 numMoveSteps = 10;
276 int32 linearMoveStartX = 0;
277 int32 linearMoveEndX = 0;
278 int32 linearMoveStartY = 0;
279 int32 linearMoveEndY = 0;
280 int32 linearMoveStartZ = 0;
281 int32 linearMoveEndZ = 0;
283 int32 rotateMoveStartX = 0;
284 int32 rotateMoveStartY = 0;
285 int32 rotateMoveStartZ = 0;
286 byte rotateMoveAxis = kRotateAroundY;
288 uint32 minDistance = 0;
289 uint32 maxDistance = 0;
297 uint16 channelID = 0;
298 uint16 playCommands = 1;
301 uint16 panAnchorFrame = 0;
302 uint32 samplesPerSec = 0;
303 bool isPanning =
false;
325 enum class StaticDataConditionType { kEvent = 0, kInventory = 1, kDifficulty = 2 };
364 byte numSceneSpecificChannels;
374 uint16 numItems = 11;
375 uint16 numEventFlags = 168;
378 uint16 numCursorTypes = 4;
379 uint32 logoEndAfter = 7000;
380 int16 wonGameFlagID = -1;
408 kUIButtonPressed = 2,
409 kUIButtonDisabled = 3
414 static const uint kRecordSize = 239;
421 uint32 destUsesGameFrameOffset = 0;
422 uint32 hoverEnableFlag = 0;
423 uint32 hoverCursorFlag = 0;
424 uint32 secondaryStateField = 0;
425 uint32 initialState = 0;
426 uint32 reservedField = 0;
433 static const uint kRecordSize = 247;
441 static const uint kRecordSize = 198;
448 uint32 destUsesGameFrameOffset = 0;
450 uint32 isDraggable = 0;
452 uint32 orientation = 0;
453 uint32 positionHint = 0;
454 uint32 secondaryStateField = 0;
455 uint32 initialState = 0;
462 uint32 unknownHeaderField = 0;
463 int16 linkbackScene = 9999;
468 uint32 overlayInGameFrame = 0;
471 uint32 secondaryButtonEnabled = 0;
473 uint32 sliderEnabled = 0;
479 #endif // NANCY_COMMONYPES_H Definition: commontypes.h:226
Definition: commontypes.h:372
Definition: commontypes.h:178
Definition: commontypes.h:326
Definition: commontypes.h:352
Definition: commontypes.h:328
Definition: commontypes.h:440
Definition: commontypes.h:258
Definition: commontypes.h:215
Definition: commontypes.h:345
Definition: commontypes.h:198
Definition: commontypes.h:362
Definition: commontypes.h:238
Definition: commontypes.h:313
Definition: algorithm.h:29
Definition: commontypes.h:295
Definition: commontypes.h:193
Definition: commontypes.h:247
Definition: commontypes.h:207
Definition: commontypes.h:337
Definition: actionmanager.h:32
Language
Definition: language.h:45