Implemented RTL support

svn-id: r34933
This commit is contained in:
Benjamin Haisch
2008-11-07 21:59:25 +00:00
parent 57e57c49ce
commit 8ffcd984b0
5 changed files with 18 additions and 17 deletions
+11
View File
@@ -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) {
-6
View File
@@ -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
View File
@@ -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;
+1 -5
View File
@@ -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;
}
+3 -4
View File
@@ -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;
}