[Scummvm-cvs-logs] scummvm master -> 58ab4cdab79c2f55a96f373f948d47fabded68b4

DrMcCoy drmccoy at drmccoy.de
Mon Aug 22 09:50:53 CEST 2011


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
911de33e89 BADA: Remove executable flag from files
b406ba5884 BADA: Strip off windows-style line endings
58ab4cdab7 BADA: Strip trailing whitespace


Commit: 911de33e8946de479149e9dc7e16385298815b46
    https://github.com/scummvm/scummvm/commit/911de33e8946de479149e9dc7e16385298815b46
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-22T00:45:19-07:00

Commit Message:
BADA: Remove executable flag from files

Changed paths:
    backends/platform/bada/README.TXT
    backends/platform/bada/application.cpp
    backends/platform/bada/application.h
    backends/platform/bada/audio.cpp
    backends/platform/bada/audio.h
    backends/platform/bada/bada.mk
    backends/platform/bada/form.cpp
    backends/platform/bada/form.h
    backends/platform/bada/fs.cpp
    backends/platform/bada/fs.h
    backends/platform/bada/graphics.cpp
    backends/platform/bada/graphics.h
    backends/platform/bada/main.cpp
    backends/platform/bada/missing.cpp
    backends/platform/bada/portdefs.h
    backends/platform/bada/sscanf.cpp
    backends/platform/bada/system.cpp
    backends/platform/bada/system.h



diff --git a/backends/platform/bada/README.TXT b/backends/platform/bada/README.TXT
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/application.cpp b/backends/platform/bada/application.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/application.h b/backends/platform/bada/application.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/audio.cpp b/backends/platform/bada/audio.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/audio.h b/backends/platform/bada/audio.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/bada.mk b/backends/platform/bada/bada.mk
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/form.cpp b/backends/platform/bada/form.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/form.h b/backends/platform/bada/form.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/fs.cpp b/backends/platform/bada/fs.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/fs.h b/backends/platform/bada/fs.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/graphics.cpp b/backends/platform/bada/graphics.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/graphics.h b/backends/platform/bada/graphics.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/main.cpp b/backends/platform/bada/main.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/missing.cpp b/backends/platform/bada/missing.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/portdefs.h b/backends/platform/bada/portdefs.h
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/sscanf.cpp b/backends/platform/bada/sscanf.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/system.cpp b/backends/platform/bada/system.cpp
old mode 100755
new mode 100644
diff --git a/backends/platform/bada/system.h b/backends/platform/bada/system.h
old mode 100755
new mode 100644


Commit: b406ba58847780d346093d881eb544a3c7b81506
    https://github.com/scummvm/scummvm/commit/b406ba58847780d346093d881eb544a3c7b81506
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-22T00:45:53-07:00

Commit Message:
BADA: Strip off windows-style line endings

Changed paths:
    backends/platform/bada/audio.cpp
    backends/platform/bada/audio.h
    backends/platform/bada/form.cpp
    backends/platform/bada/form.h
    backends/platform/bada/graphics.cpp
    backends/platform/bada/graphics.h
    backends/platform/bada/sscanf.cpp
    backends/platform/bada/system.cpp



diff --git a/backends/platform/bada/audio.cpp b/backends/platform/bada/audio.cpp
index 4ead7eb..7c20f57 100644
--- a/backends/platform/bada/audio.cpp
+++ b/backends/platform/bada/audio.cpp
@@ -1,260 +1,260 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#include <FSysSettingInfo.h>

-#include <FAppAppRegistry.h>

-

-#include "backends/platform/bada/audio.h"

-#include "backends/platform/bada/system.h"

-

-#define TIMER_INCREMENT		 10

-#define TIMER_INTERVAL		 40

-#define MIN_TIMER_INTERVAL 10

-#define MAX_TIMER_INTERVAL 160

-#define INIT_LEVEL				 3

-#define CONFIG_KEY				 L"audiovol"

-

-// sound level pre-sets

-const int levels[] = {0, 1, 10, 45, 70, 99};

-

-AudioThread::AudioThread() : 

-	_mixer(0),

-	_timer(0),

-	_audioOut(0),

-	_head(0),

-	_tail(0),

-	_ready(0),

-	_interval(TIMER_INTERVAL),

-	_playing(-1),

-	_muted(true) {

-}

-

-Audio::MixerImpl *AudioThread::Construct(OSystem *system) {

-	logEntered();

-

-	if (IsFailed(Thread::Construct(THREAD_TYPE_EVENT_DRIVEN,

-																 DEFAULT_STACK_SIZE,

-																 THREAD_PRIORITY_HIGH))) {

-		AppLog("Failed to create AudioThread");

-		return NULL;

-	}

-

-	_mixer = new Audio::MixerImpl(system, 44100);

-	return _mixer;

-}

-

-AudioThread::~AudioThread() {

-	logEntered();

-}

-

-bool AudioThread::isSilentMode() {

-	bool silentMode;

-	String key(L"SilentMode");

-	Osp::System::SettingInfo::GetValue(key, silentMode);

-	return silentMode;

-}

-

-void AudioThread::setMute(bool on) {

-	if (_audioOut && !isSilentMode()) {

-		_muted = on;

-		if (on) {

-			_timer->Cancel();

-		} else {

-			_timer->Start(_interval);

-		}

-	}

-}

-

-int AudioThread::setVolume(bool up, bool minMax) {

-	int level = -1;

-	int numLevels = sizeof(levels) / sizeof(levels[0]);

-

-	if (_audioOut && !isSilentMode()) {

-		int volume = _audioOut->GetVolume();

-		if (minMax) {

-			level = up ? numLevels - 1 : 0;

-			volume = levels[level];

-		} else {

-			// adjust volume to be one of the preset values

-			for (int i = 0; i < numLevels && level == -1; i++) {

-				if (volume == levels[i]) {

-					level = i;

-					if (up) {

-						if (i + 1 < numLevels) {

-							level = i + 1;

-						}

-					} else if (i > 0) {

-						level = i - 1;

-					}

-				}

-			}

-

-			// default to INIT_LEVEL when current not preset value

-			if (level == -1) {

-				level = INIT_LEVEL;

-			}

-			volume = levels[level];

-		}

-

-		_audioOut->SetVolume(volume);

-

-		// remember the chosen setting

-		AppRegistry *registry = Application::GetInstance()->GetAppRegistry();

-		if (registry) {

-			registry->Set(CONFIG_KEY, volume);

-		}

-	}

-	return level;

-}

-

-bool AudioThread::OnStart(void) {

-	logEntered();

-

-	_audioOut = new Osp::Media::AudioOut();

-	if (!_audioOut ||

-			IsFailed(_audioOut->Construct(*this))) {

-		AppLog("Failed to create AudioOut");

-		return false;

-	}

-

-	int sampleRate = _mixer->getOutputRate();

-

-	// ideally we would update _mixer with GetOptimizedSampleRate here

-	if (_audioOut->GetOptimizedSampleRate() != sampleRate) {

-		AppLog("Non optimal sample rate %d", _audioOut->GetOptimizedSampleRate());

-	}

-

-	if (IsFailed(_audioOut->Prepare(AUDIO_TYPE_PCM_S16_LE,

-																 AUDIO_CHANNEL_TYPE_STEREO,

-																 sampleRate))) {

-		AppLog("Failed to prepare AudioOut %d", sampleRate);

-		return false;

-	}

-

-	int bufferSize = _audioOut->GetMinBufferSize();

-	for (int i = 0; i < NUM_AUDIO_BUFFERS; i++) {

-		if (IsFailed(_audioBuffer[i].Construct(bufferSize))) {

-			AppLog("Failed to create audio buffer");

-			return false;

-		}

-	}

-

-	_timer = new Timer();

-	if (!_timer || IsFailed(_timer->Construct(*this))) {

-		AppLog("Failed to create audio timer");

-		return false;

-	}

-

-	if (IsFailed(_timer->Start(_interval))) {

-		AppLog("failed to start audio timer");

-		return false;

-	}

-

-	// get the volume from the app-registry

-	int volume = levels[INIT_LEVEL];

-	AppRegistry *registry = Application::GetInstance()->GetAppRegistry();

-	if (registry) {

-		if (E_KEY_NOT_FOUND == registry->Get(CONFIG_KEY, volume)) {

-			registry->Add(CONFIG_KEY, volume);

-			volume = levels[INIT_LEVEL];

-		} else {

-			AppLog("Setting volume: %d", volume);

-		}

-	}

-

-	_muted = false;

-	_mixer->setReady(true);

-	_audioOut->SetVolume(isSilentMode() ? 0 : volume);

-	_audioOut->Start();

-	return true;

-}

-

-void AudioThread::OnStop(void) {

-	logEntered();

-

-	_mixer->setReady(false);

-

-	if (_timer) {

-		if (!_muted) {

-			_timer->Cancel();

-		}

-		delete _timer;

-	}

-

-	if (_audioOut) {

-		_audioOut->Reset();

-		delete _audioOut;

-	}

-}

-

-void AudioThread::OnAudioOutErrorOccurred(Osp::Media::AudioOut &src, result r) {

-	logEntered();

-}

-

-void AudioThread::OnAudioOutInterrupted(Osp::Media::AudioOut &src) {

-	logEntered();

-}

-

-void AudioThread::OnAudioOutReleased(Osp::Media::AudioOut &src) {

-	logEntered();

-	_audioOut->Start();

-}

-

-void AudioThread::OnAudioOutBufferEndReached(Osp::Media::AudioOut &src) {

-	if (_ready > 0) {

-		_playing = _tail;

-		_audioOut->WriteBuffer(_audioBuffer[_tail]);

-		_tail = (_tail + 1) % NUM_AUDIO_BUFFERS;

-		_ready--;

-	} else {

-		// audio buffer empty: decrease timer inverval

-		_playing = -1;

-		_interval -= TIMER_INCREMENT;

-		if (_interval < MIN_TIMER_INTERVAL) {

-			_interval = MIN_TIMER_INTERVAL;

-		}

-	}

-}

-

-void AudioThread::OnTimerExpired(Timer &timer) {

-	if (_ready < NUM_AUDIO_BUFFERS) {

-		uint len = _audioBuffer[_head].GetCapacity();

-		int samples = _mixer->mixCallback((byte*)_audioBuffer[_head].GetPointer(), len);

-		if (samples) {

-			_head = (_head + 1) % NUM_AUDIO_BUFFERS;

-			_ready++;

-		}

-	} else {

-		// audio buffer full: increase timer inverval

-		_interval += TIMER_INCREMENT;

-		if (_interval > MAX_TIMER_INTERVAL) {

-			_interval = MAX_TIMER_INTERVAL;

-		}

-	}

-

-	if (_ready && _playing == -1) {

-		OnAudioOutBufferEndReached(*_audioOut);

-	}

-	

-	_timer->Start(_interval);

-}

-

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include <FSysSettingInfo.h>
+#include <FAppAppRegistry.h>
+
+#include "backends/platform/bada/audio.h"
+#include "backends/platform/bada/system.h"
+
+#define TIMER_INCREMENT		 10
+#define TIMER_INTERVAL		 40
+#define MIN_TIMER_INTERVAL 10
+#define MAX_TIMER_INTERVAL 160
+#define INIT_LEVEL				 3
+#define CONFIG_KEY				 L"audiovol"
+
+// sound level pre-sets
+const int levels[] = {0, 1, 10, 45, 70, 99};
+
+AudioThread::AudioThread() : 
+	_mixer(0),
+	_timer(0),
+	_audioOut(0),
+	_head(0),
+	_tail(0),
+	_ready(0),
+	_interval(TIMER_INTERVAL),
+	_playing(-1),
+	_muted(true) {
+}
+
+Audio::MixerImpl *AudioThread::Construct(OSystem *system) {
+	logEntered();
+
+	if (IsFailed(Thread::Construct(THREAD_TYPE_EVENT_DRIVEN,
+																 DEFAULT_STACK_SIZE,
+																 THREAD_PRIORITY_HIGH))) {
+		AppLog("Failed to create AudioThread");
+		return NULL;
+	}
+
+	_mixer = new Audio::MixerImpl(system, 44100);
+	return _mixer;
+}
+
+AudioThread::~AudioThread() {
+	logEntered();
+}
+
+bool AudioThread::isSilentMode() {
+	bool silentMode;
+	String key(L"SilentMode");
+	Osp::System::SettingInfo::GetValue(key, silentMode);
+	return silentMode;
+}
+
+void AudioThread::setMute(bool on) {
+	if (_audioOut && !isSilentMode()) {
+		_muted = on;
+		if (on) {
+			_timer->Cancel();
+		} else {
+			_timer->Start(_interval);
+		}
+	}
+}
+
+int AudioThread::setVolume(bool up, bool minMax) {
+	int level = -1;
+	int numLevels = sizeof(levels) / sizeof(levels[0]);
+
+	if (_audioOut && !isSilentMode()) {
+		int volume = _audioOut->GetVolume();
+		if (minMax) {
+			level = up ? numLevels - 1 : 0;
+			volume = levels[level];
+		} else {
+			// adjust volume to be one of the preset values
+			for (int i = 0; i < numLevels && level == -1; i++) {
+				if (volume == levels[i]) {
+					level = i;
+					if (up) {
+						if (i + 1 < numLevels) {
+							level = i + 1;
+						}
+					} else if (i > 0) {
+						level = i - 1;
+					}
+				}
+			}
+
+			// default to INIT_LEVEL when current not preset value
+			if (level == -1) {
+				level = INIT_LEVEL;
+			}
+			volume = levels[level];
+		}
+
+		_audioOut->SetVolume(volume);
+
+		// remember the chosen setting
+		AppRegistry *registry = Application::GetInstance()->GetAppRegistry();
+		if (registry) {
+			registry->Set(CONFIG_KEY, volume);
+		}
+	}
+	return level;
+}
+
+bool AudioThread::OnStart(void) {
+	logEntered();
+
+	_audioOut = new Osp::Media::AudioOut();
+	if (!_audioOut ||
+			IsFailed(_audioOut->Construct(*this))) {
+		AppLog("Failed to create AudioOut");
+		return false;
+	}
+
+	int sampleRate = _mixer->getOutputRate();
+
+	// ideally we would update _mixer with GetOptimizedSampleRate here
+	if (_audioOut->GetOptimizedSampleRate() != sampleRate) {
+		AppLog("Non optimal sample rate %d", _audioOut->GetOptimizedSampleRate());
+	}
+
+	if (IsFailed(_audioOut->Prepare(AUDIO_TYPE_PCM_S16_LE,
+																 AUDIO_CHANNEL_TYPE_STEREO,
+																 sampleRate))) {
+		AppLog("Failed to prepare AudioOut %d", sampleRate);
+		return false;
+	}
+
+	int bufferSize = _audioOut->GetMinBufferSize();
+	for (int i = 0; i < NUM_AUDIO_BUFFERS; i++) {
+		if (IsFailed(_audioBuffer[i].Construct(bufferSize))) {
+			AppLog("Failed to create audio buffer");
+			return false;
+		}
+	}
+
+	_timer = new Timer();
+	if (!_timer || IsFailed(_timer->Construct(*this))) {
+		AppLog("Failed to create audio timer");
+		return false;
+	}
+
+	if (IsFailed(_timer->Start(_interval))) {
+		AppLog("failed to start audio timer");
+		return false;
+	}
+
+	// get the volume from the app-registry
+	int volume = levels[INIT_LEVEL];
+	AppRegistry *registry = Application::GetInstance()->GetAppRegistry();
+	if (registry) {
+		if (E_KEY_NOT_FOUND == registry->Get(CONFIG_KEY, volume)) {
+			registry->Add(CONFIG_KEY, volume);
+			volume = levels[INIT_LEVEL];
+		} else {
+			AppLog("Setting volume: %d", volume);
+		}
+	}
+
+	_muted = false;
+	_mixer->setReady(true);
+	_audioOut->SetVolume(isSilentMode() ? 0 : volume);
+	_audioOut->Start();
+	return true;
+}
+
+void AudioThread::OnStop(void) {
+	logEntered();
+
+	_mixer->setReady(false);
+
+	if (_timer) {
+		if (!_muted) {
+			_timer->Cancel();
+		}
+		delete _timer;
+	}
+
+	if (_audioOut) {
+		_audioOut->Reset();
+		delete _audioOut;
+	}
+}
+
+void AudioThread::OnAudioOutErrorOccurred(Osp::Media::AudioOut &src, result r) {
+	logEntered();
+}
+
+void AudioThread::OnAudioOutInterrupted(Osp::Media::AudioOut &src) {
+	logEntered();
+}
+
+void AudioThread::OnAudioOutReleased(Osp::Media::AudioOut &src) {
+	logEntered();
+	_audioOut->Start();
+}
+
+void AudioThread::OnAudioOutBufferEndReached(Osp::Media::AudioOut &src) {
+	if (_ready > 0) {
+		_playing = _tail;
+		_audioOut->WriteBuffer(_audioBuffer[_tail]);
+		_tail = (_tail + 1) % NUM_AUDIO_BUFFERS;
+		_ready--;
+	} else {
+		// audio buffer empty: decrease timer inverval
+		_playing = -1;
+		_interval -= TIMER_INCREMENT;
+		if (_interval < MIN_TIMER_INTERVAL) {
+			_interval = MIN_TIMER_INTERVAL;
+		}
+	}
+}
+
+void AudioThread::OnTimerExpired(Timer &timer) {
+	if (_ready < NUM_AUDIO_BUFFERS) {
+		uint len = _audioBuffer[_head].GetCapacity();
+		int samples = _mixer->mixCallback((byte*)_audioBuffer[_head].GetPointer(), len);
+		if (samples) {
+			_head = (_head + 1) % NUM_AUDIO_BUFFERS;
+			_ready++;
+		}
+	} else {
+		// audio buffer full: increase timer inverval
+		_interval += TIMER_INCREMENT;
+		if (_interval > MAX_TIMER_INTERVAL) {
+			_interval = MAX_TIMER_INTERVAL;
+		}
+	}
+
+	if (_ready && _playing == -1) {
+		OnAudioOutBufferEndReached(*_audioOut);
+	}
+	
+	_timer->Start(_interval);
+}
+
diff --git a/backends/platform/bada/audio.h b/backends/platform/bada/audio.h
index 9279593..a6debef 100644
--- a/backends/platform/bada/audio.h
+++ b/backends/platform/bada/audio.h
@@ -1,73 +1,73 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#ifndef BADA_AUDIO_H

