mirror of
https://github.com/scummvm/scummvm.git
synced 2026-06-20 05:45:29 +00:00
Implemented RTL support
svn-id: r34933
This commit is contained in:
@@ -348,12 +348,23 @@ public:
|
||||
return "MADE Engine (C) Activision";
|
||||
}
|
||||
|
||||
virtual bool hasFeature(MetaEngineFeature f) const;
|
||||
virtual bool createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const;
|
||||
|
||||
const Common::ADGameDescription *fallbackDetect(const Common::FSList &fslist) const;
|
||||
|
||||
};
|
||||
|
||||
bool MadeMetaEngine::hasFeature(MetaEngineFeature f) const {
|
||||
return
|
||||
false;
|
||||
}
|
||||
|
||||
bool Made::MadeEngine::hasFeature(EngineFeature f) const {
|
||||
return
|
||||
(f == kSupportsRTL);
|
||||
}
|
||||
|
||||
bool MadeMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::ADGameDescription *desc) const {
|
||||
const Made::MadeGameDescription *gd = (const Made::MadeGameDescription *)desc;
|
||||
if (gd) {
|
||||
|
||||
@@ -116,8 +116,6 @@ MadeEngine::MadeEngine(OSystem *syst, const MadeGameDescription *gameDesc) : Eng
|
||||
debug(1, "Music disabled.");
|
||||
}
|
||||
|
||||
_quit = false;
|
||||
|
||||
// Set default sound frequency
|
||||
// Return to Zork sets it itself via a script funtion
|
||||
if (getGameID() == GID_MANHOLE || getGameID() == GID_RODNEY) {
|
||||
@@ -230,10 +228,6 @@ void MadeEngine::handleEvents() {
|
||||
_eventNum = 5;
|
||||
break;
|
||||
|
||||
case Common::EVENT_QUIT:
|
||||
_quit = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
|
||||
+3
-2
@@ -85,6 +85,9 @@ protected:
|
||||
public:
|
||||
MadeEngine(OSystem *syst, const MadeGameDescription *gameDesc);
|
||||
virtual ~MadeEngine();
|
||||
|
||||
virtual bool hasFeature(EngineFeature f) const;
|
||||
|
||||
int getGameId() {
|
||||
return _gameId;
|
||||
}
|
||||
@@ -105,8 +108,6 @@ public:
|
||||
ScriptInterpreter *_script;
|
||||
MusicPlayer *_music;
|
||||
|
||||
bool _quit;
|
||||
|
||||
uint16 _eventNum;
|
||||
int _eventMouseX, _eventMouseY;
|
||||
uint16 _eventKey;
|
||||
|
||||
@@ -95,7 +95,7 @@ void PmvPlayer::play(const char *filename) {
|
||||
// get it to work well?
|
||||
_audioStream = Audio::makeAppendableAudioStream(soundFreq, Audio::Mixer::FLAG_UNSIGNED);
|
||||
|
||||
while (!_abort && !_fd->eos()) {
|
||||
while (!_vm->shouldQuit() && !_abort && !_fd->eos()) {
|
||||
|
||||
int32 frameTime = _vm->_system->getMillis();
|
||||
|
||||
@@ -214,10 +214,6 @@ void PmvPlayer::handleEvents() {
|
||||
if (event.kbd.keycode == Common::KEYCODE_ESCAPE)
|
||||
_abort = true;
|
||||
break;
|
||||
case Common::EVENT_QUIT:
|
||||
_vm->_quit = true;
|
||||
_abort = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -191,7 +191,6 @@ void ScriptInterpreter::runScript(int16 scriptObjectIndex) {
|
||||
|
||||
uint32 opcodeSleepCounter = 0;
|
||||
|
||||
_vm->_quit = false;
|
||||
_runningScriptObjectIndex = scriptObjectIndex;
|
||||
|
||||
_localStackPos = _stack.getStackPos();
|
||||
@@ -199,7 +198,7 @@ void ScriptInterpreter::runScript(int16 scriptObjectIndex) {
|
||||
_codeBase = _vm->_dat->getObject(_runningScriptObjectIndex)->getData();
|
||||
_codeIp = _codeBase;
|
||||
|
||||
while (!_vm->_quit) {
|
||||
while (!_vm->shouldQuit()) {
|
||||
|
||||
_vm->handleEvents();
|
||||
|
||||
@@ -427,14 +426,14 @@ void ScriptInterpreter::cmd_vsize() {
|
||||
}
|
||||
|
||||
void ScriptInterpreter::cmd_exit() {
|
||||
_vm->_quit = true;
|
||||
_vm->quitGame();
|
||||
}
|
||||
|
||||
void ScriptInterpreter::cmd_return() {
|
||||
|
||||
// Check if returning from main function
|
||||
if (_localStackPos == kScriptStackSize) {
|
||||
_vm->_quit = true;
|
||||
_vm->quitGame();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user