mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-18 23:57:32 +00:00
TSAGE: Implemented Scene #4010 - Village - By Lander
This commit is contained in:
parent
df80ff2f51
commit
0e35331302
@ -3076,9 +3076,11 @@ void WalkRegions::load(int sceneNum) {
|
||||
|
||||
_resNum = sceneNum;
|
||||
byte *regionData = _vm->_dataManager->getResource(RES_WALKRGNS, sceneNum, 1, true);
|
||||
if (!regionData)
|
||||
if (!regionData) {
|
||||
// No data, so return
|
||||
_resNum = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
byte *dataP;
|
||||
int dataSize;
|
||||
|
@ -108,6 +108,8 @@ Scene *SceneFactory::createScene(int sceneNumber) {
|
||||
/* Scene group 5 */
|
||||
// Village
|
||||
case 4000: return new Scene4000();
|
||||
// Village - Outside Lander
|
||||
case 4010: return new Scene4010();
|
||||
|
||||
/* Scene group 6 */
|
||||
|
||||
|
@ -1237,4 +1237,51 @@ void Scene4000::dispatch() {
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Scene 4010 - Village - Outside Lander
|
||||
*
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
void Scene4010::postInit(SceneObjectList *OwnerList) {
|
||||
loadScene(4010);
|
||||
Scene::postInit();
|
||||
setZoomPercents(0, 20, 70, 50);
|
||||
|
||||
_stripManager.addSpeaker(&_speakerQText);
|
||||
_stripManager.addSpeaker(&_speakerSText);
|
||||
_stripManager.addSpeaker(&_speakerMText);
|
||||
_speakerSText._npc = &_hotspot1;
|
||||
_speakerMText._npc = &_hotspot2;
|
||||
_speakerQText._npc = &_globals->_player;
|
||||
|
||||
_globals->_player.postInit();
|
||||
_globals->_player.setVisage(0);
|
||||
_globals->_player.animate(ANIM_MODE_1, NULL);
|
||||
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
|
||||
_globals->_player.setPosition(Common::Point(-38, 175));
|
||||
_globals->_player.changeZoom(75);
|
||||
|
||||
_hotspot2.postInit();
|
||||
_hotspot2.setVisage(2705);
|
||||
_hotspot2.animate(ANIM_MODE_1, NULL);
|
||||
_hotspot2.setObjectWrapper(new SceneObjectWrapper());
|
||||
_hotspot2._moveDiff = Common::Point(4, 2);
|
||||
_hotspot2.setPosition(Common::Point(-50, 185));
|
||||
_hotspot2.changeZoom(75);
|
||||
|
||||
_hotspot1.postInit();
|
||||
_hotspot1.setVisage(2806);
|
||||
_hotspot1.setPosition(Common::Point(-20, 175));
|
||||
_hotspot1.changeZoom(75);
|
||||
_hotspot1.animate(ANIM_MODE_1, NULL);
|
||||
_hotspot1.setObjectWrapper(new SceneObjectWrapper());
|
||||
|
||||
_globals->_player.disableControl();
|
||||
setAction(&_sequenceManager, this, 4017, &_globals->_player, &_hotspot1, &_hotspot2, NULL);
|
||||
}
|
||||
|
||||
void Scene4010::signal() {
|
||||
_globals->_sceneManager.changeScene(4000);
|
||||
}
|
||||
|
||||
} // End of namespace tSage
|
||||
|
@ -186,6 +186,18 @@ public:
|
||||
virtual void dispatch();
|
||||
};
|
||||
|
||||
class Scene4010: public Scene {
|
||||
public:
|
||||
SequenceManager _sequenceManager;
|
||||
SpeakerQText _speakerQText;
|
||||
SpeakerSText _speakerSText;
|
||||
SpeakerMText _speakerMText;
|
||||
SceneObject _hotspot1, _hotspot2;
|
||||
|
||||
virtual void postInit(SceneObjectList *OwnerList = NULL);
|
||||
virtual void signal();
|
||||
};
|
||||
|
||||
} // End of namespace tSage
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user