-#define BADA_AUDIO_H

-

-#include <FBase.h>

-#include <FMedia.h>

-#include <FIo.h>

-#include <FBaseByteBuffer.h>

-

-#include "config.h"

-#include "common/scummsys.h"

-#include "common/system.h"

-#include "audio/mixer_intern.h"

-

-using namespace Osp::Base;

-using namespace Osp::Base::Collection;

-using namespace Osp::Base::Runtime;

-using namespace Osp::Media;

-using namespace Osp::Io;

-

-#define NUM_AUDIO_BUFFERS 2

-

-class AudioThread: public Osp::Media::IAudioOutEventListener,

-									 public Osp::Base::Runtime::ITimerEventListener, 

-									 public Osp::Base::Runtime::Thread {

-public:

-	AudioThread(void);

-	~AudioThread(void);

-

-	Audio::MixerImpl *Construct(OSystem *system);

-	bool isSilentMode();

-	void setMute(bool on);

-	int setVolume(bool up, bool minMax);

-

-	bool OnStart(void);

-	void OnStop(void);

-	void OnAudioOutErrorOccurred(Osp::Media::AudioOut &src, result r);

-	void OnAudioOutInterrupted(Osp::Media::AudioOut &src);

-	void OnAudioOutReleased(Osp::Media::AudioOut &src);

-	void OnAudioOutBufferEndReached(Osp::Media::AudioOut &src);

-	void OnTimerExpired(Timer &timer);

-	

-private:

-	Audio::MixerImpl *_mixer;

-	Osp::Base::Runtime::Timer *_timer;

-	Osp::Media::AudioOut *_audioOut;

-	Osp::Base::ByteBuffer _audioBuffer[NUM_AUDIO_BUFFERS];

-	int _head, _tail, _ready, _interval, _playing;

-	bool _muted;

-};

-

-#endif

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef BADA_AUDIO_H
+#define BADA_AUDIO_H
+
+#include <FBase.h>
+#include <FMedia.h>
+#include <FIo.h>
+#include <FBaseByteBuffer.h>
+
+#include "config.h"
+#include "common/scummsys.h"
+#include "common/system.h"
+#include "audio/mixer_intern.h"
+
+using namespace Osp::Base;
+using namespace Osp::Base::Collection;
+using namespace Osp::Base::Runtime;
+using namespace Osp::Media;
+using namespace Osp::Io;
+
+#define NUM_AUDIO_BUFFERS 2
+
+class AudioThread: public Osp::Media::IAudioOutEventListener,
+									 public Osp::Base::Runtime::ITimerEventListener, 
+									 public Osp::Base::Runtime::Thread {
+public:
+	AudioThread(void);
+	~AudioThread(void);
+
+	Audio::MixerImpl *Construct(OSystem *system);
+	bool isSilentMode();
+	void setMute(bool on);
+	int setVolume(bool up, bool minMax);
+
+	bool OnStart(void);
+	void OnStop(void);
+	void OnAudioOutErrorOccurred(Osp::Media::AudioOut &src, result r);
+	void OnAudioOutInterrupted(Osp::Media::AudioOut &src);
+	void OnAudioOutReleased(Osp::Media::AudioOut &src);
+	void OnAudioOutBufferEndReached(Osp::Media::AudioOut &src);
+	void OnTimerExpired(Timer &timer);
+	
+private:
+	Audio::MixerImpl *_mixer;
+	Osp::Base::Runtime::Timer *_timer;
+	Osp::Media::AudioOut *_audioOut;
+	Osp::Base::ByteBuffer _audioBuffer[NUM_AUDIO_BUFFERS];
+	int _head, _tail, _ready, _interval, _playing;
+	bool _muted;
+};
+
+#endif
diff --git a/backends/platform/bada/form.cpp b/backends/platform/bada/form.cpp
index 35721db..418cdc4 100644
--- a/backends/platform/bada/form.cpp
+++ b/backends/platform/bada/form.cpp
@@ -1,464 +1,464 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#include <FAppApplication.h>

-

-#include "common/translation.h"

-#include "base/main.h"

-

-#include "backends/platform/bada/form.h"

-#include "backends/platform/bada/system.h"

-

-using namespace Osp::Base::Runtime;

-using namespace Osp::Ui;

-using namespace Osp::Ui::Controls;

-

-// number of volume levels

-#define LEVEL_RANGE 5

-

-// round down small Y touch values to 1 to allow the

-// cursor to be positioned at the top of the screen

-#define MIN_TOUCH_Y 10

-

-// block for up to 2.5 seconds during shutdown to 

-// allow the game thread to exit gracefully.

-#define EXIT_SLEEP_STEP 10

-#define EXIT_SLEEP 250

-

-//

-// BadaAppForm

-//

-BadaAppForm::BadaAppForm() : 

-	_gameThread(0), 

-	_state(InitState),

-	_buttonState(LeftButton),

-	_shortcut(SetVolume) {

-	_eventQueueLock = new Mutex();

-	_eventQueueLock->Create();

-}

-

-result BadaAppForm::Construct() {

-	result r = Form::Construct(Controls::FORM_STYLE_NORMAL);

-	if (IsFailed(r)) {

-		return r;

-	}

-

-	BadaSystem *badaSystem = NULL;

-	_gameThread = NULL;

-

-	badaSystem = new BadaSystem(this);

-	r = badaSystem != NULL ? E_SUCCESS : E_OUT_OF_MEMORY;

-	

-	if (!IsFailed(r)) {

-		r = badaSystem->Construct();

-	}

-

-	if (!IsFailed(r)) {

-		_gameThread = new Thread();

-		r = _gameThread != NULL ? E_SUCCESS : E_OUT_OF_MEMORY;

-	}

-

-	if (!IsFailed(r)) {

-		r = _gameThread->Construct(*this);

-	}

-

-	if (IsFailed(r)) {

-		if (badaSystem != NULL) {

-			delete badaSystem;

-		}

-		if (_gameThread != NULL) {

-			delete _gameThread;

-			_gameThread = NULL;

-		}

-	} else {

-		g_system = badaSystem;

-	}

-

-	return r;

-}

-

-BadaAppForm::~BadaAppForm() {

-	logEntered();

-

-	if (_gameThread && _state != ErrorState) {

-		terminate();

-

-		_gameThread->Stop();

-		if (_state != ErrorState) {

-			_gameThread->Join();

-		}		

-

-		delete _gameThread;

-		_gameThread = NULL;

-	}

-

-	if (_eventQueueLock) {

-		delete _eventQueueLock;

-		_eventQueueLock = NULL;

-	}

-

-	logLeaving();

-}

-

-//

-// abort the game thread

-//

-void BadaAppForm::terminate() {

-	if (_state == ActiveState) {

-		((BadaSystem *)g_system)->setMute(true);

-

-		_eventQueueLock->Acquire();

-

-		Common::Event e;

-		e.type = Common::EVENT_QUIT;

-		_eventQueue.push(e);

-		_state = ClosingState;

-

-		_eventQueueLock->Release();

-

-		// block while thread ends

-		AppLog("waiting for shutdown");

-		for (int i = 0; i < EXIT_SLEEP_STEP && _state == ClosingState; i++) {

-			Thread::Sleep(EXIT_SLEEP);

-		}

-

-		if (_state == ClosingState) {

-			// failed to terminate - Join() will freeze

-			_state = ErrorState;

-		}

-	}

-}

-

-void BadaAppForm::exitSystem() {

-	_state = ErrorState;

-

-	if (_gameThread) {

-		_gameThread->Stop();

-		delete _gameThread;

-		_gameThread = NULL;

-	}

-}

-

-result BadaAppForm::OnInitializing(void) {

-	logEntered();

-

-	SetOrientation(ORIENTATION_LANDSCAPE);

-	AddOrientationEventListener(*this);

-	AddTouchEventListener(*this);

-	AddKeyEventListener(*this);

-

-	// set focus to enable receiving key events

-	SetFocusable(true);

-	SetFocus();

-

-	return E_SUCCESS;

-}

-

-result BadaAppForm::OnDraw(void) {

-	logEntered();

-

-	if (g_system) {

-		BadaSystem *system = (BadaSystem *)g_system;

-		BadaGraphicsManager *graphics = system->getGraphics();

-		if (graphics && graphics->isReady()) {

-			g_system->updateScreen();

-		}

-	}

-

-	return E_SUCCESS;

-}

-

-bool BadaAppForm::pollEvent(Common::Event &event) {

-	bool result = false;

-

-	_eventQueueLock->Acquire();

-	if (!_eventQueue.empty()) {

-		event = _eventQueue.pop();

-		result = true;

-	}

-	_eventQueueLock->Release();

-

-	return result;

-}

-

-void BadaAppForm::pushEvent(Common::EventType type,

-														const Point &currentPosition) {

-	BadaSystem *system = (BadaSystem *)g_system;

-	BadaGraphicsManager *graphics = system->getGraphics();

-	if (graphics) {

-		// graphics could be NULL at startup or when 

-		// displaying the system error screen

-		Common::Event e;

-		e.type = type;

-		e.mouse.x = currentPosition.x;

-		e.mouse.y = currentPosition.y > MIN_TOUCH_Y ? currentPosition.y : 1;

-		

-		bool moved = graphics->moveMouse(e.mouse.x, e.mouse.y);

-

-		_eventQueueLock->Acquire();

-

-		if (moved && type != Common::EVENT_MOUSEMOVE) {

-			Common::Event moveEvent;

-			moveEvent.type = Common::EVENT_MOUSEMOVE;

-			moveEvent.mouse = e.mouse;

-			_eventQueue.push(moveEvent);

-		}

-

-		_eventQueue.push(e);

-		_eventQueueLock->Release();

-	}

-}

-

-void BadaAppForm::pushKey(Common::KeyCode keycode) {

-	Common::Event e;

-	e.synthetic = false;

-	e.kbd.keycode = keycode;

-	e.kbd.ascii = keycode;

-	e.kbd.flags = 0;

-

-	_eventQueueLock->Acquire();

-

-	e.type = Common::EVENT_KEYDOWN;

-	_eventQueue.push(e);

-	e.type = Common::EVENT_KEYUP;

-	_eventQueue.push(e);

-

-	_eventQueueLock->Release();

-}

-

-void BadaAppForm::OnOrientationChanged(const Control &source, 

-																			 OrientationStatus orientationStatus) {

-	logEntered();

-	if (_state == InitState) {

-		_state = ActiveState;

-		_gameThread->Start();

-	}

-}

-

-Object *BadaAppForm::Run(void) {

-	scummvm_main(0, 0);

-

-	if (_state == ActiveState) {

-		Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT, NULL);

-	}

-	_state = DoneState;

-	return NULL;

-}

-

-void BadaAppForm::setButtonShortcut() {

-	switch (_buttonState) {

-	case LeftButton:

-		g_system->displayMessageOnOSD(_("Right Click Once"));

-		_buttonState = RightButtonOnce;

-		break;

-	case RightButtonOnce:

-		g_system->displayMessageOnOSD(_("Right Click"));

-		_buttonState = RightButton;

-		break;

-	case RightButton:

-		g_system->displayMessageOnOSD(_("Move Only"));

-		_buttonState = MoveOnly;

-		break;

-	case MoveOnly:

-		g_system->displayMessageOnOSD(_("Left Click"));

-		_buttonState = LeftButton;

-		break;

-	}

-}

-

-void BadaAppForm::setShortcut() {

-	// cycle to the next shortcut

-	switch (_shortcut) {

-	case ControlMouse:

-		g_system->displayMessageOnOSD(_("Escape Key"));

-		_shortcut = EscapeKey;

-		break;

-

-	case EscapeKey:

-		g_system->displayMessageOnOSD(_("Game Menu"));

-		_shortcut = GameMenu;

-		break;

-

-	case GameMenu:

-		g_system->displayMessageOnOSD(_("Show Keypad"));

-		_shortcut = ShowKeypad;

-		break;

-

-	case SetVolume:

-		// fallthru

-

-	case ShowKeypad:

-		g_system->displayMessageOnOSD(_("Control Mouse"));

-		_shortcut = ControlMouse;

-		break;

-	}

-}

-

-void BadaAppForm::setVolume(bool up, bool minMax) {

-	int level = ((BadaSystem *)g_system)->setVolume(up, minMax);

-	if (level != -1) {

-		char message[32];

-		char ind[LEVEL_RANGE]; // 1..5 (0=off)

-		int j = LEVEL_RANGE - 1; // 0..4

-		for (int i = 1; i <= LEVEL_RANGE; i++) {

-			ind[j--] = level >= i ? '|' : ' ';

-		}

-		snprintf(message, sizeof(message), "Volume: [ %c%c%c%c%c ]",

-						 ind[0], ind[1], ind[2], ind[3], ind[4]);

-		g_system->displayMessageOnOSD(message);

-	}

-}

-

-void BadaAppForm::showKeypad() {

-	// display the soft keyboard

-	_buttonState = LeftButton;

-	pushKey(Common::KEYCODE_F7);

-}

-

-void BadaAppForm::OnTouchDoublePressed(const Control &source, 

-																			 const Point &currentPosition, 

-																			 const TouchEventInfo &touchInfo) {

-	if (_buttonState != MoveOnly) {

-		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,

-							currentPosition);

-		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,

-							currentPosition);

-	}

-}

-

-void BadaAppForm::OnTouchFocusIn(const Control &source, 

-																 const Point &currentPosition, 

-																 const TouchEventInfo &touchInfo) {

-}

-

-void BadaAppForm::OnTouchFocusOut(const Control &source, 

-																	const Point &currentPosition, 

-																	const TouchEventInfo &touchInfo) {

-}

-

-void BadaAppForm::OnTouchLongPressed(const Control &source, 

-																		 const Point &currentPosition, 

-																		 const TouchEventInfo &touchInfo) {

-	if (_buttonState != LeftButton) {

-		pushKey(Common::KEYCODE_RETURN);

-	}

-}

-

-void BadaAppForm::OnTouchMoved(const Control &source, 

-															 const Point &currentPosition, 

-															 const TouchEventInfo &touchInfo) {

-	pushEvent(Common::EVENT_MOUSEMOVE, currentPosition);

-}

-

-void BadaAppForm::OnTouchPressed(const Control &source, 

-																 const Point &currentPosition, 

-																 const TouchEventInfo &touchInfo) {

-	if (_buttonState != MoveOnly) {

-		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,

-							currentPosition);

-	}

-}

-

-void BadaAppForm::OnTouchReleased(const Control &source, 

-																	const Point &currentPosition, 

-																	const TouchEventInfo &touchInfo) {

-	if (_buttonState != MoveOnly) {

-		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP,

-							currentPosition);

-		if (_buttonState == RightButtonOnce) {

-			_buttonState = LeftButton;

-		}

-		// flick to skip dialog

-		if (touchInfo.IsFlicked()) {

-			pushKey(Common::KEYCODE_PERIOD);

-		}

-	}

-}

-

-void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) {

-	logEntered();

-	switch (keyCode) {

-	case KEY_SIDE_UP:

-		_shortcut = SetVolume;

-		setVolume(true, true);

-		return;

-

-	case KEY_SIDE_DOWN:

-		_shortcut = SetVolume;

-		setVolume(false, true);

-		return;

-

-	case KEY_CAMERA:

-		_shortcut = ShowKeypad;

-		showKeypad();

-		return;

-

-	default:

-		break;

-	}

-}

-

-void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {

-	switch (keyCode) {

-	case KEY_SIDE_UP:

-		if (_shortcut != SetVolume) {

-			_shortcut = SetVolume;

-		} else {

-			setVolume(true, false);

-		}

-		return;

-

-	case KEY_SIDE_DOWN:

-		switch (_shortcut) {

-		case ControlMouse:

-			setButtonShortcut();

-			break;

-

-		case EscapeKey:

-			pushKey(Common::KEYCODE_ESCAPE);			

-			break;

-

-		case GameMenu:

-			pushKey(Common::KEYCODE_F5);

-			break;

-

-		case ShowKeypad:

-			showKeypad();

-			break;

-

-		default:

-			setVolume(false, false);			

-			break;

-		}

-		break;

-

-	case KEY_CAMERA:

-		setShortcut();

-		break;

-

-	default:

-		break;

-	}

-}

-

