Initial commit
This commit is contained in:
951
engines/asylum/shared.h
Normal file
951
engines/asylum/shared.h
Normal file
@@ -0,0 +1,951 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ASYLUM_SHARED_H
|
||||
#define ASYLUM_SHARED_H
|
||||
|
||||
namespace Asylum {
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Global
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum GameFlag {
|
||||
kGameFlag0 = 0,
|
||||
|
||||
kGameFlag4 = 4,
|
||||
kGameFlag12 = 12,
|
||||
kGameFlag52 = 52,
|
||||
kGameFlag86 = 86,
|
||||
kGameFlag87 = 87,
|
||||
kGameFlag88 = 88,
|
||||
kGameFlagBrokenPipeSpraying = 96,
|
||||
kGameFlagSmFtnOverflows = 97,
|
||||
kGameFlagFountainFilling = 98,
|
||||
kGameFlagSewerExplodes = 99,
|
||||
kGameFlag114 = 114,
|
||||
kGameFlag115 = 115,
|
||||
kGameFlag128 = 128,
|
||||
kGameFlag169 = 169,
|
||||
kGameFlagScriptProcessing = 183,
|
||||
kGameFlag186 = 186,
|
||||
kGameFlagCommentLeavingCell = 214,
|
||||
kGameFlag215 = 215,
|
||||
kGameFlag219 = 219,
|
||||
kGameFlagSolveVCRPuzzle = 220,
|
||||
kGameFlag235 = 235,
|
||||
kGameFlag238 = 238,
|
||||
kGameFlag239 = 239,
|
||||
kGameFlag243 = 243,
|
||||
kGameFlag244 = 244,
|
||||
kGameFlag245 = 245,
|
||||
kGameFlag246 = 246,
|
||||
kGameFlag247 = 247,
|
||||
kGameFlag248 = 248,
|
||||
kGameFlag249 = 249,
|
||||
kGameFlag253 = 253,
|
||||
kGameFlag254 = 254,
|
||||
kGameFlag255 = 255,
|
||||
kGameFlag256 = 256,
|
||||
kGameFlag257 = 257,
|
||||
kGameFlag258 = 258,
|
||||
kGameFlag259 = 259,
|
||||
kGameFlag260 = 260,
|
||||
kGameFlag261 = 261,
|
||||
kGameFlag262 = 262,
|
||||
kGameFlag263 = 263,
|
||||
kGameFlag264 = 264,
|
||||
kGameFlag265 = 265,
|
||||
kGameFlag266 = 266,
|
||||
kGameFlag267 = 267,
|
||||
kGameFlag268 = 268,
|
||||
kGameFlag269 = 269,
|
||||
kGameFlag270 = 270,
|
||||
kGameFlag271 = 271,
|
||||
kGameFlag272 = 272,
|
||||
kGameFlag273 = 273,
|
||||
kGameFlag274 = 274,
|
||||
kGameFlag275 = 275,
|
||||
kGameFlag276 = 276,
|
||||
kGameFlag279 = 279,
|
||||
kGameFlag281 = 281,
|
||||
kGameFlag282 = 282,
|
||||
kGameFlag283 = 283,
|
||||
kGameFlag284 = 284,
|
||||
kGameFlag289 = 289,
|
||||
kGameFlag319 = 319,
|
||||
kGameFlag320 = 320,
|
||||
kGameFlag321 = 321,
|
||||
kGameFlag322 = 322,
|
||||
kGameFlag323 = 323,
|
||||
kGameFlag353 = 353,
|
||||
kGameFlag354 = 354,
|
||||
kGameFlag355 = 355,
|
||||
kGameFlag358 = 358,
|
||||
kGameFlag368 = 368,
|
||||
kGameFlag369 = 369,
|
||||
kGameFlag370 = 370,
|
||||
kGameFlag371 = 371,
|
||||
kGameFlag384 = 384,
|
||||
kGameFlag387 = 387,
|
||||
kGameFlag391 = 391,
|
||||
kGameFlag405 = 405,
|
||||
kGameFlag423 = 423,
|
||||
kGameFlag438 = 438,
|
||||
kGameFlag439 = 439,
|
||||
kGameFlag440 = 440,
|
||||
kGameFlag441 = 441,
|
||||
kGameFlag442 = 442,
|
||||
kGameFlag447 = 447,
|
||||
kGameFlag448 = 448,
|
||||
kGameFlag450 = 450,
|
||||
kGameFlag451 = 451,
|
||||
kGameFlag452 = 452,
|
||||
kGameFlag453 = 453,
|
||||
kGameFlag454 = 454,
|
||||
kGameFlag455 = 455,
|
||||
kGameFlag470 = 470,
|
||||
kGameFlag481 = 481,
|
||||
kGameFlag511 = 511,
|
||||
kGameFlag528 = 528,
|
||||
kGameFlag543 = 543,
|
||||
kGameFlag544 = 544,
|
||||
kGameFlag545 = 545,
|
||||
kGameFlag553 = 553,
|
||||
kGameFlag556 = 556,
|
||||
kGameFlag557 = 557,
|
||||
kGameFlag558 = 558,
|
||||
kGameFlag560 = 560,
|
||||
kGameFlag561 = 561,
|
||||
kGameFlag562 = 562,
|
||||
kGameFlag563 = 563,
|
||||
kGameFlag564 = 564,
|
||||
kGameFlag565 = 565,
|
||||
kGameFlag566 = 566,
|
||||
kGameFlag567 = 567,
|
||||
kGameFlag568 = 568,
|
||||
kGameFlag569 = 569,
|
||||
kGameFlag570 = 570,
|
||||
kGameFlag572 = 572,
|
||||
kGameFlag582 = 582,
|
||||
kGameFlag583 = 583,
|
||||
kGameFlag596 = 596,
|
||||
kGameFlag597 = 597,
|
||||
kGameFlag598 = 598,
|
||||
kGameFlag599 = 599,
|
||||
kGameFlag600 = 600,
|
||||
kGameFlag608 = 608,
|
||||
kGameFlag619 = 619,
|
||||
kGameFlag635 = 635,
|
||||
kGameFlag636 = 636,
|
||||
kGameFlag637 = 637,
|
||||
kGameFlagSolveHiveControl = 640,
|
||||
kGameFlag684 = 684,
|
||||
kGameFlag685 = 685,
|
||||
kGameFlag686 = 686,
|
||||
kGameFlag687 = 687,
|
||||
kGameFlag688 = 688,
|
||||
kGameFlag689 = 689,
|
||||
kGameFlag690 = 690,
|
||||
kGameFlag691 = 691,
|
||||
kGameFlag692 = 692,
|
||||
kGameFlag693 = 693,
|
||||
kGameFlag694 = 694,
|
||||
kGameFlag695 = 695,
|
||||
kGameFlag696 = 696,
|
||||
kGameFlag697 = 697,
|
||||
kGameFlag698 = 698,
|
||||
kGameFlag699 = 699,
|
||||
kGameFlag700 = 700,
|
||||
kGameFlag701 = 701,
|
||||
kGameFlag702 = 702,
|
||||
kGameFlag703 = 703,
|
||||
kGameFlag704 = 704,
|
||||
kGameFlag705 = 705,
|
||||
kGameFlag706 = 706,
|
||||
kGameFlag707 = 707,
|
||||
kGameFlag708 = 708,
|
||||
kGameFlag722 = 722,
|
||||
kGameFlag723 = 723,
|
||||
kGameFlag724 = 724,
|
||||
kGameFlag725 = 725,
|
||||
kGameFlag726 = 726,
|
||||
kGameFlag727 = 727,
|
||||
kGameFlag728 = 728,
|
||||
kGameFlag729 = 729,
|
||||
kGameFlag730 = 730,
|
||||
kGameFlag759 = 759,
|
||||
kGameFlag760 = 760,
|
||||
kGameFlag761 = 761,
|
||||
kGameFlag776 = 776,
|
||||
kGameFlag790 = 790,
|
||||
kGameFlag791 = 791,
|
||||
kGameFlag792 = 792,
|
||||
kGameFlag794 = 794,
|
||||
kGameFlag795 = 795,
|
||||
kGameFlag796 = 796,
|
||||
kGameFlag797 = 797,
|
||||
kGameFlag801 = 801,
|
||||
kGameFlag802 = 802,
|
||||
kGameFlag803 = 803,
|
||||
kGameFlag804 = 804,
|
||||
kGameFlag805 = 805,
|
||||
kGameFlag806 = 806,
|
||||
kGameFlag809 = 809,
|
||||
kGameFlag810 = 810,
|
||||
kGameFlag815 = 815,
|
||||
kGameFlag816 = 816,
|
||||
kGameFlag817 = 817,
|
||||
kGameFlag818 = 818,
|
||||
kGameFlag819 = 819,
|
||||
kGameFlag820 = 820,
|
||||
kGameFlag821 = 821,
|
||||
kGameFlag822 = 822,
|
||||
kGameFlag823 = 823,
|
||||
kGameFlag824 = 824,
|
||||
kGameFlag825 = 825,
|
||||
kGameFlag826 = 826,
|
||||
kGameFlag827 = 827,
|
||||
kGameFlag828 = 828,
|
||||
kGameFlag829 = 829,
|
||||
kGameFlag830 = 830,
|
||||
kGameFlagSolveHiveMachine = 834,
|
||||
kGameFlag866 = 866,
|
||||
kGameFlag875 = 875,
|
||||
kGameFlag876 = 876,
|
||||
kGameFlag877 = 877,
|
||||
kGameFlag878 = 878,
|
||||
kGameFlag879 = 879,
|
||||
kGameFlag880 = 880,
|
||||
kGameFlag881 = 881,
|
||||
kGameFlag897 = 897,
|
||||
kGameFlag899 = 899,
|
||||
kGameFlagFinishGame = 901,
|
||||
kGameFlag925 = 925,
|
||||
kGameFlag937 = 937,
|
||||
kGameFlag1009 = 1009,
|
||||
kGameFlag1021 = 1021,
|
||||
kGameFlag1022 = 1022,
|
||||
kGameFlag1023 = 1023,
|
||||
kGameFlag1054 = 1054,
|
||||
kGameFlag1055 = 1055,
|
||||
kGameFlag1056 = 1056,
|
||||
kGameFlag1057 = 1057,
|
||||
kGameFlag1058 = 1058,
|
||||
kGameFlag1059 = 1059,
|
||||
kGameFlag1060 = 1060,
|
||||
kGameFlag1061 = 1061,
|
||||
kGameFlag1062 = 1062,
|
||||
kGameFlag1063 = 1063,
|
||||
kGameFlag1064 = 1064,
|
||||
kGameFlag1065 = 1065,
|
||||
kGameFlag1066 = 1066,
|
||||
kGameFlag1067 = 1067,
|
||||
kGameFlag1099 = 1099,
|
||||
kGameFlag1108 = 1108,
|
||||
kGameFlag1121 = 1121,
|
||||
kGameFlag1122 = 1122,
|
||||
kGameFlag1131 = 1131,
|
||||
kGameFlag1137 = 1137,
|
||||
kGameFlag1144 = 1144,
|
||||
kGameFlag3189 = 3189,
|
||||
kGameFlag3351 = 3351,
|
||||
kGameFlag3386 = 3386,
|
||||
kGameFlag3387 = 3387,
|
||||
kGameFlag3388 = 3388,
|
||||
kGameFlag3389 = 3389,
|
||||
kGameFlag3754 = 3754,
|
||||
kGameFlag3755 = 3755,
|
||||
kGameFlag3810 = 3810,
|
||||
kGameFlag3823 = 3823,
|
||||
kGameFlag3842 = 3842,
|
||||
kGameFlag3843 = 3843,
|
||||
kGameFlag3931 = 3931
|
||||
};
|
||||
|
||||
enum ChapterIndex {
|
||||
kChapterInvalid = -1,
|
||||
kChapterNone = 0,
|
||||
kChapter1,
|
||||
kChapter2,
|
||||
kChapter3,
|
||||
kChapter4,
|
||||
kChapter5,
|
||||
kChapter6,
|
||||
kChapter7,
|
||||
kChapter8,
|
||||
kChapter9,
|
||||
kChapter10,
|
||||
kChapter11,
|
||||
kChapter12,
|
||||
kChapter13
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Resources
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
enum ResourcePackId {
|
||||
kResourcePackText = 0,
|
||||
kResourcePackShared = 1,
|
||||
kResourcePackMusic = 2, // Special case: will load from mus* resources
|
||||
kResourcePackSpeech = 3,
|
||||
kResourcePackSharedSound = 4,
|
||||
kResourcePackTowerCells = 5,
|
||||
kResourcePackInnocentAbandoned = 6,
|
||||
kResourcePackCourtyardAndChapel = 7,
|
||||
kResourcePackCircusOfFools = 8,
|
||||
kResourcePackLaboratory = 9,
|
||||
kResourcePackHive = 10,
|
||||
kResourcePackMorgueAndCemetery = 11,
|
||||
kResourcePackLostVillage = 12,
|
||||
kResourcePackGauntlet = 13,
|
||||
kResourcePackMansion = 14,
|
||||
kResourcePackCave = 15,
|
||||
kResourcePackMaze = 16,
|
||||
kResourcePackMorgansLastGame = 17,
|
||||
kResourcePackSound = 18,
|
||||
kResourcePack104 = 104,
|
||||
kResourcePack204 = 204,
|
||||
kResourcePack304 = 304,
|
||||
|
||||
kResourcePackInvalid = 0xFFF
|
||||
};
|
||||
|
||||
#define MAKE_RESOURCE(pack, index) (ResourceId)((((pack) << 16) + 0x80000000) + (unsigned) (int32)(index))
|
||||
|
||||
typedef int ResourceId;
|
||||
|
||||
enum ResourcesId {
|
||||
kResourceInvalid = -1,
|
||||
kResourceNone = 0
|
||||
};
|
||||
|
||||
#define kMusicStopped -666
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Drawing
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum DrawFlags {
|
||||
kDrawFlagNone = 0,
|
||||
kDrawFlagMirrorLeftRight = 2
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Actions
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum ActionType {
|
||||
kActionTypeNone = 0,
|
||||
kActionTypeFind = 1,
|
||||
kActionTypeTalk = 2,
|
||||
kActionTypeGrab = 4,
|
||||
kActionType8 = 8,
|
||||
kActionType16 = 16
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Script
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum OpcodeType {
|
||||
kOpcodeReturn = 0,
|
||||
kOpcodeSetGameFlag,
|
||||
kOpcodeClearGameFlag,
|
||||
kOpcodeToggleGameFlag,
|
||||
kOpcodeJumpIfGameFlag,
|
||||
kOpcodeHideCursor, // 5
|
||||
kOpcodeShowCursor,
|
||||
kOpcodePlayAnimation,
|
||||
kOpcodeMoveScenePosition,
|
||||
kOpcodeHideActor,
|
||||
kOpcodeShowActor, // 10
|
||||
kOpcodeSetActorPosition,
|
||||
kOpcodeSetSceneMotionStatus,
|
||||
kOpcodeDisableActor,
|
||||
kOpcodeEnableActor,
|
||||
kOpcodeEnableObjects, // 15
|
||||
kOpcodeReturn1,
|
||||
kOpcodeRemoveObject,
|
||||
kOpcodeJumpActorSpeech,
|
||||
kOpcodeJumpAndSetDirection,
|
||||
kOpcodeJumpIfActorCoordinates, // 20
|
||||
kOpcodeNop,
|
||||
kOpcodeResetAnimation,
|
||||
kOpcodeDisableObject,
|
||||
kOpcodeJumpIfSoundPlayingAndPlaySound,
|
||||
kOpcodeJumpIfActionFind, // 25
|
||||
kOpcodeSetActionFind,
|
||||
kOpcodeClearActionFind,
|
||||
kOpcodeJumpIfActionGrab,
|
||||
kOpcodeSetActionGrab,
|
||||
kOpcodeClearActionGrab, // 30
|
||||
kOpcodeJumpIfActionTalk,
|
||||
kOpcodeSetActionTalk,
|
||||
kOpcodeClearActionTalk,
|
||||
kOpcodeAddToInventory,
|
||||
kOpcodeRemoveFromInventory, // 35
|
||||
kOpcodeJumpIfInventoryOmits,
|
||||
kOpcodeRunEncounter,
|
||||
kOpcodeJumpIfAction16,
|
||||
kOpcodeSetAction16,
|
||||
kOpcodeClearAction16, // 40
|
||||
kOpcodeSelectInventoryItem,
|
||||
kOpcodeJumpIfInventoryItemNotSelected,
|
||||
kOpcodeChangeScene,
|
||||
kOpcodeInteract,
|
||||
kOpcodePlayMovie, // 45
|
||||
kOpcodeStopAllObjectsSounds,
|
||||
kOpcodeStopProcessing,
|
||||
kOpcodeResumeProcessing,
|
||||
kOpcodeResetSceneRect,
|
||||
kOpcodeChangeMusicById, // 50
|
||||
kOpcodeStopMusic,
|
||||
kOpcodeIncrementParam1,
|
||||
kOpcodeSetVolume,
|
||||
kOpcodeJump,
|
||||
kOpcodeRunPuzzle, // 55
|
||||
kOpcodeJumpIfAction8,
|
||||
kOpcodeSetAction8,
|
||||
kOpcodeClearAction8,
|
||||
kOpcodeCreatePalette,
|
||||
kOpcodeIncrementParam2, // 60
|
||||
kOpcodeWaitUntilFramePlayed,
|
||||
kOpcodeUpdateWideScreen,
|
||||
kOpcodeJumpIfActor,
|
||||
kOpcodePlaySpeechScene,
|
||||
kOpcodePlaySpeech, // 65
|
||||
kOpcodePlaySpeechScene2,
|
||||
kOpcodeMoveScenePositionFromActor,
|
||||
kOpcodePaletteFade,
|
||||
kOpcodeQueuePaletteFade,
|
||||
kOpcodePlaySoundUpdateObject, // 70
|
||||
kOpcodeActorFaceTarget,
|
||||
kOpcodeHidMatteBars,
|
||||
kOpcodeShowMatteBars,
|
||||
kOpcodeJumpIfSoundPlaying,
|
||||
kOpcodeChangePlayer, // 75
|
||||
kOpcodeChangeActorStatus,
|
||||
kOpcodeStopSound,
|
||||
kOpcodeJumpRandom,
|
||||
kOpcodeClearScreen,
|
||||
kOpcodeQuit, // 80
|
||||
kOpcodeJumpObjectFrame,
|
||||
kOpcodeDeleteGraphics,
|
||||
kOpcodeSetPlayerField944,
|
||||
kOpcodeSetScriptField1BB0,
|
||||
kOpcodeOnScriptField1BB0, // 85
|
||||
kOpcodeWalkToActor,
|
||||
kOpcodeSetResourcePalette,
|
||||
kOpcodeSetObjectFrameIndexAndFlags,
|
||||
kOpcodeSetObjectFlags,
|
||||
kOpcodeSetActorActionIndex2, // 90
|
||||
kOpcodeUpdateTransparency,
|
||||
kOpcodeQueueScript,
|
||||
kOpcodeProcessActor,
|
||||
kOpcodeClearActorFields,
|
||||
kOpcodeSetObjectLastFrameIndex, // 95
|
||||
kOpcodeSetActionAreaFlags,
|
||||
kOpcodeMorphActor,
|
||||
kOpcodeShowMenu,
|
||||
kOpcodeUpdateGlobalFlags
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Actor
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef int ActorIndex;
|
||||
|
||||
enum ActorIndexes {
|
||||
kActorInvalid = -1,
|
||||
// TODO: check if the names match the actor type
|
||||
kActorMax = 0,
|
||||
kActorSarah = 1,
|
||||
kActorCyclops = 2,
|
||||
kActorAztec = 3
|
||||
};
|
||||
|
||||
enum ActorStatus {
|
||||
kActorStatusNone = 0,
|
||||
kActorStatusWalking = 1, // Walking
|
||||
kActorStatusWalkingTo, // Auto-walking to target
|
||||
kActorStatusInteracting,
|
||||
kActorStatusEnabled, // Standing Still
|
||||
kActorStatusDisabled, // 5
|
||||
kActorStatusShowingInventory,
|
||||
kActorStatusStoppedInteracting,
|
||||
kActorStatus8,
|
||||
kActorStatusFidget,
|
||||
kActorStatus10,
|
||||
kActorStatus11,
|
||||
kActorStatusWalking2,
|
||||
kActorStatusWalkingTo2,
|
||||
kActorStatusEnabled2,
|
||||
kActorStatusAttacking, // 15
|
||||
kActorStatusGettingHurt,
|
||||
kActorStatusRestarting,
|
||||
kActorStatus18,
|
||||
kActorStatusHittingPumpkin,
|
||||
kActorStatusStoppedHitting,
|
||||
kActorStatusMorphingInto
|
||||
};
|
||||
|
||||
enum ActorDirection {
|
||||
kDirectionInvalid = -1,
|
||||
kDirectionN = 0,
|
||||
kDirectionNW = 1,
|
||||
kDirectionW = 2,
|
||||
kDirectionSW = 3,
|
||||
kDirectionS = 4,
|
||||
kDirectionSE = 5,
|
||||
kDirectionE = 6,
|
||||
kDirectionNE = 7,
|
||||
kDirection8 = 8
|
||||
};
|
||||
|
||||
enum ActorFlags {
|
||||
kActorFlagVisible = 1,
|
||||
kActorFlagMasked = 2
|
||||
};
|
||||
|
||||
enum DirectionFrom {
|
||||
kDirectionFromObject = 0,
|
||||
kDirectionFromPolygons = 1,
|
||||
kDirectionFromActor = 2,
|
||||
kDirectionFromParameters = 3
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Object
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum ObjectId {
|
||||
kObjectInvalid = -1,
|
||||
kObjectNone = 0,
|
||||
kObjectHeadBanger = 101,
|
||||
kObjectAngelFlares = 112,
|
||||
kObjectTicaTac01 = 391,
|
||||
kObjectGuyWobbles = 405,
|
||||
kObjectGuyFalls = 434,
|
||||
kObjectRocker = 441,
|
||||
kObjectOpeningGate = 485,
|
||||
kObjectTableRecordRoom = 659,
|
||||
kObject703 = 703,
|
||||
kObjectTree8 = 726,
|
||||
kObjectSlab = 743,
|
||||
kObjectDrMorgan = 801,
|
||||
kObjectPreacherBobAssistant = 802,
|
||||
kObjectPreacherBob = 803,
|
||||
kObjectNPC024Church = 816,
|
||||
kObjectNpc024TalkChurch = 817,
|
||||
kObjectNpc024DanceAway = 820,
|
||||
kObjectNpc024TalkFount = 824,
|
||||
kObjectNPC024Fountain = 825,
|
||||
kObjectNPC027Sit = 838,
|
||||
kObjectNPC028Sit = 839,
|
||||
kObjectNPC029Sit = 840,
|
||||
kObjectNPC027Dancing = 844,
|
||||
kObjectNPC028Dancing = 845,
|
||||
kObjectNpc029Dancing = 846,
|
||||
kObjectNPC026OutOfWay = 861,
|
||||
kObjectNPC026Talking = 862,
|
||||
kObjectNpc025Talking = 863,
|
||||
kObjectNpc000Talking = 873,
|
||||
kObjectOrangeRecord = 920,
|
||||
kObjectNpc029Talk = 922,
|
||||
kObjectNpc027Talk = 925,
|
||||
kObjectNpc028Talk = 927,
|
||||
kObjectJessieStatusQuo = 984,
|
||||
kObjectMarty02 = 991,
|
||||
kObjectEileenOnBench = 993,
|
||||
kObject994 = 994,
|
||||
kObjectFishingBoy = 1001,
|
||||
kObjectDennisStatusQuo = 1011,
|
||||
kObjectDennisTalk = 1012,
|
||||
kObjectSailorBoy = 1013,
|
||||
kObjectEleenOnGround = 1019,
|
||||
kObjectSailorStatusQuo = 1021,
|
||||
kObjectNPC026TalkStatusQuo = 1038,
|
||||
kObjectDennisTalkHide = 1051,
|
||||
kObjectDennisFoundSt = 1052,
|
||||
kObjectBillyTalks = 1061,
|
||||
kObjectJessieTalks = 1072,
|
||||
kObjectSuckerTalks = 1082,
|
||||
kObjectSuckerSittingStatusQuo = 1084,
|
||||
kObjectBillyStatusUp = 1090,
|
||||
kObjectJessieStatusWhileUp = 1091,
|
||||
kObjectTalkToBallBoy = 1105,
|
||||
kObjectIleanStatusFrame = 1125,
|
||||
kObjectBubbles = 1185,
|
||||
kObjectGlow = 1186,
|
||||
kObjectDome = 1187,
|
||||
kObjectRedLight = 1188,
|
||||
kObjectRing = 1189,
|
||||
kObjectBallMovesUpright = 1190,
|
||||
kObjectGearsLightUp = 1191,
|
||||
kObjectMarisStatusQuo = 1199,
|
||||
kObjectMariaPointsLeft = 1200,
|
||||
kObjectMariaPointsRight = 1201,
|
||||
kObjectNPC032Sleeping = 1250,
|
||||
kObjectNPC032StatusQuoOutside = 1254,
|
||||
kObjectNpc032TalkOutside = 1255,
|
||||
kObjectNPC032StatusQuoBigTop = 1256,
|
||||
kObjectRingmasterTalkTent = 1257,
|
||||
kObjectGlobe = 1261,
|
||||
kObjectDrawers3 = 1276,
|
||||
kObjectChalice = 1286,
|
||||
kObjectFreezerHallInterior = 1337,
|
||||
kObjectNPC033StartEnc = 1338,
|
||||
kObjectNpc033Talking = 1339,
|
||||
kObjectNpc033SqNoBook = 1341,
|
||||
kObjectNPC033GetBook = 1343,
|
||||
kObjectNPC033Reading = 1344,
|
||||
kObjectBodyTalks = 1371,
|
||||
kObjectBodyStat = 1373,
|
||||
kObjectOldMan3 = 1377,
|
||||
kObjectTattooingStrongMan = 1390,
|
||||
kObjectTattooManStatusQuo = 1391, // NPC 34
|
||||
kObjectTattooGuy034Talk = 1392,
|
||||
kObjectStrongmanStatusQuo = 1402, // NPC 35
|
||||
kObjectStrongman035Talk = 1403,
|
||||
kObjectStrongmanStatusQuo2 = 1405, // NPC 35
|
||||
kObjectInfernoStatusQuo = 1408, // NPC 36
|
||||
kObjectInfernoTalk036 = 1409,
|
||||
kObjectJugglerWithPin = 1423, // NPC 37
|
||||
kObjectJuggler = 1424, // NPC 37
|
||||
kObjectClown038Talk = 1427,
|
||||
kObjectClownStatusQuo = 1428, // NPC 38
|
||||
kObjectTrixieStatusQuo = 1432, // NPC 39
|
||||
kObjectTrixie039Talk = 1433,
|
||||
kObjectSimonStatusQuo = 1434, // NPC 40
|
||||
kObjectSSimon040Talk = 1435,
|
||||
kObjectBigTopBarrel = 1436,
|
||||
kObjectFunTixStatusQuo = 1437, // NPC 44
|
||||
kObjectStandBehindJuggler = 1438,
|
||||
kObjectFreakTixStatusQuoUp = 1439, // NPC 45
|
||||
kObjectFreakTixStatusQuoDown = 1440, // NPC 45
|
||||
kObjectFortTellerStatusQuo = 1444, // NPC 45
|
||||
kObjectStrongmanLeft = 1449, // NPC 35
|
||||
kObjectStrongmanRight = 1450, // NPC 35
|
||||
kObjectRingTossStatusQuo = 1451, // NPC 47
|
||||
kObjectKnockDownStatusQuo = 1455, // NPC 47
|
||||
kObjectPigShootStatusQuo = 1456, // NPC 47
|
||||
kObjectPretzool048Talk = 1460,
|
||||
kObjectPretZoolStatusQuo = 1461, // NPC 48
|
||||
kObjectTimberStatusQuo = 1462, // NPC 49
|
||||
kObjectTimber049Talk = 1463,
|
||||
kObjectTwinsStatusQuo = 1465, // NPC 50
|
||||
kObjectTwins050Talk = 1466,
|
||||
kObjectSean051Talk = 1467,
|
||||
kObjectSeanStatusQuo = 1468, // NPC 51
|
||||
kObjectMom052Talk = 1469,
|
||||
kObjectMomAndPopStatusQuo = 1470, // NPCs 52-53
|
||||
kObjectPop053Talk = 1471,
|
||||
kObjectCrow1FlysAway = 1485,
|
||||
kObjectCrow1Pecks = 1486,
|
||||
kObjectCrow2AmbientPecks = 1495,
|
||||
kObjectCrow2FlysAway = 1500,
|
||||
kObjectCrow3FlysAway = 1502,
|
||||
kObjectCrow3Pecks = 1503,
|
||||
kObjectCrow4FlysAway = 1506,
|
||||
kObjectCrow4Pecks = 1507,
|
||||
kObjectPumpkin1Loop = 1523,
|
||||
kObjectPumpkin2Loop = 1524,
|
||||
kObjectPumpkin3Loop = 1525,
|
||||
kObjectPumpkin4Loop = 1526,
|
||||
kObjectPumpkin5Loop = 1527,
|
||||
kObjectPumpkin6Loop = 1528,
|
||||
kObjectPumpkin7Loop = 1529,
|
||||
kObjectPumpkin1Dies = 1530,
|
||||
kObjectPumpkin2Dies = 1531,
|
||||
kObjectPumpkin3Dies = 1532,
|
||||
kObjectPumpkin4Dies = 1533,
|
||||
kObjectPumpkin5Dies = 1534,
|
||||
kObjectPumpkin6Dies = 1535,
|
||||
kObjectPumpkin7Dies = 1536,
|
||||
kObjectDennisStatus2 = 1580,
|
||||
kObjectPreAlphaNut = 1582,
|
||||
kObjectPreAlphaNut2 = 1584,
|
||||
kObjectMotherTalking = 1587,
|
||||
kObjectDeadMomFromOutside = 1589,
|
||||
kObjectHeadOnTable = 1595,
|
||||
kObjectNpc049Sq2 = 1658,
|
||||
kObjectTreeTalks = 1671,
|
||||
kObjectCave = 1763,
|
||||
kObjectWitchDoctor = 1778,
|
||||
kObjectWitchTalks = 1779,
|
||||
kObjectStoneMaison = 1780,
|
||||
kObjectStoneMaisonTalk = 1781,
|
||||
kObjectStoneWifeStatuQuo = 1782,
|
||||
kObjectStoneWifeTalks = 1783,
|
||||
kObjectFishermanWidowStatusQuo = 1786,
|
||||
kObjectFishermansWTalks = 1787,
|
||||
kObjectOracleTalks = 1853,
|
||||
kObjectOracleTalkStatus = 1854,
|
||||
kObjectABarrier = 1899,
|
||||
kObjectMonsterUp = 1956,
|
||||
kObjectMonsterStatus = 1957,
|
||||
kObjectMonsterDeath = 1958,
|
||||
kObjectMonsterAttack = 1959,
|
||||
kObjectPuke1 = 1960,
|
||||
kObjectPuke2 = 1961,
|
||||
kObjectPuke3 = 1962,
|
||||
kObjectMonsterHurt = 1997,
|
||||
kObjectBlinks = 2064,
|
||||
kObjectWheel1 = 2113,
|
||||
kObjectWheel2 = 2114,
|
||||
kObjectWheel3 = 2115,
|
||||
kObjectWheel4 = 2116,
|
||||
kObjectWheel5 = 2117,
|
||||
kObjectWheel6 = 2118,
|
||||
kObjectWheel7 = 2119,
|
||||
kObjectStoneMasonStatusHitt = 2123,
|
||||
kObjectFlamingHeadLeftSide = 2129,
|
||||
kObjectHook1B = 2131,
|
||||
kObjectHook2B = 2132,
|
||||
kObjectHook3B = 2133,
|
||||
kObjectHook4B = 2134,
|
||||
kObjectHook5B = 2135,
|
||||
kObjectHook6B = 2136,
|
||||
kObjectHook0Down = 2152,
|
||||
kObjectHook2Down = 2154,
|
||||
kObjectHook3Down = 2155,
|
||||
kObjectHook4Down = 2156,
|
||||
kObjectHook5Down = 2157,
|
||||
kObjectHook6Down = 2158,
|
||||
kObject2230 = 2230,
|
||||
kObjectMotherTalkingSq = 2280,
|
||||
kObjectGravinStatusQuoCyber = 2324,
|
||||
kObjectGravinTalkCyber = 2325,
|
||||
kObjectGravinSqGravins = 2327,
|
||||
kObjectGravinTalkGravins = 2328,
|
||||
kObjectGravinSqDoor = 2329,
|
||||
kObjectGravinTalkDoor = 2330,
|
||||
kObjectGravinSqGromnas = 2332,
|
||||
kObjectGravinTalkGromnas = 2333,
|
||||
kObjectGravinWorkMachine = 2337,
|
||||
kObjectNPC062GritzaStatusQuo = 2399,
|
||||
kObjectNpc062GritzaTalk = 2400,
|
||||
kObjectNPC063GrundleStatusQuo = 2410,
|
||||
kObjectNpc063GrundleTalk = 2411,
|
||||
kObjectNPC064GrellaStatusQuo = 2418,
|
||||
kObjectNpc064GrellaTalk = 2420,
|
||||
kObjectSparkPuzzleLeft = 2427,
|
||||
kObjectSparkPuzzleMiddle = 2429,
|
||||
kObjectLavaBridge = 2445,
|
||||
kObjectSparkPuzzleRight = 2451,
|
||||
kObjectNpc065Talk = 2467,
|
||||
kObjectNPC065StatusQuo = 2469,
|
||||
kObjectFloorTrap1 = 2473,
|
||||
kObjectFloorTrap2 = 2474,
|
||||
kObjectFloorTrap3 = 2475,
|
||||
kObjectFloorTrap4 = 2476,
|
||||
kObjectFloorTrap5 = 2477,
|
||||
kObjectGlow4 = 2478,
|
||||
kObjectBugOnTable = 2480,
|
||||
kObjectFloorTrap6 = 2481,
|
||||
kObjectFloorTrap7 = 2482,
|
||||
kObjectFloorTrap8 = 2483,
|
||||
kObjectFloorTrap9 = 2484,
|
||||
kObjectWadeThroughLava = 2500,
|
||||
kObjectNPC066StatusQuo = 2504,
|
||||
kObject2507 = 2507,
|
||||
kObjectBrokenPipe = 2508,
|
||||
kObjectBodySlides1 = 2514,
|
||||
kObjectBodySlides2 = 2515,
|
||||
kObjectBodySlides3 = 2516,
|
||||
kObjectBodySlides4 = 2517,
|
||||
kObjectBodySlides5 = 2518,
|
||||
kObjectBodySlides6 = 2519,
|
||||
kObjectEmberPopsOut = 2526,
|
||||
kObjectBugCarriesEmber = 2527,
|
||||
kObjectLittleGirlTalk = 2540,
|
||||
kObjectGirlStatusQuo = 2541,
|
||||
kObjectWitchWifeStirring = 2543,
|
||||
kObjectWitchWifeTalking = 2546,
|
||||
kObjectFurnaceHole = 2554,
|
||||
kObjectInsidePipeCyberPod = 2555,
|
||||
kObjectTopOfFurnace = 2566,
|
||||
kObjectElderBugLimb = 2572,
|
||||
kObjectQuetzlcaotlStatusQuo = 2578,
|
||||
kObjectGhost1 = 2579,
|
||||
kObjectGhost2 = 2580,
|
||||
kObjectGhost3 = 2581,
|
||||
kObjectGhost4 = 2582,
|
||||
kObjectGhost5 = 2583,
|
||||
kObjectGhost6 = 2584,
|
||||
kObjectDiscardedBugPincer = 2587,
|
||||
kObjectGong1 = 2590,
|
||||
kObjectGong2 = 2591,
|
||||
kObjectGong3 = 2592,
|
||||
kObjectGong4 = 2593,
|
||||
kObjectGong5 = 2594,
|
||||
kObjectGong6 = 2596,
|
||||
kObjectDeadShamanStill = 2604,
|
||||
kObjectGhost2b = 2634,
|
||||
kObjectJumpDown = 2648,
|
||||
kObjectRitualLoop = 2674,
|
||||
kObjectLine = 2859,
|
||||
kObjectZapPattern1 = 2876,
|
||||
kObjectZapPattern2 = 2877,
|
||||
kObjectZapPattern3 = 2878,
|
||||
kObjectBlanklPixelForWarrior = 2884,
|
||||
kObjectPixelForHutWarrior = 2885,
|
||||
kObjectPixelForWaterfallGhost = 2886,
|
||||
kObjectPixelForQueztza = 2891,
|
||||
kObjectZapPattern4 = 2892,
|
||||
kObjectZapPattern5 = 2893,
|
||||
kObjectZapPattern6 = 2894,
|
||||
kObjectZapPattern7 = 2895,
|
||||
kObjectZapPattern8 = 2896,
|
||||
kObjectZapPattern9 = 2897,
|
||||
kObjectObituary = 2990,
|
||||
kObjectCarolsDiary = 2992,
|
||||
kObjectTrixieSq2 = 3002,
|
||||
kObjectSimonSq2 = 3003,
|
||||
kObjectEileenTalkingWithShove = 3011,
|
||||
kObjectStqEileenTalkWithShov = 3016,
|
||||
kObjectLitLimbScanner = 3061,
|
||||
kObjectOfficeWallNew = 3062,
|
||||
kObjectCyberTable = 3065,
|
||||
|
||||
kObjectEnd
|
||||
};
|
||||
|
||||
enum ObjectFlag {
|
||||
kObjectFlagEnabled = 0x1,
|
||||
kObjectFlag2 = 0x2,
|
||||
kObjectFlag4 = 0x4,
|
||||
kObjectFlag6 = 0x6,
|
||||
kObjectFlag8 = 0x8,
|
||||
kObjectFlag10 = 0x10,
|
||||
kObjectFlag20 = 0x20,
|
||||
kObjectFlag40 = 0x40,
|
||||
kObjectFlag80 = 0x80,
|
||||
kObjectFlagBF = 0xBF,
|
||||
kObjectFlag1000 = 0x1000,
|
||||
kObjectFlagC000 = 0xC000,
|
||||
kObjectFlag10000 = 0x10000,
|
||||
kObjectFlag10E38 = 0x10E38,
|
||||
kObjectFlag20000 = 0x20000,
|
||||
kObjectFlag40000 = 0x40000
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Puzzles
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum PuzzleId {
|
||||
kPuzzleVCR = 0,
|
||||
kPuzzlePipes,
|
||||
kPuzzleTicTacToe,
|
||||
kPuzzleLock,
|
||||
kPuzzle4,
|
||||
kPuzzleWheel, // 5
|
||||
kPuzzleBoardSalvation,
|
||||
kPuzzleBoardYouth,
|
||||
kPuzzleBoardKeyHidesTo,
|
||||
kPuzzleWritings,
|
||||
kPuzzle11, // 10
|
||||
kPuzzleMorgueDoor,
|
||||
kPuzzleClock,
|
||||
kPuzzleTimeMachine,
|
||||
kPuzzleFisherman,
|
||||
kPuzzleHiveMachine, // 15
|
||||
kPuzzleHiveControl
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Custom engine actions
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
enum AsylumAction {
|
||||
kAsylumActionShowVersion,
|
||||
kAsylumActionQuickLoad,
|
||||
kAsylumActionQuickSave,
|
||||
kAsylumActionSwitchToSarah,
|
||||
kAsylumActionSwitchToGrimwall,
|
||||
kAsylumActionSwitchToOlmec,
|
||||
kAsylumActionOpenInventory,
|
||||
kAsylumActionShowMenu,
|
||||
kAsylumActionMoveUp,
|
||||
kAsylumActionMoveDown,
|
||||
kAsylumActionMoveRight,
|
||||
kAsylumActionMoveLeft,
|
||||
kAsylumActionNextResource,
|
||||
kAsylumActionPreviousResource,
|
||||
kAsylumActionNextPalette,
|
||||
kAsylumActionPreviousPalette,
|
||||
kAsylumActionAnimate
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Helpers
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
#define CLEAR_ARRAY(type, name) { \
|
||||
for (Common::Array<type *>::iterator it = name.begin(); it != name.end(); it++) {\
|
||||
delete *it; \
|
||||
*it = NULL; \
|
||||
} \
|
||||
name.clear(); \
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Macros
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Misc
|
||||
#define rnd(val) _vm->getRandom(val)
|
||||
|
||||
// Engine subclasses
|
||||
#define getEncounter() _vm->encounter()
|
||||
#define getCursor() _vm->cursor()
|
||||
#define getMenu() _vm->menu()
|
||||
#define getPuzzles() _vm->puzzles()
|
||||
#define getReaction() _vm->reaction()
|
||||
#define getResource() _vm->resource()
|
||||
#define getSound() _vm->sound()
|
||||
#define getSaveLoad() _vm->savegame()
|
||||
#define getScene() _vm->scene()
|
||||
#define getScreen() _vm->screen()
|
||||
#define getScript() _vm->script()
|
||||
#define getSharedData() _vm->data()
|
||||
#define getSpecial() _vm->special()
|
||||
#define getSpeech() _vm->speech()
|
||||
#define getText() _vm->text()
|
||||
#define getVideo() _vm->video()
|
||||
#define getWorld() _vm->scene()->worldstats()
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Sub-integer partial access macros
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
#if defined SCUMM_LITTLE_ENDIAN
|
||||
#define LOBYTE(d) (*((char *)&(d)))
|
||||
#define BYTE1(d) (*((char *)&(d) + 1)) // Same as HIBYTE()
|
||||
#elif defined SCUMM_BIG_ENDIAN
|
||||
#define LOBYTE(d) (*((char *)&(d) + sizeof(d) - 1))
|
||||
#define BYTE1(d) (*((char *)&(d) + sizeof(d) - 2))
|
||||
#endif
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Resource ID macros
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
#define RESOURCE_PACK(id) (ResourcePackId)((((uint32)id) >> 16) & 0x7FFF)
|
||||
#define RESOURCE_INDEX(id) (uint16)(id)
|
||||
|
||||
} // End of namespace Asylum
|
||||
|
||||
#endif // ASYLUM_SHARED_H
|
||||
Reference in New Issue
Block a user