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