aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/ps2/systemps2.h
diff options
context:
space:
mode:
authorRobert Göffringmann2008-03-03 00:41:59 +0000
committerRobert Göffringmann2008-03-03 00:41:59 +0000
commit3b27b9fa438611c3a05fcf2d07a3dfde6be192fa (patch)
tree8605c47d67b779fb33ce4dda3a64a7d3caecdb4d /backends/platform/ps2/systemps2.h
parentfc91de07dfdfe6bd29edadf739f324f30f5624d0 (diff)
downloadscummvm-rg350-3b27b9fa438611c3a05fcf2d07a3dfde6be192fa.tar.gz
scummvm-rg350-3b27b9fa438611c3a05fcf2d07a3dfde6be192fa.tar.bz2
scummvm-rg350-3b27b9fa438611c3a05fcf2d07a3dfde6be192fa.zip
the ps2 changes from the 0.11.1 release, plus some bugfixes and cleanup.
svn-id: r31034
Diffstat (limited to 'backends/platform/ps2/systemps2.h')
-rw-r--r--backends/platform/ps2/systemps2.h43
1 files changed, 24 insertions, 19 deletions
diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h
index beae62dc0e..9dbe9be553 100644
--- a/backends/platform/ps2/systemps2.h
+++ b/backends/platform/ps2/systemps2.h
@@ -28,13 +28,13 @@
#include "common/system.h"
+class DefaultTimerManager;
+
class Gs2dScreen;
class Ps2Input;
class Ps2SaveFileManager;
struct IrxReference;
-extern void sioprintf(const char *zFormat, ...);
-
#define MAX_MUTEXES 16
struct Ps2Mutex {
@@ -43,21 +43,29 @@ struct Ps2Mutex {
int count;
};
+namespace Common {
+ class TimerManager;
+};
+
+namespace Audio {
+ class Mixer;
+};
+
class OSystem_PS2 : public OSystem {
public:
OSystem_PS2(const char *elfPath);
virtual ~OSystem_PS2(void);
-
- virtual void initBackend();
-
virtual void initSize(uint width, uint height);
+ void init(void);
+
virtual int16 getHeight(void);
virtual int16 getWidth(void);
virtual void setPalette(const byte *colors, uint start, uint num);
virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h);
virtual void setShakePos(int shakeOffset);
virtual void grabPalette(byte *colors, uint start, uint num);
+ virtual bool grabRawScreen(Graphics::Surface *surf);
virtual Graphics::Surface *lockScreen();
virtual void unlockScreen();
virtual void updateScreen();
@@ -75,11 +83,10 @@ public:
virtual uint32 getMillis();
virtual void delayMillis(uint msecs);
- virtual void setTimerCallback(TimerProc callback, int interval);
+ virtual Common::TimerManager *getTimerManager();
virtual bool pollEvent(Common::Event &event);
- virtual bool setSoundCallback(SoundProc proc, void *param);
- virtual void clearSoundCallback();
+ virtual Audio::Mixer *getMixer();
virtual int getOutputSampleRate(void) const;
virtual bool openCD(int drive);
@@ -105,8 +112,8 @@ public:
virtual void colorToRGB(OverlayColor color, uint8 &r, uint8 &g, uint8 &b);
virtual Common::SaveFileManager *getSavefileManager();
- virtual Audio::Mixer *getMixer() { return _mixer; }
- virtual Common::TimerManager *getTimerManager() { return _timer; }
+
+ virtual void getTimeAndDate(struct tm &t) const;
void timerThread(void);
void soundThread(void);
@@ -116,25 +123,23 @@ public:
void powerOffCallback(void);
bool hddPresent(void);
bool usbMassPresent(void);
- void setUsbMassConnected(bool stat);
+ bool runningFromHost(void);
private:
void startIrxModules(int numModules, IrxReference *modules);
- volatile OSystem::TimerProc _scummTimerProc;
- volatile OSystem::SoundProc _scummSoundProc;
- void *_scummSoundParam;
- int _soundSema;
-
+ void initMutexes(void);
void initTimer(void);
void readRtcTime(void);
+ DefaultTimerManager *_scummTimerManager;
+ Audio::Mixer *_scummMixer;
+
+
bool _mouseVisible;
- bool _useMouse, _useKbd, _useHdd, _usbMassLoaded, _usbMassConnected;
+ bool _useMouse, _useKbd, _useHdd, _usbMassLoaded;
Ps2SaveFileManager *_saveManager;
- Audio::Mixer *_mixer;
- Common::TimerManager *_timer;
Gs2dScreen *_screen;
Ps2Input *_input;