From 3b27b9fa438611c3a05fcf2d07a3dfde6be192fa Mon Sep 17 00:00:00 2001 From: Robert Göffringmann Date: Mon, 3 Mar 2008 00:41:59 +0000 Subject: the ps2 changes from the 0.11.1 release, plus some bugfixes and cleanup. svn-id: r31034 --- backends/platform/ps2/systemps2.h | 43 ++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) (limited to 'backends/platform/ps2/systemps2.h') 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; -- cgit v1.2.3