diff options
author | Robert Göffringmann | 2005-11-09 19:51:57 +0000 |
---|---|---|
committer | Robert Göffringmann | 2005-11-09 19:51:57 +0000 |
commit | 1f647b48bc8b955cfb5c36534ef221e3c3002cba (patch) | |
tree | be98eb9ce6790524d94fd0ac53e44953ceb2a84f /backends/ps2/systemps2.h | |
parent | 2b4c9b00b06a83972426b90114b3c598701b5859 (diff) | |
download | scummvm-rg350-1f647b48bc8b955cfb5c36534ef221e3c3002cba.tar.gz scummvm-rg350-1f647b48bc8b955cfb5c36534ef221e3c3002cba.tar.bz2 scummvm-rg350-1f647b48bc8b955cfb5c36534ef221e3c3002cba.zip |
sync HEAD with 0-8-0 branch.
svn-id: r19534
Diffstat (limited to 'backends/ps2/systemps2.h')
-rw-r--r-- | backends/ps2/systemps2.h | 51 |
1 files changed, 34 insertions, 17 deletions
diff --git a/backends/ps2/systemps2.h b/backends/ps2/systemps2.h index 9e0d9ccd84..1ddf01f1c5 100644 --- a/backends/ps2/systemps2.h +++ b/backends/ps2/systemps2.h @@ -29,6 +29,17 @@ class Gs2dScreen; class Ps2Input; class Ps2SaveFileManager; +#define _REC_MUTEX_ + +#ifdef _REC_MUTEX_ +#define MAX_MUTEXES 32 +struct Ps2Mutex { + int sema; + int owner; + int count; +}; +#endif + class OSystem_PS2 : public OSystem { public: OSystem_PS2(void); @@ -38,11 +49,17 @@ public: virtual int16 getHeight(void); virtual int16 getWidth(void); virtual void setPalette(const byte *colors, uint start, uint num); - virtual void grabPalette(byte *colors, uint start, uint num); virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h); - - virtual void updateScreen(); virtual void setShakePos(int shakeOffset); + virtual void grabPalette(byte *colors, uint start, uint num); + virtual bool grabRawScreen(Graphics::Surface *surf); + virtual void updateScreen(); + + virtual void showOverlay(); + virtual void hideOverlay(); + virtual void clearOverlay(); + virtual void grabOverlay(OverlayColor *buf, int pitch); + virtual void copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h); virtual bool showMouse(bool visible); @@ -69,12 +86,6 @@ public: virtual void unlockMutex(MutexRef mutex); virtual void deleteMutex(MutexRef mutex); - virtual void showOverlay(); - virtual void hideOverlay(); - virtual void clearOverlay(); - virtual void grabOverlay(OverlayColor *buf, int pitch); - virtual void copyRectToOverlay(const OverlayColor *buf, int pitch, int x, int y, int w, int h); - virtual const GraphicsMode *getSupportedGraphicsModes() const; virtual int getDefaultGraphicsMode() const; virtual bool setGraphicsMode(int mode); @@ -90,30 +101,36 @@ public: void timerThread(void); void soundThread(void); + void msgPrintf(int millis, char *format, ...); + private: volatile OSystem::TimerProc _scummTimerProc; volatile OSystem::SoundProc _scummSoundProc; void *_scummSoundParam; - int16 *_soundBufL, *_soundBufR; int _soundSema; void initTimer(void); - void fatalError(char *str); + void readRtcTime(void); - bool loadModules(char *errorStr); + void loadModules(void); bool _mouseVisible; - bool _useHdd, _useMouse, _useKbd; + bool _useMouse, _useKbd; Ps2SaveFileManager *_saveManager; - uint16 _width, _height; - Gs2dScreen *_screen; Ps2Input *_input; uint16 _oldMouseX, _oldMouseY; - + uint32 _msgClearTime; + uint16 _printY; +#ifdef _REC_MUTEX_ + int _mutexSema; + Ps2Mutex *_mutex; +#endif uint8 *_timerStack, *_soundStack; - int32 _timerTid, _soundTid; + int _timerTid, _soundTid; + int _intrId; + volatile bool _systemQuit; static const GraphicsMode _graphicsMode; }; |