-void BadaAppForm::OnKeyReleased(const Control &source, KeyCode keyCode) {

-}

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include <FAppApplication.h>
+
+#include "common/translation.h"
+#include "base/main.h"
+
+#include "backends/platform/bada/form.h"
+#include "backends/platform/bada/system.h"
+
+using namespace Osp::Base::Runtime;
+using namespace Osp::Ui;
+using namespace Osp::Ui::Controls;
+
+// number of volume levels
+#define LEVEL_RANGE 5
+
+// round down small Y touch values to 1 to allow the
+// cursor to be positioned at the top of the screen
+#define MIN_TOUCH_Y 10
+
+// block for up to 2.5 seconds during shutdown to 
+// allow the game thread to exit gracefully.
+#define EXIT_SLEEP_STEP 10
+#define EXIT_SLEEP 250
+
+//
+// BadaAppForm
+//
+BadaAppForm::BadaAppForm() : 
+	_gameThread(0), 
+	_state(InitState),
+	_buttonState(LeftButton),
+	_shortcut(SetVolume) {
+	_eventQueueLock = new Mutex();
+	_eventQueueLock->Create();
+}
+
+result BadaAppForm::Construct() {
+	result r = Form::Construct(Controls::FORM_STYLE_NORMAL);
+	if (IsFailed(r)) {
+		return r;
+	}
+
+	BadaSystem *badaSystem = NULL;
+	_gameThread = NULL;
+
+	badaSystem = new BadaSystem(this);
+	r = badaSystem != NULL ? E_SUCCESS : E_OUT_OF_MEMORY;
+	
+	if (!IsFailed(r)) {
+		r = badaSystem->Construct();
+	}
+
+	if (!IsFailed(r)) {
+		_gameThread = new Thread();
+		r = _gameThread != NULL ? E_SUCCESS : E_OUT_OF_MEMORY;
+	}
+
+	if (!IsFailed(r)) {
+		r = _gameThread->Construct(*this);
+	}
+
+	if (IsFailed(r)) {
+		if (badaSystem != NULL) {
+			delete badaSystem;
+		}
+		if (_gameThread != NULL) {
+			delete _gameThread;
+			_gameThread = NULL;
+		}
+	} else {
+		g_system = badaSystem;
+	}
+
+	return r;
+}
+
+BadaAppForm::~BadaAppForm() {
+	logEntered();
+
+	if (_gameThread && _state != ErrorState) {
+		terminate();
+
+		_gameThread->Stop();
+		if (_state != ErrorState) {
+			_gameThread->Join();
+		}		
+
+		delete _gameThread;
+		_gameThread = NULL;
+	}
+
+	if (_eventQueueLock) {
+		delete _eventQueueLock;
+		_eventQueueLock = NULL;
+	}
+
+	logLeaving();
+}
+
+//
+// abort the game thread
+//
+void BadaAppForm::terminate() {
+	if (_state == ActiveState) {
+		((BadaSystem *)g_system)->setMute(true);
+
+		_eventQueueLock->Acquire();
+
+		Common::Event e;
+		e.type = Common::EVENT_QUIT;
+		_eventQueue.push(e);
+		_state = ClosingState;
+
+		_eventQueueLock->Release();
+
+		// block while thread ends
+		AppLog("waiting for shutdown");
+		for (int i = 0; i < EXIT_SLEEP_STEP && _state == ClosingState; i++) {
+			Thread::Sleep(EXIT_SLEEP);
+		}
+
+		if (_state == ClosingState) {
+			// failed to terminate - Join() will freeze
+			_state = ErrorState;
+		}
+	}
+}
+
+void BadaAppForm::exitSystem() {
+	_state = ErrorState;
+
+	if (_gameThread) {
+		_gameThread->Stop();
+		delete _gameThread;
+		_gameThread = NULL;
+	}
+}
+
+result BadaAppForm::OnInitializing(void) {
+	logEntered();
+
+	SetOrientation(ORIENTATION_LANDSCAPE);
+	AddOrientationEventListener(*this);
+	AddTouchEventListener(*this);
+	AddKeyEventListener(*this);
+
+	// set focus to enable receiving key events
+	SetFocusable(true);
+	SetFocus();
+
+	return E_SUCCESS;
+}
+
+result BadaAppForm::OnDraw(void) {
+	logEntered();
+
+	if (g_system) {
+		BadaSystem *system = (BadaSystem *)g_system;
+		BadaGraphicsManager *graphics = system->getGraphics();
+		if (graphics && graphics->isReady()) {
+			g_system->updateScreen();
+		}
+	}
+
+	return E_SUCCESS;
+}
+
+bool BadaAppForm::pollEvent(Common::Event &event) {
+	bool result = false;
+
+	_eventQueueLock->Acquire();
+	if (!_eventQueue.empty()) {
+		event = _eventQueue.pop();
+		result = true;
+	}
+	_eventQueueLock->Release();
+
+	return result;
+}
+
+void BadaAppForm::pushEvent(Common::EventType type,
+														const Point &currentPosition) {
+	BadaSystem *system = (BadaSystem *)g_system;
+	BadaGraphicsManager *graphics = system->getGraphics();
+	if (graphics) {
+		// graphics could be NULL at startup or when 
+		// displaying the system error screen
+		Common::Event e;
+		e.type = type;
+		e.mouse.x = currentPosition.x;
+		e.mouse.y = currentPosition.y > MIN_TOUCH_Y ? currentPosition.y : 1;
+		
+		bool moved = graphics->moveMouse(e.mouse.x, e.mouse.y);
+
+		_eventQueueLock->Acquire();
+
+		if (moved && type != Common::EVENT_MOUSEMOVE) {
+			Common::Event moveEvent;
+			moveEvent.type = Common::EVENT_MOUSEMOVE;
+			moveEvent.mouse = e.mouse;
+			_eventQueue.push(moveEvent);
+		}
+
+		_eventQueue.push(e);
+		_eventQueueLock->Release();
+	}
+}
+
+void BadaAppForm::pushKey(Common::KeyCode keycode) {
+	Common::Event e;
+	e.synthetic = false;
+	e.kbd.keycode = keycode;
+	e.kbd.ascii = keycode;
+	e.kbd.flags = 0;
+
+	_eventQueueLock->Acquire();
+
+	e.type = Common::EVENT_KEYDOWN;
+	_eventQueue.push(e);
+	e.type = Common::EVENT_KEYUP;
+	_eventQueue.push(e);
+
+	_eventQueueLock->Release();
+}
+
+void BadaAppForm::OnOrientationChanged(const Control &source, 
+																			 OrientationStatus orientationStatus) {
+	logEntered();
+	if (_state == InitState) {
+		_state = ActiveState;
+		_gameThread->Start();
+	}
+}
+
+Object *BadaAppForm::Run(void) {
+	scummvm_main(0, 0);
+
+	if (_state == ActiveState) {
+		Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT, NULL);
+	}
+	_state = DoneState;
+	return NULL;
+}
+
+void BadaAppForm::setButtonShortcut() {
+	switch (_buttonState) {
+	case LeftButton:
+		g_system->displayMessageOnOSD(_("Right Click Once"));
+		_buttonState = RightButtonOnce;
+		break;
+	case RightButtonOnce:
+		g_system->displayMessageOnOSD(_("Right Click"));
+		_buttonState = RightButton;
+		break;
+	case RightButton:
+		g_system->displayMessageOnOSD(_("Move Only"));
+		_buttonState = MoveOnly;
+		break;
+	case MoveOnly:
+		g_system->displayMessageOnOSD(_("Left Click"));
+		_buttonState = LeftButton;
+		break;
+	}
+}
+
+void BadaAppForm::setShortcut() {
+	// cycle to the next shortcut
+	switch (_shortcut) {
+	case ControlMouse:
+		g_system->displayMessageOnOSD(_("Escape Key"));
+		_shortcut = EscapeKey;
+		break;
+
+	case EscapeKey:
+		g_system->displayMessageOnOSD(_("Game Menu"));
+		_shortcut = GameMenu;
+		break;
+
+	case GameMenu:
+		g_system->displayMessageOnOSD(_("Show Keypad"));
+		_shortcut = ShowKeypad;
+		break;
+
+	case SetVolume:
+		// fallthru
+
+	case ShowKeypad:
+		g_system->displayMessageOnOSD(_("Control Mouse"));
+		_shortcut = ControlMouse;
+		break;
+	}
+}
+
+void BadaAppForm::setVolume(bool up, bool minMax) {
+	int level = ((BadaSystem *)g_system)->setVolume(up, minMax);
+	if (level != -1) {
+		char message[32];
+		char ind[LEVEL_RANGE]; // 1..5 (0=off)
+		int j = LEVEL_RANGE - 1; // 0..4
+		for (int i = 1; i <= LEVEL_RANGE; i++) {
+			ind[j--] = level >= i ? '|' : ' ';
+		}
+		snprintf(message, sizeof(message), "Volume: [ %c%c%c%c%c ]",
+						 ind[0], ind[1], ind[2], ind[3], ind[4]);
+		g_system->displayMessageOnOSD(message);
+	}
+}
+
+void BadaAppForm::showKeypad() {
+	// display the soft keyboard
+	_buttonState = LeftButton;
+	pushKey(Common::KEYCODE_F7);
+}
+
+void BadaAppForm::OnTouchDoublePressed(const Control &source, 
+																			 const Point &currentPosition, 
+																			 const TouchEventInfo &touchInfo) {
+	if (_buttonState != MoveOnly) {
+		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+							currentPosition);
+		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+							currentPosition);
+	}
+}
+
+void BadaAppForm::OnTouchFocusIn(const Control &source, 
+																 const Point &currentPosition, 
+																 const TouchEventInfo &touchInfo) {
+}
+
+void BadaAppForm::OnTouchFocusOut(const Control &source, 
+																	const Point &currentPosition, 
+																	const TouchEventInfo &touchInfo) {
+}
+
+void BadaAppForm::OnTouchLongPressed(const Control &source, 
+																		 const Point &currentPosition, 
+																		 const TouchEventInfo &touchInfo) {
+	if (_buttonState != LeftButton) {
+		pushKey(Common::KEYCODE_RETURN);
+	}
+}
+
+void BadaAppForm::OnTouchMoved(const Control &source, 
+															 const Point &currentPosition, 
+															 const TouchEventInfo &touchInfo) {
+	pushEvent(Common::EVENT_MOUSEMOVE, currentPosition);
+}
+
+void BadaAppForm::OnTouchPressed(const Control &source, 
+																 const Point &currentPosition, 
+																 const TouchEventInfo &touchInfo) {
+	if (_buttonState != MoveOnly) {
+		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
+							currentPosition);
+	}
+}
+
+void BadaAppForm::OnTouchReleased(const Control &source, 
+																	const Point &currentPosition, 
+																	const TouchEventInfo &touchInfo) {
+	if (_buttonState != MoveOnly) {
+		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP,
+							currentPosition);
+		if (_buttonState == RightButtonOnce) {
+			_buttonState = LeftButton;
+		}
+		// flick to skip dialog
+		if (touchInfo.IsFlicked()) {
+			pushKey(Common::KEYCODE_PERIOD);
+		}
+	}
+}
+
+void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) {
+	logEntered();
+	switch (keyCode) {
+	case KEY_SIDE_UP:
+		_shortcut = SetVolume;
+		setVolume(true, true);
+		return;
+
+	case KEY_SIDE_DOWN:
+		_shortcut = SetVolume;
+		setVolume(false, true);
+		return;
+
+	case KEY_CAMERA:
+		_shortcut = ShowKeypad;
+		showKeypad();
+		return;
+
+	default:
+		break;
+	}
+}
+
+void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {
+	switch (keyCode) {
+	case KEY_SIDE_UP:
+		if (_shortcut != SetVolume) {
+			_shortcut = SetVolume;
+		} else {
+			setVolume(true, false);
+		}
+		return;
+
+	case KEY_SIDE_DOWN:
+		switch (_shortcut) {
+		case ControlMouse:
+			setButtonShortcut();
+			break;
+
+		case EscapeKey:
+			pushKey(Common::KEYCODE_ESCAPE);			
+			break;
+
+		case GameMenu:
+			pushKey(Common::KEYCODE_F5);
+			break;
+
+		case ShowKeypad:
+			showKeypad();
+			break;
+
+		default:
+			setVolume(false, false);			
+			break;
+		}
+		break;
+
+	case KEY_CAMERA:
+		setShortcut();
+		break;
+
+	default:
+		break;
+	}
+}
+
+void BadaAppForm::OnKeyReleased(const Control &source, KeyCode keyCode) {
+}
diff --git a/backends/platform/bada/form.h b/backends/platform/bada/form.h
index aa13461..ec04f19 100644
--- a/backends/platform/bada/form.h
+++ b/backends/platform/bada/form.h
@@ -1,108 +1,108 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#ifndef BADA_FORM_H

-#define BADA_FORM_H

-

-#include <FApp.h>

-#include <FUi.h>

-#include <FSystem.h>

-#include <FBase.h>

-#include <FUiITouchEventListener.h>

-#include <FUiITextEventListener.h>

-

-#include "config.h"

-#include "common/scummsys.h"

-#include "common/events.h"

-#include "common/queue.h"

-#include "common/mutex.h"

-

-//

-// BadaAppForm

-//

-class BadaAppForm : public Osp::Ui::Controls::Form,

-										public Osp::Ui::IOrientationEventListener,

-										public Osp::Ui::ITouchEventListener,

-										public Osp::Ui::IKeyEventListener,

