MADS: Phantom: Implement scene 504

This commit is contained in:
Strangerke 2015-11-07 14:46:09 +01:00
parent 178e45f4d9
commit 1b75381b98
4 changed files with 1438 additions and 32 deletions

View File

@ -147,7 +147,7 @@ SceneLogic *SceneFactory::createScene(MADSEngine *vm) {
case 502: // push panel trap
return new Scene502(vm);
case 504: // Phantom's hideout, church organ
return new DummyScene(vm); // TODO
return new Scene504(vm);
case 505: // Phantom's hideout, sarcophagus
return new DummyScene(vm); // TODO
case 506: // catacomb room with ramp

View File

@ -71,6 +71,8 @@ enum Verb {
VERB_WALK_BEHIND = 0xF3,
VERB_CLIMB = 0x120,
VERB_GRAPPLE = 0x133,
VERB_SIT_ON = 0x138,
VERB_SIT_IN = 0x13A,
VERB_WALK_DOWN_STAIRS_TO = 0x153
};
@ -350,9 +352,7 @@ enum Noun {
NOUN_ORGAN = 0x135,
NOUN_SIT_AT = 0x136,
NOUN_ORGAN_BENCH = 0x137,
NOUN_SIT_ON = 0x138,
NOUN_LARGE_CHAIR = 0x139,
NOUN_SIT_IN = 0x13A,
NOUN_SARCOPHAGUS = 0x13B,
NOUN_SKULL = 0x13C,
NOUN_SKULLS = 0x13D,

File diff suppressed because it is too large Load Diff

View File

@ -114,6 +114,53 @@ public:
virtual void actions();
};
class Scene504 : public Scene5xx {
private:
bool _anim0ActvFl;
bool _anim1ActvFl;
bool _anim2ActvFl;
bool _anim3ActvFl;
bool _anim4ActvFl;
bool _anim5ActvFl;
bool _playingMusicFl;
bool _chairDialogDoneFl;
bool _fireBreathFl;
int _songNum;
int _input3Count;
int _playCount;
int _listenStatus;
int _listenFrame;
int _chairStatus;
int _chairFrame;
int _playStatus;
int _playFrame;
int _phantomStatus;
int _phantomFrame;
int _christineTalkCount;
int _deathCounter;
void handleListenAnimation();
void handleOrganAnimation();
void handleChairAnimation();
void handlePhantomAnimation1();
void handlePhantomAnimation2();
void handlePhantomAnimation3();
void handleListenConversation();
void handlePlayConversation();
void handleFightConversation();
public:
Scene504(MADSEngine *vm);
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