25#ifndef PEGASUS_CONSTANTS_H
26#define PEGASUS_CONSTANTS_H
28#include "common/endian.h"
29#include "common/rect.h"
31#include "pegasus/types.h"
37static const GameID kGameIDNothing = -1;
39static const ActorID kNoActorID = kGameIDNothing;
40static const ActorID kPlayerID = 0;
41static const ItemID kNoItemID = kGameIDNothing;
42static const RoomID kNoRoomID = kGameIDNothing;
43static const ExtraID kNoExtraID = 0xFFFFFFFF;
44static const NeighborhoodID kNoNeighborhoodID = kGameIDNothing;
45static const AlternateID kNoAlternateID = 0;
46static const GameMenuCommand kMenuCmdNoCommand = 0;
48static const HotSpotActivationID kActivateHotSpotAlways = 0;
49static const HotSpotActivationID kActivateHotSpotNever = -1;
51static const ItemState kNoItemState = -1;
53static const DirectionConstant kNoDirection = 0xFF;
54static const DirectionConstant kNorth = 0;
55static const DirectionConstant kSouth = 1;
56static const DirectionConstant kEast = 2;
57static const DirectionConstant kWest = 3;
59static const TurnDirection kNoTurn = 0xFF;
60static const TurnDirection kTurnLeft = 0;
61static const TurnDirection kTurnRight = 1;
62static const TurnDirection kTurnUp = 2;
63static const TurnDirection kTurnDown = 3;
64static const TurnDirection kMaxTurns = 4;
66static const GameMode kNoMode = -1;
67static const GameMode kModeNavigation = 0;
68static const GameMode kLastGameShellMode = kModeNavigation;
70static const CanMoveForwardReason kCanMoveForward = 0;
71static const CanMoveForwardReason kCantMoveBlocked = kCanMoveForward + 1;
72static const CanMoveForwardReason kCantMoveDoorClosed = kCantMoveBlocked + 1;
73static const CanMoveForwardReason kCantMoveDoorLocked = kCantMoveDoorClosed + 1;
74static const CanMoveForwardReason kCantMoveLastReason = kCantMoveDoorLocked;
76static const CanTurnReason kCanTurn = 0;
77static const CanTurnReason kCantTurnNoTurn = kCanTurn + 1;
78static const CanTurnReason kCantTurnLastReason = kCantTurnNoTurn;
80static const CanOpenDoorReason kCanOpenDoor = 0;
81static const CanOpenDoorReason kCantOpenNoDoor = kCanOpenDoor + 1;
82static const CanOpenDoorReason kCantOpenLocked = kCantOpenNoDoor + 1;
83static const CanOpenDoorReason kCantOpenAlreadyOpen = kCantOpenLocked + 1;
84static const CanOpenDoorReason kCantOpenLastReason = kCantOpenAlreadyOpen;
86static const DisplayElementID kNoDisplayElement = -1;
87static const DisplayElementID kHighestReservedElementID = -2;
89static const DisplayElementID kCursorID = kHighestReservedElementID;
90static const DisplayElementID kLoadScreenID = kCursorID - 1;
92static const DisplayOrder kMinAvailableOrder = 0;
93static const DisplayOrder kMaxAvailableOrder = 999998;
94static const DisplayOrder kLoadScreenOrder = 900000;
95static const DisplayOrder kCursorOrder = 1000000;
97static const HotSpotID kNoHotSpotID = -1;
98static const HotSpotFlags kNoHotSpotFlags = 0;
99static const HotSpotFlags kAllHotSpotFlags = ~kNoHotSpotFlags;
101static const NotificationFlags kNoNotificationFlags = 0;
103static const DisplayElementID kCurrentDragSpriteID = 1000;
105static const TimeScale kDefaultTimeScale = 600;
109static const TimeScale kOneTickPerSecond = 1;
110static const TimeScale kTwoTicksPerSecond = 2;
111static const TimeScale kFifteenTicksPerSecond = 15;
112static const TimeScale kThirtyTicksPerSecond = 30;
113static const TimeScale kSixtyTicksPerSecond = 60;
114static const TimeScale kMovieTicksPerSecond = 600;
118static const TimeValue kOneSecond = 1;
119static const TimeValue kTwoSeconds = 2;
120static const TimeValue kThreeSeconds = 3;
121static const TimeValue kFourSeconds = 4;
122static const TimeValue kFiveSeconds = 5;
123static const TimeValue kSixSeconds = 6;
124static const TimeValue kSevenSeconds = 7;
125static const TimeValue kEightSeconds = 8;
126static const TimeValue kNineSeconds = 9;
127static const TimeValue kTenSeconds = 10;
128static const TimeValue kElevenSeconds = 11;
129static const TimeValue kTwelveSeconds = 12;
130static const TimeValue kThirteenSeconds = 13;
131static const TimeValue kFourteenSeconds = 14;
132static const TimeValue kFifteenSeconds = 15;
133static const TimeValue kSixteenSeconds = 16;
134static const TimeValue kSeventeenSeconds = 17;
135static const TimeValue kEighteenSeconds = 18;
136static const TimeValue kNineteenSeconds = 19;
137static const TimeValue kTwentySeconds = 20;
138static const TimeValue kThirtySeconds = 30;
139static const TimeValue kFortySeconds = 40;
140static const TimeValue kFiftySeconds = 50;
141static const TimeValue kSixtySeconds = 60;
142static const TimeValue kOneMinute = 60;
143static const TimeValue kTwoMinutes = kOneMinute * 2;
144static const TimeValue kThreeMinutes = kOneMinute * 3;
145static const TimeValue kFourMinutes = kOneMinute * 4;
146static const TimeValue kFiveMinutes = kOneMinute * 5;
147static const TimeValue kSixMinutes = kOneMinute * 6;
148static const TimeValue kSevenMinutes = kOneMinute * 7;
149static const TimeValue kEightMinutes = kOneMinute * 8;
150static const TimeValue kNineMinutes = kOneMinute * 9;
151static const TimeValue kTenMinutes = kOneMinute * 10;
152static const TimeValue kElevenMinutes = kOneMinute * 11;
153static const TimeValue kTwelveMinutes = kOneMinute * 12;
154static const TimeValue kThirteenMinutes = kOneMinute * 13;
155static const TimeValue kFourteenMinutes = kOneMinute * 14;
156static const TimeValue kFifteenMinutes = kOneMinute * 15;
157static const TimeValue kSixteenMinutes = kOneMinute * 16;
158static const TimeValue kSeventeenMinutes = kOneMinute * 17;
159static const TimeValue kEighteenMinutes = kOneMinute * 18;
160static const TimeValue kNineteenMinutes = kOneMinute * 19;
161static const TimeValue kTwentyMinutes = kOneMinute * 20;
162static const TimeValue kThirtyMinutes = kOneMinute * 30;
163static const TimeValue kFortyMinutes = kOneMinute * 40;
164static const TimeValue kFiftyMinutes = kOneMinute * 50;
165static const TimeValue kOneHour = kOneMinute * 60;
166static const TimeValue kTwoHours = kOneHour * 2;
170static const TimeValue kHalfSecondPerTwoTicks = kTwoTicksPerSecond / 2;
171static const TimeValue kHalfSecondPerThirtyTicks = kThirtyTicksPerSecond / 2;
172static const TimeValue kHalfSecondPerSixtyTicks = kSixtyTicksPerSecond / 2;
174static const TimeValue kOneSecondPerTwoTicks = kTwoTicksPerSecond;
175static const TimeValue kOneSecondPerThirtyTicks = kThirtyTicksPerSecond;
176static const TimeValue kOneSecondPerSixtyTicks = kSixtyTicksPerSecond;
178static const TimeValue kOneMinutePerFifteenTicks = kOneMinute * kFifteenTicksPerSecond;
179static const TimeValue kFiveMinutesPerFifteenTicks = kFiveMinutes * kFifteenTicksPerSecond;
180static const TimeValue kTenMinutesPerFifteenTicks = kTenMinutes * kFifteenTicksPerSecond;
182static const TimeValue kOneMinutePerThirtyTicks = kOneMinute * kThirtyTicksPerSecond;
183static const TimeValue kFiveMinutesPerThirtyTicks = kFiveMinutes * kThirtyTicksPerSecond;
184static const TimeValue kTenMinutesPerThirtyTicks = kTenMinutes * kThirtyTicksPerSecond;
186static const TimeValue kOneMinutePerSixtyTicks = kOneMinute * kSixtyTicksPerSecond;
187static const TimeValue kFiveMinutesPerSixtyTicks = kFiveMinutes * kSixtyTicksPerSecond;
188static const TimeValue kTenMinutesPerSixtyTicks = kTenMinutes * kSixtyTicksPerSecond;
191static const TimeValue kLateWarning2TimeLimit = kFiveMinutes;
192static const TimeValue kLateWarning3TimeLimit = kTenMinutes;
194static const TimeValue kSinclairShootsTimeLimit = kThreeMinutes;
195static const TimeValue kCardBombCountDownTime = kTwelveSeconds;
197static const TimeValue kOxyMaskFullTime = kThirtyMinutes;
199static const TimeValue kTSAUncreatedTimeLimit = kFiveMinutes;
200static const TimeValue kRipTimeLimit = kTenMinutesPerFifteenTicks;
201static const TimeScale kRipTimeScale = kFifteenTicksPerSecond;
203static const TimeValue kIntroTimeOut = kThirtySeconds;
205static const TimeValue kMarsRobotPatienceLimit = kFifteenSeconds;
206static const TimeValue kLockFreezeTimeLmit = kFifteenSeconds;
207static const TimeValue kSpaceChaseTimeLimit = kTenMinutes;
208static const TimeValue kVacuumSurvivalTimeLimit = kThirtySeconds;
209static const TimeValue kColorMatchingTimeLimit = kFourMinutes;
210static const TimeScale kJunkTimeScale = kFifteenTicksPerSecond;
211static const TimeValue kJunkDropBaseTime = kFiveSeconds;
212static const TimeValue kJunkDropSlopTime = kThreeSeconds;
213static const TimeValue kJunkTravelTime = kTenSeconds * kJunkTimeScale;
214static const TimeValue kCollisionReboundTime = kOneSecond * kJunkTimeScale;
215static const TimeValue kWeaponReboundTime = kTwoSeconds * kJunkTimeScale;
217static const TimeValue kGawkAtRobotTime = kTenSeconds;
218static const TimeValue kGawkAtRobotTime2 = kThirteenSeconds;
219static const TimeValue kPlasmaImpactTime = kTwoSeconds;
221static const TimeValue kNoradAirMaskTimeLimit = kOneMinute + kFifteenSeconds;
223static const NotificationID kNeighborhoodNotificationID = 1;
224static const NotificationID kLastNeighborhoodNotificationID = kNeighborhoodNotificationID;
226static const NotificationFlags kNeighborhoodMovieCompletedFlag = 1;
227static const NotificationFlags kMoveForwardCompletedFlag = kNeighborhoodMovieCompletedFlag << 1;
228static const NotificationFlags kStrideCompletedFlag = kMoveForwardCompletedFlag << 1;
229static const NotificationFlags kTurnCompletedFlag = kStrideCompletedFlag << 1;
230static const NotificationFlags kSpotCompletedFlag = kTurnCompletedFlag << 1;
231static const NotificationFlags kDoorOpenCompletedFlag = kSpotCompletedFlag << 1;
232static const NotificationFlags kExtraCompletedFlag = kDoorOpenCompletedFlag << 1;
233static const NotificationFlags kSpotSoundCompletedFlag = kExtraCompletedFlag << 1;
234static const NotificationFlags kDelayCompletedFlag = kSpotSoundCompletedFlag << 1;
235static const NotificationFlags kActionRequestCompletedFlag = kDelayCompletedFlag << 1;
236static const NotificationFlags kDeathExtraCompletedFlag = kActionRequestCompletedFlag << 1;
237static const NotificationFlags kLastNeighborhoodNotificationFlag = kDeathExtraCompletedFlag;
239static const NotificationFlags kNeighborhoodFlags = kNeighborhoodMovieCompletedFlag |
240 kMoveForwardCompletedFlag |
241 kStrideCompletedFlag |
244 kDoorOpenCompletedFlag |
245 kExtraCompletedFlag |
246 kSpotSoundCompletedFlag |
247 kDelayCompletedFlag |
248 kActionRequestCompletedFlag |
249 kDeathExtraCompletedFlag;
251static const uint32 kPegasusPrimeCreator =
MKTAG(
'J',
'P',
'P',
'P');
252static const uint32 kPegasusPrimeContinueType =
MKTAG(
'P',
'P',
'C',
'T');
254static const uint32 kPegasusPrimeDisk1GameType =
MKTAG(
'P',
'P',
'G',
'1');
255static const uint32 kPegasusPrimeDisk2GameType =
MKTAG(
'P',
'P',
'G',
'2');
256static const uint32 kPegasusPrimeDisk3GameType =
MKTAG(
'P',
'P',
'G',
'3');
257static const uint32 kPegasusPrimeDisk4GameType =
MKTAG(
'P',
'P',
'G',
'4');
261static const uint32 kPegasusPrimeVersion = 0x00009019;
263static const char kNormalSave = 0;
264static const char kContinueSave = 1;
268static const DisplayElementID kNavMovieID = 1;
269static const DisplayElementID kTurnPushID = 2;
271static const DisplayElementID kMaxGameShellDisplayID = kTurnPushID;
275static const DisplayOrder kNavLayer = 10000;
276static const DisplayOrder kNavMovieOrder = kNavLayer;
277static const DisplayOrder kTurnPushOrder = kNavMovieOrder + 1;
283static const DisplayElementID kScreenDimmerID = kMaxGameShellDisplayID + 1;
284static const DisplayElementID kInterface1ID = kScreenDimmerID + 1;
285static const DisplayElementID kInterface2ID = kInterface1ID + 1;
286static const DisplayElementID kInterface3ID = kInterface2ID + 1;
287static const DisplayElementID kInterface4ID = kInterface3ID + 1;
288static const DisplayElementID kDateID = kInterface4ID + 1;
289static const DisplayElementID kCompassID = kDateID + 1;
290static const DisplayElementID kInventoryPushID = kCompassID + 1;
291static const DisplayElementID kInventoryLidID = kInventoryPushID + 1;
292static const DisplayElementID kBiochipPushID = kInventoryLidID + 1;
293static const DisplayElementID kBiochipLidID = kBiochipPushID + 1;
294static const DisplayElementID kEnergyBarID = kBiochipLidID + 1;
295static const DisplayElementID kWarningLightID = kEnergyBarID + 1;
296static const DisplayElementID kAILeftAreaID = kWarningLightID + 1;
297static const DisplayElementID kAIMiddleAreaID = kAILeftAreaID + 1;
298static const DisplayElementID kAIRightAreaID = kAIMiddleAreaID + 1;
299static const DisplayElementID kAIMovieID = kAIRightAreaID + 1;
300static const DisplayElementID kInventoryDropHighlightID = kAIMovieID + 1;
301static const DisplayElementID kBiochipDropHighlightID = kInventoryDropHighlightID + 1;
303static const DisplayElementID kDraggingSpriteID = 1000;
305static const DisplayElementID kCroppedMovieID = 2000;
307static const DisplayElementID kNeighborhoodDisplayID = 3000;
309static const DisplayElementID kItemPictureBaseID = 5000;
311static const CoordType kNavAreaLeft = 64;
312static const CoordType kNavAreaTop = 64;
314static const CoordType kBackground1Left = 0;
315static const CoordType kBackground1Top = 64;
317static const CoordType kBackground2Left = 0;
318static const CoordType kBackground2Top = 0;
320static const CoordType kBackground3Left = 576;
321static const CoordType kBackground3Top = 64;
323static const CoordType kBackground4Left = 0;
324static const CoordType kBackground4Top = 320;
326static const CoordType kOverviewControllerLeft = 540;
327static const CoordType kOverviewControllerTop = 348;
329static const CoordType kSwapLeft = 194;
330static const CoordType kSwapTop = 116;
332static const CoordType kSwapHiliteLeft = 200;
333static const CoordType kSwapHiliteTop = 206;
335static const CoordType kDateLeft = 136;
336static const CoordType kDateTop = 44;
338static const CoordType kCompassLeft = 222;
339static const CoordType kCompassTop = 42;
340static const CoordType kCompassWidth = 92;
342static const CoordType kInventoryPushLeft = 74;
343static const CoordType kInventoryPushTop = 92;
345static const CoordType kInventoryLidLeft = 74;
346static const CoordType kInventoryLidTop = 316;
348static const CoordType kBiochipPushLeft = 362;
349static const CoordType kBiochipPushTop = 192;
351static const CoordType kBiochipLidLeft = 362;
352static const CoordType kBiochipLidTop = 316;
354static const CoordType kInventoryDropLeft = 0;
355static const CoordType kInventoryDropTop = 320;
356static const CoordType kInventoryDropRight = 232;
357static const CoordType kInventoryDropBottom = 480;
359static const CoordType kBiochipDropLeft = 302;
360static const CoordType kBiochipDropTop = 320;
361static const CoordType kBiochipDropRight = 640;
362static const CoordType kBiochipDropBottom = 480;
364static const CoordType kFinalMessageLeft = kInventoryPushLeft + 1;
365static const CoordType kFinalMessageTop = kInventoryPushTop + 24;
371static const NotificationID kJMPDCShellNotificationID = kLastNeighborhoodNotificationID + 1;
372static const NotificationID kInterfaceNotificationID = kJMPDCShellNotificationID + 1;
373static const NotificationID kAINotificationID = kInterfaceNotificationID + 1;
374static const NotificationID kNoradNotificationID = kAINotificationID + 1;
375static const NotificationID kNoradECRNotificationID = kNoradNotificationID + 1;
376static const NotificationID kNoradFillingStationNotificationID = kNoradECRNotificationID + 1;
377static const NotificationID kNoradPressureNotificationID = kNoradFillingStationNotificationID + 1;
378static const NotificationID kNoradUtilityNotificationID = kNoradPressureNotificationID + 1;
379static const NotificationID kNoradElevatorNotificationID = kNoradUtilityNotificationID + 1;
380static const NotificationID kNoradSubPlatformNotificationID = kNoradElevatorNotificationID + 1;
381static const NotificationID kNoradSubChaseNotificationID = kNoradSubPlatformNotificationID + 1;
382static const NotificationID kSubControlNotificationID = kNoradSubChaseNotificationID + 1;
383static const NotificationID kNoradGreenBallNotificationID = kSubControlNotificationID + 1;
384static const NotificationID kNoradGlobeNotificationID = kNoradGreenBallNotificationID + 1;
385static const NotificationID kCaldoriaVidPhoneNotificationID = kNoradGlobeNotificationID + 1;
386static const NotificationID kCaldoriaMessagesNotificationID = kCaldoriaVidPhoneNotificationID + 1;
387static const NotificationID kCaldoriaBombTimerNotificationID = kCaldoriaMessagesNotificationID + 1;
388static const NotificationID kMarsTunnelPodNotificationID = kCaldoriaBombTimerNotificationID + 1;
389static const NotificationID kMarsCanyonChaseNotificationID = kMarsTunnelPodNotificationID + 1;
392static const NotificationFlags kGameStartingFlag = 1;
393static const NotificationFlags kNeedNewJumpFlag = kGameStartingFlag << 1;
394static const NotificationFlags kPlayerDiedFlag = kNeedNewJumpFlag << 1;
396static const NotificationFlags kJMPShellNotificationFlags = kGameStartingFlag |
401static const NotificationFlags kInventoryLidOpenFlag = 1;
402static const NotificationFlags kInventoryLidClosedFlag = kInventoryLidOpenFlag << 1;
403static const NotificationFlags kInventoryDrawerUpFlag = kInventoryLidClosedFlag << 1;
404static const NotificationFlags kInventoryDrawerDownFlag = kInventoryDrawerUpFlag << 1;
405static const NotificationFlags kBiochipLidOpenFlag = kInventoryDrawerDownFlag << 1;
406static const NotificationFlags kBiochipLidClosedFlag = kBiochipLidOpenFlag << 1;
407static const NotificationFlags kBiochipDrawerUpFlag = kBiochipLidClosedFlag << 1;
408static const NotificationFlags kBiochipDrawerDownFlag = kBiochipDrawerUpFlag << 1;
410static const NotificationFlags kInterfaceNotificationFlags = kInventoryLidOpenFlag |
411 kInventoryLidClosedFlag |
412 kInventoryDrawerUpFlag |
413 kInventoryDrawerDownFlag |
414 kBiochipLidOpenFlag |
415 kBiochipLidClosedFlag |
416 kBiochipDrawerUpFlag |
417 kBiochipDrawerDownFlag;
423static const HotSpotID kFirstNeighborhoodSpotID = 5000;
427static const HotSpotFlags kShellSpotFlag = 1;
430static const HotSpotFlags kNeighborhoodSpotFlag = kShellSpotFlag << 1;
432static const HotSpotFlags kZoomInSpotFlag = kNeighborhoodSpotFlag << 1;
434static const HotSpotFlags kZoomOutSpotFlag = kZoomInSpotFlag << 1;
436static const HotSpotFlags kClickSpotFlag = kZoomOutSpotFlag << 1;
437static const HotSpotFlags kPlayExtraSpotFlag = kClickSpotFlag << 1;
438static const HotSpotFlags kPickUpItemSpotFlag = kPlayExtraSpotFlag << 1;
439static const HotSpotFlags kDropItemSpotFlag = kPickUpItemSpotFlag << 1;
440static const HotSpotFlags kOpenDoorSpotFlag = kDropItemSpotFlag << 1;
442static const HotSpotFlags kZoomSpotFlags = kZoomInSpotFlag | kZoomOutSpotFlag;
444static const HotSpotFlags kHighestGameShellSpotFlag = kOpenDoorSpotFlag;
453static const HotSpotID kCurrentItemSpotID = 0;
454static const HotSpotID kCurrentBiochipSpotID = kCurrentItemSpotID + 1;
456static const HotSpotID kInventoryDropSpotID = kCurrentBiochipSpotID + 1;
457static const HotSpotID kBiochipDropSpotID = kInventoryDropSpotID + 1;
459static const HotSpotID kInfoReturnSpotID = kBiochipDropSpotID + 1;
461static const HotSpotID kAIHint1SpotID = kInfoReturnSpotID + 1;
462static const HotSpotID kAIHint2SpotID = kAIHint1SpotID + 1;
463static const HotSpotID kAIHint3SpotID = kAIHint2SpotID + 1;
464static const HotSpotID kAISolveSpotID = kAIHint3SpotID + 1;
465static const HotSpotID kAIBriefingSpotID = kAISolveSpotID + 1;
466static const HotSpotID kAIScanSpotID = kAIBriefingSpotID + 1;
468static const HotSpotID kArthurWisdomSpotID = kAIScanSpotID + 1;
469static const HotSpotID kChattyArthurSpotID = kArthurWisdomSpotID + 1;
470static const HotSpotID kChattyAISpotID = kChattyArthurSpotID + 1;
471static const HotSpotID kArthurHeadSpotID = kChattyAISpotID + 1;
473static const HotSpotID kPegasusRecallSpotID = kArthurHeadSpotID + 1;
475static const HotSpotID kAriesSpotID = kPegasusRecallSpotID + 1;
476static const HotSpotID kMercurySpotID = kAriesSpotID + 1;
477static const HotSpotID kPoseidonSpotID = kMercurySpotID + 1;
479static const HotSpotID kAirMaskToggleSpotID = kPoseidonSpotID + 1;
481static const HotSpotID kShuttleEnergySpotID = kAirMaskToggleSpotID + 1;
482static const HotSpotID kShuttleGravitonSpotID = kShuttleEnergySpotID + 1;
483static const HotSpotID kShuttleTractorSpotID = kShuttleGravitonSpotID + 1;
484static const HotSpotID kShuttleViewSpotID = kShuttleTractorSpotID + 1;
485static const HotSpotID kShuttleTransportSpotID = kShuttleViewSpotID + 1;
503static const HotSpotFlags kPickUpBiochipSpotFlag = kHighestGameShellSpotFlag << 1;
504static const HotSpotFlags kDropBiochipSpotFlag = kPickUpBiochipSpotFlag << 1;
506static const HotSpotFlags kInfoReturnSpotFlag = kDropBiochipSpotFlag << 1;
510static const HotSpotFlags kAIBiochipSpotFlag = kInfoReturnSpotFlag << 1;
511static const HotSpotFlags kArthurBiochipSpotFlag = kAIBiochipSpotFlag << 1;
512static const HotSpotFlags kPegasusBiochipSpotFlag = kArthurBiochipSpotFlag << 1;
513static const HotSpotFlags kOpticalBiochipSpotFlag = kPegasusBiochipSpotFlag << 1;
514static const HotSpotFlags kAirMaskSpotFlag = kOpticalBiochipSpotFlag << 1;
516static const HotSpotFlags kJMPClickingSpotFlags = kClickSpotFlag |
519 kInfoReturnSpotFlag |
521 kArthurBiochipSpotFlag |
522 kPegasusBiochipSpotFlag |
523 kOpticalBiochipSpotFlag |
526static const int32 kMainMenuID = 1;
527static const int32 kPauseMenuID = 2;
528static const int32 kCreditsMenuID = 3;
529static const int32 kDeathMenuID = 4;
535static const GameMenuCommand kMenuCmdOverview = kMenuCmdNoCommand + 1;
536static const GameMenuCommand kMenuCmdStartAdventure = kMenuCmdOverview + 1;
537static const GameMenuCommand kMenuCmdStartWalkthrough = kMenuCmdStartAdventure + 1;
538static const GameMenuCommand kMenuCmdRestore = kMenuCmdStartWalkthrough + 1;
539static const GameMenuCommand kMenuCmdCredits = kMenuCmdRestore + 1;
540static const GameMenuCommand kMenuCmdQuit = kMenuCmdCredits + 1;
542static const GameMenuCommand kMenuCmdDeathContinue = kMenuCmdQuit + 1;
544static const GameMenuCommand kMenuCmdDeathQuitDemo = kMenuCmdDeathContinue + 1;
545static const GameMenuCommand kMenuCmdDeathMainMenuDemo = kMenuCmdDeathQuitDemo + 1;
547static const GameMenuCommand kMenuCmdDeathRestore = kMenuCmdDeathMainMenuDemo + 1;
548static const GameMenuCommand kMenuCmdDeathMainMenu = kMenuCmdDeathRestore + 1;
550static const GameMenuCommand kMenuCmdPauseSave = kMenuCmdDeathMainMenu + 1;
551static const GameMenuCommand kMenuCmdPauseContinue = kMenuCmdPauseSave + 1;
552static const GameMenuCommand kMenuCmdPauseRestore = kMenuCmdPauseContinue + 1;
553static const GameMenuCommand kMenuCmdPauseQuit = kMenuCmdPauseRestore + 1;
555static const GameMenuCommand kMenuCmdCreditsMainMenu = kMenuCmdPauseQuit + 1;
557static const GameMenuCommand kMenuCmdCancelRestart = kMenuCmdCreditsMainMenu + 1;
558static const GameMenuCommand kMenuCmdEjectRestart = kMenuCmdCancelRestart + 1;
560static const TimeValue kMenuButtonHiliteTime = 20;
561static const TimeScale kMenuButtonHiliteScale = kSixtyTicksPerSecond;
567static const ResIDType kLightOffID = 128;
568static const ResIDType kLightYellowID = 129;
569static const ResIDType kLightOrangeID = 130;
570static const ResIDType kLightRedID = 131;
574static const ResIDType kDatePrehistoricID = 138;
575static const ResIDType kDate2112ID = 139;
576static const ResIDType kDate2185ID = 140;
577static const ResIDType kDate2310ID = 141;
578static const ResIDType kDate2318ID = 142;
584static const DisplayOrder kCroppedMovieLayer = 11000;
586static const DisplayOrder kMonitorLayer = 12000;
588static const DisplayOrder kDragSpriteLayer = 15000;
589static const DisplayOrder kDragSpriteOrder = kDragSpriteLayer;
591static const DisplayOrder kInterfaceLayer = 20000;
592static const DisplayOrder kBackground1Order = kInterfaceLayer;
593static const DisplayOrder kBackground2Order = kBackground1Order + 1;
594static const DisplayOrder kBackground3Order = kBackground2Order + 1;
595static const DisplayOrder kBackground4Order = kBackground3Order + 1;
596static const DisplayOrder kDateOrder = kBackground4Order + 1;
597static const DisplayOrder kCompassOrder = kDateOrder + 1;
598static const DisplayOrder kEnergyBarOrder = kCompassOrder + 1;
599static const DisplayOrder kEnergyLightOrder = kEnergyBarOrder + 1;
601static const DisplayOrder kAILayer = 22000;
602static const DisplayOrder kAILeftAreaOrder = kAILayer;
603static const DisplayOrder kAIMiddleAreaOrder = kAILeftAreaOrder + 1;
604static const DisplayOrder kAIRightAreaOrder = kAIMiddleAreaOrder + 1;
605static const DisplayOrder kAIMovieOrder = kAIRightAreaOrder + 1;
607static const DisplayOrder kHilitesLayer = 23000;
608static const DisplayOrder kInventoryHiliteOrder = kHilitesLayer;
609static const DisplayOrder kBiochipHiliteOrder = kInventoryHiliteOrder + 1;
611static const DisplayOrder kPanelsLayer = 25000;
612static const DisplayOrder kInventoryPushOrder = kPanelsLayer;
613static const DisplayOrder kInventoryLidOrder = kInventoryPushOrder + 1;
614static const DisplayOrder kBiochipPushOrder = kInventoryLidOrder + 1;
615static const DisplayOrder kBiochipLidOrder = kBiochipPushOrder + 1;
616static const DisplayOrder kFinalMessageOrder = kBiochipLidOrder + 1;
618static const DisplayOrder kInfoLayer = 26000;
619static const DisplayOrder kInfoBackgroundOrder = kInfoLayer;
620static const DisplayOrder kInfoSpinOrder = kInfoBackgroundOrder + 1;
622static const DisplayOrder kScreenDimmerOrder = 30000;
624static const DisplayOrder kPauseScreenLayer = 31000;
625static const DisplayOrder kPauseMenuOrder = kPauseScreenLayer;
626static const DisplayOrder kSaveGameOrder = kPauseMenuOrder + 1;
627static const DisplayOrder kContinueOrder = kSaveGameOrder + 1;
628static const DisplayOrder kRestoreOrder = kContinueOrder + 1;
629static const DisplayOrder kSoundFXOrder = kRestoreOrder + 1;
630static const DisplayOrder kAmbienceOrder = kSoundFXOrder + 1;
631static const DisplayOrder kWalkthruOrder = kAmbienceOrder + 1;
632static const DisplayOrder kQuitToMainMenuOrder = kWalkthruOrder + 1;
633static const DisplayOrder kPauseLargeHiliteOrder = kQuitToMainMenuOrder + 1;
634static const DisplayOrder kPauseSmallHiliteOrder = kPauseLargeHiliteOrder + 1;
641 kDeathUncreatedInCaldoria = 1,
643 kDeathShotBySinclair,
644 kDeathSinclairShotDelegate,
645 kDeathNuclearExplosion,
648 kDeathUncreatedInTSA,
649 kDeathShotByTSARobots,
653 kDeathEatenByDinosaur,
658 kDeathArrestedInNorad,
661 kDeathRobotThroughNoradDoor,
662 kDeathRobotSubControlRoom,
665 kDeathWrongShuttleLock,
666 kDeathArrestedInMars,
667 kDeathCollidedWithPod,
669 kDeathDidntGetOutOfWay,
671 kDeathDidntFindMarsBomb,
672 kDeathDidntDisarmMarsBomb,
675 kDeathGroundByMazebot,
676 kDeathMissedOreBucket,
677 kDeathDidntLeaveBucket,
678 kDeathRanIntoCanyonWall,
679 kDeathRanIntoSpaceJunk,
682 kDeathDidntStopPoison,
691static const CoordType kAILeftAreaLeft = 76;
692static const CoordType kAILeftAreaTop = 334;
694static const CoordType kAILeftAreaWidth = 96;
695static const CoordType kAILeftAreaHeight = 96;
697static const CoordType kAIMiddleAreaLeft = 172;
698static const CoordType kAIMiddleAreaTop = 334;
700static const CoordType kAIMiddleAreaWidth = 192;
701static const CoordType kAIMiddleAreaHeight = 96;
703static const CoordType kAIRightAreaLeft = 364;
704static const CoordType kAIRightAreaTop = 334;
706static const CoordType kAIRightAreaWidth = 96;
707static const CoordType kAIRightAreaHeight = 96;
710 kTSAPlayerNotArrived,
711 kTSAPlayerForcedReview,
712 kTSAPlayerDetectedRip,
713 kTSAPlayerNeedsHistoricalLog,
714 kTSAPlayerGotHistoricalLog,
715 kTSAPlayerInstalledHistoricalLog,
716 kTSABossSawHistoricalLog,
717 kRobotsAtCommandCenter,
720 kPlayerLockedInPegasus,
721 kPlayerOnWayToPrehistoric,
722 kPlayerWentToPrehistoric,
726 kPlayerFinishedWithTSA
733static const GameMode kModeInventoryPick = kLastGameShellMode + 1;
734static const GameMode kModeBiochipPick = kModeInventoryPick + 1;
735static const GameMode kModeInfoScreen = kModeBiochipPick + 1;
#define MKTAG(a0, a1, a2, a3)
Definition: endian.h:188