[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