-										public Osp::Base::Runtime::IRunnable {

-public:

-	BadaAppForm();

-	~BadaAppForm();

-

-	result Construct();

-	bool pollEvent(Common::Event &event);

-	bool isClosing() { return _state == ClosingState; }

-	void pushKey(Common::KeyCode keycode);

-	void exitSystem();

-

-private:

-	Object *Run();

-	result OnInitializing(void);

-	result OnDraw(void);

-	void OnOrientationChanged(const Osp::Ui::Control &source, 

-														Osp::Ui::OrientationStatus orientationStatus);

-	void OnTouchDoublePressed(const Osp::Ui::Control &source, 

-														const Osp::Graphics::Point &currentPosition, 

-														const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchFocusIn(const Osp::Ui::Control &source, 

-											const Osp::Graphics::Point &currentPosition, 

-											const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchFocusOut(const Osp::Ui::Control &source, 

-											 const Osp::Graphics::Point &currentPosition, 

-											 const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchLongPressed(const Osp::Ui::Control &source, 

-													const Osp::Graphics::Point &currentPosition, 

-													const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchMoved(const Osp::Ui::Control &source, 

-										const Osp::Graphics::Point &currentPosition, 

-										const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchPressed(const Osp::Ui::Control &source, 

-											const Osp::Graphics::Point &currentPosition, 

-											const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnTouchReleased(const Osp::Ui::Control &source, 

-											 const Osp::Graphics::Point &currentPosition, 

-											 const Osp::Ui::TouchEventInfo &touchInfo);

-	void OnKeyLongPressed(const Osp::Ui::Control &source, 

-												Osp::Ui::KeyCode keyCode);

-	void OnKeyPressed(const Osp::Ui::Control &source, 

-										Osp::Ui::KeyCode keyCode);

-	void OnKeyReleased(const Osp::Ui::Control &source, 

-										 Osp::Ui::KeyCode keyCode);

-

-	void pushEvent(Common::EventType type,

-								 const Osp::Graphics::Point &currentPosition);

-	void terminate();

-	void setButtonShortcut();

-	void setShortcut();

-	void setVolume(bool up, bool minMax);

-	void showKeypad();

-

-	// event handling

-	Osp::Base::Runtime::Thread *_gameThread;

-	Osp::Base::Runtime::Mutex *_eventQueueLock;

-	Common::Queue<Common::Event> _eventQueue;

-	enum {InitState, ActiveState, ClosingState, DoneState, ErrorState} _state;

-	enum {LeftButton, RightButtonOnce, RightButton, MoveOnly} _buttonState;

-	enum {ControlMouse, EscapeKey, GameMenu, ShowKeypad, SetVolume} _shortcut;

-};

-

-#endif

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef BADA_FORM_H
+#define BADA_FORM_H
+
+#include <FApp.h>
+#include <FUi.h>
+#include <FSystem.h>
+#include <FBase.h>
+#include <FUiITouchEventListener.h>
+#include <FUiITextEventListener.h>
+
+#include "config.h"
+#include "common/scummsys.h"
+#include "common/events.h"
+#include "common/queue.h"
+#include "common/mutex.h"
+
+//
+// BadaAppForm
+//
+class BadaAppForm : public Osp::Ui::Controls::Form,
+										public Osp::Ui::IOrientationEventListener,
+										public Osp::Ui::ITouchEventListener,
+										public Osp::Ui::IKeyEventListener,
+										public Osp::Base::Runtime::IRunnable {
+public:
+	BadaAppForm();
+	~BadaAppForm();
+
+	result Construct();
+	bool pollEvent(Common::Event &event);
+	bool isClosing() { return _state == ClosingState; }
+	void pushKey(Common::KeyCode keycode);
+	void exitSystem();
+
+private:
+	Object *Run();
+	result OnInitializing(void);
+	result OnDraw(void);
+	void OnOrientationChanged(const Osp::Ui::Control &source, 
+														Osp::Ui::OrientationStatus orientationStatus);
+	void OnTouchDoublePressed(const Osp::Ui::Control &source, 
+														const Osp::Graphics::Point &currentPosition, 
+														const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchFocusIn(const Osp::Ui::Control &source, 
+											const Osp::Graphics::Point &currentPosition, 
+											const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchFocusOut(const Osp::Ui::Control &source, 
+											 const Osp::Graphics::Point &currentPosition, 
+											 const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchLongPressed(const Osp::Ui::Control &source, 
+													const Osp::Graphics::Point &currentPosition, 
+													const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchMoved(const Osp::Ui::Control &source, 
+										const Osp::Graphics::Point &currentPosition, 
+										const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchPressed(const Osp::Ui::Control &source, 
+											const Osp::Graphics::Point &currentPosition, 
+											const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnTouchReleased(const Osp::Ui::Control &source, 
+											 const Osp::Graphics::Point &currentPosition, 
+											 const Osp::Ui::TouchEventInfo &touchInfo);
+	void OnKeyLongPressed(const Osp::Ui::Control &source, 
+												Osp::Ui::KeyCode keyCode);
+	void OnKeyPressed(const Osp::Ui::Control &source, 
+										Osp::Ui::KeyCode keyCode);
+	void OnKeyReleased(const Osp::Ui::Control &source, 
+										 Osp::Ui::KeyCode keyCode);
+
+	void pushEvent(Common::EventType type,
+								 const Osp::Graphics::Point &currentPosition);
+	void terminate();
+	void setButtonShortcut();
+	void setShortcut();
+	void setVolume(bool up, bool minMax);
+	void showKeypad();
+
+	// event handling
+	Osp::Base::Runtime::Thread *_gameThread;
+	Osp::Base::Runtime::Mutex *_eventQueueLock;
+	Common::Queue<Common::Event> _eventQueue;
+	enum {InitState, ActiveState, ClosingState, DoneState, ErrorState} _state;
+	enum {LeftButton, RightButtonOnce, RightButton, MoveOnly} _buttonState;
+	enum {ControlMouse, EscapeKey, GameMenu, ShowKeypad, SetVolume} _shortcut;
+};
+
+#endif
diff --git a/backends/platform/bada/graphics.cpp b/backends/platform/bada/graphics.cpp
index 81176b1..7c4fc03 100644
--- a/backends/platform/bada/graphics.cpp
+++ b/backends/platform/bada/graphics.cpp
@@ -1,315 +1,315 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#include "graphics/fontman.h"

-

-#include "backends/platform/bada/form.h"

-#include "backends/platform/bada/system.h"

-#include "backends/platform/bada/graphics.h"

-

-//

-// BadaGraphicsManager

-//

-BadaGraphicsManager::BadaGraphicsManager(BadaAppForm *appForm) :

-	_appForm(appForm),

-	_eglDisplay(EGL_DEFAULT_DISPLAY),

-	_eglSurface(EGL_NO_SURFACE),

-	_eglConfig(0),

-	_eglContext(EGL_NO_CONTEXT),

-	_initState(true) {

-	assert(appForm != NULL);

-	_videoMode.fullscreen = true;

-	_videoMode.antialiasing = true;

-}

-

-const Graphics::Font *BadaGraphicsManager::getFontOSD() {

-	return FontMan.getFontByUsage(Graphics::FontManager::kBigGUIFont);

-}

-

-bool BadaGraphicsManager::moveMouse(int16 &x, int16 &y) {

-	int16 currentX = _cursorState.x;

-	int16 currentY = _cursorState.y;

-

-	// save the current hardware coordinates

-	_cursorState.x = x;

-	_cursorState.y = y;

-

-	// return x/y as game coordinates

-	adjustMousePosition(x, y);

-

-	// convert current x/y to game coordinates

-	adjustMousePosition(currentX, currentY);

-

-	// return whether game coordinates have changed

-	return (currentX != x || currentY != y);

-}

-

-Common::List<Graphics::PixelFormat> BadaGraphicsManager::getSupportedFormats() const {

-	logEntered();

-

-	Common::List<Graphics::PixelFormat> res;

-	res.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 12, 8, 4, 0));

-	res.push_back(Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0));

-	res.push_back(Graphics::PixelFormat(2, 5, 5, 5, 1, 11, 6, 1, 0));

-	res.push_back(Graphics::PixelFormat::createFormatCLUT8());

-	return res;

-}

-

-bool BadaGraphicsManager::hasFeature(OSystem::Feature f) {

-	bool result = (f == OSystem::kFeatureFullscreenMode || 

-								 f == OSystem::kFeatureVirtualKeyboard ||

-								 OpenGLGraphicsManager::hasFeature(f));

-	return result;

-}

-

-void BadaGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {

-	OpenGLGraphicsManager::setFeatureState(f, enable);

-}

-

-void BadaGraphicsManager::setReady() {

-	_initState = false;

-}

-

-void BadaGraphicsManager::updateScreen() {

-	if (_transactionMode == kTransactionNone) {

-		internUpdateScreen();

-	}

-}

-

-bool BadaGraphicsManager::loadEgl() {

-	logEntered();

-

-	EGLint numConfigs = 1;

-	EGLint eglConfigList[] = {

-		EGL_RED_SIZE,		5,

-		EGL_GREEN_SIZE, 6,

-		EGL_BLUE_SIZE,	5,

-		EGL_ALPHA_SIZE, 0,

-		EGL_DEPTH_SIZE, 8,

-		EGL_SURFACE_TYPE, EGL_WINDOW_BIT,

-		EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,

-		EGL_NONE

-	};

-

-	EGLint eglContextList[] = {

-		EGL_CONTEXT_CLIENT_VERSION, 1, 

-		EGL_NONE

-	};

-

-	eglBindAPI(EGL_OPENGL_ES_API);

-

-	if (_eglDisplay) {

-		unloadGFXMode();

-	}

-

-	_eglDisplay = eglGetDisplay((EGLNativeDisplayType) EGL_DEFAULT_DISPLAY);

-	if (EGL_NO_DISPLAY == _eglDisplay) {

-		systemError("eglGetDisplay() failed");

-		return false;

-	}

-	

-	if (EGL_FALSE == eglInitialize(_eglDisplay, NULL, NULL) || 

-			EGL_SUCCESS != eglGetError()) {

-		systemError("eglInitialize() failed");

-		return false;

-	}

-

-	if (EGL_FALSE == eglChooseConfig(_eglDisplay, eglConfigList, 

-																	 &_eglConfig, 1, &numConfigs) ||

-			EGL_SUCCESS != eglGetError()) {

-		systemError("eglChooseConfig() failed");

-		return false;

-	}

-

-	if (!numConfigs) {

-		systemError("eglChooseConfig() failed. Matching config does not exist \n");

-		return false;

-	}

-

-	_eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig, 

-																			(EGLNativeWindowType)_appForm, NULL);

-	if (EGL_NO_SURFACE == _eglSurface || EGL_SUCCESS != eglGetError()) {

-		systemError("eglCreateWindowSurface() failed. EGL_NO_SURFACE");

-		return false;

-	}

-	

-	_eglContext = eglCreateContext(_eglDisplay, _eglConfig, 

-																EGL_NO_CONTEXT, eglContextList);

-	if (EGL_NO_CONTEXT == _eglContext ||

-			EGL_SUCCESS != eglGetError()) {

-		systemError("eglCreateContext() failed");

-		return false;

-	}

-

-	if (false == eglMakeCurrent(_eglDisplay, _eglSurface, _eglSurface, _eglContext) ||

-			EGL_SUCCESS != eglGetError()) {

-		systemError("eglMakeCurrent() failed");

-		return false;

-	}

-

-	logLeaving();

-	return true;

-}

-

-bool BadaGraphicsManager::loadGFXMode() {

-	logEntered();

-

-	if (!loadEgl()) {

-		unloadGFXMode();

-		return false;

-	}

-

-	int x, y, width, height;

-	_appForm->GetBounds(x, y, width, height);

-	_videoMode.overlayWidth = _videoMode.hardwareWidth = width;

-	_videoMode.overlayHeight = _videoMode.hardwareHeight = height;

-	_videoMode.scaleFactor = 3; // for proportional sized cursor in the launcher

-

-	AppLog("screen size: %dx%d", _videoMode.hardwareWidth, _videoMode.hardwareHeight);

-	return OpenGLGraphicsManager::loadGFXMode();

-}

-

-void BadaGraphicsManager::loadTextures() {

-	logEntered();

-

-	OpenGLGraphicsManager::loadTextures();

-

-	// prevent image skew in some games, see:

-	// http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall

-	// note: this did not solve the pixel border problem in refreshGameScreen()

-	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

-}

-

-void BadaGraphicsManager::internUpdateScreen() {

-	if (!_initState) {

-		OpenGLGraphicsManager::internUpdateScreen();

-		eglSwapBuffers(_eglDisplay, _eglSurface);

-	} else {

-		showSplash();

-	}

-}

-

-void BadaGraphicsManager::unloadGFXMode() {

-	logEntered();

-

-	if (EGL_NO_DISPLAY != _eglDisplay) {

-		eglMakeCurrent(_eglDisplay, NULL, NULL, NULL);

-

-		if (_eglContext != EGL_NO_CONTEXT) {

-			eglDestroyContext(_eglDisplay, _eglContext);

-			_eglContext = EGL_NO_CONTEXT;

-		}

-

-		if (_eglSurface != EGL_NO_SURFACE) {

-			eglDestroySurface(_eglDisplay, _eglSurface);

-			_eglSurface = EGL_NO_SURFACE;

-		}

-

-		eglTerminate(_eglDisplay);

-		_eglDisplay = EGL_NO_DISPLAY;

-	}

-	

-	_eglConfig = NULL;

-

-	OpenGLGraphicsManager::unloadGFXMode();

-	logLeaving();

-}

-

-void BadaGraphicsManager::refreshGameScreen() {

-	if (_screenNeedsRedraw)

-		_screenDirtyRect = Common::Rect(0, 0, _screenData.w, _screenData.h);

-

-	int x = _screenDirtyRect.left;

-	int y = _screenDirtyRect.top;

-	int w = _screenDirtyRect.width();

-	int h = _screenDirtyRect.height();

-

-	if (_screenData.format.bytesPerPixel == 1) {

-		// Create a temporary RGB888 surface

-		int sw = w;

-		int sh = h;

-

-		if (_videoMode.screenWidth == w && _videoMode.screenHeight == h) {

-			// The extra border prevents random pixels from appearing in the right and bottom

-			// screen column/row. Not sure whether this should be applied to opengl-graphics.cpp

-			sw = w + 1;

-			sh = h + 1;

-		}

-

-		byte *surface = new byte[sw * sh * 3];

-

-		// Convert the paletted buffer to RGB888

-		const byte *src = (byte *)_screenData.pixels + y * _screenData.pitch;

-		src += x * _screenData.format.bytesPerPixel;

-		byte *dst = surface;

-		for (int i = 0; i < h; i++) {

-			for (int j = 0; j < w; j++) {

-				dst[0] = _gamePalette[src[j] * 3];

-				dst[1] = _gamePalette[src[j] * 3 + 1];

-				dst[2] = _gamePalette[src[j] * 3 + 2];

-				dst += 3;

-			}

-			src += _screenData.pitch;

-		}

-

-		// Update the texture

-		_gameTexture->updateBuffer(surface, w * 3, x, y, sw, sh);

-

-		// Free the temp surface

-		delete[] surface;

-	} else {

-		// Update the texture

-		_gameTexture->updateBuffer((byte *)_screenData.pixels + y * _screenData.pitch +

-			x * _screenData.format.bytesPerPixel, _screenData.pitch, x, y, w, h);

-	}

-

-	_screenNeedsRedraw = false;

-	_screenDirtyRect = Common::Rect();

-}

-

-// display a simple splash screen until launcher is ready

-void BadaGraphicsManager::showSplash() {

-	Canvas canvas;

-	canvas.Construct();

-	canvas.SetBackgroundColor(Color::COLOR_BLACK);

-	canvas.Clear();

-	

-	int x = _videoMode.hardwareWidth / 3;

-	int y = _videoMode.hardwareHeight / 3;

-

-	Font *pFont = new Font();

-	pFont->Construct(FONT_STYLE_ITALIC | FONT_STYLE_BOLD, 55);

-	canvas.SetFont(*pFont);

-	canvas.SetForegroundColor(Color::COLOR_GREEN);

-	canvas.DrawText(Point(x, y), L"ScummVM");

-	delete pFont;

-

-	pFont = new Font();

-	pFont->Construct(FONT_STYLE_ITALIC | FONT_STYLE_BOLD, 35);

-	canvas.SetFont(*pFont);

-	canvas.SetForegroundColor(Color::COLOR_WHITE);

-	canvas.DrawText(Point(x + 70, y + 50), L"Loading ...");

-	delete pFont;

-	

-	canvas.Show();

-

-}

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "graphics/fontman.h"
+
+#include "backends/platform/bada/form.h"
+#include "backends/platform/bada/system.h"
+#include "backends/platform/bada/graphics.h"
+
+//
+// BadaGraphicsManager
+//
+BadaGraphicsManager::BadaGraphicsManager(BadaAppForm *appForm) :
+	_appForm(appForm),
+	_eglDisplay(EGL_DEFAULT_DISPLAY),
+	_eglSurface(EGL_NO_SURFACE),
+	_eglConfig(0),
+	_eglContext(EGL_NO_CONTEXT),
+	_initState(true) {
+	assert(appForm != NULL);
+	_videoMode.fullscreen = true;
+	_videoMode.antialiasing = true;
+}
+
+const Graphics::Font *BadaGraphicsManager::getFontOSD() {
+	return FontMan.getFontByUsage(Graphics::FontManager::kBigGUIFont);
+}
+
+bool BadaGraphicsManager::moveMouse(int16 &x, int16 &y) {
+	int16 currentX = _cursorState.x;
+	int16 currentY = _cursorState.y;
+
+	// save the current hardware coordinates
+	_cursorState.x = x;
+	_cursorState.y = y;
+
+	// return x/y as game coordinates
+	adjustMousePosition(x, y);
+
+	// convert current x/y to game coordinates
+	adjustMousePosition(currentX, currentY);
+
+	// return whether game coordinates have changed
+	return (currentX != x || currentY != y);
+}
+
+Common::List<Graphics::PixelFormat> BadaGraphicsManager::getSupportedFormats() const {
+	logEntered();
+
+	Common::List<Graphics::PixelFormat> res;
+	res.push_back(Graphics::PixelFormat(2, 4, 4, 4, 4, 12, 8, 4, 0));
+	res.push_back(Graphics::PixelFormat(2, 5, 6, 5, 0, 11, 5, 0, 0));
+	res.push_back(Graphics::PixelFormat(2, 5, 5, 5, 1, 11, 6, 1, 0));
+	res.push_back(Graphics::PixelFormat::createFormatCLUT8());
+	return res;
+}
+
+bool BadaGraphicsManager::hasFeature(OSystem::Feature f) {
+	bool result = (f == OSystem::kFeatureFullscreenMode || 
+								 f == OSystem::kFeatureVirtualKeyboard ||
+								 OpenGLGraphicsManager::hasFeature(f));
+	return result;
+}
+
+void BadaGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
+	OpenGLGraphicsManager::setFeatureState(f, enable);
+}
+
+void BadaGraphicsManager::setReady() {
+	_initState = false;
+}
+
+void BadaGraphicsManager::updateScreen() {
+	if (_transactionMode == kTransactionNone) {
+		internUpdateScreen();
+	}
+}
+
+bool BadaGraphicsManager::loadEgl() {
+	logEntered();
+
+	EGLint numConfigs = 1;
+	EGLint eglConfigList[] = {
+		EGL_RED_SIZE,		5,
+		EGL_GREEN_SIZE, 6,
+		EGL_BLUE_SIZE,	5,
+		EGL_ALPHA_SIZE, 0,
+		EGL_DEPTH_SIZE, 8,
+		EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+		EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT,
+		EGL_NONE
+	};
+
+	EGLint eglContextList[] = {
+		EGL_CONTEXT_CLIENT_VERSION, 1, 
+		EGL_NONE
+	};
+
+	eglBindAPI(EGL_OPENGL_ES_API);
+
+	if (_eglDisplay) {
+		unloadGFXMode();
+	}
+
+	_eglDisplay = eglGetDisplay((EGLNativeDisplayType) EGL_DEFAULT_DISPLAY);
+	if (EGL_NO_DISPLAY == _eglDisplay) {
+		systemError("eglGetDisplay() failed");
+		return false;
+	}
+	
+	if (EGL_FALSE == eglInitialize(_eglDisplay, NULL, NULL) || 
+			EGL_SUCCESS != eglGetError()) {
+		systemError("eglInitialize() failed");
+		return false;
+	}
+
+	if (EGL_FALSE == eglChooseConfig(_eglDisplay, eglConfigList, 
+																	 &_eglConfig, 1, &numConfigs) ||
+			EGL_SUCCESS != eglGetError()) {
+		systemError("eglChooseConfig() failed");
+		return false;
+	}
+
+	if (!numConfigs) {
+		systemError("eglChooseConfig() failed. Matching config does not exist \n");
+		return false;
+	}
+
+	_eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig, 
+																			(EGLNativeWindowType)_appForm, NULL);
+	if (EGL_NO_SURFACE == _eglSurface || EGL_SUCCESS != eglGetError()) {
+		systemError("eglCreateWindowSurface() failed. EGL_NO_SURFACE");
+		return false;
+	}
+	
+	_eglContext = eglCreateContext(_eglDisplay, _eglConfig, 
+																EGL_NO_CONTEXT, eglContextList);
+	if (EGL_NO_CONTEXT == _eglContext ||
+			EGL_SUCCESS != eglGetError()) {
+		systemError("eglCreateContext() failed");
+		return false;
+	}
+
+	if (false == eglMakeCurrent(_eglDisplay, _eglSurface, _eglSurface, _eglContext) ||
+			EGL_SUCCESS != eglGetError()) {
+		systemError("eglMakeCurrent() failed");
+		return false;
+	}
+
+	logLeaving();
+	return true;
+}
+
+bool BadaGraphicsManager::loadGFXMode() {
+	logEntered();
+
+	if (!loadEgl()) {
+		unloadGFXMode();
+		return false;
+	}
+
+	int x, y, width, height;
+	_appForm->GetBounds(x, y, width, height);
+	_videoMode.overlayWidth = _videoMode.hardwareWidth = width;
+	_videoMode.overlayHeight = _videoMode.hardwareHeight = height;
+	_videoMode.scaleFactor = 3; // for proportional sized cursor in the launcher
+
+	AppLog("screen size: %dx%d", _videoMode.hardwareWidth, _videoMode.hardwareHeight);
+	return OpenGLGraphicsManager::loadGFXMode();
+}
+
+void BadaGraphicsManager::loadTextures() {
+	logEntered();
+
+	OpenGLGraphicsManager::loadTextures();
+
+	// prevent image skew in some games, see:
+	// http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall
+	// note: this did not solve the pixel border problem in refreshGameScreen()
+	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+}
+
+void BadaGraphicsManager::internUpdateScreen() {
+	if (!_initState) {
+		OpenGLGraphicsManager::internUpdateScreen();
+		eglSwapBuffers(_eglDisplay, _eglSurface);
+	} else {
+		showSplash();
+	}
+}
+
+void BadaGraphicsManager::unloadGFXMode() {
+	logEntered();
+
+	if (EGL_NO_DISPLAY != _eglDisplay) {
+		eglMakeCurrent(_eglDisplay, NULL, NULL, NULL);
+
+		if (_eglContext != EGL_NO_CONTEXT) {
+			eglDestroyContext(_eglDisplay, _eglContext);
+			_eglContext = EGL_NO_CONTEXT;
+		}
+
+		if (_eglSurface != EGL_NO_SURFACE) {
+			eglDestroySurface(_eglDisplay, _eglSurface);
+			_eglSurface = EGL_NO_SURFACE;
+		}
+
+		eglTerminate(_eglDisplay);
+		_eglDisplay = EGL_NO_DISPLAY;
+	}
+	
+	_eglConfig = NULL;
+
+	OpenGLGraphicsManager::unloadGFXMode();
+	logLeaving();
+}
+
+void BadaGraphicsManager::refreshGameScreen() {
+	if (_screenNeedsRedraw)
+		_screenDirtyRect = Common::Rect(0, 0, _screenData.w, _screenData.h);
+
+	int x = _screenDirtyRect.left;
+	int y = _screenDirtyRect.top;
+	int w = _screenDirtyRect.width();
+	int h = _screenDirtyRect.height();
+
+	if (_screenData.format.bytesPerPixel == 1) {
+		// Create a temporary RGB888 surface
+		int sw = w;
+		int sh = h;
+
+		if (_videoMode.screenWidth == w && _videoMode.screenHeight == h) {
+			// The extra border prevents random pixels from appearing in the right and bottom
+			// screen column/row. Not sure whether this should be applied to opengl-graphics.cpp
+			sw = w + 1;
+			sh = h + 1;
+		}
+
+		byte *surface = new byte[sw * sh * 3];
+
+		// Convert the paletted buffer to RGB888
+		const byte *src = (byte *)_screenData.pixels + y * _screenData.pitch;
+		src += x * _screenData.format.bytesPerPixel;
+		byte *dst = surface;
+		for (int i = 0; i < h; i++) {
+			for (int j = 0; j < w; j++) {
+				dst[0] = _gamePalette[src[j] * 3];
+				dst[1] = _gamePalette[src[j] * 3 + 1];
+				dst[2] = _gamePalette[src[j] * 3 + 2];
+				dst += 3;
+			}
+			src += _screenData.pitch;
+		}
+
+		// Update the texture
+		_gameTexture->updateBuffer(surface, w * 3, x, y, sw, sh);
+
+		// Free the temp surface
+		delete[] surface;
+	} else {
+		// Update the texture
+		_gameTexture->updateBuffer((byte *)_screenData.pixels + y * _screenData.pitch +
+			x * _screenData.format.bytesPerPixel, _screenData.pitch, x, y, w, h);
+	}
+
+	_screenNeedsRedraw = false;
+	_screenDirtyRect = Common::Rect();
+}
+
+// display a simple splash screen until launcher is ready
+void BadaGraphicsManager::showSplash() {
+	Canvas canvas;
+	canvas.Construct();
+	canvas.SetBackgroundColor(Color::COLOR_BLACK);
+	canvas.Clear();
+	
+	int x = _videoMode.hardwareWidth / 3;
+	int y = _videoMode.hardwareHeight / 3;
+
+	Font *pFont = new Font();
+	pFont->Construct(FONT_STYLE_ITALIC | FONT_STYLE_BOLD, 55);
+	canvas.SetFont(*pFont);
+	canvas.SetForegroundColor(Color::COLOR_GREEN);
+	canvas.DrawText(Point(x, y), L"ScummVM");
+	delete pFont;
+
+	pFont = new Font();
+	pFont->Construct(FONT_STYLE_ITALIC | FONT_STYLE_BOLD, 35);
+	canvas.SetFont(*pFont);
+	canvas.SetForegroundColor(Color::COLOR_WHITE);
+	canvas.DrawText(Point(x + 70, y + 50), L"Loading ...");
+	delete pFont;
+	
+	canvas.Show();
+
+}
diff --git a/backends/platform/bada/graphics.h b/backends/platform/bada/graphics.h
index 573965b..5e49419 100644
--- a/backends/platform/bada/graphics.h
+++ b/backends/platform/bada/graphics.h
@@ -1,73 +1,73 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#ifndef BADA_GRAPHICS_H

-#define BADA_GRAPHICS_H

-

-#include <FBase.h>

-#include <FGraphics.h>

-#include <FApp.h>

-#include <FGraphicsOpengl.h>

-#include <FSystem.h>

-#include <FUi.h>

-

-#include "config.h"

-#include "backends/graphics/opengl/opengl-graphics.h"

-#include "graphics/font.h"

-#include "backends/platform/bada/form.h"

-

-using namespace Osp::Graphics;

-using namespace Osp::Graphics::Opengl;

-using namespace Osp::App;

-

-class BadaGraphicsManager : public OpenGLGraphicsManager {

-public:

-	BadaGraphicsManager(BadaAppForm *appForm);

-

-	Common::List<Graphics::PixelFormat> getSupportedFormats() const;

-	bool hasFeature(OSystem::Feature f);

-	void updateScreen();

-	void setFeatureState(OSystem::Feature f, bool enable);

-	void setReady();

-	bool isReady() { return !_initState; }

-	const Graphics::Font *getFontOSD();

-	bool moveMouse(int16 &x, int16 &y);

-

-private:

-	void internUpdateScreen();

-	bool loadGFXMode();

-	void loadTextures();

-	void unloadGFXMode();

-	void refreshGameScreen();

-	void setInternalMousePosition(int x, int y) {}

-	void showSplash();

-

-	bool loadEgl();

-	BadaAppForm *_appForm;

-	EGLDisplay _eglDisplay;

-	EGLSurface _eglSurface;

-	EGLConfig	 _eglConfig;

-	EGLContext _eglContext;

-	bool _initState;

-};

-

-#endif

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef BADA_GRAPHICS_H
+#define BADA_GRAPHICS_H
+
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FApp.h>
+#include <FGraphicsOpengl.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "config.h"
+#include "backends/graphics/opengl/opengl-graphics.h"
+#include "graphics/font.h"
+#include "backends/platform/bada/form.h"
+
+using namespace Osp::Graphics;
+using namespace Osp::Graphics::Opengl;
+using namespace Osp::App;
+
+class BadaGraphicsManager : public OpenGLGraphicsManager {
+public:
+	BadaGraphicsManager(BadaAppForm *appForm);
+
+	Common::List<Graphics::PixelFormat> getSupportedFormats() const;
+	bool hasFeature(OSystem::Feature f);
+	void updateScreen();
+	void setFeatureState(OSystem::Feature f, bool enable);
+	void setReady();
+	bool isReady() { return !_initState; }
+	const Graphics::Font *getFontOSD();
+	bool moveMouse(int16 &x, int16 &y);
+
+private:
+	void internUpdateScreen();
+	bool loadGFXMode();
+	void loadTextures();
+	void unloadGFXMode();
+	void refreshGameScreen();
+	void setInternalMousePosition(int x, int y) {}
+	void showSplash();
+
+	bool loadEgl();
+	BadaAppForm *_appForm;
+	EGLDisplay _eglDisplay;
+	EGLSurface _eglSurface;
+	EGLConfig	 _eglConfig;
+	EGLContext _eglContext;
+	bool _initState;
+};
+
+#endif
diff --git a/backends/platform/bada/sscanf.cpp b/backends/platform/bada/sscanf.cpp
index 8eab3ee..421c23b 100644
--- a/backends/platform/bada/sscanf.cpp
+++ b/backends/platform/bada/sscanf.cpp
@@ -1,182 +1,182 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#include <stdlib.h>

-#include <stdio.h>

-#include <stdarg.h>

-#include <string.h>

-#include <ctype.h>

-

-//

-// simple sscanf replacement to match scummvm usage patterns

-//

-

-bool scanInt(const char **in, va_list *ap, int max) {

-	while (**in && (**in == ' ' || **in == '0')) {

-		(*in)++;

-	}

-

-	int *arg = va_arg(*ap, int*);

-	char *end;

-	long n = strtol(*in, &end, 0);

-

-	bool err = false;

-	if (end == *in || (max > 0 && (end - *in) > max)) {

-		err = true;

-	} else {

-		*arg = (int)n;

-		*in = end;

-	}

-	return err;

-}

-

-bool scanHex(const char **in, va_list *ap) {

-	unsigned *arg = va_arg(*ap, unsigned*);

-	char *end;

-	long n = strtol(*in, &end, 16);

-	if (end == *in) {

-		return true;

-	}

-

-	*in = end;

-	*arg = (unsigned) n;

-	return false;

-}

-

-bool scanString(const char **in, va_list *ap) {

-	char *arg = va_arg(*ap, char*);

-	while (**in && **in != ' ' && **in != '\n' && **in != '\t') {

-		*arg = **in;

-		arg++;

-		(*in)++;

-	}

-	*arg = '\0';

-	(*in)++;

-	return false;

-}

-

-bool scanStringUntil(const char **in, va_list *ap, char c_end) {

-	char *arg = va_arg(*ap, char*);

-	while (**in && **in != c_end) {

-		*arg = **in;

-		*arg++;

-		(*in)++;

-	}

-	*arg = 0;

-	(*in)++;

-	return false;

-}

-

-bool scanChar(const char **in, va_list *ap) {

-	char *arg = va_arg(*ap, char*);

-	if (**in) {

-		*arg = **in;

-		(*in)++;

-	}

-	return false;

-}

-

-extern "C" int simple_sscanf(const char *input, const char *format, ...) {

-	va_list ap;

-	int result = 0;

-	const char *next = input;

-

-	va_start(ap, format);

-

-	while (*format) {

-		if (*format == '%') {

-			format++;

-			int max = 0;

-			while (isdigit(*format)) {

-				max = (max * 10) + (*format - '0');

-				format++;

-			}

-

-			bool err = false;

-			switch (*format++) {

-			case 'c':

-				err = scanChar(&next, &ap);

-				break;

-			case 'd':

-			case 'u':

-				err = scanInt(&next, &ap, max);

-				break;

-			case 'x':

-				err = scanHex(&next, &ap);

-				break;

-			case 's':

-				err = scanString(&next, &ap);

-				break;

-			case '[':

-				// assume %[^c]

-				if ('^' != *format) {

-					err = true;

-				} else {

-					format++;

-					if (*format && *(format+1) == ']') {

-						err = scanStringUntil(&next, &ap, *format);

-						format += 2;

-					} else {

-						err = true;

-					}

-				}

-				break;

-			default:

-				err = true;

-				break;

-			}

-

-			if (err) {

-				break;

-			} else {

-				result++;

-			}

-		} else if (*format++ != *next++) {

-			// match input

-			break;

-		}

-	}

-	 

-	va_end(ap);

-	return result;

-}

-

-#if defined(TEST)

-int main(int argc, char *pArgv[]) {

-	int x,y,h;

-	char buffer[100];

-	unsigned u;

-	char c;

-	strcpy(buffer, "hello");

-	char *b = buffer;

-

-	//	strcpy(buffer, "in the buffer something");

-	if (simple_sscanf("CAT 123x-10 0x100 FONT large 1 enough\n	 123456.AUD $",

-										"CAT %dx%d %x FONT %[^\n] %06u.AUD %c", 

-										&x, &y, &h, b, &u, &c) != 6) {

-		printf("Failed\n");

-	} else {

-		printf("Success %d %d %d %s %d '%c'\n", x, y, h, buffer, u, c);

-	}

-	return 0;

-}

-#endif

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <ctype.h>
+
+//
+// simple sscanf replacement to match scummvm usage patterns
+//
+
+bool scanInt(const char **in, va_list *ap, int max) {
+	while (**in && (**in == ' ' || **in == '0')) {
+		(*in)++;
+	}
+
+	int *arg = va_arg(*ap, int*);
+	char *end;
+	long n = strtol(*in, &end, 0);
+
+	bool err = false;
+	if (end == *in || (max > 0 && (end - *in) > max)) {
+		err = true;
+	} else {
+		*arg = (int)n;
+		*in = end;
+	}
+	return err;
+}
+
+bool scanHex(const char **in, va_list *ap) {
+	unsigned *arg = va_arg(*ap, unsigned*);
+	char *end;
+	long n = strtol(*in, &end, 16);
+	if (end == *in) {
+		return true;
+	}
+
+	*in = end;
+	*arg = (unsigned) n;
+	return false;
+}
+
+bool scanString(const char **in, va_list *ap) {
+	char *arg = va_arg(*ap, char*);
+	while (**in && **in != ' ' && **in != '\n' && **in != '\t') {
+		*arg = **in;
+		arg++;
+		(*in)++;
+	}
+	*arg = '\0';
+	(*in)++;
+	return false;
+}
+
+bool scanStringUntil(const char **in, va_list *ap, char c_end) {
+	char *arg = va_arg(*ap, char*);
+	while (**in && **in != c_end) {
+		*arg = **in;
+		*arg++;
+		(*in)++;
+	}
+	*arg = 0;
+	(*in)++;
+	return false;
+}
+
+bool scanChar(const char **in, va_list *ap) {
+	char *arg = va_arg(*ap, char*);
+	if (**in) {
+		*arg = **in;
+		(*in)++;
+	}
+	return false;
+}
+
+extern "C" int simple_sscanf(const char *input, const char *format, ...) {
+	va_list ap;
+	int result = 0;
+	const char *next = input;
+
+	va_start(ap, format);
+
+	while (*format) {
+		if (*format == '%') {
+			format++;
+			int max = 0;
+			while (isdigit(*format)) {
+				max = (max * 10) + (*format - '0');
+				format++;
+			}
+
+			bool err = false;
+			switch (*format++) {
+			case 'c':
+				err = scanChar(&next, &ap);
+				break;
+			case 'd':
+			case 'u':
+				err = scanInt(&next, &ap, max);
+				break;
+			case 'x':
+				err = scanHex(&next, &ap);
+				break;
+			case 's':
+				err = scanString(&next, &ap);
+				break;
+			case '[':
+				// assume %[^c]
+				if ('^' != *format) {
+					err = true;
+				} else {
+					format++;
+					if (*format && *(format+1) == ']') {
+						err = scanStringUntil(&next, &ap, *format);
+						format += 2;
+					} else {
+						err = true;
+					}
+				}
+				break;
+			default:
+				err = true;
+				break;
+			}
+
+			if (err) {
+				break;
+			} else {
+				result++;
+			}
+		} else if (*format++ != *next++) {
+			// match input
+			break;
+		}
+	}
+	 
+	va_end(ap);
+	return result;
+}
+
+#if defined(TEST)
+int main(int argc, char *pArgv[]) {
+	int x,y,h;
+	char buffer[100];
+	unsigned u;
+	char c;
+	strcpy(buffer, "hello");
+	char *b = buffer;
+
+	//	strcpy(buffer, "in the buffer something");
+	if (simple_sscanf("CAT 123x-10 0x100 FONT large 1 enough\n	 123456.AUD $",
+										"CAT %dx%d %x FONT %[^\n] %06u.AUD %c", 
+										&x, &y, &h, b, &u, &c) != 6) {
+		printf("Failed\n");
+	} else {
+		printf("Success %d %d %d %s %d '%c'\n", x, y, h, buffer, u, c);
+	}
+	return 0;
+}
+#endif
diff --git a/backends/platform/bada/system.cpp b/backends/platform/bada/system.cpp
index 4503b8f..bc921e0 100644
--- a/backends/platform/bada/system.cpp
+++ b/backends/platform/bada/system.cpp
@@ -1,499 +1,499 @@
-/* ScummVM - Graphic Adventure Engine

- *

- * ScummVM is the legal property of its developers, whose names

- * are too numerous to list here. Please refer to the COPYRIGHT

- * file distributed with this source distribution.

- *

- * This program is free software; you can redistribute it and/or

- * modify it under the terms of the GNU General Public License

- * as published by the Free Software Foundation; either version 2

- * of the License, or (at your option) any later version.

- *

- * This program is distributed in the hope that it will be useful,

- * but WITHOUT ANY WARRANTY; without even the implied warranty of

- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the

- * GNU General Public License for more details.

- *

- * You should have received a copy of the GNU General Public License

- * along with this program; if not, write to the Free Software

- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

- *

- */

-

-#include <FUiCtrlMessageBox.h>

-

-#include "common/config-manager.h"

-#include "common/file.h"

-#include "engines/engine.h"

-#include "graphics/font.h"

-#include "graphics/fontman.h"

-#include "graphics/fonts/bdf.h"

-#include "backends/saves/default/default-saves.h"

-#include "backends/events/default/default-events.h"

-#include "backends/audiocd/default/default-audiocd.h"

-#include "backends/mutex/mutex.h"

-#include "backends/fs/fs-factory.h"

-#include "backends/timer/bada/timer.h"

-

-#include "backends/platform/bada/form.h"

-#include "backends/platform/bada/system.h"

-#include "backends/platform/bada/graphics.h"

-#include "backends/platform/bada/audio.h"

-

-using namespace Osp::Base;

-using namespace Osp::Base::Runtime;

-using namespace Osp::Ui::Controls;

-

-#define DEFAULT_CONFIG_FILE "/Home/scummvm.ini"

-#define MUTEX_BUFFER_SIZE 5

-

-//

-// BadaFilesystemFactory

-//

-class BadaFilesystemFactory : public FilesystemFactory {

-	AbstractFSNode *makeRootFileNode() const;

-	AbstractFSNode *makeCurrentDirectoryFileNode() const;

-	AbstractFSNode *makeFileNodePath(const Common::String &path) const;

-};

-

-AbstractFSNode *BadaFilesystemFactory::makeRootFileNode() const {

-	return new BadaFilesystemNode("/");

-}

-

-AbstractFSNode *BadaFilesystemFactory::makeCurrentDirectoryFileNode() const {

-	return new BadaFilesystemNode("/Home");

-}

-

-AbstractFSNode *BadaFilesystemFactory::makeFileNodePath(const Common::String &path) const {

-	AppAssert(!path.empty());

-	return new BadaFilesystemNode(path);

-}

-

-//

-// BadaSaveFileManager

-//

-struct BadaSaveFileManager : public DefaultSaveFileManager {

-	bool removeSavefile(const Common::String &filename);

-};

-

-bool BadaSaveFileManager::removeSavefile(const Common::String &filename) {

-	Common::String savePathName = getSavePath();

-

-	checkPath(Common::FSNode(savePathName));

-	if (getError().getCode() != Common::kNoError) {

-		return false;

-	}

-

-	// recreate FSNode since checkPath may have changed/created the directory

-	Common::FSNode savePath(savePathName);

-	Common::FSNode file = savePath.getChild(filename);

-

-	String unicodeFileName;

-	StringUtil::Utf8ToString(file.getPath().c_str(), unicodeFileName);

-

-	switch (Osp::Io::File::Remove(unicodeFileName)) {

-	case E_SUCCESS:

-		return true;

-

-	case E_ILLEGAL_ACCESS:

-		setError(Common::kWritePermissionDenied, "Search or write permission denied: " + 

-						 file.getName());

-		break;

-

-	default:

-		setError(Common::kPathDoesNotExist, "removeSavefile: '" + file.getName() +

-						 "' does not exist or path is invalid");

-		break;

-	}

-

-	return false;

-}

-

-//

-// BadaMutexManager

-//

-struct BadaMutexManager : public MutexManager {

-	BadaMutexManager();

-	~BadaMutexManager();

-	OSystem::MutexRef createMutex();

-	void lockMutex(OSystem::MutexRef mutex);

-	void unlockMutex(OSystem::MutexRef mutex);

-	void deleteMutex(OSystem::MutexRef mutex);

-private:

-	Mutex *buffer[MUTEX_BUFFER_SIZE];

-};

-

-BadaMutexManager::BadaMutexManager() {

-	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {

-		buffer[i] = NULL;

-	}

-}

-

-BadaMutexManager::~BadaMutexManager() {

-	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {

-		if (buffer[i] != NULL) {

-			delete buffer[i];

-		}

-	}

-}

-

-OSystem::MutexRef BadaMutexManager::createMutex() {

-	Mutex *mutex = new Mutex();

-	mutex->Create();

-

-	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {

-		if (buffer[i] == NULL) {

-			buffer[i] = mutex;

-			break;

-		}

-	}

-

-	return (OSystem::MutexRef) mutex;

-}

-

-void BadaMutexManager::lockMutex(OSystem::MutexRef mutex) {

-	Mutex *m = (Mutex*)mutex;

-	m->Acquire();

-}

-

-void BadaMutexManager::unlockMutex(OSystem::MutexRef mutex) {

-	Mutex *m = (Mutex*)mutex;

-	m->Release();

-}

-

-void BadaMutexManager::deleteMutex(OSystem::MutexRef mutex) {

-	Mutex *m = (Mutex*)mutex;

-

-	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {

-		if (buffer[i] == m) {

-			buffer[i] = NULL;

-		}

-	}

-

-	delete m;

-}

-

-//

-// BadaEventManager

-//

-struct BadaEventManager : public DefaultEventManager {

-	BadaEventManager(Common::EventSource *boss);

-	void init();

-	int shouldQuit() const;

-};

-

-BadaEventManager::BadaEventManager(Common::EventSource *boss) :

-	DefaultEventManager(boss) {

-}

-

-void BadaEventManager::init() {

-	DefaultEventManager::init();

-

-	// theme and vkbd should have now loaded - clear the splash screen

-	BadaSystem *system = (BadaSystem *)g_system;

-	BadaGraphicsManager *graphics = system->getGraphics();

-	if (graphics) {

-		graphics->setReady();

-		graphics->updateScreen();

-	}

-}

-

-int BadaEventManager::shouldQuit() const {

-	BadaSystem *system = (BadaSystem *)g_system;

-	return DefaultEventManager::shouldQuit() || system->isClosing();

-}

-

-//

-// BadaSystem

-//

-BadaSystem::BadaSystem(BadaAppForm *appForm) : 

-	_appForm(appForm),

-	_audioThread(0), 

-	_epoch(0) {

-}

-

-result BadaSystem::Construct(void) {

-	logEntered();

-

-	_fsFactory = new BadaFilesystemFactory();

-	if (!_fsFactory) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	return E_SUCCESS;

-}

-

-BadaSystem::~BadaSystem() {

-	logEntered();

-}

-

-result BadaSystem::initModules() {

-	logEntered();

-

-	_mutexManager = new BadaMutexManager();

-	if (!_mutexManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_timerManager = new BadaTimerManager();

-	if (!_timerManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_savefileManager = new BadaSaveFileManager();

-	if (!_savefileManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_graphicsManager = (GraphicsManager*) new BadaGraphicsManager(_appForm);

-	if (!_graphicsManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	// depends on _graphicsManager when ENABLE_VKEYBD enabled

-	_eventManager = new BadaEventManager(this); 

-	if (!_eventManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_audioThread = new AudioThread();

-	if (!_audioThread) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_mixer = _audioThread->Construct(this);

-	if (!_mixer) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	_audiocdManager = (AudioCDManager*) new DefaultAudioCDManager();

-	if (!_audiocdManager) {

-		return E_OUT_OF_MEMORY;

-	}

-

-	if (IsFailed(_audioThread->Start())) {

-		AppLog("Failed to start audio thread");

-		return E_OUT_OF_MEMORY;

-	}

-

-	logLeaving();

-	return E_SUCCESS;

-}

-

-void BadaSystem::initBackend() {

-	logEntered();

-

-	// allow translations and game .DAT files to be found

-	ConfMan.set("extrapath", "/Res");

-

-	// use the mobile device theme

-	ConfMan.set("gui_theme", "/Res/scummmobile");

-

-	// allow bada virtual keypad pack to be found

-	ConfMan.set("vkeybdpath", "/Res/vkeybd_bada");

-	ConfMan.set("vkeybd_pack_name", "vkeybd_bada");

-

-	// set default save path to writable area

-	if (!ConfMan.hasKey("savepath")) {

-		ConfMan.set("savepath", "/Home/Share");

-	}

-

-	// default to no auto-save

-	if (!ConfMan.hasKey("autosave_period")) {

-		ConfMan.setInt("autosave_period", 0);

-	}

-

-	ConfMan.registerDefault("fullscreen", true);

-	ConfMan.registerDefault("aspect_ratio", true);

-	ConfMan.setBool("confirm_exit", false);

-

-	Osp::System::SystemTime::GetTicks(_epoch);

-

-	if (E_SUCCESS != initModules()) {

-		AppLog("initModules failed");

-	} else {

-		OSystem::initBackend();

-	}

-

-	// replace kBigGUIFont using the large font from the scummmobile theme

-	Common::File fontFile;

-	Common::String fileName = "/Res/scummmobile/helvB14-ASCII.fcc";

-	BadaFilesystemNode file(fileName);

-	if (file.exists()) {

-		Common::SeekableReadStream *stream = file.createReadStream();

-		if (stream) {

-			if (fontFile.open(stream, fileName)) {

-				Graphics::BdfFont *font = Graphics::BdfFont::loadFromCache(fontFile);

-				if (font) {

-					// use this font for the vkbd and on-screen messages

-					FontMan.setFont(Graphics::FontManager::kBigGUIFont, font);

-				}

-			}

-		}

-	}

-

-	logLeaving();

-}

-

-void BadaSystem::destroyBackend() {

-	closeAudio();

-

-	delete _graphicsManager;

-	_graphicsManager = 0;

-

-	delete _savefileManager;

-	_savefileManager = 0;

-

-	delete _fsFactory;

-	_fsFactory = 0;

-

-	delete _mixer;

-	_mixer = 0;

-

-	delete _audiocdManager;

-	_audiocdManager = 0;

-

-	delete _timerManager;

-	_timerManager = 0;

-

-	delete _eventManager;

-	_eventManager = 0;

-

-	delete _mutexManager;

-	_mutexManager = 0;

-}

-

-bool BadaSystem::pollEvent(Common::Event &event) {

-	return _appForm->pollEvent(event);

-}

-

-uint32 BadaSystem::getMillis() {

-	long long result, ticks = 0;

-	Osp::System::SystemTime::GetTicks(ticks);

-	result = ticks - _epoch;

-	return result;

-}

-

-void BadaSystem::delayMillis(uint msecs) {

-	if (!_appForm->isClosing()) {

-		Thread::Sleep(msecs);

-	}

-}

-

-void BadaSystem::updateScreen() {

-	if (_graphicsManager != NULL) {

-		_graphicsManager->updateScreen();

-	}

-}

-

-void BadaSystem::getTimeAndDate(TimeDate &td) const {

-	DateTime currentTime;

-

-	if (E_SUCCESS == Osp::System::SystemTime::GetCurrentTime(currentTime)) {

-		td.tm_sec = currentTime.GetSecond();

-		td.tm_min = currentTime.GetMinute();

-		td.tm_hour = currentTime.GetHour();

-		td.tm_mday = currentTime.GetDay();

-		td.tm_mon = currentTime.GetMonth();

-		td.tm_year = currentTime.GetYear();

-	}

-}

-

-void BadaSystem::fatalError() {

-	systemError("ScummVM: Fatal internal error.");

-}

-

-void BadaSystem::exitSystem() {

-	if (_appForm) {

-		closeAudio();

-		closeGraphics();

-		_appForm->exitSystem();

-	}

-}

-

-void BadaSystem::logMessage(LogMessageType::Type type, const char *message) {

-	if (type == LogMessageType::kError) {

-		systemError(message);

-	} else {

-		AppLog(message);

-	}

-}

-

-Common::SeekableReadStream *BadaSystem::createConfigReadStream() {

-	BadaFilesystemNode file(DEFAULT_CONFIG_FILE);

-	return file.createReadStream();

-}

-

-Common::WriteStream *BadaSystem::createConfigWriteStream() {

-	BadaFilesystemNode file(DEFAULT_CONFIG_FILE);

-	return file.createWriteStream();

-}

-

-void BadaSystem::closeAudio() {

-	if (_audioThread) {

-		_audioThread->Stop();

-		_audioThread->Join();

-		delete _audioThread;

-		_audioThread = 0;

-	}

-}

-

-void BadaSystem::closeGraphics() {

-	if (_graphicsManager) {

-		delete _graphicsManager;

-		_graphicsManager = 0;

-	}

-}

-

-void BadaSystem::setMute(bool on) {

-	if (_audioThread) {

-		_audioThread->setMute(on);

-	}

-}

-

-int BadaSystem::setVolume(bool up, bool minMax) {

-	int level = -1;

-	if (_audioThread) {

-		level = _audioThread->setVolume(up, minMax);

-	}

-	return level;

-}

-

-//

-// create the ScummVM system

-//

-BadaAppForm *systemStart(Osp::App::Application *app) {

-	logEntered();

-

-	BadaAppForm *appForm = new BadaAppForm();

-	if (!appForm) {

-		AppLog("Failed to create appForm");

-		return NULL;

-	}

-

-	if (E_SUCCESS != appForm->Construct() ||

-			E_SUCCESS != app->GetAppFrame()->GetFrame()->AddControl(*appForm)) {

-		delete appForm;

-		AppLog("Failed to construct appForm");

-		return NULL;

-	}

-

-	return appForm;

-}

-

-//

-// display a fatal error notification

-//

-void systemError(const char *message) {

-	AppLog("Fatal system error: %s", message);

-

-	ArrayList *args = new ArrayList();

-	args->Construct();

-	args->Add(*(new String(message)));

-	Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT_ERR, args);

-

-	if (g_system) {

-		BadaSystem *system = (BadaSystem *)g_system;

-		system->exitSystem();

-	}

-}

+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include <FUiCtrlMessageBox.h>
+
+#include "common/config-manager.h"
+#include "common/file.h"
+#include "engines/engine.h"
+#include "graphics/font.h"
+#include "graphics/fontman.h"
+#include "graphics/fonts/bdf.h"
+#include "backends/saves/default/default-saves.h"
+#include "backends/events/default/default-events.h"
+#include "backends/audiocd/default/default-audiocd.h"
+#include "backends/mutex/mutex.h"
+#include "backends/fs/fs-factory.h"
+#include "backends/timer/bada/timer.h"
+
+#include "backends/platform/bada/form.h"
+#include "backends/platform/bada/system.h"
+#include "backends/platform/bada/graphics.h"
+#include "backends/platform/bada/audio.h"
+
+using namespace Osp::Base;
+using namespace Osp::Base::Runtime;
+using namespace Osp::Ui::Controls;
+
+#define DEFAULT_CONFIG_FILE "/Home/scummvm.ini"
+#define MUTEX_BUFFER_SIZE 5
+
+//
+// BadaFilesystemFactory
+//
+class BadaFilesystemFactory : public FilesystemFactory {
+	AbstractFSNode *makeRootFileNode() const;
+	AbstractFSNode *makeCurrentDirectoryFileNode() const;
+	AbstractFSNode *makeFileNodePath(const Common::String &path) const;
+};
+
+AbstractFSNode *BadaFilesystemFactory::makeRootFileNode() const {
+	return new BadaFilesystemNode("/");
+}
+
+AbstractFSNode *BadaFilesystemFactory::makeCurrentDirectoryFileNode() const {
+	return new BadaFilesystemNode("/Home");
+}
+
+AbstractFSNode *BadaFilesystemFactory::makeFileNodePath(const Common::String &path) const {
+	AppAssert(!path.empty());
+	return new BadaFilesystemNode(path);
+}
+
+//
+// BadaSaveFileManager
+//
+struct BadaSaveFileManager : public DefaultSaveFileManager {
+	bool removeSavefile(const Common::String &filename);
+};
+
+bool BadaSaveFileManager::removeSavefile(const Common::String &filename) {
+	Common::String savePathName = getSavePath();
+
+	checkPath(Common::FSNode(savePathName));
+	if (getError().getCode() != Common::kNoError) {
+		return false;
+	}
+
+	// recreate FSNode since checkPath may have changed/created the directory
+	Common::FSNode savePath(savePathName);
+	Common::FSNode file = savePath.getChild(filename);
+
+	String unicodeFileName;
+	StringUtil::Utf8ToString(file.getPath().c_str(), unicodeFileName);
+
+	switch (Osp::Io::File::Remove(unicodeFileName)) {
+	case E_SUCCESS:
+		return true;
+
+	case E_ILLEGAL_ACCESS:
+		setError(Common::kWritePermissionDenied, "Search or write permission denied: " + 
+						 file.getName());
+		break;
+
+	default:
+		setError(Common::kPathDoesNotExist, "removeSavefile: '" + file.getName() +
+						 "' does not exist or path is invalid");
+		break;
+	}
+
+	return false;
+}
+
+//
+// BadaMutexManager
+//
+struct BadaMutexManager : public MutexManager {
+	BadaMutexManager();
+	~BadaMutexManager();
+	OSystem::MutexRef createMutex();
+	void lockMutex(OSystem::MutexRef mutex);
+	void unlockMutex(OSystem::MutexRef mutex);
+	void deleteMutex(OSystem::MutexRef mutex);
+private:
+	Mutex *buffer[MUTEX_BUFFER_SIZE];
+};
+
+BadaMutexManager::BadaMutexManager() {
+	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {
+		buffer[i] = NULL;
+	}
+}
+
+BadaMutexManager::~BadaMutexManager() {
+	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {
+		if (buffer[i] != NULL) {
+			delete buffer[i];
+		}
+	}
+}
+
+OSystem::MutexRef BadaMutexManager::createMutex() {
+	Mutex *mutex = new Mutex();
+	mutex->Create();
+
+	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {
+		if (buffer[i] == NULL) {
+			buffer[i] = mutex;
+			break;
+		}
+	}
+
+	return (OSystem::MutexRef) mutex;
+}
+
+void BadaMutexManager::lockMutex(OSystem::MutexRef mutex) {
+	Mutex *m = (Mutex*)mutex;
+	m->Acquire();
+}
+
+void BadaMutexManager::unlockMutex(OSystem::MutexRef mutex) {
+	Mutex *m = (Mutex*)mutex;
+	m->Release();
+}
+
+void BadaMutexManager::deleteMutex(OSystem::MutexRef mutex) {
+	Mutex *m = (Mutex*)mutex;
+
+	for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) {
+		if (buffer[i] == m) {
+			buffer[i] = NULL;
+		}
+	}
+
+	delete m;
+}
+
+//
+// BadaEventManager
+//
+struct BadaEventManager : public DefaultEventManager {
+	BadaEventManager(Common::EventSource *boss);
+	void init();
+	int shouldQuit() const;
+};
+
+BadaEventManager::BadaEventManager(Common::EventSource *boss) :
+	DefaultEventManager(boss) {
+}
+
+void BadaEventManager::init() {
+	DefaultEventManager::init();
+
+	// theme and vkbd should have now loaded - clear the splash screen
+	BadaSystem *system = (BadaSystem *)g_system;
+	BadaGraphicsManager *graphics = system->getGraphics();
+	if (graphics) {
+		graphics->setReady();
+		graphics->updateScreen();
+	}
+}
+
+int BadaEventManager::shouldQuit() const {
+	BadaSystem *system = (BadaSystem *)g_system;
+	return DefaultEventManager::shouldQuit() || system->isClosing();
+}
+
+//
+// BadaSystem
+//
+BadaSystem::BadaSystem(BadaAppForm *appForm) : 
+	_appForm(appForm),
+	_audioThread(0), 
+	_epoch(0) {
+}
+
+result BadaSystem::Construct(void) {
+	logEntered();
+
+	_fsFactory = new BadaFilesystemFactory();
+	if (!_fsFactory) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	return E_SUCCESS;
+}
+
+BadaSystem::~BadaSystem() {
+	logEntered();
+}
+
+result BadaSystem::initModules() {
+	logEntered();
+
+	_mutexManager = new BadaMutexManager();
+	if (!_mutexManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_timerManager = new BadaTimerManager();
+	if (!_timerManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_savefileManager = new BadaSaveFileManager();
+	if (!_savefileManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_graphicsManager = (GraphicsManager*) new BadaGraphicsManager(_appForm);
+	if (!_graphicsManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	// depends on _graphicsManager when ENABLE_VKEYBD enabled
+	_eventManager = new BadaEventManager(this); 
+	if (!_eventManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_audioThread = new AudioThread();
+	if (!_audioThread) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_mixer = _audioThread->Construct(this);
+	if (!_mixer) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	_audiocdManager = (AudioCDManager*) new DefaultAudioCDManager();
+	if (!_audiocdManager) {
+		return E_OUT_OF_MEMORY;
+	}
+
+	if (IsFailed(_audioThread->Start())) {
+		AppLog("Failed to start audio thread");
+		return E_OUT_OF_MEMORY;
+	}
+
+	logLeaving();
+	return E_SUCCESS;
+}
+
+void BadaSystem::initBackend() {
+	logEntered();
+
+	// allow translations and game .DAT files to be found
+	ConfMan.set("extrapath", "/Res");
+
+	// use the mobile device theme
+	ConfMan.set("gui_theme", "/Res/scummmobile");
+
+	// allow bada virtual keypad pack to be found
+	ConfMan.set("vkeybdpath", "/Res/vkeybd_bada");
+	ConfMan.set("vkeybd_pack_name", "vkeybd_bada");
+
+	// set default save path to writable area
+	if (!ConfMan.hasKey("savepath")) {
+		ConfMan.set("savepath", "/Home/Share");
+	}
+
+	// default to no auto-save
+	if (!ConfMan.hasKey("autosave_period")) {
+		ConfMan.setInt("autosave_period", 0);
+	}
+
+	ConfMan.registerDefault("fullscreen", true);
+	ConfMan.registerDefault("aspect_ratio", true);
+	ConfMan.setBool("confirm_exit", false);
+
+	Osp::System::SystemTime::GetTicks(_epoch);
+
+	if (E_SUCCESS != initModules()) {
+		AppLog("initModules failed");
+	} else {
+		OSystem::initBackend();
+	}
+
+	// replace kBigGUIFont using the large font from the scummmobile theme
+	Common::File fontFile;
+	Common::String fileName = "/Res/scummmobile/helvB14-ASCII.fcc";
+	BadaFilesystemNode file(fileName);
+	if (file.exists()) {
+		Common::SeekableReadStream *stream = file.createReadStream();
+		if (stream) {
+			if (fontFile.open(stream, fileName)) {
+				Graphics::BdfFont *font = Graphics::BdfFont::loadFromCache(fontFile);
+				if (font) {
+					// use this font for the vkbd and on-screen messages
+					FontMan.setFont(Graphics::FontManager::kBigGUIFont, font);
+				}
+			}
+		}
+	}
+
+	logLeaving();
+}
+
+void BadaSystem::destroyBackend() {
+	closeAudio();
+
+	delete _graphicsManager;
+	_graphicsManager = 0;
+
+	delete _savefileManager;
+	_savefileManager = 0;
+
+	delete _fsFactory;
+	_fsFactory = 0;
+
+	delete _mixer;
+	_mixer = 0;
+
+	delete _audiocdManager;
+	_audiocdManager = 0;
+
+	delete _timerManager;
+	_timerManager = 0;
+
+	delete _eventManager;
+	_eventManager = 0;
+
+	delete _mutexManager;
+	_mutexManager = 0;
+}
+
+bool BadaSystem::pollEvent(Common::Event &event) {
+	return _appForm->pollEvent(event);
+}
+
+uint32 BadaSystem::getMillis() {
+	long long result, ticks = 0;
+	Osp::System::SystemTime::GetTicks(ticks);
+	result = ticks - _epoch;
+	return result;
+}
+
+void BadaSystem::delayMillis(uint msecs) {
+	if (!_appForm->isClosing()) {
+		Thread::Sleep(msecs);
+	}
+}
+
+void BadaSystem::updateScreen() {
+	if (_graphicsManager != NULL) {
+		_graphicsManager->updateScreen();
+	}
+}
+
+void BadaSystem::getTimeAndDate(TimeDate &td) const {
+	DateTime currentTime;
+
+	if (E_SUCCESS == Osp::System::SystemTime::GetCurrentTime(currentTime)) {
+		td.tm_sec = currentTime.GetSecond();
+		td.tm_min = currentTime.GetMinute();
+		td.tm_hour = currentTime.GetHour();
+		td.tm_mday = currentTime.GetDay();
+		td.tm_mon = currentTime.GetMonth();
+		td.tm_year = currentTime.GetYear();
+	}
+}
+
+void BadaSystem::fatalError() {
+	systemError("ScummVM: Fatal internal error.");
+}
+
+void BadaSystem::exitSystem() {
+	if (_appForm) {
+		closeAudio();
+		closeGraphics();
+		_appForm->exitSystem();
+	}
+}
+
+void BadaSystem::logMessage(LogMessageType::Type type, const char *message) {
+	if (type == LogMessageType::kError) {
+		systemError(message);
+	} else {
+		AppLog(message);
+	}
+}
+
+Common::SeekableReadStream *BadaSystem::createConfigReadStream() {
+	BadaFilesystemNode file(DEFAULT_CONFIG_FILE);
+	return file.createReadStream();
+}
+
+Common::WriteStream *BadaSystem::createConfigWriteStream() {
+	BadaFilesystemNode file(DEFAULT_CONFIG_FILE);
+	return file.createWriteStream();
+}
+
+void BadaSystem::closeAudio() {
+	if (_audioThread) {
+		_audioThread->Stop();
+		_audioThread->Join();
+		delete _audioThread;
+		_audioThread = 0;
+	}
+}
+
+void BadaSystem::closeGraphics() {
+	if (_graphicsManager) {
+		delete _graphicsManager;
+		_graphicsManager = 0;
+	}
+}
+
+void BadaSystem::setMute(bool on) {
+	if (_audioThread) {
+		_audioThread->setMute(on);
+	}
+}
+
+int BadaSystem::setVolume(bool up, bool minMax) {
+	int level = -1;
+	if (_audioThread) {
+		level = _audioThread->setVolume(up, minMax);
+	}
+	return level;
+}
+
+//
+// create the ScummVM system
+//
+BadaAppForm *systemStart(Osp::App::Application *app) {
+	logEntered();
+
+	BadaAppForm *appForm = new BadaAppForm();
+	if (!appForm) {
+		AppLog("Failed to create appForm");
+		return NULL;
+	}
+
+	if (E_SUCCESS != appForm->Construct() ||
+			E_SUCCESS != app->GetAppFrame()->GetFrame()->AddControl(*appForm)) {
+		delete appForm;
+		AppLog("Failed to construct appForm");
+		return NULL;
+	}
+
+	return appForm;
+}
+
+//
+// display a fatal error notification
+//
+void systemError(const char *message) {
+	AppLog("Fatal system error: %s", message);
+
+	ArrayList *args = new ArrayList();
+	args->Construct();
+	args->Add(*(new String(message)));
+	Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT_ERR, args);
+
+	if (g_system) {
+		BadaSystem *system = (BadaSystem *)g_system;
+		system->exitSystem();
+	}
+}


Commit: 58ab4cdab79c2f55a96f373f948d47fabded68b4
    https://github.com/scummvm/scummvm/commit/58ab4cdab79c2f55a96f373f948d47fabded68b4
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-22T00:46:30-07:00

Commit Message:
BADA: Strip trailing whitespace

Changed paths:
    backends/platform/bada/README.TXT
    backends/platform/bada/application.cpp
    backends/platform/bada/application.h
    backends/platform/bada/audio.cpp
    backends/platform/bada/audio.h
    backends/platform/bada/bada.mk
    backends/platform/bada/form.cpp
    backends/platform/bada/form.h
    backends/platform/bada/fs.cpp
    backends/platform/bada/graphics.cpp
    backends/platform/bada/missing.cpp
    backends/platform/bada/portdefs.h
    backends/platform/bada/sscanf.cpp
    backends/platform/bada/system.cpp
    backends/platform/bada/system.h



diff --git a/backends/platform/bada/README.TXT b/backends/platform/bada/README.TXT
index 38d9fd1..ca6f8f2 100644
--- a/backends/platform/bada/README.TXT
+++ b/backends/platform/bada/README.TXT
@@ -41,7 +41,7 @@ Build instructions:
  for instructions on how to obtain these modules
 
  3.1 For Target-Release configure ogg and mad with:
-      
+
      ./configure --host=arm-samsung-nucleuseabi --disable-shared
 
      when building vorbis and flac:
@@ -73,13 +73,13 @@ Build instructions:
 
 5. Build the front end application using BADA-Ide:
 
- Copy the scummvm/dists/bada folder into a clean directory 
- outside of the scummvm package. Start the BADA IDE then 
+ Copy the scummvm/dists/bada folder into a clean directory
+ outside of the scummvm package. Start the BADA IDE then
  choose this folder as the eclipse workspace. Click
  Project / Build.
 
 Links:
 
 A short turorial on implementing OpenGL ES 1.1 in BADA:
-  http://forums.badadev.com/viewtopic.php?f=7&t=208 
+  http://forums.badadev.com/viewtopic.php?f=7&t=208
 
diff --git a/backends/platform/bada/application.cpp b/backends/platform/bada/application.cpp
index 7e13006..a287fa6 100644
--- a/backends/platform/bada/application.cpp
+++ b/backends/platform/bada/application.cpp
@@ -51,13 +51,13 @@ bool BadaScummVM::OnAppInitializing(AppRegistry &appRegistry) {
 	return (_appForm != NULL);
 }
 
-bool BadaScummVM::OnAppTerminating(AppRegistry &appRegistry, 
+bool BadaScummVM::OnAppTerminating(AppRegistry &appRegistry,
 																	 bool forcedTermination) {
 	logEntered();
 	return true;
 }
 
-void BadaScummVM::OnUserEventReceivedN(RequestId requestId, 
+void BadaScummVM::OnUserEventReceivedN(RequestId requestId,
 																			 Osp::Base::Collection::IList *args) {
 	logEntered();
 
@@ -73,7 +73,7 @@ void BadaScummVM::OnUserEventReceivedN(RequestId requestId,
 		if (!message) {
 			message = new String("Unknown error");
 		}
-		
+
 		MessageBox messageBox;
 		messageBox.Construct(L"Oops...", *message, MSGBOX_STYLE_OK);
 		int modalResult;
diff --git a/backends/platform/bada/application.h b/backends/platform/bada/application.h
index f2823c4..2b0d37f 100644
--- a/backends/platform/bada/application.h
+++ b/backends/platform/bada/application.h
@@ -37,7 +37,7 @@ public:
 	~BadaScummVM();
 
 	static Osp::App::Application *createInstance(void);
-	
+
 	bool OnAppInitializing(Osp::App::AppRegistry &appRegistry);
 	bool OnAppTerminating(Osp::App::AppRegistry &appRegistry, bool forcedTermination = false);
 	void OnForeground(void);
diff --git a/backends/platform/bada/audio.cpp b/backends/platform/bada/audio.cpp
index 7c20f57..cfa6418 100644
--- a/backends/platform/bada/audio.cpp
+++ b/backends/platform/bada/audio.cpp
@@ -36,7 +36,7 @@
 // sound level pre-sets
 const int levels[] = {0, 1, 10, 45, 70, 99};
 
-AudioThread::AudioThread() : 
+AudioThread::AudioThread() :
 	_mixer(0),
 	_timer(0),
 	_audioOut(0),
@@ -254,7 +254,7 @@ void AudioThread::OnTimerExpired(Timer &timer) {
 	if (_ready && _playing == -1) {
 		OnAudioOutBufferEndReached(*_audioOut);
 	}
-	
+
 	_timer->Start(_interval);
 }
 
diff --git a/backends/platform/bada/audio.h b/backends/platform/bada/audio.h
index a6debef..72c537a 100644
--- a/backends/platform/bada/audio.h
+++ b/backends/platform/bada/audio.h
@@ -42,7 +42,7 @@ using namespace Osp::Io;
 #define NUM_AUDIO_BUFFERS 2
 
 class AudioThread: public Osp::Media::IAudioOutEventListener,
-									 public Osp::Base::Runtime::ITimerEventListener, 
+									 public Osp::Base::Runtime::ITimerEventListener,
 									 public Osp::Base::Runtime::Thread {
 public:
 	AudioThread(void);
@@ -60,7 +60,7 @@ public:
 	void OnAudioOutReleased(Osp::Media::AudioOut &src);
 	void OnAudioOutBufferEndReached(Osp::Media::AudioOut &src);
 	void OnTimerExpired(Timer &timer);
-	
+
 private:
 	Audio::MixerImpl *_mixer;
 	Osp::Base::Runtime::Timer *_timer;
diff --git a/backends/platform/bada/bada.mk b/backends/platform/bada/bada.mk
index fe90af4..7c72d77 100644
--- a/backends/platform/bada/bada.mk
+++ b/backends/platform/bada/bada.mk
@@ -1,5 +1,5 @@
 # Bada specific modules are built under eclipse
 
 $(EXECUTABLE): $(OBJS)
-	rm -f $@ 
+	rm -f $@
 	ar Tru $@ $(OBJS)
diff --git a/backends/platform/bada/form.cpp b/backends/platform/bada/form.cpp
index 418cdc4..6163053 100644
--- a/backends/platform/bada/form.cpp
+++ b/backends/platform/bada/form.cpp
@@ -39,7 +39,7 @@ using namespace Osp::Ui::Controls;
 // cursor to be positioned at the top of the screen
 #define MIN_TOUCH_Y 10
 
-// block for up to 2.5 seconds during shutdown to 
+// block for up to 2.5 seconds during shutdown to
 // allow the game thread to exit gracefully.
 #define EXIT_SLEEP_STEP 10
 #define EXIT_SLEEP 250
@@ -47,8 +47,8 @@ using namespace Osp::Ui::Controls;
 //
 // BadaAppForm
 //
-BadaAppForm::BadaAppForm() : 
-	_gameThread(0), 
+BadaAppForm::BadaAppForm() :
+	_gameThread(0),
 	_state(InitState),
 	_buttonState(LeftButton),
 	_shortcut(SetVolume) {
@@ -67,7 +67,7 @@ result BadaAppForm::Construct() {
 
 	badaSystem = new BadaSystem(this);
 	r = badaSystem != NULL ? E_SUCCESS : E_OUT_OF_MEMORY;
-	
+
 	if (!IsFailed(r)) {
 		r = badaSystem->Construct();
 	}
@@ -105,7 +105,7 @@ BadaAppForm::~BadaAppForm() {
 		_gameThread->Stop();
 		if (_state != ErrorState) {
 			_gameThread->Join();
-		}		
+		}
 
 		delete _gameThread;
 		_gameThread = NULL;
@@ -205,13 +205,13 @@ void BadaAppForm::pushEvent(Common::EventType type,
 	BadaSystem *system = (BadaSystem *)g_system;
 	BadaGraphicsManager *graphics = system->getGraphics();
 	if (graphics) {
-		// graphics could be NULL at startup or when 
+		// graphics could be NULL at startup or when
 		// displaying the system error screen
 		Common::Event e;
 		e.type = type;
 		e.mouse.x = currentPosition.x;
 		e.mouse.y = currentPosition.y > MIN_TOUCH_Y ? currentPosition.y : 1;
-		
+
 		bool moved = graphics->moveMouse(e.mouse.x, e.mouse.y);
 
 		_eventQueueLock->Acquire();
@@ -245,7 +245,7 @@ void BadaAppForm::pushKey(Common::KeyCode keycode) {
 	_eventQueueLock->Release();
 }
 
-void BadaAppForm::OnOrientationChanged(const Control &source, 
+void BadaAppForm::OnOrientationChanged(const Control &source,
 																			 OrientationStatus orientationStatus) {
 	logEntered();
 	if (_state == InitState) {
@@ -334,8 +334,8 @@ void BadaAppForm::showKeypad() {
 	pushKey(Common::KEYCODE_F7);
 }
 
-void BadaAppForm::OnTouchDoublePressed(const Control &source, 
-																			 const Point &currentPosition, 
+void BadaAppForm::OnTouchDoublePressed(const Control &source,
+																			 const Point &currentPosition,
 																			 const TouchEventInfo &touchInfo) {
 	if (_buttonState != MoveOnly) {
 		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
@@ -345,32 +345,32 @@ void BadaAppForm::OnTouchDoublePressed(const Control &source,
 	}
 }
 
-void BadaAppForm::OnTouchFocusIn(const Control &source, 
-																 const Point &currentPosition, 
+void BadaAppForm::OnTouchFocusIn(const Control &source,
+																 const Point &currentPosition,
 																 const TouchEventInfo &touchInfo) {
 }
 
-void BadaAppForm::OnTouchFocusOut(const Control &source, 
-																	const Point &currentPosition, 
+void BadaAppForm::OnTouchFocusOut(const Control &source,
+																	const Point &currentPosition,
 																	const TouchEventInfo &touchInfo) {
 }
 
-void BadaAppForm::OnTouchLongPressed(const Control &source, 
-																		 const Point &currentPosition, 
+void BadaAppForm::OnTouchLongPressed(const Control &source,
+																		 const Point &currentPosition,
 																		 const TouchEventInfo &touchInfo) {
 	if (_buttonState != LeftButton) {
 		pushKey(Common::KEYCODE_RETURN);
 	}
 }
 
-void BadaAppForm::OnTouchMoved(const Control &source, 
-															 const Point &currentPosition, 
+void BadaAppForm::OnTouchMoved(const Control &source,
+															 const Point &currentPosition,
 															 const TouchEventInfo &touchInfo) {
 	pushEvent(Common::EVENT_MOUSEMOVE, currentPosition);
 }
 
-void BadaAppForm::OnTouchPressed(const Control &source, 
-																 const Point &currentPosition, 
+void BadaAppForm::OnTouchPressed(const Control &source,
+																 const Point &currentPosition,
 																 const TouchEventInfo &touchInfo) {
 	if (_buttonState != MoveOnly) {
 		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN,
@@ -378,8 +378,8 @@ void BadaAppForm::OnTouchPressed(const Control &source,
 	}
 }
 
-void BadaAppForm::OnTouchReleased(const Control &source, 
-																	const Point &currentPosition, 
+void BadaAppForm::OnTouchReleased(const Control &source,
+																	const Point &currentPosition,
 																	const TouchEventInfo &touchInfo) {
 	if (_buttonState != MoveOnly) {
 		pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP,
@@ -434,7 +434,7 @@ void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {
 			break;
 
 		case EscapeKey:
-			pushKey(Common::KEYCODE_ESCAPE);			
+			pushKey(Common::KEYCODE_ESCAPE);
 			break;
 
 		case GameMenu:
@@ -446,7 +446,7 @@ void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) {
 			break;
 
 		default:
-			setVolume(false, false);			
+			setVolume(false, false);
 			break;
 		}
 		break;
diff --git a/backends/platform/bada/form.h b/backends/platform/bada/form.h
index ec04f19..09ce941 100644
--- a/backends/platform/bada/form.h
+++ b/backends/platform/bada/form.h
@@ -58,34 +58,34 @@ private:
 	Object *Run();
 	result OnInitializing(void);
 	result OnDraw(void);
-	void OnOrientationChanged(const Osp::Ui::Control &source, 
+	void OnOrientationChanged(const Osp::Ui::Control &source,
 														Osp::Ui::OrientationStatus orientationStatus);
-	void OnTouchDoublePressed(const Osp::Ui::Control &source, 
-														const Osp::Graphics::Point &currentPosition, 
+	void OnTouchDoublePressed(const Osp::Ui::Control &source,
+														const Osp::Graphics::Point &currentPosition,
 														const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchFocusIn(const Osp::Ui::Control &source, 
-											const Osp::Graphics::Point &currentPosition, 
+	void OnTouchFocusIn(const Osp::Ui::Control &source,
+											const Osp::Graphics::Point &currentPosition,
 											const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchFocusOut(const Osp::Ui::Control &source, 
-											 const Osp::Graphics::Point &currentPosition, 
+	void OnTouchFocusOut(const Osp::Ui::Control &source,
+											 const Osp::Graphics::Point &currentPosition,
 											 const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchLongPressed(const Osp::Ui::Control &source, 
-													const Osp::Graphics::Point &currentPosition, 
+	void OnTouchLongPressed(const Osp::Ui::Control &source,
+													const Osp::Graphics::Point &currentPosition,
 													const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchMoved(const Osp::Ui::Control &source, 
-										const Osp::Graphics::Point &currentPosition, 
+	void OnTouchMoved(const Osp::Ui::Control &source,
+										const Osp::Graphics::Point &currentPosition,
 										const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchPressed(const Osp::Ui::Control &source, 
-											const Osp::Graphics::Point &currentPosition, 
+	void OnTouchPressed(const Osp::Ui::Control &source,
+											const Osp::Graphics::Point &currentPosition,
 											const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnTouchReleased(const Osp::Ui::Control &source, 
-											 const Osp::Graphics::Point &currentPosition, 
+	void OnTouchReleased(const Osp::Ui::Control &source,
+											 const Osp::Graphics::Point &currentPosition,
 											 const Osp::Ui::TouchEventInfo &touchInfo);
-	void OnKeyLongPressed(const Osp::Ui::Control &source, 
+	void OnKeyLongPressed(const Osp::Ui::Control &source,
 												Osp::Ui::KeyCode keyCode);
-	void OnKeyPressed(const Osp::Ui::Control &source, 
+	void OnKeyPressed(const Osp::Ui::Control &source,
 										Osp::Ui::KeyCode keyCode);
-	void OnKeyReleased(const Osp::Ui::Control &source, 
+	void OnKeyReleased(const Osp::Ui::Control &source,
 										 Osp::Ui::KeyCode keyCode);
 
 	void pushEvent(Common::EventType type,
diff --git a/backends/platform/bada/fs.cpp b/backends/platform/bada/fs.cpp
index 4203545..8e3c4f0 100644
--- a/backends/platform/bada/fs.cpp
+++ b/backends/platform/bada/fs.cpp
@@ -35,7 +35,7 @@
 #define PATH_MEDIA       "/Media"
 #define PATH_CARD        "/Storagecard"
 #define PATH_CARD_MEDIA  "/Storagecard/Media"
- 
+
 //
 // BadaFileStream
 //
@@ -68,7 +68,7 @@ private:
 	File *file;
 };
 
-BadaFileStream::BadaFileStream(File *ioFile, bool writeMode) : 
+BadaFileStream::BadaFileStream(File *ioFile, bool writeMode) :
 	bufferIndex(0),
 	bufferLength(0),
 	writeMode(writeMode),
@@ -178,7 +178,7 @@ uint32 BadaFileStream::read(void *ptr, uint32 len) {
 				memcpy((byte*)ptr, &buffer[bufferIndex], available);
 				uint32 remaining = len - available;
 				result = available;
-				
+
 				if (remaining) {
 					result += file->Read(((byte*)ptr) + available, remaining);
 				}
@@ -231,7 +231,7 @@ BadaFileStream *BadaFileStream::makeFromPath(const String &path, bool writeMode)
 	if (r == E_SUCCESS) {
 		return new BadaFileStream(ioFile, writeMode);
 	}
-	
+
 	AppLog("Failed to open file");
 	delete ioFile;
 	return 0;
@@ -244,7 +244,7 @@ Common::String fromString(const Osp::Base::String &in) {
 	ByteBuffer *buf = StringUtil::StringToUtf8N(in);
 	Common::String result((const char*)buf->GetPointer());
 	delete buf;
-	
+
 	return result;
 }
 
@@ -300,8 +300,8 @@ bool BadaFilesystemNode::isDirectory() const {
 
 bool BadaFilesystemNode::isWritable() const {
 	bool result = (_isValid && !_isVirtualDir && !_attr.IsDirectory() && !_attr.IsReadOnly());
-	if (_path == PATH_HOME || 
-			_path == PATH_HOME_EXT || 
+	if (_path == PATH_HOME ||
+			_path == PATH_HOME_EXT ||
 			_path == PATH_HOME_SHARE ||
 			_path == PATH_HOME_SHARE2) {
 		result = true;
@@ -338,11 +338,11 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList,
 			myList.push_back(new BadaFilesystemNode(PATH_HOME_SHARE2));
 		}
 	}
-	
+
 	if (!result) {
 		DirEnumerator *pDirEnum = 0;
 		Directory *pDir = new Directory();
-		
+
 		// open directory
 		if (IsFailed(pDir->Construct(_unicodePath))) {
 			AppLog("Failed to open directory");
@@ -352,24 +352,24 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList,
 			if (pDirEnum) {
 				result = true;
 			}
-			
+
 			// loop through all directory entries
 			while (pDirEnum && pDirEnum->MoveNext() == E_SUCCESS) {
 				DirEntry dirEntry = pDirEnum->GetCurrentDirEntry();
-				
+
 				// skip 'invisible' files if necessary
 				Osp::Base::String fileName = dirEntry.GetName();
-				
+
 				if (fileName[0] == '.' && !hidden) {
 					continue;
 				}
-				
+
 				// skip '.' and '..' to avoid cycles
 				if ((fileName[0] == '.' && fileName[1] == 0) ||
 						(fileName[0] == '.' && fileName[1] == '.')) {
 					continue;
 				}
-				
+
 				// Honor the chosen mode
 				if ((mode == Common::FSNode::kListFilesOnly && dirEntry.IsDirectory()) ||
 						(mode == Common::FSNode::kListDirectoriesOnly && !dirEntry.IsDirectory())) {
@@ -378,12 +378,12 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList,
 				myList.push_back(new BadaFilesystemNode(_path, fromString(fileName)));
 			}
 		}
-		
+
 		// cleanup
 		if (pDirEnum) {
 			delete pDirEnum;
 		}
-		
+
 		// close the opened directory
 		if (pDir) {
 			delete pDir;
diff --git a/backends/platform/bada/graphics.cpp b/backends/platform/bada/graphics.cpp
index 7c4fc03..4ab90a6 100644
--- a/backends/platform/bada/graphics.cpp
+++ b/backends/platform/bada/graphics.cpp
@@ -75,7 +75,7 @@ Common::List<Graphics::PixelFormat> BadaGraphicsManager::getSupportedFormats() c
 }
 
 bool BadaGraphicsManager::hasFeature(OSystem::Feature f) {
-	bool result = (f == OSystem::kFeatureFullscreenMode || 
+	bool result = (f == OSystem::kFeatureFullscreenMode ||
 								 f == OSystem::kFeatureVirtualKeyboard ||
 								 OpenGLGraphicsManager::hasFeature(f));
 	return result;
@@ -111,7 +111,7 @@ bool BadaGraphicsManager::loadEgl() {
 	};
 
 	EGLint eglContextList[] = {
-		EGL_CONTEXT_CLIENT_VERSION, 1, 
+		EGL_CONTEXT_CLIENT_VERSION, 1,
 		EGL_NONE
 	};
 
@@ -126,14 +126,14 @@ bool BadaGraphicsManager::loadEgl() {
 		systemError("eglGetDisplay() failed");
 		return false;
 	}
-	
-	if (EGL_FALSE == eglInitialize(_eglDisplay, NULL, NULL) || 
+
+	if (EGL_FALSE == eglInitialize(_eglDisplay, NULL, NULL) ||
 			EGL_SUCCESS != eglGetError()) {
 		systemError("eglInitialize() failed");
 		return false;
 	}
 
-	if (EGL_FALSE == eglChooseConfig(_eglDisplay, eglConfigList, 
+	if (EGL_FALSE == eglChooseConfig(_eglDisplay, eglConfigList,
 																	 &_eglConfig, 1, &numConfigs) ||
 			EGL_SUCCESS != eglGetError()) {
 		systemError("eglChooseConfig() failed");
@@ -145,14 +145,14 @@ bool BadaGraphicsManager::loadEgl() {
 		return false;
 	}
 
-	_eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig, 
+	_eglSurface = eglCreateWindowSurface(_eglDisplay, _eglConfig,
 																			(EGLNativeWindowType)_appForm, NULL);
 	if (EGL_NO_SURFACE == _eglSurface || EGL_SUCCESS != eglGetError()) {
 		systemError("eglCreateWindowSurface() failed. EGL_NO_SURFACE");
 		return false;
 	}
-	
-	_eglContext = eglCreateContext(_eglDisplay, _eglConfig, 
+
+	_eglContext = eglCreateContext(_eglDisplay, _eglConfig,
 																EGL_NO_CONTEXT, eglContextList);
 	if (EGL_NO_CONTEXT == _eglContext ||
 			EGL_SUCCESS != eglGetError()) {
@@ -227,7 +227,7 @@ void BadaGraphicsManager::unloadGFXMode() {
 		eglTerminate(_eglDisplay);
 		_eglDisplay = EGL_NO_DISPLAY;
 	}
-	
+
 	_eglConfig = NULL;
 
 	OpenGLGraphicsManager::unloadGFXMode();
@@ -292,7 +292,7 @@ void BadaGraphicsManager::showSplash() {
 	canvas.Construct();
 	canvas.SetBackgroundColor(Color::COLOR_BLACK);
 	canvas.Clear();
-	
+
 	int x = _videoMode.hardwareWidth / 3;
 	int y = _videoMode.hardwareHeight / 3;
 
@@ -309,7 +309,7 @@ void BadaGraphicsManager::showSplash() {
 	canvas.SetForegroundColor(Color::COLOR_WHITE);
 	canvas.DrawText(Point(x + 70, y + 50), L"Loading ...");
 	delete pFont;
-	
+
 	canvas.Show();
 
 }
diff --git a/backends/platform/bada/missing.cpp b/backends/platform/bada/missing.cpp
index 1656bac..a5433ec 100644
--- a/backends/platform/bada/missing.cpp
+++ b/backends/platform/bada/missing.cpp
@@ -41,7 +41,7 @@ C_LINKAGE_BEGIN
 
 int __errno; // for overridden method in saves/default/default-saves.cpp
 
-void __assert_func(const char *file, int line, 
+void __assert_func(const char *file, int line,
 									 const char *func, const char *err) {
 	char buffer[BUF_SIZE];
 	snprintf(buffer, sizeof(buffer), "%s %d %s %s", file, line, func, err);
diff --git a/backends/platform/bada/portdefs.h b/backends/platform/bada/portdefs.h
index c96d664..e85d578 100644
--- a/backends/platform/bada/portdefs.h
+++ b/backends/platform/bada/portdefs.h
@@ -37,7 +37,7 @@
  #include <ctype.h> // causes a link error when building c programs
  #define C_LINKAGE_BEGIN extern "C" {
  #define C_LINKAGE_END }
-#else 
+#else
  #define C_LINKAGE_BEGIN
  #define C_LINKAGE_END
 #endif
@@ -50,7 +50,7 @@ C_LINKAGE_BEGIN
 #define fseeko fseek
 #define ftello ftell
 
-// overcome use of fprintf since bada/newlib (1.2) does not 
+// overcome use of fprintf since bada/newlib (1.2) does not
 // support stderr/stdout (undefined reference to `_impure_ptr').
 
 void stderr_fprintf(void*, const char *format, ...);
diff --git a/backends/platform/bada/sscanf.cpp b/backends/platform/bada/sscanf.cpp
index 421c23b..4ef964b 100644
--- a/backends/platform/bada/sscanf.cpp
+++ b/backends/platform/bada/sscanf.cpp
@@ -155,7 +155,7 @@ extern "C" int simple_sscanf(const char *input, const char *format, ...) {
 			break;
 		}
 	}
-	 
+
 	va_end(ap);
 	return result;
 }
@@ -171,7 +171,7 @@ int main(int argc, char *pArgv[]) {
 
 	//	strcpy(buffer, "in the buffer something");
 	if (simple_sscanf("CAT 123x-10 0x100 FONT large 1 enough\n	 123456.AUD $",
-										"CAT %dx%d %x FONT %[^\n] %06u.AUD %c", 
+										"CAT %dx%d %x FONT %[^\n] %06u.AUD %c",
 										&x, &y, &h, b, &u, &c) != 6) {
 		printf("Failed\n");
 	} else {
diff --git a/backends/platform/bada/system.cpp b/backends/platform/bada/system.cpp
index bc921e0..37d7028 100644
--- a/backends/platform/bada/system.cpp
+++ b/backends/platform/bada/system.cpp
@@ -96,7 +96,7 @@ bool BadaSaveFileManager::removeSavefile(const Common::String &filename) {
 		return true;
 
 	case E_ILLEGAL_ACCESS:
-		setError(Common::kWritePermissionDenied, "Search or write permission denied: " + 
+		setError(Common::kWritePermissionDenied, "Search or write permission denied: " +
 						 file.getName());
 		break;
 
@@ -206,9 +206,9 @@ int BadaEventManager::shouldQuit() const {
 //
 // BadaSystem
 //
-BadaSystem::BadaSystem(BadaAppForm *appForm) : 
+BadaSystem::BadaSystem(BadaAppForm *appForm) :
 	_appForm(appForm),
-	_audioThread(0), 
+	_audioThread(0),
 	_epoch(0) {
 }
 
@@ -251,7 +251,7 @@ result BadaSystem::initModules() {
 	}
 
 	// depends on _graphicsManager when ENABLE_VKEYBD enabled
-	_eventManager = new BadaEventManager(this); 
+	_eventManager = new BadaEventManager(this);
 	if (!_eventManager) {
 		return E_OUT_OF_MEMORY;
 	}
diff --git a/backends/platform/bada/system.h b/backends/platform/bada/system.h
index 7b5b9d8..a091f95 100644
--- a/backends/platform/bada/system.h
+++ b/backends/platform/bada/system.h
@@ -58,7 +58,7 @@ void systemError(const char *message);
 //
 // BadaSystem
 //
-class BadaSystem : public ModularBackend, 
+class BadaSystem : public ModularBackend,
 									 Common::EventSource {
 public:
 	BadaSystem(BadaAppForm *appForm);
@@ -92,7 +92,7 @@ private:
 	Common::EventSource *getDefaultEventSource() {return this;}
 	Common::SeekableReadStream *createConfigReadStream();
 	Common::WriteStream *createConfigWriteStream();
-	
+
 	BadaAppForm *_appForm;
 	AudioThread *_audioThread;
 	long long _epoch;






More information about the Scummvm-git-logs mailing list