aboutsummaryrefslogtreecommitdiff
path: root/backends/morphos/morphos_start.cpp
diff options
context:
space:
mode:
authorRuediger Hanke2003-08-05 18:18:26 +0000
committerRuediger Hanke2003-08-05 18:18:26 +0000
commitc99f6980c70ea60f5aba8f45a0384059f24deabc (patch)
treeacf7f6627184660b3eeb4169e55397423f5e5dac /backends/morphos/morphos_start.cpp
parent7ff88ea392f430ccc78fdd0503136d8ed1aac036 (diff)
downloadscummvm-rg350-c99f6980c70ea60f5aba8f45a0384059f24deabc.tar.gz
scummvm-rg350-c99f6980c70ea60f5aba8f45a0384059f24deabc.tar.bz2
scummvm-rg350-c99f6980c70ea60f5aba8f45a0384059f24deabc.zip
Hotfixes ...
svn-id: r9514
Diffstat (limited to 'backends/morphos/morphos_start.cpp')
-rw-r--r--backends/morphos/morphos_start.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/backends/morphos/morphos_start.cpp b/backends/morphos/morphos_start.cpp
index cedd1d0044..176f7cc97f 100644
--- a/backends/morphos/morphos_start.cpp
+++ b/backends/morphos/morphos_start.cpp
@@ -35,6 +35,7 @@
#include "stdafx.h"
#include "scumm/scumm.h"
+#include "common/gameDetector.h"
#include "common/scaler.h"
#include "sound/mididrv.h"
#include "morphos.h"
@@ -91,32 +92,47 @@ OSystem *OSystem_MorphOS_create(int game_id, int gfx_mode, bool full_screen)
break;
}
- TheSystem = OSystem_MorphOS::create(game_id, gfx_scaler, full_screen);
+ TheSystem = OSystem_MorphOS::create(gfx_scaler, full_screen);
return TheSystem;
}
void close_resources()
{
if (TheSystem)
+ {
delete TheSystem;
-
- if (g_engine)
- delete g_engine;
+ TheSystem = NULL;
+ }
if (ScummPath)
+ {
FreeVec(ScummPath);
+ ScummPath = NULL;
+ }
if (ScummStory)
+ {
FreeVec(ScummStory);
+ ScummStory = NULL;
+ }
if (ScummArgs)
+ {
FreeArgs(ScummArgs);
+ ScummArgs = NULL;
+ }
if (OrigDirLock)
+ {
CurrentDir(OrigDirLock);
+ OrigDirLock = NULL;
+ }
if (CDDABase)
+ {
CloseLibrary(CDDABase);
+ CDDABase = NULL;
+ }
}
static STRPTR FindMusicDriver(STRPTR argval)
@@ -389,6 +405,13 @@ int main()
if (args[USG_NOSUBTITLES]) argv[argc++] = "-n";
if (args[USG_AMIGA]) argv[argc++] = "-a";
if (args[USG_MUSIC]) argv[argc++] = ScummMusicDriver;
+ else
+ {
+ if (etude_available())
+ argv[argc++] = "-eetude";
+ else
+ argv[argc++] = "-eadlib";
+ }
if (ScummGfxScaler != ST_INVALID)
{
sprintf(scaler, "-g%s", MorphOSScaler::GetParamName(ScummGfxScaler));