diff options
author | Max Horn | 2003-09-27 16:54:11 +0000 |
---|---|---|
committer | Max Horn | 2003-09-27 16:54:11 +0000 |
commit | 49d2a22b428864ccf2298b67841d4cb3cf33b659 (patch) | |
tree | 11f1ebd799bec7e853bc71671fa045fe9467774c /backends/PalmOS | |
parent | e19e7c879a1fc88458a3e26715875e60512d755b (diff) | |
download | scummvm-rg350-49d2a22b428864ccf2298b67841d4cb3cf33b659.tar.gz scummvm-rg350-49d2a22b428864ccf2298b67841d4cb3cf33b659.tar.bz2 scummvm-rg350-49d2a22b428864ccf2298b67841d4cb3cf33b659.zip |
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
svn-id: r10430
Diffstat (limited to 'backends/PalmOS')
-rw-r--r-- | backends/PalmOS/Src/palm.cpp | 27 | ||||
-rw-r--r-- | backends/PalmOS/Src/palm.h | 24 |
2 files changed, 5 insertions, 46 deletions
diff --git a/backends/PalmOS/Src/palm.cpp b/backends/PalmOS/Src/palm.cpp index a1bf3a760a..a9e4ef0691 100644 --- a/backends/PalmOS/Src/palm.cpp +++ b/backends/PalmOS/Src/palm.cpp @@ -646,22 +646,7 @@ void OSystem_PALMOS::delay_msecs(uint msecs) { SysTaskDelay((SysTicksPerSecond()*msecs)/1000); } -void OSystem_PALMOS::create_thread(ThreadProc *proc, void *param) { - if (_threadCounter == MAX_THREAD) { - warning("Cannot create thread."); - return; - } - - _thread[_threadCounter].active = true; - _thread[_threadCounter].proc = proc; - _thread[_threadCounter].param = param; - _thread[_threadCounter].old_time = get_msecs(); - _thread[_threadCounter].sleep = true; - - _threadCounter++; -} - -void OSystem_PALMOS::set_timer(int timer, int (*callback)(int)) { +void OSystem_PALMOS::set_timer(TimerProc callback, int timer) { if (callback != NULL) { _timer.duration = timer; _timer.next_expiry = get_msecs() + timer; @@ -729,11 +714,6 @@ bool OSystem_PALMOS::poll_event(Event *event) { } current_msecs = get_msecs(); - //thread handler - for(_threadID = 0; _threadID < _threadCounter; _threadID++) { - if (_thread[_threadID].active) - _thread[_threadID].proc(_thread[_threadID].param); - } // sound handler if(_sound.active) @@ -1242,9 +1222,6 @@ OSystem_PALMOS::OSystem_PALMOS() { _paletteDirtyEnd = 0; memset(&_sound, 0, sizeof(SoundDataType)); - memset(_thread, 0, sizeof(_thread)); - _threadID = 0; - _threadCounter = 0; _currentPalette = NULL; @@ -1350,7 +1327,7 @@ void OSystem_PALMOS::move_screen(int dx, int dy, int height) { SysTaskDelay(1); } -bool OSystem_PALMOS::set_sound_proc(SoundProc *proc, void *param, SoundFormat format) { +bool OSystem_PALMOS::set_sound_proc(SoundProc proc, void *param, SoundFormat format) { _sound.active = true; _sound.proc = proc; _sound.param = param; diff --git a/backends/PalmOS/Src/palm.h b/backends/PalmOS/Src/palm.h index f2d157e623..e9d6fc93d6 100644 --- a/backends/PalmOS/Src/palm.h +++ b/backends/PalmOS/Src/palm.h @@ -31,20 +31,9 @@ Err HwrDisplayPalette(UInt8 operation, Int16 startIndex, UInt16 paletteEntries, RGBColorType *tableP) SYS_TRAP(sysTrapHwrDisplayPalette); -#define MAX_THREAD 2 - -typedef struct { - bool active; - OSystem::ThreadProc *proc; - void *param; - bool sleep; - int old_time; - -} ThreadEmuType, *ThreadEmuPtr; - typedef struct { bool active; - OSystem::SoundProc *proc; + OSystem::SoundProc proc; void *param; OSystem::SoundFormat format; SndStreamRef sndRefNum; @@ -95,9 +84,6 @@ public: // Delay for a specified amount of milliseconds void delay_msecs(uint msecs); - // Create a thread - void create_thread(ThreadProc *proc, void *param); - // Get the next event. // Returns true if an event was retrieved. bool poll_event(Event *event); @@ -113,7 +99,7 @@ public: * @param param an arbitrary parameter which is stored and passed to proc. * @param format the sample type format. */ - bool set_sound_proc(SoundProc *proc, void *param, SoundFormat format); + bool set_sound_proc(SoundProc proc, void *param, SoundFormat format); /** * Remove any audio callback previously set via set_sound_proc, thus effectively @@ -137,7 +123,7 @@ public: void update_cdrom(); // Add a callback timer - void set_timer(int timer, int (*callback)(int)); + void set_timer(TimerProc callback, int timer); // Mutex handling MutexRef create_mutex(); @@ -200,10 +186,6 @@ public: int _offScreenPitch; int _screenPitch; - ThreadEmuType _thread[MAX_THREAD]; // 0: midi native, 1:multi-midi (adlib wrapper) - UInt8 _threadCounter; - UInt8 _threadID; - private: byte *_offScreenP; |