aboutsummaryrefslogtreecommitdiff
path: root/backends/ps2/systemps2.h
diff options
context:
space:
mode:
authorRobert Göffringmann2005-11-09 19:51:57 +0000
committerRobert Göffringmann2005-11-09 19:51:57 +0000
commit1f647b48bc8b955cfb5c36534ef221e3c3002cba (patch)
treebe98eb9ce6790524d94fd0ac53e44953ceb2a84f /backends/ps2/systemps2.h
parent2b4c9b00b06a83972426b90114b3c598701b5859 (diff)
downloadscummvm-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.h51
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;
};