mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-07 10:21:31 +00:00
MADS: Phantom: Implement scene 502 (except palette cycling)
This commit is contained in:
parent
4682aec147
commit
8920632798
@ -145,7 +145,7 @@ SceneLogic *SceneFactory::createScene(MADSEngine *vm) {
|
||||
case 501: // catacombs, outside phantom's hideout, lake and boat
|
||||
return new Scene501(vm);
|
||||
case 502: // push panel trap
|
||||
return new DummyScene(vm); // TODO
|
||||
return new Scene502(vm);
|
||||
case 504: // Phantom's hideout, church organ
|
||||
return new DummyScene(vm); // TODO
|
||||
case 505: // Phantom's hideout, sarcophagus
|
||||
|
@ -53,6 +53,7 @@ enum Verb {
|
||||
VERB_EXIT = 0x34,
|
||||
VERB_EXIT_TO = 0x37,
|
||||
VERB_JUMP_INTO = 0x53,
|
||||
VERB_LASSO = 0x59,
|
||||
VERB_LOCK = 0x5D,
|
||||
VERB_LOOK_AT = 0x60,
|
||||
VERB_LOOK_THROUGH = 0x61,
|
||||
@ -69,6 +70,7 @@ enum Verb {
|
||||
VERB_ENTER = 0xEC,
|
||||
VERB_WALK_BEHIND = 0xF3,
|
||||
VERB_CLIMB = 0x120,
|
||||
VERB_GRAPPLE = 0x133,
|
||||
VERB_WALK_DOWN_STAIRS_TO = 0x153
|
||||
};
|
||||
|
||||
@ -143,7 +145,6 @@ enum Noun {
|
||||
NOUN_LAMP = 0x56,
|
||||
NOUN_LANTERN = 0x57,
|
||||
NOUN_LARGE_NOTE = 0x58,
|
||||
NOUN_LASSO = 0x59,
|
||||
NOUN_LEG = 0x5A,
|
||||
NOUN_LETTER = 0x5B,
|
||||
NOUN_LIGHT_FIXTURE = 0x5C,
|
||||
@ -345,7 +346,6 @@ enum Noun {
|
||||
NOUN_CABLE_HOOK = 0x130,
|
||||
NOUN_ATTACH = 0x131,
|
||||
NOUN_ROPE_WITH_HOOK = 0x132,
|
||||
NOUN_GRAPPLE = 0x133,
|
||||
NOUN_OAR = 0x134,
|
||||
NOUN_ORGAN = 0x135,
|
||||
NOUN_SIT_AT = 0x136,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -55,8 +55,8 @@ public:
|
||||
|
||||
class Scene501 : public Scene5xx {
|
||||
private:
|
||||
bool _anim_0_running;
|
||||
bool _prevent_2;
|
||||
bool _anim0ActvFl;
|
||||
bool _skipFl;
|
||||
|
||||
public:
|
||||
Scene501(MADSEngine *vm);
|
||||
@ -69,6 +69,51 @@ public:
|
||||
virtual void actions();
|
||||
};
|
||||
|
||||
class Scene502 : public Scene5xx {
|
||||
private:
|
||||
bool _fire1ActiveFl;
|
||||
bool _fire2ActiveFl;
|
||||
bool _fire3ActiveFl;
|
||||
bool _fire4ActiveFl;
|
||||
bool _panelTurningFl;
|
||||
bool _trapDoorHotspotEnabled;
|
||||
bool _acceleratedFireActivationFl;
|
||||
|
||||
int _panelPushedNum;
|
||||
int _puzzlePictures[16];
|
||||
int _puzzleSprites[16];
|
||||
int _puzzleSequences[16];
|
||||
int _messageLevel;
|
||||
int _cycleStage;
|
||||
|
||||
Common::Point _nextPos;
|
||||
|
||||
uint32 _lastFrameTime;
|
||||
uint32 _timer;
|
||||
uint32 _deathTimer;
|
||||
|
||||
byte *_cyclePointer;
|
||||
|
||||
void room_502_initialize_panels();
|
||||
void loadCyclingInfo();
|
||||
void animateFireBursts();
|
||||
void setPaletteCycle();
|
||||
void handlePanelAnimation();
|
||||
void getPanelInfo(Common::Point *walkToPos, int *panel, Common::Point mousePos, Common::Point *interimPos);
|
||||
|
||||
public:
|
||||
Scene502(MADSEngine *vm);
|
||||
~Scene502();
|
||||
|
||||
virtual void synchronize(Common::Serializer &s);
|
||||
|
||||
virtual void setup();
|
||||
virtual void enter();
|
||||
virtual void step();
|
||||
virtual void preActions();
|
||||
virtual void actions();
|
||||
};
|
||||
|
||||
} // End of namespace Phantom
|
||||
} // End of namespace MADS
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user