diff options
Diffstat (limited to 'backends/platform/PalmOS/Src/be_base.cpp')
| -rw-r--r-- | backends/platform/PalmOS/Src/be_base.cpp | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/backends/platform/PalmOS/Src/be_base.cpp b/backends/platform/PalmOS/Src/be_base.cpp index ad28299193..503f9fe8a4 100644 --- a/backends/platform/PalmOS/Src/be_base.cpp +++ b/backends/platform/PalmOS/Src/be_base.cpp @@ -26,6 +26,10 @@  #include "common/config-file.h"  #include "common/config-manager.h" +#include "backends/saves/default/default-saves.h" +#include "backends/timer/default/default-timer.h" +#include "sound/mixer.h" +  OSystem_PalmBase::OSystem_PalmBase() {  	_overlayVisible = false; @@ -57,6 +61,10 @@ OSystem_PalmBase::OSystem_PalmBase() {  	_batCheckTicks = SysTicksPerSecond() * 15;  	_batCheckLast = TimGetTicks(); +	_saveMgr = 0; +	_timerMgr = 0; +	_mixerMgr = 0; +	  	_mouseDataP = NULL;  	_mouseVisible = false;  	_mouseDrawn = false; @@ -70,6 +78,12 @@ OSystem_PalmBase::OSystem_PalmBase() {  	_keyMouseDelay = (gVars->arrowKeys) ? computeMsecs(125) : computeMsecs(25);  } +static int timer_handler(int t) { +	DefaultTimerManager *tm = (DefaultTimerManager *)g_system->getTimerManager(); +	tm->handler(); +	return t; +} +  void OSystem_PalmBase::initBackend() {  	if (gVars->autoSave != -1)  		ConfMan.setInt("autosave_period", gVars->autoSave); @@ -84,6 +98,26 @@ void OSystem_PalmBase::initBackend() {  	int_initBackend();  	_keyMouseMask = (_keyMouse.bitUp | _keyMouse.bitDown | _keyMouse.bitLeft | _keyMouse.bitRight | _keyMouse.bitButLeft); +	// Create the savefile manager, if none exists yet (we check for this to +	// allow subclasses to provide their own). +	if (_saveMgr == 0) { +		_saveMgr = new DefaultSaveFileManager(); +	} + +	// Create and hook up the mixer, if none exists yet (we check for this to +	// allow subclasses to provide their own). +	if (_mixerMgr == 0) { +		_mixerMgr = new Audio::Mixer(); +		setSoundCallback(Audio::Mixer::mixCallback, _mixerMgr); +	} + +	// Create and hook up the timer manager, if none exists yet (we check for +	// this to allow subclasses to provide their own). +	if (_timerMgr == 0) { +		_timerMgr = new DefaultTimerManager(); +		setTimerCallback(::timer_handler, 10); +	} +  	OSystem::initBackend();  } @@ -113,5 +147,22 @@ void OSystem_PalmBase::quit() {  	int_quit();  	clearSoundCallback();  	unload_gfx_mode(); +	 +	delete _saveMgr; +	delete _timerMgr; +	delete _mixerMgr; +	  	exit(0);  } + +Common::SaveFileManager *OSystem_PalmBase::getSavefileManager() { +	return _saveMgr; +} + +Audio::Mixer * OSystem_PalmBase::getMixer() { +	return _mixerMgr; +} + +Common::TimerManager * OSystem_PalmBase::getTimerManager() { +	return _timerMgr; +} | 
