aboutsummaryrefslogtreecommitdiff
path: root/backends/morphos/morphos.cpp
diff options
context:
space:
mode:
authorRuediger Hanke2003-07-05 09:08:38 +0000
committerRuediger Hanke2003-07-05 09:08:38 +0000
commit12a04c8e52013b21aed7c8c2feecdfaa53416779 (patch)
treea4f5b236853a641fcf3eae49bd89272e8482a92c /backends/morphos/morphos.cpp
parentc1002b4ad22d6bff69291fff17c44c1386af32ab (diff)
downloadscummvm-rg350-12a04c8e52013b21aed7c8c2feecdfaa53416779.tar.gz
scummvm-rg350-12a04c8e52013b21aed7c8c2feecdfaa53416779.tar.bz2
scummvm-rg350-12a04c8e52013b21aed7c8c2feecdfaa53416779.zip
Implement new interface functions
svn-id: r8765
Diffstat (limited to 'backends/morphos/morphos.cpp')
-rw-r--r--backends/morphos/morphos.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/backends/morphos/morphos.cpp b/backends/morphos/morphos.cpp
index 2c9674101d..ebfd651c54 100644
--- a/backends/morphos/morphos.cpp
+++ b/backends/morphos/morphos.cpp
@@ -343,6 +343,8 @@ void OSystem_MorphOS::delete_mutex(void *mutex)
uint32 OSystem_MorphOS::property(int param, Property *value)
{
+ AUTO_LOCK
+
switch (param)
{
case PROP_TOGGLE_FULLSCREEN:
@@ -362,6 +364,7 @@ uint32 OSystem_MorphOS::property(int param, Property *value)
switch (GameID)
{
case GID_MONKEY:
+ case GID_MONKEY_SEGA:
ids = MonkeyCDIDs;
names = MonkeyNames;
break;
@@ -1426,6 +1429,7 @@ bool OSystem_MorphOS::set_sound_proc(OSystem::SoundProc *proc, void *param, OSys
return true;
}
+
void OSystem_MorphOS::fill_sound(byte *stream, int len)
{
if (SoundProc)
@@ -1434,6 +1438,17 @@ void OSystem_MorphOS::fill_sound(byte *stream, int len)
memset(stream, 0x0, len);
}
+void OSystem_MorphOS::clear_sound_proc()
+{
+ if (ScummSoundThread)
+ {
+ Signal((Task *) ScummSoundThread, SIGBREAKF_CTRL_C);
+ ObtainSemaphore(&ScummSoundThreadRunning); /* Wait for thread to finish */
+ ReleaseSemaphore(&ScummSoundThreadRunning);
+ ScummSoundThread = NULL;
+ }
+}
+
void OSystem_MorphOS::init_size(uint w, uint h)
{
if (ScummBuffer)
@@ -1511,6 +1526,16 @@ void OSystem_MorphOS::init_size(uint w, uint h)
CreateScreen(CSDSPTYPE_KEEP);
}
+int16 OSystem_MorphOS::get_width()
+{
+ return ScummScrWidth;
+}
+
+int16 OSystem_MorphOS::get_height()
+{
+ return ScummScrHeight;
+}
+
void OSystem_MorphOS::show_overlay()
{
UndrawMouse();