diff options
Diffstat (limited to 'backends/sdl/sdl.cpp')
| -rw-r--r-- | backends/sdl/sdl.cpp | 99 | 
1 files changed, 49 insertions, 50 deletions
| diff --git a/backends/sdl/sdl.cpp b/backends/sdl/sdl.cpp index 80d9d62dfa..2b825d2327 100644 --- a/backends/sdl/sdl.cpp +++ b/backends/sdl/sdl.cpp @@ -35,7 +35,7 @@ OSystem *OSystem_SDL_create() {  	return new OSystem_SDL();  } -void OSystem_SDL::init_intern() { +void OSystem_SDL::initIntern() {  	int joystick_num = ConfMan.getInt("joystick_num");  	uint32 sdlFlags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER; @@ -61,33 +61,33 @@ void OSystem_SDL::init_intern() {  	// Enable unicode support if possible  	SDL_EnableUNICODE(1);  -	cksum_valid = false; +	_cksumValid = false;  #ifndef _WIN32_WCE  	_mode = GFX_DOUBLESIZE;  	_scaleFactor = 2;  	_scalerProc = Normal2x; -	_full_screen = ConfMan.getBool("fullscreen"); +	_fullscreen = ConfMan.getBool("fullscreen");  	_adjustAspectRatio = ConfMan.getBool("aspect_ratio");  #else  	_mode = GFX_NORMAL;  	_scaleFactor = 1;  	_scalerProc = Normal1x; -	_full_screen = true; +	_fullscreen = true;  	_adjustAspectRatio = false;  #endif  	_scalerType = 0; -	_mode_flags = 0; +	_modeFlags = 0;  #ifndef MACOSX		// Don't set icon on OS X, as we use a nicer external icon there  	// Setup the icon -	setup_icon(); +	setupIcon();  #endif  	// enable joystick  	if (joystick_num > -1 && SDL_NumJoysticks() > 0) {  		printf("Using joystick: %s\n", SDL_JoystickName(0)); -		init_joystick(joystick_num); +		_joystick = SDL_JoystickOpen(joystick_num);  	}  } @@ -99,9 +99,10 @@ OSystem_SDL::OSystem_SDL()  	_hwscreen(0), _screen(0), _screenWidth(0), _screenHeight(0),  	_tmpscreen(0), _overlayVisible(false),  	_samplesPerSec(0), -	_cdrom(0), _scalerProc(0), _modeChanged(false), _dirty_checksums(0), +	_cdrom(0), _scalerProc(0), _modeChanged(false), _dirtyChecksums(0),  	_mouseVisible(false), _mouseDrawn(false), _mouseData(0),  	_mouseHotspotX(0), _mouseHotspotY(0), +	_joystick(0),  	_currentShakePos(0), _newShakePos(0),  	_paletteDirtyStart(0), _paletteDirtyEnd(0),  	_graphicsMutex(0), _transactionMode(kTransactionNone) { @@ -113,22 +114,17 @@ OSystem_SDL::OSystem_SDL()  	_mouseBackup = (byte *)malloc(MAX_MOUSE_W * MAX_MOUSE_H * MAX_SCALING * 2);  	// reset mouse state -	memset(&km, 0, sizeof(km)); +	memset(&_km, 0, sizeof(_km)); +	memset(&_mouseCurState, 0, sizeof(_mouseCurState)); -	init_intern(); +	initIntern();  }  OSystem_SDL::~OSystem_SDL() { -//	unload_gfx_mode(); - -	if (_dirty_checksums) -		free(_dirty_checksums); +	free(_dirtyChecksums);  	free(_currentPalette);  	free(_mouseBackup); -	deleteMutex(_graphicsMutex); - -	SDL_ShowCursor(SDL_ENABLE); -	SDL_Quit(); +	free(_mouseData);  }  uint32 OSystem_SDL::getMillis() { @@ -164,9 +160,9 @@ void OSystem_SDL::setFeatureState(Feature f, bool enable) {  		break;  	case kFeatureAutoComputeDirtyRects:  		if (enable) -			_mode_flags |= DF_WANT_RECT_OPTIM;		 +			_modeFlags |= DF_WANT_RECT_OPTIM;		  		else -			_mode_flags &= ~DF_WANT_RECT_OPTIM;		 +			_modeFlags &= ~DF_WANT_RECT_OPTIM;		  		break;  	default:  		break; @@ -178,30 +174,33 @@ bool OSystem_SDL::getFeatureState(Feature f) {  	switch (f) {  	case kFeatureFullscreenMode: -		return _full_screen; +		return _fullscreen;  	case kFeatureAspectRatioCorrection:  		return _adjustAspectRatio;  	case kFeatureAutoComputeDirtyRects: -		return _mode_flags & DF_WANT_RECT_OPTIM; +		return _modeFlags & DF_WANT_RECT_OPTIM;  	default:  		return false;  	}  }  void OSystem_SDL::quit() { -	if(_cdrom) { +	if (_cdrom) {  		SDL_CDStop(_cdrom);  		SDL_CDClose(_cdrom);  	} -	unload_gfx_mode(); +	unloadGFXMode(); +	deleteMutex(_graphicsMutex); +	if (_joystick) +		SDL_JoystickClose(_joystick);  	SDL_ShowCursor(SDL_ENABLE);  	SDL_Quit();  	exit(0);  } -void OSystem_SDL::setup_icon() { +void OSystem_SDL::setupIcon() {  	int w, h, ncols, nbytes, i;  	unsigned int rgba[256], icon[32 * 32];  	unsigned char mask[32][4]; @@ -327,9 +326,9 @@ bool OSystem_SDL::openCD(int drive) {  		if (!_cdrom) {  			warning("Couldn't open drive: %s", SDL_GetError());  		} else { -			cd_num_loops = 0; -			cd_stop_time = 0; -			cd_end_time = 0; +			_cdNumLoops = 0; +			_cdStopTime = 0; +			_cdEndTime = 0;  		}  	} @@ -337,8 +336,8 @@ bool OSystem_SDL::openCD(int drive) {  }  void OSystem_SDL::stopCD() {	/* Stop CD Audio in 1/10th of a second */ -	cd_stop_time = SDL_GetTicks() + 100; -	cd_num_loops = 0; +	_cdStopTime = SDL_GetTicks() + 100; +	_cdNumLoops = 0;  }  void OSystem_SDL::playCD(int track, int num_loops, int start_frame, int duration) { @@ -351,55 +350,55 @@ void OSystem_SDL::playCD(int track, int num_loops, int start_frame, int duration  	if (duration > 0)  		duration += 5; -	cd_track = track; -	cd_num_loops = num_loops; -	cd_start_frame = start_frame; +	_cdTrack = track; +	_cdNumLoops = num_loops; +	_cdStartFrame = start_frame;  	SDL_CDStatus(_cdrom);  	if (start_frame == 0 && duration == 0)  		SDL_CDPlayTracks(_cdrom, track, 0, 1, 0);  	else  		SDL_CDPlayTracks(_cdrom, track, start_frame, 0, duration); -	cd_duration = duration; -	cd_stop_time = 0; -	cd_end_time = SDL_GetTicks() + _cdrom->track[track].length * 1000 / CD_FPS; +	_cdDuration = duration; +	_cdStopTime = 0; +	_cdEndTime = SDL_GetTicks() + _cdrom->track[track].length * 1000 / CD_FPS;  }  bool OSystem_SDL::pollCD() {  	if (!_cdrom)  		return false; -	return (cd_num_loops != 0 && (SDL_GetTicks() < cd_end_time || SDL_CDStatus(_cdrom) != CD_STOPPED)); +	return (_cdNumLoops != 0 && (SDL_GetTicks() < _cdEndTime || SDL_CDStatus(_cdrom) != CD_STOPPED));  }  void OSystem_SDL::updateCD() {  	if (!_cdrom)  		return; -	if (cd_stop_time != 0 && SDL_GetTicks() >= cd_stop_time) { +	if (_cdStopTime != 0 && SDL_GetTicks() >= _cdStopTime) {  		SDL_CDStop(_cdrom); -		cd_num_loops = 0; -		cd_stop_time = 0; +		_cdNumLoops = 0; +		_cdStopTime = 0;  		return;  	} -	if (cd_num_loops == 0 || SDL_GetTicks() < cd_end_time) +	if (_cdNumLoops == 0 || SDL_GetTicks() < _cdEndTime)  		return; -	if (cd_num_loops != 1 && SDL_CDStatus(_cdrom) != CD_STOPPED) { +	if (_cdNumLoops != 1 && SDL_CDStatus(_cdrom) != CD_STOPPED) {  		// Wait another second for it to be done -		cd_end_time += 1000; +		_cdEndTime += 1000;  		return;  	} -	if (cd_num_loops > 0) -		cd_num_loops--; +	if (_cdNumLoops > 0) +		_cdNumLoops--; -	if (cd_num_loops != 0) { -		if (cd_start_frame == 0 && cd_duration == 0) -			SDL_CDPlayTracks(_cdrom, cd_track, 0, 1, 0); +	if (_cdNumLoops != 0) { +		if (_cdStartFrame == 0 && _cdDuration == 0) +			SDL_CDPlayTracks(_cdrom, _cdTrack, 0, 1, 0);  		else -			SDL_CDPlayTracks(_cdrom, cd_track, cd_start_frame, 0, cd_duration); -		cd_end_time = SDL_GetTicks() + _cdrom->track[cd_track].length * 1000 / CD_FPS; +			SDL_CDPlayTracks(_cdrom, _cdTrack, _cdStartFrame, 0, _cdDuration); +		_cdEndTime = SDL_GetTicks() + _cdrom->track[_cdTrack].length * 1000 / CD_FPS;  	}  } | 
