[Scummvm-cvs-logs] CVS: scummvm/backends/morphos morphos.cpp,1.31,1.32 morphos.h,1.19,1.20
Max Horn
fingolfin at users.sourceforge.net
Sat Sep 27 09:55:04 CEST 2003
Update of /cvsroot/scummvm/scummvm/backends/morphos
In directory sc8-pr-cvs1:/tmp/cvs-serv9425/morphos
Modified Files:
morphos.cpp morphos.h
Log Message:
OSystem changes: removed create_thread() method (not needed anymore; 'pure' threads aren't very portable anyway, better we only use timers); introduced OSystem::TimerProc type
Index: morphos.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/morphos/morphos.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- morphos.cpp 23 Aug 2003 18:01:20 -0000 1.31
+++ morphos.cpp 27 Sep 2003 16:54:10 -0000 1.32
@@ -97,7 +97,6 @@
ScummScreenBuffer[1] = NULL;
ScummRenderTo = NULL;
ScummNoCursor = NULL;
- ScummMusicThread = NULL;
ScummSoundThread = NULL;
ScummWinX = -1;
ScummWinY = -1;
@@ -323,24 +322,11 @@
TimeDelay(UNIT_MICROHZ, 0, msecs*1000);
}
-void OSystem_MorphOS::set_timer(int timer, int (*callback)(int))
+void OSystem_MorphOS::set_timer(TimerProc callback, int timer)
{
warning("set_timer() unexpectedly called");
}
-void OSystem_MorphOS::create_thread(ThreadProc *proc, void *param)
-{
- MusicStartup.mn_Node.ln_Type = NT_MESSAGE;
- MusicStartup.mn_ReplyPort = ThreadPort;
- MusicStartup.mn_Length = sizeof(MusicStartup);
-
- ScummMusicThread = CreateNewProcTags(NP_Entry, (ULONG) proc, NP_CodeType, CODETYPE_PPC,
- NP_Name, (ULONG) "ScummVM Music Thread",
- NP_Priority, 40, NP_StackSize, 32000,
- NP_StartupMsg, &MusicStartup,
- NP_PPC_Arg1, (ULONG) param, TAG_DONE);
-}
-
OSystem::MutexRef OSystem_MorphOS::create_mutex()
{
SignalSemaphore *sem = (SignalSemaphore *) AllocVec(sizeof (SignalSemaphore), MEMF_PUBLIC);
@@ -518,13 +504,6 @@
{
int num_threads = 0;
- if (ScummMusicThread)
- {
- num_threads++;
- Signal((Task *) ScummMusicThread, SIGBREAKF_CTRL_C);
- ScummMusicThread = NULL;
- }
-
if (ScummSoundThread)
{
num_threads++;
@@ -532,6 +511,8 @@
ScummSoundThread = NULL;
}
+ // TODO: this code could probably greatly simplified now that there is
+ // only one thread left...
while (num_threads > 0)
{
Message* msg;
@@ -1463,7 +1444,7 @@
UndrawMouse();
}
-bool OSystem_MorphOS::set_sound_proc(OSystem::SoundProc *proc, void *param, OSystem::SoundFormat format)
+bool OSystem_MorphOS::set_sound_proc(OSystem::SoundProc proc, void *param, OSystem::SoundFormat format)
{
if (ScummSoundThread)
{
Index: morphos.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/morphos/morphos.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- morphos.h 23 Aug 2003 18:01:20 -0000 1.19
+++ morphos.h 27 Sep 2003 16:54:10 -0000 1.20
@@ -37,7 +37,7 @@
class OSystem_MorphOS : public OSystem
{
public:
- OSystem_MorphOS(SCALERTYPE gfx_mode, bool full_screen);
+ OSystem_MorphOS(SCALERTYPE gfx_mode, bool full_screen);
virtual ~OSystem_MorphOS();
bool Initialise();
@@ -85,7 +85,7 @@
virtual void delay_msecs(uint msecs);
// Add a new callback timer
- virtual void set_timer(int timer, int (*callback)(int));
+ virtual void set_timer(TimerProc callback, int timer);
// Mutex handling
virtual MutexRef create_mutex();
@@ -93,9 +93,6 @@
virtual void unlock_mutex(MutexRef mutex);
virtual void delete_mutex(MutexRef mutex);
- // Create a thread
- virtual void create_thread(ThreadProc *proc, void *param);
-
// Get the next event.
// Returns true if an event was retrieved.
virtual bool poll_event(Event *event);
@@ -104,7 +101,7 @@
virtual void warp_mouse(int x, int y);
// Set the function to be invoked whenever samples need to be generated
- virtual bool set_sound_proc(SoundProc *proc, void *param, SoundFormat format);
+ virtual bool set_sound_proc(SoundProc proc, void *param, SoundFormat format);
void fill_sound (byte * stream, int len);
void clear_sound_proc();
@@ -180,9 +177,8 @@
ColorMap *OvlCMap;
/* Sound-related attributes */
- Process *ScummMusicThread;
Process *ScummSoundThread;
- SoundProc *SoundProc;
+ SoundProc SoundProc;
void *SoundParam;
MsgPort *ThreadPort;
Message MusicStartup;
More information about the Scummvm-git-logs
mailing list