diff options
Diffstat (limited to 'backends/platform')
92 files changed, 716 insertions, 328 deletions
diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp index a935bf145d..aba31320ea 100644 --- a/backends/platform/android/android.cpp +++ b/backends/platform/android/android.cpp @@ -174,6 +174,8 @@ OSystem_Android::~OSystem_Android() { _mixer = 0; delete _fsFactory; _fsFactory = 0; + delete _timerManager; + _timerManager = 0; deleteMutex(_event_queue_lock); } diff --git a/backends/platform/android/android.mk b/backends/platform/android/android.mk index 63d194fdc1..2e8fd62152 100644 --- a/backends/platform/android/android.mk +++ b/backends/platform/android/android.mk @@ -63,7 +63,7 @@ PATH_BUILD_CLASSES_PLUGIN_TOP = $(PATH_BUILD)/classes.plugin PATH_STAGE_PREFIX = build.stage PATH_STAGE_MAIN = $(PATH_STAGE_PREFIX).main -PATH_REL = org/inodes/gus/scummvm +PATH_REL = org/scummvm/scummvm PATH_SRC_TOP = $(srcdir)/backends/platform/android PATH_SRC = $(PATH_SRC_TOP)/$(PATH_REL) @@ -172,13 +172,13 @@ androidrelease: $(addprefix release/, $(APK_MAIN) $(APK_PLUGINS)) androidtestmain: $(APK_MAIN) $(ADB) install -r $(APK_MAIN) - $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.inodes.gus.scummvm/.Unpacker + $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.Unpacker androidtest: $(APK_MAIN) $(APK_PLUGINS) @set -e; for apk in $^; do \ $(ADB) install -r $$apk; \ done - $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.inodes.gus.scummvm/.Unpacker + $(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.Unpacker # used by buildbot! androiddistdebug: all diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp index b44a585528..a7ebb87651 100644 --- a/backends/platform/android/jni.cpp +++ b/backends/platform/android/jni.cpp @@ -125,7 +125,7 @@ jint JNI::onLoad(JavaVM *vm) { if (_vm->GetEnv((void **)&env, JNI_VERSION_1_2)) return JNI_ERR; - jclass cls = env->FindClass("org/inodes/gus/scummvm/ScummVM"); + jclass cls = env->FindClass("org/scummvm/scummvm/ScummVM"); if (cls == 0) return JNI_ERR; diff --git a/backends/platform/android/org/inodes/gus/scummvm/EditableSurfaceView.java b/backends/platform/android/org/scummvm/scummvm/EditableSurfaceView.java index 3aef14b851..b593fc6abf 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/EditableSurfaceView.java +++ b/backends/platform/android/org/scummvm/scummvm/EditableSurfaceView.java @@ -1,4 +1,4 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.content.Context; import android.text.InputType; diff --git a/backends/platform/android/org/inodes/gus/scummvm/PluginProvider.java b/backends/platform/android/org/scummvm/scummvm/PluginProvider.java index d90b7b2c68..e27e8d41a8 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/PluginProvider.java +++ b/backends/platform/android/org/scummvm/scummvm/PluginProvider.java @@ -1,10 +1,11 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; @@ -16,7 +17,7 @@ public class PluginProvider extends BroadcastReceiver { private final static String LOG_TAG = "ScummVM"; public final static String META_UNPACK_LIB = - "org.inodes.gus.scummvm.meta.UNPACK_LIB"; + "org.scummvm.scummvm.meta.UNPACK_LIB"; public void onReceive(Context context, Intent intent) { if (!intent.getAction().equals(ScummVMApplication.ACTION_PLUGIN_QUERY)) @@ -25,15 +26,24 @@ public class PluginProvider extends BroadcastReceiver { Bundle extras = getResultExtras(true); final ActivityInfo info; + final PackageInfo pinfo; try { info = context.getPackageManager() .getReceiverInfo(new ComponentName(context, this.getClass()), PackageManager.GET_META_DATA); + pinfo = context.getPackageManager() + .getPackageInfo(context.getPackageName(), 0); } catch (PackageManager.NameNotFoundException e) { Log.e(LOG_TAG, "Error finding my own info?", e); return; } + String host_version = extras.getString(ScummVMApplication.EXTRA_VERSION); + if (!pinfo.versionName.equals(host_version)) { + Log.e(LOG_TAG, "Plugin version " + pinfo.versionName + " is not equal to ScummVM version " + host_version); + return; + } + String mylib = info.metaData.getString(META_UNPACK_LIB); if (mylib != null) { ArrayList<String> all_libs = diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVM.java b/backends/platform/android/org/scummvm/scummvm/ScummVM.java index 246a02c9be..3a25b54eeb 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/ScummVM.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVM.java @@ -1,4 +1,4 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.util.Log; import android.content.res.AssetManager; diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java index ce4e016322..fbd6513761 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMActivity.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMActivity.java @@ -1,4 +1,4 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.app.Activity; import android.app.AlertDialog; @@ -14,6 +14,8 @@ import android.view.MotionEvent; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; +import java.io.File; + public class ScummVMActivity extends Activity { private class MyScummVM extends ScummVM { @@ -128,6 +130,16 @@ public class ScummVMActivity extends Activity { getFilesDir().mkdirs(); + // Store savegames on external storage if we can, which means they're + // world-readable and don't get deleted on uninstall. + String savePath = Environment.getExternalStorageDirectory() + "/ScummVM/Saves/"; + File saveDir = new File(savePath); + saveDir.mkdirs(); + if (!saveDir.isDirectory()) { + // If it doesn't work, resort to the internal app path. + savePath = getDir("saves", MODE_WORLD_READABLE).getPath(); + } + // Start ScummVM _scummvm = new MyScummVM(main_surface.getHolder()); @@ -136,7 +148,7 @@ public class ScummVMActivity extends Activity { "--config=" + getFileStreamPath("scummvmrc").getPath(), "--path=" + Environment.getExternalStorageDirectory().getPath(), "--gui-theme=scummmodern", - "--savepath=" + getDir("saves", 0).getPath() + "--savepath=" + savePath }); _events = new ScummVMEvents(this, _scummvm); diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMApplication.java b/backends/platform/android/org/scummvm/scummvm/ScummVMApplication.java index 8ab7d1a084..0adc166222 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMApplication.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMApplication.java @@ -1,12 +1,13 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.app.Application; import java.io.File; public class ScummVMApplication extends Application { - public final static String ACTION_PLUGIN_QUERY = "org.inodes.gus.scummvm.action.PLUGIN_QUERY"; - public final static String EXTRA_UNPACK_LIBS = "org.inodes.gus.scummvm.extra.UNPACK_LIBS"; + public final static String ACTION_PLUGIN_QUERY = "org.scummvm.scummvm.action.PLUGIN_QUERY"; + public final static String EXTRA_UNPACK_LIBS = "org.scummvm.scummvm.extra.UNPACK_LIBS"; + public final static String EXTRA_VERSION = "org.scummvm.scummvm.extra.VERSION"; private static File _cache_dir; diff --git a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java index 175ff0b677..86227b9352 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/ScummVMEvents.java +++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java @@ -1,4 +1,4 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.os.Handler; import android.os.Message; diff --git a/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java b/backends/platform/android/org/scummvm/scummvm/Unpacker.java index 8811b1f3ae..da76ceb5e5 100644 --- a/backends/platform/android/org/inodes/gus/scummvm/Unpacker.java +++ b/backends/platform/android/org/scummvm/scummvm/Unpacker.java @@ -1,4 +1,4 @@ -package org.inodes.gus.scummvm; +package org.scummvm.scummvm; import android.app.Activity; import android.app.AlertDialog; @@ -10,6 +10,7 @@ import android.content.ContextWrapper; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.net.Uri; @@ -38,12 +39,15 @@ public class Unpacker extends Activity { // TODO don't hardcode this private final static boolean PLUGINS_ENABLED = false; private final static String META_NEXT_ACTIVITY = - "org.inodes.gus.unpacker.nextActivity"; + "org.scummvm.unpacker.nextActivity"; private ProgressBar mProgress; private File mUnpackDest; // location to unpack into private AsyncTask<String, Integer, Void> mUnpacker; private final static int REQUEST_MARKET = 1; + // Android 3.1+ only + public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32; + private static class UnpackJob { public ZipFile zipfile; public Set<String> paths; @@ -272,7 +276,19 @@ public class Unpacker extends Activity { extras.putStringArrayList(ScummVMApplication.EXTRA_UNPACK_LIBS, unpack_libs); + final PackageInfo info; + try { + info = getPackageManager().getPackageInfo(getPackageName(), 0); + } catch (PackageManager.NameNotFoundException e) { + Log.e(LOG_TAG, "Error finding my own info?", e); + return; + } + extras.putString(ScummVMApplication.EXTRA_VERSION, info.versionName); + Intent intent = new Intent(ScummVMApplication.ACTION_PLUGIN_QUERY); + // Android 3.1 defaults to FLAG_EXCLUDE_STOPPED_PACKAGES, and since + // none of our plugins will ever be running, that is not helpful + intent.setFlags(FLAG_INCLUDE_STOPPED_PACKAGES); sendOrderedBroadcast(intent, Manifest.permission.SCUMMVM_PLUGIN, new PluginBroadcastReciever(), null, RESULT_OK, null, extras); diff --git a/backends/platform/android/texture.cpp b/backends/platform/android/texture.cpp index 53b4d1cc59..e211e5941f 100644 --- a/backends/platform/android/texture.cpp +++ b/backends/platform/android/texture.cpp @@ -287,7 +287,7 @@ void GLESTexture::fillBuffer(uint32 color) { ((color & 0xff) == ((color >> 8) & 0xff))) memset(_pixels, color & 0xff, _surface.pitch * _surface.h); else - Common::set_to(_pixels, _pixels + _surface.pitch * _surface.h, + Common::fill(_pixels, _pixels + _surface.pitch * _surface.h, (uint16)color); setDirty(); diff --git a/backends/platform/bada/README.TXT b/backends/platform/bada/README.TXT index ca6f8f245a..c4a04d5450 100644 --- a/backends/platform/bada/README.TXT +++ b/backends/platform/bada/README.TXT @@ -83,3 +83,10 @@ Links: A short turorial on implementing OpenGL ES 1.1 in BADA: http://forums.badadev.com/viewtopic.php?f=7&t=208 +HelvB14 font files: + http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html + http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-75dpi100dpi.tar.gz + + Then run the following command: + $ ./ucs2any.pl 100dpi/helvB14.bdf MAPPINGS/8859-1.TXT iso8859-1 \ + MAPPINGS/8859-2.TXT iso8859-2 MAPPINGS/8859-3.TXT iso8859-3 diff --git a/backends/platform/bada/application.cpp b/backends/platform/bada/application.cpp index a287fa6352..bf585d2782 100644 --- a/backends/platform/bada/application.cpp +++ b/backends/platform/bada/application.cpp @@ -99,11 +99,13 @@ void BadaScummVM::OnLowMemory(void) { } void BadaScummVM::pauseGame(bool pause) { - if (pause && _appForm && g_engine && !g_engine->isPaused()) { - _appForm->pushKey(Common::KEYCODE_SPACE); - } - - if (g_system) { - ((BadaSystem *)g_system)->setMute(pause); + if (_appForm) { + if (pause && g_engine && !g_engine->isPaused()) { + _appForm->pushKey(Common::KEYCODE_SPACE); + } + + if (g_system) { + ((BadaSystem *)g_system)->setMute(pause); + } } } diff --git a/backends/platform/bada/audio.cpp b/backends/platform/bada/audio.cpp index cfa6418e08..b868e91357 100644 --- a/backends/platform/bada/audio.cpp +++ b/backends/platform/bada/audio.cpp @@ -74,7 +74,7 @@ bool AudioThread::isSilentMode() { } void AudioThread::setMute(bool on) { - if (_audioOut && !isSilentMode()) { + if (_audioOut && _timer) { _muted = on; if (on) { _timer->Cancel(); @@ -88,7 +88,7 @@ int AudioThread::setVolume(bool up, bool minMax) { int level = -1; int numLevels = sizeof(levels) / sizeof(levels[0]); - if (_audioOut && !isSilentMode()) { + if (_audioOut) { int volume = _audioOut->GetVolume(); if (minMax) { level = up ? numLevels - 1 : 0; diff --git a/backends/platform/bada/form.cpp b/backends/platform/bada/form.cpp index 6163053c96..dfa72bce08 100644 --- a/backends/platform/bada/form.cpp +++ b/backends/platform/bada/form.cpp @@ -49,9 +49,9 @@ using namespace Osp::Ui::Controls; // BadaAppForm::BadaAppForm() : _gameThread(0), - _state(InitState), - _buttonState(LeftButton), - _shortcut(SetVolume) { + _state(kInitState), + _buttonState(kLeftButton), + _shortcut(kSetVolume) { _eventQueueLock = new Mutex(); _eventQueueLock->Create(); } @@ -99,11 +99,11 @@ result BadaAppForm::Construct() { BadaAppForm::~BadaAppForm() { logEntered(); - if (_gameThread && _state != ErrorState) { + if (_gameThread && _state != kErrorState) { terminate(); _gameThread->Stop(); - if (_state != ErrorState) { + if (_state != kErrorState) { _gameThread->Join(); } @@ -123,7 +123,7 @@ BadaAppForm::~BadaAppForm() { // abort the game thread // void BadaAppForm::terminate() { - if (_state == ActiveState) { + if (_state == kActiveState) { ((BadaSystem *)g_system)->setMute(true); _eventQueueLock->Acquire(); @@ -131,25 +131,25 @@ void BadaAppForm::terminate() { Common::Event e; e.type = Common::EVENT_QUIT; _eventQueue.push(e); - _state = ClosingState; + _state = kClosingState; _eventQueueLock->Release(); // block while thread ends AppLog("waiting for shutdown"); - for (int i = 0; i < EXIT_SLEEP_STEP && _state == ClosingState; i++) { + for (int i = 0; i < EXIT_SLEEP_STEP && _state == kClosingState; i++) { Thread::Sleep(EXIT_SLEEP); } - if (_state == ClosingState) { + if (_state == kClosingState) { // failed to terminate - Join() will freeze - _state = ErrorState; + _state = kErrorState; } } } void BadaAppForm::exitSystem() { - _state = ErrorState; + _state = kErrorState; if (_gameThread) { _gameThread->Stop(); @@ -200,8 +200,7 @@ bool BadaAppForm::pollEvent(Common::Event &event) { return result; } -void BadaAppForm::pushEvent(Common::EventType type, - const Point ¤tPosition) { +void BadaAppForm::pushEvent(Common::EventType type, const Point ¤tPosition) { BadaSystem *system = (BadaSystem *)g_system; BadaGraphicsManager *graphics = system->getGraphics(); if (graphics) { @@ -248,8 +247,8 @@ void BadaAppForm::pushKey(Common::KeyCode keycode) { void BadaAppForm::OnOrientationChanged(const Control &source, OrientationStatus orientationStatus) { logEntered(); - if (_state == InitState) { - _state = ActiveState; + if (_state == kInitState) { + _state = kActiveState; _gameThread->Start(); } } @@ -257,30 +256,30 @@ void BadaAppForm::OnOrientationChanged(const Control &source, Object *BadaAppForm::Run(void) { scummvm_main(0, 0); - if (_state == ActiveState) { + if (_state == kActiveState) { Application::GetInstance()->SendUserEvent(USER_MESSAGE_EXIT, NULL); } - _state = DoneState; + _state = kDoneState; return NULL; } void BadaAppForm::setButtonShortcut() { switch (_buttonState) { - case LeftButton: + case kLeftButton: g_system->displayMessageOnOSD(_("Right Click Once")); - _buttonState = RightButtonOnce; + _buttonState = kRightButtonOnce; break; - case RightButtonOnce: + case kRightButtonOnce: g_system->displayMessageOnOSD(_("Right Click")); - _buttonState = RightButton; + _buttonState = kRightButton; break; - case RightButton: + case kRightButton: g_system->displayMessageOnOSD(_("Move Only")); - _buttonState = MoveOnly; + _buttonState = kMoveOnly; break; - case MoveOnly: + case kMoveOnly: g_system->displayMessageOnOSD(_("Left Click")); - _buttonState = LeftButton; + _buttonState = kLeftButton; break; } } @@ -288,27 +287,27 @@ void BadaAppForm::setButtonShortcut() { void BadaAppForm::setShortcut() { // cycle to the next shortcut switch (_shortcut) { - case ControlMouse: + case kControlMouse: g_system->displayMessageOnOSD(_("Escape Key")); - _shortcut = EscapeKey; + _shortcut = kEscapeKey; break; - case EscapeKey: + case kEscapeKey: g_system->displayMessageOnOSD(_("Game Menu")); - _shortcut = GameMenu; + _shortcut = kGameMenu; break; - case GameMenu: + case kGameMenu: g_system->displayMessageOnOSD(_("Show Keypad")); - _shortcut = ShowKeypad; + _shortcut = kShowKeypad; break; - case SetVolume: + case kSetVolume: // fallthru - case ShowKeypad: + case kShowKeypad: g_system->displayMessageOnOSD(_("Control Mouse")); - _shortcut = ControlMouse; + _shortcut = kControlMouse; break; } } @@ -330,17 +329,17 @@ void BadaAppForm::setVolume(bool up, bool minMax) { void BadaAppForm::showKeypad() { // display the soft keyboard - _buttonState = LeftButton; + _buttonState = kLeftButton; pushKey(Common::KEYCODE_F7); } void BadaAppForm::OnTouchDoublePressed(const Control &source, const Point ¤tPosition, const TouchEventInfo &touchInfo) { - if (_buttonState != MoveOnly) { - pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, + if (_buttonState != kMoveOnly) { + pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, currentPosition); - pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, + pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, currentPosition); } } @@ -358,7 +357,7 @@ void BadaAppForm::OnTouchFocusOut(const Control &source, void BadaAppForm::OnTouchLongPressed(const Control &source, const Point ¤tPosition, const TouchEventInfo &touchInfo) { - if (_buttonState != LeftButton) { + if (_buttonState != kLeftButton) { pushKey(Common::KEYCODE_RETURN); } } @@ -372,8 +371,8 @@ void BadaAppForm::OnTouchMoved(const Control &source, void BadaAppForm::OnTouchPressed(const Control &source, const Point ¤tPosition, const TouchEventInfo &touchInfo) { - if (_buttonState != MoveOnly) { - pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, + if (_buttonState != kMoveOnly) { + pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONDOWN : Common::EVENT_RBUTTONDOWN, currentPosition); } } @@ -381,11 +380,11 @@ void BadaAppForm::OnTouchPressed(const Control &source, void BadaAppForm::OnTouchReleased(const Control &source, const Point ¤tPosition, const TouchEventInfo &touchInfo) { - if (_buttonState != MoveOnly) { - pushEvent(_buttonState == LeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP, + if (_buttonState != kMoveOnly) { + pushEvent(_buttonState == kLeftButton ? Common::EVENT_LBUTTONUP : Common::EVENT_RBUTTONUP, currentPosition); - if (_buttonState == RightButtonOnce) { - _buttonState = LeftButton; + if (_buttonState == kRightButtonOnce) { + _buttonState = kLeftButton; } // flick to skip dialog if (touchInfo.IsFlicked()) { @@ -398,17 +397,17 @@ void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) { logEntered(); switch (keyCode) { case KEY_SIDE_UP: - _shortcut = SetVolume; + _shortcut = kSetVolume; setVolume(true, true); return; case KEY_SIDE_DOWN: - _shortcut = SetVolume; + _shortcut = kSetVolume; setVolume(false, true); return; case KEY_CAMERA: - _shortcut = ShowKeypad; + _shortcut = kShowKeypad; showKeypad(); return; @@ -420,8 +419,8 @@ void BadaAppForm::OnKeyLongPressed(const Control &source, KeyCode keyCode) { void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) { switch (keyCode) { case KEY_SIDE_UP: - if (_shortcut != SetVolume) { - _shortcut = SetVolume; + if (_shortcut != kSetVolume) { + _shortcut = kSetVolume; } else { setVolume(true, false); } @@ -429,19 +428,20 @@ void BadaAppForm::OnKeyPressed(const Control &source, KeyCode keyCode) { case KEY_SIDE_DOWN: switch (_shortcut) { - case ControlMouse: + case kControlMouse: setButtonShortcut(); break; - case EscapeKey: + case kEscapeKey: pushKey(Common::KEYCODE_ESCAPE); break; - case GameMenu: + case kGameMenu: + _buttonState = kLeftButton; pushKey(Common::KEYCODE_F5); break; - case ShowKeypad: + case kShowKeypad: showKeypad(); break; diff --git a/backends/platform/bada/form.h b/backends/platform/bada/form.h index 09ce941a7b..3340e2216b 100644 --- a/backends/platform/bada/form.h +++ b/backends/platform/bada/form.h @@ -50,7 +50,7 @@ public: result Construct(); bool pollEvent(Common::Event &event); - bool isClosing() { return _state == ClosingState; } + bool isClosing() { return _state == kClosingState; } void pushKey(Common::KeyCode keycode); void exitSystem(); @@ -100,9 +100,9 @@ private: 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; + enum { kInitState, kActiveState, kClosingState, kDoneState, kErrorState } _state; + enum { kLeftButton, kRightButtonOnce, kRightButton, kMoveOnly } _buttonState; + enum { kControlMouse, kEscapeKey, kGameMenu, kShowKeypad, kSetVolume } _shortcut; }; #endif diff --git a/backends/platform/bada/fs.cpp b/backends/platform/bada/fs.cpp index 8e3c4f0f7c..0ae0cde43d 100644 --- a/backends/platform/bada/fs.cpp +++ b/backends/platform/bada/fs.cpp @@ -345,7 +345,7 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList, // open directory if (IsFailed(pDir->Construct(_unicodePath))) { - AppLog("Failed to open directory"); + AppLog("Failed to open directory: %S", _unicodePath.GetPointer()); } else { // read all directory entries pDirEnum = pDir->ReadN(); @@ -365,8 +365,7 @@ bool BadaFilesystemNode::getChildren(AbstractFSList &myList, } // skip '.' and '..' to avoid cycles - if ((fileName[0] == '.' && fileName[1] == 0) || - (fileName[0] == '.' && fileName[1] == '.')) { + if (fileName == L"." || fileName == L"..") { continue; } diff --git a/backends/platform/bada/graphics.cpp b/backends/platform/bada/graphics.cpp index 4ab90a633f..bd65c597c6 100644 --- a/backends/platform/bada/graphics.cpp +++ b/backends/platform/bada/graphics.cpp @@ -38,7 +38,6 @@ BadaGraphicsManager::BadaGraphicsManager(BadaAppForm *appForm) : _initState(true) { assert(appForm != NULL); _videoMode.fullscreen = true; - _videoMode.antialiasing = true; } const Graphics::Font *BadaGraphicsManager::getFontOSD() { @@ -195,7 +194,6 @@ void BadaGraphicsManager::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); } @@ -234,58 +232,6 @@ void BadaGraphicsManager::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; diff --git a/backends/platform/bada/graphics.h b/backends/platform/bada/graphics.h index 5e49419979..b2aaca43bc 100644 --- a/backends/platform/bada/graphics.h +++ b/backends/platform/bada/graphics.h @@ -57,7 +57,6 @@ private: bool loadGFXMode(); void loadTextures(); void unloadGFXMode(); - void refreshGameScreen(); void setInternalMousePosition(int x, int y) {} void showSplash(); diff --git a/backends/platform/bada/portdefs.h b/backends/platform/bada/portdefs.h index e85d578678..7d85a9ec35 100644 --- a/backends/platform/bada/portdefs.h +++ b/backends/platform/bada/portdefs.h @@ -30,6 +30,7 @@ #include <stdio.h> #include <unistd.h> #include <math.h> +#include <new> #define M_PI 3.14159265358979323846 diff --git a/backends/platform/bada/sscanf.cpp b/backends/platform/bada/sscanf.cpp index 4ef964b47e..b5e5b88cb5 100644 --- a/backends/platform/bada/sscanf.cpp +++ b/backends/platform/bada/sscanf.cpp @@ -31,17 +31,32 @@ // bool scanInt(const char **in, va_list *ap, int max) { - while (**in && (**in == ' ' || **in == '0')) { + // skip leading space characters + while (**in && **in == ' ') { + (*in)++; + } + + // number optionally preceeded with a + or - sign. + bool negate = false; + if (**in == '-') { + (*in)++; + negate = true; + } + + if (**in == '+') { (*in)++; } int *arg = va_arg(*ap, int*); char *end; - long n = strtol(*in, &end, 0); + long n = strtol(*in, &end, 10); + if (negate) { + n = -n; + } bool err = false; if (end == *in || (max > 0 && (end - *in) > max)) { - err = true; + err = true; } else { *arg = (int)n; *in = end; @@ -162,21 +177,37 @@ extern "C" int simple_sscanf(const char *input, const char *format, ...) { #if defined(TEST) int main(int argc, char *pArgv[]) { - int x,y,h; + int x,y,xx,yy,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) { + if (simple_sscanf("BBX 00009 -1 +10 000", + "BBX %d %d %d %d", + &x, &y, &xx, &yy) != 4) { + printf("Failed\n"); + } else { + printf("Success %d %d %d %d\n", x, y, xx, yy); + } + + if (simple_sscanf("CAT 123x-10 0x100h 123456.AUD $ ", + "CAT %dx%d %xh %06u.AUD %c", + &x, &y, &h, &u, &c) != 5) { + printf("Failed\n"); + } else { + printf("Success %d %d %d %d '%c' \n", x, y, h, u, c); + } + + if (simple_sscanf("COPYRIGHT \"Copyright (c) 1984, 1987 Foo Systems Incorporated", + "COPYRIGHT \"%[^\"]", + b) != 1) { printf("Failed\n"); } else { - printf("Success %d %d %d %s %d '%c'\n", x, y, h, buffer, u, c); + printf("Success %s\n", buffer); } + return 0; } #endif diff --git a/backends/platform/bada/system.cpp b/backends/platform/bada/system.cpp index 37d7028687..d284688068 100644 --- a/backends/platform/bada/system.cpp +++ b/backends/platform/bada/system.cpp @@ -45,6 +45,7 @@ using namespace Osp::Base::Runtime; using namespace Osp::Ui::Controls; #define DEFAULT_CONFIG_FILE "/Home/scummvm.ini" +#define RESOURCE_PATH "/Res" #define MUTEX_BUFFER_SIZE 5 // @@ -152,17 +153,17 @@ OSystem::MutexRef BadaMutexManager::createMutex() { } void BadaMutexManager::lockMutex(OSystem::MutexRef mutex) { - Mutex *m = (Mutex*)mutex; + Mutex *m = (Mutex *)mutex; m->Acquire(); } void BadaMutexManager::unlockMutex(OSystem::MutexRef mutex) { - Mutex *m = (Mutex*)mutex; + Mutex *m = (Mutex *)mutex; m->Release(); } void BadaMutexManager::deleteMutex(OSystem::MutexRef mutex) { - Mutex *m = (Mutex*)mutex; + Mutex *m = (Mutex *)mutex; for (int i = 0; i < MUTEX_BUFFER_SIZE; i++) { if (buffer[i] == m) { @@ -245,7 +246,7 @@ result BadaSystem::initModules() { return E_OUT_OF_MEMORY; } - _graphicsManager = (GraphicsManager*) new BadaGraphicsManager(_appForm); + _graphicsManager = (GraphicsManager *)new BadaGraphicsManager(_appForm); if (!_graphicsManager) { return E_OUT_OF_MEMORY; } @@ -266,7 +267,7 @@ result BadaSystem::initModules() { return E_OUT_OF_MEMORY; } - _audiocdManager = (AudioCDManager*) new DefaultAudioCDManager(); + _audiocdManager = (AudioCDManager *)new DefaultAudioCDManager(); if (!_audiocdManager) { return E_OUT_OF_MEMORY; } @@ -283,9 +284,6 @@ result BadaSystem::initModules() { 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"); @@ -304,7 +302,7 @@ void BadaSystem::initBackend() { } ConfMan.registerDefault("fullscreen", true); - ConfMan.registerDefault("aspect_ratio", true); + ConfMan.registerDefault("aspect_ratio", false); ConfMan.setBool("confirm_exit", false); Osp::System::SystemTime::GetTicks(_epoch); @@ -317,7 +315,7 @@ void BadaSystem::initBackend() { // replace kBigGUIFont using the large font from the scummmobile theme Common::File fontFile; - Common::String fileName = "/Res/scummmobile/helvB14-ASCII.fcc"; + Common::String fileName = "/Res/scummmobile/helvB14-iso-8859-1.fcc"; BadaFilesystemNode file(fileName); if (file.exists()) { Common::SeekableReadStream *stream = file.createReadStream(); @@ -335,6 +333,11 @@ void BadaSystem::initBackend() { logLeaving(); } +void BadaSystem::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) { + // allow translations.dat and game .DAT files to be found + s.addDirectory(RESOURCE_PATH, RESOURCE_PATH, priority); +} + void BadaSystem::destroyBackend() { closeAudio(); @@ -446,8 +449,12 @@ void BadaSystem::closeGraphics() { } void BadaSystem::setMute(bool on) { + // only change mute after eventManager init() has completed if (_audioThread) { - _audioThread->setMute(on); + BadaGraphicsManager *graphics = getGraphics(); + if (graphics && graphics->isReady()) { + _audioThread->setMute(on); + } } } diff --git a/backends/platform/bada/system.h b/backends/platform/bada/system.h index a091f952e5..c28686cb3d 100644 --- a/backends/platform/bada/system.h +++ b/backends/platform/bada/system.h @@ -74,7 +74,7 @@ public: bool isClosing() { return _appForm->isClosing(); } BadaGraphicsManager *getGraphics() { - return (BadaGraphicsManager*)_graphicsManager; + return (BadaGraphicsManager *)_graphicsManager; } private: @@ -88,8 +88,9 @@ private: void getTimeAndDate(TimeDate &t) const; void fatalError(); void logMessage(LogMessageType::Type type, const char *message); + void addSysArchivesToSearchSet(Common::SearchSet &s, int priority); - Common::EventSource *getDefaultEventSource() {return this;} + Common::EventSource *getDefaultEventSource() { return this; } Common::SeekableReadStream *createConfigReadStream(); Common::WriteStream *createConfigWriteStream(); diff --git a/backends/platform/dc/dc-fs.cpp b/backends/platform/dc/dc-fs.cpp index f30c9c56d1..36f5a1465c 100644 --- a/backends/platform/dc/dc-fs.cpp +++ b/backends/platform/dc/dc-fs.cpp @@ -39,7 +39,7 @@ protected: Common::String _path; public: - RoninCDFileNode(const Common::String &path) : _path(path) {}; + RoninCDFileNode(const Common::String &path) : _path(path) {} virtual bool exists() const { return true; } virtual Common::String getName() const { return lastPathComponent(_path, '/'); } @@ -61,7 +61,7 @@ public: /* A directory */ class RoninCDDirectoryNode : public RoninCDFileNode { public: - RoninCDDirectoryNode(const Common::String &path) : RoninCDFileNode(path) {}; + RoninCDDirectoryNode(const Common::String &path) : RoninCDFileNode(path) {} virtual bool isDirectory() const { return true; } virtual AbstractFSNode *getChild(const Common::String &n) const; @@ -72,7 +72,7 @@ public: /* A file/directory which does not exist */ class RoninCDNonexistingNode : public RoninCDFileNode { public: - RoninCDNonexistingNode(const Common::String &path) : RoninCDFileNode(path) {}; + RoninCDNonexistingNode(const Common::String &path) : RoninCDFileNode(path) {} virtual bool exists() const { return false; } virtual bool isReadable() const { return false; } diff --git a/backends/platform/dc/portdefs.h b/backends/platform/dc/portdefs.h index ca2b5208a3..1f5c8f566a 100644 --- a/backends/platform/dc/portdefs.h +++ b/backends/platform/dc/portdefs.h @@ -29,6 +29,7 @@ #include <assert.h> #include <ctype.h> #include <math.h> +#include <new> #ifndef RONIN_TIMER_ACCESS #define Timer ronin_Timer #endif diff --git a/backends/platform/ds/arm9/source/osystem_ds.cpp b/backends/platform/ds/arm9/source/osystem_ds.cpp index fdd310ec17..73340ed18a 100644 --- a/backends/platform/ds/arm9/source/osystem_ds.cpp +++ b/backends/platform/ds/arm9/source/osystem_ds.cpp @@ -267,23 +267,6 @@ void OSystem_DS::setCursorPalette(const byte *colors, uint start, uint num) { refreshCursor(); } -bool OSystem_DS::grabRawScreen(Graphics::Surface *surf) { - surf->create(DS::getGameWidth(), DS::getGameHeight(), Graphics::PixelFormat::createFormatCLUT8()); - - // Ensure we copy using 16 bit quantities due to limitation of VRAM addressing - - - const u16 *image = (const u16 *) DS::get8BitBackBuffer(); - for (int y = 0; y < DS::getGameHeight(); y++) { - DC_FlushRange(image + (y << 8), DS::getGameWidth()); - for (int x = 0; x < DS::getGameWidth() >> 1; x++) { - *(((u16 *) (surf->pixels)) + y * (DS::getGameWidth() >> 1) + x) = image[(y << 8) + x]; - } - } - - return true; -} - void OSystem_DS::grabPalette(unsigned char *colors, uint start, uint num) { // consolePrintf("Grabpalette"); diff --git a/backends/platform/ds/arm9/source/osystem_ds.h b/backends/platform/ds/arm9/source/osystem_ds.h index b1222a152d..6aa3731916 100644 --- a/backends/platform/ds/arm9/source/osystem_ds.h +++ b/backends/platform/ds/arm9/source/osystem_ds.h @@ -141,8 +141,6 @@ public: void addEvent(const Common::Event& e); bool isEventQueueEmpty() const { return queuePos == 0; } - virtual bool grabRawScreen(Graphics::Surface *surf); - virtual void setFocusRectangle(const Common::Rect& rect); virtual void clearFocusRectangle(); diff --git a/backends/platform/ds/arm9/source/portdefs.h b/backends/platform/ds/arm9/source/portdefs.h index f512ce3ea2..e40849a513 100644 --- a/backends/platform/ds/arm9/source/portdefs.h +++ b/backends/platform/ds/arm9/source/portdefs.h @@ -37,6 +37,7 @@ #include <stdarg.h> #include <ctype.h> #include <math.h> +#include <new> #define double float diff --git a/backends/platform/maemo/debian/changelog b/backends/platform/maemo/debian/changelog index d3e0287186..8a9d8ee3c3 100644 --- a/backends/platform/maemo/debian/changelog +++ b/backends/platform/maemo/debian/changelog @@ -1,8 +1,14 @@ -scummvm (1.4.0~git) unstable; urgency=low +scummvm (1.5.0~git) unstable; urgency=low - * development snapshot + * Development snapshot - -- Tarek Soliman <tsoliman@scummvm.org> Wed, 05 Oct 2011 19:01:25 -0500 + -- Tarek Soliman <tsoliman@scummvm.org> Tue, 15 Nov 2011 14:56:57 -0600 + +scummvm (1.4.0) unstable; urgency=low + + * 1.4.0 release + + -- Tarek Soliman <tsoliman@scummvm.org> Thu, 03 Nov 2011 13:54:04 -0500 scummvm (1.2.1~pre) unstable; urgency=low diff --git a/backends/platform/maemo/debian/control b/backends/platform/maemo/debian/control index a1f0d95002..6e1dfe2fd4 100644 --- a/backends/platform/maemo/debian/control +++ b/backends/platform/maemo/debian/control @@ -7,7 +7,7 @@ Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev, libmad0-dev, libasound2-dev, Standards-Version: 3.6.1.1 Package: scummvm Depends: ${shlibs:Depends} -Architecture: i386 armel +Architecture: armel Section: user/games Description: interpreter that will play graphic adventure games written for LucasArts' SCUMM virtual machine, Sierra's AGI adventures, @@ -17,6 +17,8 @@ Description: interpreter that will play graphic adventure games Coktel Vision's Gobliiins, Wyrmkeep's Inherit the Earth, Westwood's Legend of Kyrandia, and various others. This package does not contain any actual games. +XSBC-Bugtracker: https://sourceforge.net/tracker/?atid=418820&group_id=37116&func=browse +XB-Maemo-Display-Name: ScummVM XBS-Maemo-Icon-26: iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W diff --git a/backends/platform/maemo/debian/rules b/backends/platform/maemo/debian/rules index 7613df25b4..64add08de8 100755 --- a/backends/platform/maemo/debian/rules +++ b/backends/platform/maemo/debian/rules @@ -47,7 +47,7 @@ install: build install -m0644 gui/themes/scummclassic.zip gui/themes/scummmodern.zip debian/scummvm/opt/scummvm/share install -m0644 backends/vkeybd/packs/vkeybd_default.zip debian/scummvm/opt/scummvm/share # for optified version we can also add engine datafiles - install -m0644 dists/engine-data/drascula.dat dists/engine-data/hugo.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/m4.dat dists/engine-data/mads.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat dists/engine-data/toon.dat debian/scummvm/opt/scummvm/share + install -m0644 dists/engine-data/drascula.dat dists/engine-data/hugo.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat dists/engine-data/toon.dat debian/scummvm/opt/scummvm/share install -m0644 -d debian/scummvm/usr/share/doc/scummvm install -m0644 NEWS README COPYRIGHT debian/scummvm/usr/share/doc/scummvm diff --git a/backends/platform/maemo/maemo-common.h b/backends/platform/maemo/maemo-common.h new file mode 100644 index 0000000000..f33aa24278 --- /dev/null +++ b/backends/platform/maemo/maemo-common.h @@ -0,0 +1,56 @@ +/* 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. + * + */ + +#if defined(MAEMO) + +#ifndef PLATFORM_SDL_MAEMO_COMMON_H +#define PLATFORM_SDL_MAEMO_COMMON_H + +namespace Maemo { + +enum ModelType { + kModelTypeN800 = 1, + kModelTypeN810 = 2, + kModelTypeN900 = 4, + kModelTypeInvalid = 0 +}; + +struct Model { + const char *hwId; + ModelType modelType; + const char *hwAlias; + bool hwKeyboard; +}; + +static const Model models[] = { + {"RX-34", kModelTypeN800, "N800", false}, + {"RX-44", kModelTypeN810, "N810", true}, + {"RX-48", kModelTypeN810, "N810W", true}, + {"RX-51", kModelTypeN900, "N900", true}, + {0, kModelTypeInvalid, 0, true} +}; + +} // namespace Maemo + +#endif // ifndef PLATFORM_SDL_MAEMO_COMMON_H + +#endif // if defined(MAEMO) diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp index 1fb7ad0691..454a13631c 100644 --- a/backends/platform/maemo/maemo.cpp +++ b/backends/platform/maemo/maemo.cpp @@ -22,17 +22,22 @@ #if defined(MAEMO) +#define FORBIDDEN_SYMBOL_EXCEPTION_getenv + #include "common/scummsys.h" #include "common/config-manager.h" #include "backends/platform/maemo/maemo.h" #include "backends/events/maemosdl/maemosdl-events.h" +#include "backends/graphics/maemosdl/maemosdl-graphics.h" #include "common/textconsole.h" #include <SDL/SDL_syswm.h> #include <X11/Xutil.h> +namespace Maemo { + OSystem_SDL_Maemo::OSystem_SDL_Maemo() : OSystem_POSIX() { @@ -43,8 +48,13 @@ void OSystem_SDL_Maemo::initBackend() { if (_eventSource == 0) _eventSource = new MaemoSdlEventSource(); + if (_graphicsManager == 0) + _graphicsManager = new MaemoSdlGraphicsManager(_eventSource); + ConfMan.set("vkeybdpath", DATA_PATH); + _model = Model(detectModel()); + // Call parent implementation of this method OSystem_POSIX::initBackend(); } @@ -92,6 +102,22 @@ void OSystem_SDL_Maemo::setWindowCaption(const char *caption) { setXWindowName(cap.c_str()); } +const Maemo::Model OSystem_SDL_Maemo::detectModel() { + Common::String deviceHwId = Common::String(getenv("SCUMMVM_MAEMO_DEVICE")); + const Model *model; + for (model = models; model->hwId; model++) { + if (deviceHwId.equals(model->hwId)) + return *model; + } + return *model; +} + +void OSystem_SDL_Maemo::setupIcon() { + // no Maemo version needs setupIcon + // also N900 is hit by SDL_WM_SetIcon bug (window cannot receive input) + // http://bugzilla.libsdl.org/show_bug.cgi?id=586 +} +} //namespace Maemo #endif diff --git a/backends/platform/maemo/maemo.h b/backends/platform/maemo/maemo.h index a7f2ec35bb..32b52470bc 100644 --- a/backends/platform/maemo/maemo.h +++ b/backends/platform/maemo/maemo.h @@ -26,6 +26,9 @@ #define PLATFORM_SDL_MAEMO_H #include "backends/platform/sdl/posix/posix.h" +#include "backends/platform/maemo/maemo-common.h" + +namespace Maemo { class OSystem_SDL_Maemo : public OSystem_POSIX { public: @@ -35,11 +38,20 @@ public: virtual void quit(); virtual void fatalError(); virtual void setWindowCaption(const char *caption); + virtual void setupIcon(); + + Model getModel() { return _model; } private: virtual void setXWindowName(const char *caption); + const Model detectModel(); + Model _model; + }; -#endif -#endif +} // namespace Maemo + +#endif // ifndef PLATFORM_SDL_MAEMO_H + +#endif // if defined(MAEMO) diff --git a/backends/platform/maemo/main.cpp b/backends/platform/maemo/main.cpp index 6b69cd81d0..7e8a316eb5 100644 --- a/backends/platform/maemo/main.cpp +++ b/backends/platform/maemo/main.cpp @@ -31,10 +31,10 @@ #include <unistd.h> int main(int argc, char* argv[]) { - g_system = new OSystem_SDL_Maemo(); + g_system = new Maemo::OSystem_SDL_Maemo(); assert(g_system); - ((OSystem_SDL_Maemo *)g_system)->init(); + ((Maemo::OSystem_SDL_Maemo *)g_system)->init(); #ifdef DYNAMIC_MODULES PluginManager::instance().addPluginProvider(new SDLPluginProvider()); @@ -44,7 +44,7 @@ int main(int argc, char* argv[]) { int res = scummvm_main(argc, argv); // Free OSystem - delete (OSystem_SDL_Maemo *)g_system; + delete (Maemo::OSystem_SDL_Maemo *)g_system; return res; } diff --git a/backends/platform/n64/portdefs.h b/backends/platform/n64/portdefs.h index 677ad48477..10f5ed6488 100644 --- a/backends/platform/n64/portdefs.h +++ b/backends/platform/n64/portdefs.h @@ -31,6 +31,7 @@ #include <stdio.h> #include <ctype.h> #include <math.h> +#include <new> #undef assert #define assert(x) ((x) ? 0 : (print_error("ASSERT TRIGGERED:\n\n("#x")\n%s\nline: %d", __FILE__, __LINE__))) diff --git a/backends/platform/openpandora/op-backend.cpp b/backends/platform/openpandora/op-backend.cpp index 5231e9790d..dcec387f97 100644 --- a/backends/platform/openpandora/op-backend.cpp +++ b/backends/platform/openpandora/op-backend.cpp @@ -49,7 +49,7 @@ #include <limits.h> #include <errno.h> #include <sys/stat.h> -#include <time.h> // for getTimeAndDate() +#include <time.h> // for getTimeAndDate() /* Dump console info to files. */ #define DUMP_STDOUT @@ -97,7 +97,7 @@ void OSystem_OP::initBackend() { // if (_mixer == 0) { // _mixerManager = new DoubleBufferSDLMixerManager(); - // Setup and start mixer + // Setup and start mixer // _mixerManager->init(); // } @@ -123,49 +123,49 @@ void OSystem_OP::initBackend() { _savefileManager = new DefaultSaveFileManager(savePath); - #ifdef DUMP_STDOUT - // The OpenPandora has a serial console on the EXT connection but most users do not use this so we - // output all our STDOUT and STDERR to files for debug purposes. - char STDOUT_FILE[PATH_MAX+1]; - char STDERR_FILE[PATH_MAX+1]; - - strcpy(STDOUT_FILE, workDirName); - strcpy(STDERR_FILE, workDirName); - strcat(STDOUT_FILE, "/scummvm.stdout.txt"); - strcat(STDERR_FILE, "/scummvm.stderr.txt"); - - // Flush the output in case anything is queued - fclose(stdout); - fclose(stderr); - - // Redirect standard input and standard output - FILE *newfp = freopen(STDOUT_FILE, "w", stdout); - if (newfp == NULL) { - #if !defined(stdout) - stdout = fopen(STDOUT_FILE, "w"); - #else - newfp = fopen(STDOUT_FILE, "w"); - if (newfp) { - *stdout = *newfp; - } - #endif +#ifdef DUMP_STDOUT + // The OpenPandora has a serial console on the EXT connection but most users do not use this so we + // output all our STDOUT and STDERR to files for debug purposes. + char STDOUT_FILE[PATH_MAX+1]; + char STDERR_FILE[PATH_MAX+1]; + + strcpy(STDOUT_FILE, workDirName); + strcpy(STDERR_FILE, workDirName); + strcat(STDOUT_FILE, "/scummvm.stdout.txt"); + strcat(STDERR_FILE, "/scummvm.stderr.txt"); + + // Flush the output in case anything is queued + fclose(stdout); + fclose(stderr); + + // Redirect standard input and standard output + FILE *newfp = freopen(STDOUT_FILE, "w", stdout); + if (newfp == NULL) { +#if !defined(stdout) + stdout = fopen(STDOUT_FILE, "w"); +#else + newfp = fopen(STDOUT_FILE, "w"); + if (newfp) { + *stdout = *newfp; } +#endif + } - newfp = freopen(STDERR_FILE, "w", stderr); - if (newfp == NULL) { - #if !defined(stderr) - stderr = fopen(STDERR_FILE, "w"); - #else - newfp = fopen(STDERR_FILE, "w"); - if (newfp) { - *stderr = *newfp; - } - #endif + newfp = freopen(STDERR_FILE, "w", stderr); + if (newfp == NULL) { +#if !defined(stderr) + stderr = fopen(STDERR_FILE, "w"); +#else + newfp = fopen(STDERR_FILE, "w"); + if (newfp) { + *stderr = *newfp; } +#endif + } - setbuf(stderr, NULL); - printf("%s\n", "Debug: STDOUT and STDERR redirected to text files."); - #endif /* DUMP_STDOUT */ + setbuf(stderr, NULL); + printf("%s\n", "Debug: STDOUT and STDERR redirected to text files."); +#endif /* DUMP_STDOUT */ /* Trigger autosave every 4 minutes. */ ConfMan.registerDefault("autosave_period", 4 * 60); @@ -187,7 +187,7 @@ void OSystem_OP::initBackend() { _inited = true; } - // enable joystick +// enable joystick // if (joystick_num > -1 && SDL_NumJoysticks() > 0) { // printf("Using joystick: %s\n", SDL_JoystickName(0)); // _joystick = SDL_JoystickOpen(joystick_num); @@ -195,13 +195,13 @@ void OSystem_OP::initBackend() { // // setupMixer(); - // Note: We could implement a custom SDLTimerManager by using - // SDL_AddTimer. That might yield better timer resolution, but it would - // also change the semantics of a timer: Right now, ScummVM timers - // *never* run in parallel, due to the way they are implemented. If we - // switched to SDL_AddTimer, each timer might run in a separate thread. - // However, not all our code is prepared for that, so we can't just - // switch. Still, it's a potential future change to keep in mind. +// Note: We could implement a custom SDLTimerManager by using +// SDL_AddTimer. That might yield better timer resolution, but it would +// also change the semantics of a timer: Right now, ScummVM timers +// *never* run in parallel, due to the way they are implemented. If we +// switched to SDL_AddTimer, each timer might run in a separate thread. +// However, not all our code is prepared for that, so we can't just +// switch. Still, it's a potential future change to keep in mind. // _timer = new DefaultTimerManager(); // _timerID = SDL_AddTimer(10, &timer_handler, _timer); @@ -217,9 +217,9 @@ void OSystem_OP::initSDL() { if (SDL_Init(sdlFlags) == -1) error("Could not initialize SDL: %s", SDL_GetError()); - uint8_t hiddenCursorData = 0; + uint8_t hiddenCursorData = 0; - hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0); + hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0); /* On the OpenPandora we need to work around an SDL assumption that returns relative mouse coordinates when you get to the screen @@ -277,11 +277,11 @@ void OSystem_OP::quit() { SDL_FreeCursor(hiddenCursor); - #ifdef DUMP_STDOUT - printf("%s\n", "Debug: STDOUT and STDERR text files closed."); - fclose(stdout); - fclose(stderr); - #endif /* DUMP_STDOUT */ +#ifdef DUMP_STDOUT + printf("%s\n", "Debug: STDOUT and STDERR text files closed."); + fclose(stdout); + fclose(stderr); +#endif /* DUMP_STDOUT */ OSystem_POSIX::quit(); } diff --git a/backends/platform/openpandora/op-main.cpp b/backends/platform/openpandora/op-main.cpp index bb359e7204..ebe018f570 100644 --- a/backends/platform/openpandora/op-main.cpp +++ b/backends/platform/openpandora/op-main.cpp @@ -43,7 +43,7 @@ int main(int argc, char *argv[]) { int res = scummvm_main(argc, argv); // Free OSystem - delete (OSystem_OP *)g_system; + delete(OSystem_OP *)g_system; return res; } diff --git a/backends/platform/openpandora/op-options.cpp b/backends/platform/openpandora/op-options.cpp index c60ba58cc7..58f0fb7188 100644 --- a/backends/platform/openpandora/op-options.cpp +++ b/backends/platform/openpandora/op-options.cpp @@ -31,9 +31,9 @@ namespace OP { enum { /* Touchscreen TapMode */ - TAPMODE_LEFT = 0, - TAPMODE_RIGHT = 1, - TAPMODE_HOVER = 2 + TAPMODE_LEFT = 0, + TAPMODE_RIGHT = 1, + TAPMODE_HOVER = 2 }; int tapmodeLevel = TAPMODE_LEFT; @@ -47,7 +47,7 @@ void ToggleTapMode() { tapmodeLevel = TAPMODE_LEFT; } else { tapmodeLevel = TAPMODE_LEFT; - } + } } } /* namespace OP */ diff --git a/backends/platform/openpandora/op-options.h b/backends/platform/openpandora/op-options.h index ebc83ca00c..919d217f4b 100644 --- a/backends/platform/openpandora/op-options.h +++ b/backends/platform/openpandora/op-options.h @@ -32,7 +32,7 @@ namespace OP { extern int tapmodeLevel; -extern void ToggleTapMode(); +extern void ToggleTapMode(); } /* namespace OP */ diff --git a/backends/platform/openpandora/op-sdl.h b/backends/platform/openpandora/op-sdl.h index d493c3957c..8cccbb5f86 100644 --- a/backends/platform/openpandora/op-sdl.h +++ b/backends/platform/openpandora/op-sdl.h @@ -34,7 +34,7 @@ //#define MIXER_DOUBLE_BUFFERING 1 #ifndef PATH_MAX - #define PATH_MAX 255 +#define PATH_MAX 255 #endif class OSystem_OP : public OSystem_POSIX { diff --git a/backends/platform/ps2/Gs2dScreen.cpp b/backends/platform/ps2/Gs2dScreen.cpp index ddc1bdf668..b70e8b13fa 100644 --- a/backends/platform/ps2/Gs2dScreen.cpp +++ b/backends/platform/ps2/Gs2dScreen.cpp @@ -437,14 +437,6 @@ void Gs2dScreen::grabPalette(uint8 *pal, uint8 start, uint16 num) { } } -void Gs2dScreen::grabScreen(Graphics::Surface *surf) { - assert(surf); - WaitSema(g_DmacSema); - surf->create(_width, _height, Graphics::PixelFormat::createFormatCLUT8()); - memcpy(surf->pixels, _screenBuf, _width * _height); - SignalSema(g_DmacSema); -} - void Gs2dScreen::uploadToVram(void) { if (_clutChanged) { _clutChanged = false; diff --git a/backends/platform/ps2/Gs2dScreen.h b/backends/platform/ps2/Gs2dScreen.h index dffdce5b36..4fbb3fdef8 100644 --- a/backends/platform/ps2/Gs2dScreen.h +++ b/backends/platform/ps2/Gs2dScreen.h @@ -42,10 +42,6 @@ enum GsInterlace { }; -namespace Graphics { -struct Surface; -} - class Gs2dScreen { public: Gs2dScreen(uint16 width, uint16 height, TVMode tvMode); @@ -65,7 +61,6 @@ public: void setPalette(const uint8 *pal, uint8 start, uint16 num); void updateScreen(void); void grabPalette(uint8 *pal, uint8 start, uint16 num); - void grabScreen(Graphics::Surface *surf); //- overlay routines void copyOverlayRect(const uint16 *buf, uint16 pitch, uint16 x, uint16 y, uint16 w, uint16 h); void grabOverlay(uint16 *buf, uint16 pitch); diff --git a/backends/platform/ps2/systemps2.cpp b/backends/platform/ps2/systemps2.cpp index c75d7493a2..481227dd02 100644 --- a/backends/platform/ps2/systemps2.cpp +++ b/backends/platform/ps2/systemps2.cpp @@ -558,11 +558,6 @@ void OSystem_PS2::copyRectToScreen(const byte *buf, int pitch, int x, int y, int _screen->copyScreenRect((const uint8*)buf, pitch, x, y, w, h); } -bool OSystem_PS2::grabRawScreen(Graphics::Surface *surf) { - _screen->grabScreen(surf); - return true; -} - void OSystem_PS2::updateScreen(void) { if (_msgClearTime && (_msgClearTime < getMillis())) { _screen->clearPrintfOverlay(); diff --git a/backends/platform/ps2/systemps2.h b/backends/platform/ps2/systemps2.h index 35ceaf829e..3a0e247737 100644 --- a/backends/platform/ps2/systemps2.h +++ b/backends/platform/ps2/systemps2.h @@ -64,7 +64,6 @@ public: virtual void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h); virtual void setShakePos(int shakeOffset); - virtual bool grabRawScreen(Graphics::Surface *surf); virtual Graphics::Surface *lockScreen(); virtual void unlockScreen(); virtual void updateScreen(); diff --git a/backends/platform/psp/README.PSP b/backends/platform/psp/README.PSP index a101481dca..bc0bd35a6e 100644 --- a/backends/platform/psp/README.PSP +++ b/backends/platform/psp/README.PSP @@ -1,4 +1,4 @@ -ScummVM-PSP 1.4.0git README +ScummVM-PSP 1.5.0git README ============================================================================== Installation diff --git a/backends/platform/psp/portdefs.h b/backends/platform/psp/portdefs.h index e8a28b31e2..620a27a601 100644 --- a/backends/platform/psp/portdefs.h +++ b/backends/platform/psp/portdefs.h @@ -38,6 +38,7 @@ #include <time.h> #include <ctype.h> #include <assert.h> +#include <new> #include <pspkernel.h> #include <pspdebug.h> diff --git a/backends/platform/symbian/README b/backends/platform/symbian/README index 3e3be592e7..83e98a534a 100644 --- a/backends/platform/symbian/README +++ b/backends/platform/symbian/README @@ -24,6 +24,17 @@ About ScummVM Jurgen and Lars have successfully transfered all needed changes into CVS/SVN, with additional helpful tools for Symbian OS Release History: + Release version: 1.4.0 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + * See main readme for general ScummVM improvements, major update + + Release version: 1.3.1 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + * See main readme for general ScummVM improvements, major update + + Release version: 1.3.0 + * Nothing significant in the Symbian port, except SDL improvements (new SDL version used) + * See main readme for general ScummVM improvements, major update Release version: 1.2.1 * Symbian port now split in two parts, ScummVM 1 and ScummVM 2 to keep the exe size down. ScummVM 1 contains the following engines: diff --git a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in index aa5e1f9b18..583d1a35e7 100644 --- a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in +++ b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in @@ -87,7 +87,7 @@ STATICLIBRARY esdl.lib // *** Include paths -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio SYSTEMINCLUDE \epoc32\include\ESDL @@ -130,9 +130,13 @@ SOURCE gui\Dialog.cpp // Common error source common\error.cpp +source common\quicktime.cpp // Special for graphics source graphics\iff.cpp +source backends\graphics\symbiansdl\symbiansdl-graphics.cpp +source backends\graphics\surfacesdl\surfacesdl-graphics.cpp +source engines\obsolete.cpp // *** Dynamic Libraries LIBRARY cone.lib eikcore.lib diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in index 09592ef3e3..5367bf0d1f 100644 --- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in +++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in @@ -87,7 +87,7 @@ STATICLIBRARY esdl.lib // *** Include paths -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\audio SYSTEMINCLUDE \epoc32\include\ESDL @@ -130,9 +130,13 @@ SOURCE gui\Dialog.cpp // Common error source common\error.cpp +source common\quicktime.cpp // Special for graphics source graphics\iff.cpp +source backends\graphics\symbiansdl\symbiansdl-graphics.cpp +source backends\graphics\surfacesdl\surfacesdl-graphics.cpp +source engines\obsolete.cpp // *** Dynamic Libraries LIBRARY cone.lib eikcore.lib diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg index 2cc49a2bc6..efa1a3c50f 100644 --- a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg @@ -33,7 +33,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM S60v3"},(0xA0000657),1,30,0 +#{"ScummVM S60v3"},(0xA0000657),1,40,0 ;Supports Series 60 v 3.0 [0x101F7961], 0, 0, 0, {"Series60ProductID"} @@ -60,12 +60,15 @@ ; Common datafiles needed for some games "..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" "..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" "..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat" "..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\m4.dat"-"c:\data\scummvm\m4.dat" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip" "..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat" +"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\data\scummvm\scummvm.ini",FILENULL diff --git a/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg new file mode 100644 index 0000000000..aea6701709 --- /dev/null +++ b/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3_split.pkg @@ -0,0 +1,88 @@ +; +; 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. +; +; $URL$ +; $Id$ +; +; + +;;; +;;; ScummVM .PKG file for .SIS gegeration +;;; + +;Language - standard language definitions +&EN + +; List of localised vendor names - one per language. At least one must be provided (English [EN]). +; List must correspond to list of languages specified elsewhere in the .pkg +%{"ScummVM"} +; The non-localised, globally unique vendor name (mandatory) +:"ScummVM" + +; UID is the app's UID +#{"ScummVM S60v3"},(0xA0000657),1,40,0 + +;Supports Series 60 v 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} +;Supports Series 60 v 5.0 +[0x1028315F], 0, 0, 0, {"Series60ProductID"} + +; Launcher, Application, AIF & Resource file +"\epoc32\release\gcce\urel\ScummVM.exe"- "!:\sys\bin\ScummVM.exe" +"\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc" +"\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc" +"\epoc32\data\Z\resource\APPS\scummvm.MIF"- "!:\resource\apps\scummvm.MIF" +"\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc" + +"\epoc32\release\gcce\urel\ScummVM_A0000658.exe"- "!:\sys\bin\ScummVM_A0000658.exe" +"\epoc32\data\z\resource\apps\ScummVM_A0000658.rsc"- "!:\resource\apps\ScummVM_A0000658.rsc" +"\epoc32\Data\Z\resource\apps\ScummVM_A0000658_loc.rsc"- "!:\resource\apps\ScummVM_A0000658_loc.rsc" +"\epoc32\data\z\private\10003a3f\apps\scummvm_A0000658_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_A0000658_reg.rsc" + +"..\..\..\..\dists\pred.dic"-"c:\data\scummvm\pred.dic" + +; Scummvm Documentation +"..\..\..\..\COPYRIGHT"-"!:\resource\apps\scummvm\COPYRIGHT", FT, TC +"..\..\..\..\COPYING"-"!:\resource\apps\scummvm\COPYING", FT, TC +"..\README"-"!:\resource\apps\scummvm\SYMBIAN_README", FT, TC +"..\..\..\..\AUTHORS"-"!:\resource\apps\scummvm\AUTHORS" +"..\..\..\..\README"-"!:\resource\apps\scummvm\README" +"..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" + +; Common datafiles needed for some games +"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat" +"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\hugo.dat"-"c:\data\scummvm\hugo.dat" +"..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat" +"..\..\..\..\dists\engine-data\drascula.dat"-"c:\data\scummvm\drascula.dat" +"..\..\..\..\dists\engine-data\m4.dat"-"c:\data\scummvm\m4.dat" +"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\data\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\toon.dat"-"c:\data\scummvm\toon.dat" +"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\data\scummvm\vkeybd_default.zip" +"..\..\..\..\gui\themes\translations.dat"-"c:\data\scummvm\translations.dat" +"..\..\..\..\gui\themes\scummmodern.zip"-"c:\data\scummvm\scummmodern.zip" + +; Config/log files: 'empty' will automagically be removed on uninstall +""-"c:\data\scummvm\scummvm.ini",FILENULL +""-"c:\data\scummvm\scummvm.stdout.txt",FILENULL +""-"c:\data\scummvm\scummvm.stderr.txt",FILENULL +""-"c:\data\scummvm\sdl.ini",FILENULL + +; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini. +; It will remove the config file, std***.txt files & dirs on uninstall. diff --git a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in index e6f2b691ce..3bc93d8ce3 100644 --- a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in +++ b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in @@ -88,7 +88,7 @@ STATICLIBRARY esdl.lib // *** Include paths -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\sound SYSTEMINCLUDE \epoc32\include\ESDL @@ -128,9 +128,13 @@ SOURCE gui\Dialog.cpp // Common error source common\error.cpp +source common\quicktime.cpp // Special for graphics source graphics\iff.cpp +source backends\graphics\symbiansdl\symbiansdl-graphics.cpp +source backends\graphics\surfacesdl\surfacesdl-graphics.cpp +source engines\obsolete.cpp // *** Dynamic Libraries LIBRARY cone.lib eikcore.lib diff --git a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in index 3b6a3d9bd7..bd5016f8d1 100644 --- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in +++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in @@ -88,7 +88,7 @@ STATICLIBRARY esdl.lib // *** Include paths -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\engines +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\engines USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl ..\..\..\..\sound SYSTEMINCLUDE \epoc32\include\ESDL @@ -128,9 +128,13 @@ SOURCE gui\Dialog.cpp // Common error source common\error.cpp +source common\quicktime.cpp // Special for graphics source graphics\iff.cpp +source backends\graphics\symbiansdl\symbiansdl-graphics.cpp +source backends\graphics\surfacesdl\surfacesdl-graphics.cpp +source engines\obsolete.cpp // *** Dynamic Libraries LIBRARY cone.lib eikcore.lib diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg index 2187a375a8..47e0ebbd09 100644 --- a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg +++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3.pkg @@ -32,7 +32,7 @@ :"ScummVM" ; UID is the app's UID -#{"ScummVM UIQ3"},(0xA0000657),1,30,0 +#{"ScummVM UIQ3"},(0xA0000657),1,40,0 ; ProductID for UIQ 3.0 ; Product/platform version UID, Major, Minor, Build, Product ID @@ -44,6 +44,7 @@ "\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc" "\epoc32\data\Z\resource\APPS\scummvm.MBM"- "!:\resource\apps\scummvm.MBM" "\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc" + "..\..\..\..\dists\pred.dic"-"c:\shared\scummvm\pred.dic" ; Scummvm Documentation @@ -57,12 +58,15 @@ ; Common datafiles needed for some games "..\..\..\..\dists\engine-data\kyra.dat"-"c:\shared\scummvm\kyra.dat" "..\..\..\..\dists\engine-data\sky.cpt"-"c:\shared\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\hugo.dat"-"c:\shared\scummvm\hugo.dat" "..\..\..\..\dists\engine-data\lure.dat"-"c:\shared\scummvm\lure.dat" "..\..\..\..\dists\engine-data\drascula.dat"-"c:\shared\scummvm\drascula.dat" "..\..\..\..\dists\engine-data\m4.dat"-"c:\shared\scummvm\m4.dat" "..\..\..\..\dists\engine-data\teenagent.dat"-"c:\shared\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\toon.dat"-"c:\shared\scummvm\toon.dat" "..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\shared\scummvm\vkeybd_default.zip" "..\..\..\..\gui\themes\translations.dat"-"c:\shared\scummvm\translations.dat" +"..\..\..\..\gui\themes\scummmodern.zip"-"c:\shared\scummvm\scummmodern.zip" ; Config/log files: 'empty' will automagically be removed on uninstall ""-"c:\shared\scummvm\scummvm.ini",FILENULL diff --git a/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg new file mode 100644 index 0000000000..fb9923fae0 --- /dev/null +++ b/backends/platform/symbian/UIQ3/scummvm-CVS-SymbianUIQ3_split.pkg @@ -0,0 +1,86 @@ +; 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. +; +; $URL$ +; $Id$ +; +; + +;;; +;;; ScummVM .PKG file for .SIS gegeration +;;; + + +; List of localised vendor names - one per language. At least one must be provided (English [EN]). +; List must correspond to list of languages specified elsewhere in the .pkg +%{"ScummVM"} +; The non-localised, globally unique vendor name (mandatory) +:"ScummVM" + +; UID is the app's UID +#{"ScummVM UIQ3"},(0xA0000657),1,40,0 + +; ProductID for UIQ 3.0 +; Product/platform version UID, Major, Minor, Build, Product ID +(0x101F6300), 3, 0, 0, {"UIQ30ProductID"} + +; Application, AIF & Resource file +"\epoc32\release\gcce\urel\ScummVM.exe"- "!:\sys\bin\ScummVM.exe" +"\epoc32\data\z\resource\apps\ScummVM.rsc"- "!:\resource\apps\ScummVM.rsc" +"\epoc32\Data\Z\resource\apps\scummvm_loc.rsc"- "!:\resource\apps\scummvm_loc.rsc" +"\epoc32\data\Z\resource\APPS\scummvm.MBM"- "!:\resource\apps\scummvm.MBM" +"\epoc32\data\z\private\10003a3f\apps\scummvm_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_reg.rsc" + +"\epoc32\release\gcce\urel\ScummVM_A0000658.exe"- "!:\sys\bin\ScummVM_A0000658.exe" +"\epoc32\data\z\resource\apps\ScummVM_A0000658.rsc"- "!:\resource\apps\ScummVM_A0000658.rsc" +"\epoc32\Data\Z\resource\apps\ScummVM_A0000658_loc.rsc"- "!:\resource\apps\ScummVM_A0000658_loc.rsc" +"\epoc32\data\z\private\10003a3f\apps\scummvm_A0000658_reg.rsc"-"!:\private\10003a3f\import\apps\scummvm_A0000658_reg.rsc" + +"..\..\..\..\dists\pred.dic"-"c:\shared\scummvm\pred.dic" + +; Scummvm Documentation +"..\..\..\..\COPYRIGHT"-"!:\resource\apps\scummvm\COPYRIGHT", FT, TC +"..\..\..\..\COPYING"-"!:\resource\apps\scummvm\COPYING", FT, TC +"..\README"-"!:\system\apps\scummvm\SYMBIAN_README", FT, TC +"..\..\..\..\AUTHORS"-"!:\resource\apps\scummvm\AUTHORS" +"..\..\..\..\README"-"!:\resource\apps\scummvm\README" +"..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS" + +; Common datafiles needed for some games +"..\..\..\..\dists\engine-data\kyra.dat"-"c:\shared\scummvm\kyra.dat" +"..\..\..\..\dists\engine-data\sky.cpt"-"c:\shared\scummvm\sky.cpt" +"..\..\..\..\dists\engine-data\hugo.dat"-"c:\shared\scummvm\hugo.dat" +"..\..\..\..\dists\engine-data\lure.dat"-"c:\shared\scummvm\lure.dat" +"..\..\..\..\dists\engine-data\drascula.dat"-"c:\shared\scummvm\drascula.dat" +"..\..\..\..\dists\engine-data\m4.dat"-"c:\shared\scummvm\m4.dat" +"..\..\..\..\dists\engine-data\teenagent.dat"-"c:\shared\scummvm\teenagent.dat" +"..\..\..\..\dists\engine-data\toon.dat"-"c:\shared\scummvm\toon.dat" +"..\..\..\vkeybd\packs\vkeybd_default.zip"-"c:\shared\scummvm\vkeybd_default.zip" +"..\..\..\..\gui\themes\translations.dat"-"c:\shared\scummvm\translations.dat" +"..\..\..\..\gui\themes\scummmodern.zip"-"c:\shared\scummvm\scummmodern.zip" + +; Config/log files: 'empty' will automagically be removed on uninstall +""-"c:\shared\scummvm\scummvm.ini",FILENULL +""-"c:\shared\scummvm\scummvm.stdout.txt",FILENULL +""-"c:\shared\scummvm\scummvm.stderr.txt",FILENULL +""-"c:\shared\scummvm\sdl.ini",FILENULL + +; This install layout will let you upgrade to newer versions wihout loss of scummvm.ini. +; It will remove the config file, std***.txt files & dirs on uninstall. diff --git a/backends/platform/symbian/mmp/scummvm_agi.mmp.in b/backends/platform/symbian/mmp/scummvm_agi.mmp.in index a7dcfb0bb5..5805d36133 100644 --- a/backends/platform/symbian/mmp/scummvm_agi.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_agi.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\agi // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_agos.mmp.in b/backends/platform/symbian/mmp/scummvm_agos.mmp.in index 4708a040ec..236a62f1b8 100644 --- a/backends/platform/symbian/mmp/scummvm_agos.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_agos.mmp.in @@ -62,6 +62,6 @@ SOURCEPATH ..\..\..\..\engines\agos // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in index 6a4bba8345..0387bfaf26 100644 --- a/backends/platform/symbian/mmp/scummvm_base.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in @@ -48,7 +48,7 @@ ALWAYS_BUILD_AS_ARM // *** Include paths -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio USERINCLUDE ..\..\..\..\backends\fs ..\src ..\..\..\..\backends\platform\sdl SYSTEMINCLUDE \epoc32\include\ESDL diff --git a/backends/platform/symbian/mmp/scummvm_cine.mmp.in b/backends/platform/symbian/mmp/scummvm_cine.mmp.in index aac7d8b5b1..e75ece95f1 100644 --- a/backends/platform/symbian/mmp/scummvm_cine.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_cine.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\cine // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in index fc60bfeace..a91d33b5f5 100644 --- a/backends/platform/symbian/mmp/scummvm_cruise.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_cruise.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\cruise // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_draci.mmp.in b/backends/platform/symbian/mmp/scummvm_draci.mmp.in index d879a03797..044247fac7 100644 --- a/backends/platform/symbian/mmp/scummvm_draci.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_draci.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\draci // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in index f83bcdb68f..0561e494c1 100644 --- a/backends/platform/symbian/mmp/scummvm_drascula.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_drascula.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\drascula // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_gob.mmp.in b/backends/platform/symbian/mmp/scummvm_gob.mmp.in index 900f862846..7c92611fd2 100644 --- a/backends/platform/symbian/mmp/scummvm_gob.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_gob.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\gob // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in index 1051e6adea..c0294b3b0d 100644 --- a/backends/platform/symbian/mmp/scummvm_groovie.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_groovie.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\groovie // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in index 31975d3107..66e22fc34b 100644 --- a/backends/platform/symbian/mmp/scummvm_hugo.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_hugo.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\hugo // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in index 453d41bdc1..d5f2ec951c 100644 --- a/backends/platform/symbian/mmp/scummvm_kyra.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_kyra.mmp.in @@ -62,5 +62,5 @@ SOURCEPATH ..\..\..\..\engines\kyra // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in index 5d0fe6de36..57efa31a85 100644 --- a/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_lastexpress.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\lastexpress // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_lure.mmp.in b/backends/platform/symbian/mmp/scummvm_lure.mmp.in index add33d7d8b..2ac1f8f8ff 100644 --- a/backends/platform/symbian/mmp/scummvm_lure.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_lure.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\lure // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_m4.mmp.in b/backends/platform/symbian/mmp/scummvm_m4.mmp.in index 6896dadf10..81ec94dbd4 100644 --- a/backends/platform/symbian/mmp/scummvm_m4.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_m4.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\m4 // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_made.mmp.in b/backends/platform/symbian/mmp/scummvm_made.mmp.in index c51d3ac618..dc24aee279 100644 --- a/backends/platform/symbian/mmp/scummvm_made.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_made.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\made // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in index 296c458e39..cb5b18ba18 100644 --- a/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_mohawk.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\mohawk // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in index 4052a16693..e86473e47a 100644 --- a/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_parallaction.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\parallaction // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_queen.mmp.in b/backends/platform/symbian/mmp/scummvm_queen.mmp.in index ec4ccff939..b5326abe74 100644 --- a/backends/platform/symbian/mmp/scummvm_queen.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_queen.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\queen // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_saga.mmp.in b/backends/platform/symbian/mmp/scummvm_saga.mmp.in index 44e222144c..55d89f7868 100644 --- a/backends/platform/symbian/mmp/scummvm_saga.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_saga.mmp.in @@ -68,5 +68,5 @@ SOURCEPATH ..\..\..\..\engines\saga // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_sci.mmp.in b/backends/platform/symbian/mmp/scummvm_sci.mmp.in index 12588495cb..dc06f44a5d 100644 --- a/backends/platform/symbian/mmp/scummvm_sci.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sci.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\sci // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in index 381a6060dd..527ce75181 100644 --- a/backends/platform/symbian/mmp/scummvm_scumm.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_scumm.mmp.in @@ -79,7 +79,7 @@ SOURCE smush/codec47ARM.s // ARM version: add ASM routines // *** Include paths USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\scumm\smush ..\..\..\..\engines\scumm\insane -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include\libc diff --git a/backends/platform/symbian/mmp/scummvm_sky.mmp.in b/backends/platform/symbian/mmp/scummvm_sky.mmp.in index f34c839076..eeb517ffcc 100644 --- a/backends/platform/symbian/mmp/scummvm_sky.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sky.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sky // *** Include paths USERINCLUDE ..\..\..\..\engines ..\..\..\..\engines\sky\music -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in index 58f9f8fa05..0adc156719 100644 --- a/backends/platform/symbian/mmp/scummvm_sword1.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sword1.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sword1 // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in index 4a19be92ce..c8034c3015 100644 --- a/backends/platform/symbian/mmp/scummvm_sword2.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_sword2.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\sword2 // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in index 6b4812489e..f065bf4376 100644 --- a/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_teenagent.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\teenagent // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in b/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in index bb56022f20..d61492de6b 100644 --- a/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_tinsel.mmp.in @@ -56,5 +56,5 @@ SOURCEPATH ..\..\..\..\engines\tinsel // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_toon.mmp.in b/backends/platform/symbian/mmp/scummvm_toon.mmp.in index 05742d5242..01924614b4 100644 --- a/backends/platform/symbian/mmp/scummvm_toon.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_toon.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\toon // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_touche.mmp.in b/backends/platform/symbian/mmp/scummvm_touche.mmp.in index ea8dd2392c..b9cb53b4bf 100644 --- a/backends/platform/symbian/mmp/scummvm_touche.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_touche.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\touche // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_tsage.mmp.in b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in index b7eb3290b3..fa4968f704 100644 --- a/backends/platform/symbian/mmp/scummvm_tsage.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_tsage.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\tsage // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/mmp/scummvm_tucker.mmp.in b/backends/platform/symbian/mmp/scummvm_tucker.mmp.in index 0aeb0dc4ec..1ea564c0c0 100644 --- a/backends/platform/symbian/mmp/scummvm_tucker.mmp.in +++ b/backends/platform/symbian/mmp/scummvm_tucker.mmp.in @@ -56,6 +56,6 @@ SOURCEPATH ..\..\..\..\engines\tucker // *** Include paths USERINCLUDE ..\..\..\..\engines -USERINCLUDE ..\..\..\.. ..\..\..\..\common ..\..\..\..\gui ..\..\..\..\audio ..\src +USERINCLUDE ..\..\..\.. ..\..\..\..\gui ..\..\..\..\audio ..\src SYSTEMINCLUDE \epoc32\include\ZLIB // before \epoc32\include because symbian already has older version SYSTEMINCLUDE \epoc32\include \epoc32\include\libc ..\src diff --git a/backends/platform/symbian/src/portdefs.h b/backends/platform/symbian/src/portdefs.h index 86460e65c5..dd81080afe 100644 --- a/backends/platform/symbian/src/portdefs.h +++ b/backends/platform/symbian/src/portdefs.h @@ -32,7 +32,7 @@ #include <e32def.h> #include <e32std.h> -#include <math.h> +#include <libc\math.h> /* define pi */ #ifndef M_PI @@ -157,6 +157,10 @@ void *scumm_bsearch(const void *key, const void *base, size_t nmemb, size_t size #define FORBIDDEN_SYMBOL_EXCEPTION_FILE #define FORBIDDEN_SYMBOL_EXCEPTION_fclose #define FORBIDDEN_SYMBOL_EXCEPTION_fopen +#define FORBIDDEN_SYMBOL_EXCEPTION_unlink +#define FORBIDDEN_SYMBOL_EXCEPTION_getcwd +#define FORBIDDEN_SYMBOL_EXCEPTION_stdout +#define FORBIDDEN_SYMBOL_EXCEPTION_stderr // we cannot include SymbianOS.h everywhere, but this works too (functions code is in SymbianOS.cpp) namespace Symbian { diff --git a/backends/platform/webos/webos.mk b/backends/platform/webos/webos.mk index 37223ac56c..804b56de35 100644 --- a/backends/platform/webos/webos.mk +++ b/backends/platform/webos/webos.mk @@ -51,8 +51,8 @@ # Increment this number when the packaging of the app has been changed while # ScummVM itself has the same version as before. The number can be reset to -# 1 when the ScummVM version is increased. -VER_PACKAGE = 5 +# 0 when the ScummVM version is increased. +VER_PACKAGE = 0 PATH_DIST = $(srcdir)/dists/webos PATH_MOJO = $(PATH_DIST)/mojo @@ -60,10 +60,19 @@ APP_ID = $(shell basename $(prefix)) APP_VERSION = $(shell printf "%d.%d.%02d%02d" $(VER_MAJOR) $(VER_MINOR) $(VER_PATCH) $(VER_PACKAGE)) DESTDIR ?= staging PORTDISTDIR ?= portdist +ifeq ($(HOST_COMPILER),Darwin) + SED_DASH_I = "-i \"\"" +else + SED_DASH_I = "-i" +endif install: all $(QUIET)$(INSTALL) -d "$(DESTDIR)$(prefix)" +ifeq ($(HOST_COMPILER),Darwin) + $(QUIET)$(INSTALL) -m 0644 "$(PATH_MOJO)/"* "$(DESTDIR)$(prefix)/" +else $(QUIET)$(INSTALL) -m 0644 -t "$(DESTDIR)$(prefix)/" "$(PATH_MOJO)/"* +endif $(QUIET)$(INSTALL) -m 0755 "$(PATH_MOJO)/start" "$(DESTDIR)$(prefix)/" $(QUIET)$(INSTALL) -d "$(DESTDIR)$(bindir)" $(QUIET)$(INSTALL) -c -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(bindir)/$(EXECUTABLE)" @@ -77,12 +86,12 @@ ifdef DYNAMIC_MODULES $(QUIET)$(INSTALL) -c -m 644 $(PLUGINS) "$(DESTDIR)$(libdir)/" $(QUIET)$(STRIP) "$(DESTDIR)$(libdir)/"* endif - $(QUIET)sed -i s/'APP_VERSION'/'$(APP_VERSION)'/ "$(DESTDIR)$(prefix)/appinfo.json" - $(QUIET)sed -i s/'APP_ID'/'$(APP_ID)'/ "$(DESTDIR)$(prefix)/appinfo.json" + $(QUIET)sed $(SED_DASH_I) s/'APP_VERSION'/'$(APP_VERSION)'/ "$(DESTDIR)$(prefix)/appinfo.json" + $(QUIET)sed $(SED_DASH_I) s/'APP_ID'/'$(APP_ID)'/ "$(DESTDIR)$(prefix)/appinfo.json" ifneq (,$(findstring -beta,$(APP_ID))) - $(QUIET)sed -i s/'APP_TITLE'/'ScummVM Beta'/ "$(DESTDIR)$(prefix)/appinfo.json" + $(QUIET)sed $(SED_DASH_I) s/'APP_TITLE'/'ScummVM Beta'/ "$(DESTDIR)$(prefix)/appinfo.json" else - $(QUIET)sed -i s/'APP_TITLE'/'ScummVM'/ "$(DESTDIR)$(prefix)/appinfo.json" + $(QUIET)sed $(SED_DASH_I) s/'APP_TITLE'/'ScummVM'/ "$(DESTDIR)$(prefix)/appinfo.json" endif uninstall: diff --git a/backends/platform/wince/README-WinCE.txt b/backends/platform/wince/README-WinCE.txt index 60bcf710bb..11467fd482 100644 --- a/backends/platform/wince/README-WinCE.txt +++ b/backends/platform/wince/README-WinCE.txt @@ -1,18 +1,32 @@ ScummVM Windows CE FAQ -Last updated: 2011-07-20 +Last updated: 2011-12-05 Release version: x.x.x ------------------------------------------------------------------------ New in this version ------------------- x.x.x: -- Changed default values for "high_sample_rate" & "FM_high_quality" to "true" as - most devices today are fast enough to handle this. It's still possible to set - this to "false" if you have a slower device. +- Removed FLAC support for audio datafiles (now for real, this was originally + announced for 1.0.0, but the library was still included until now). This is + done because of size constrains of the executable and also FLAC on a mobile + device isn't really recommended - so please use MP3 or Ogg for your audio + datafiles. + +1.4.0: +- Changed the memory management so that it is finally possible to break the + 32MB per process barrier on Windows CE. It should be possible now (finally) + to play nearly every game with the "big" binary (scummvm.exe, which includes + all game engines). +- Changed default values for "high_sample_rate" & "FM_high_quality" to "true" + as most devices today are fast enough to handle this. It's still possible to + set this to "false" if you have a slower device. - Fix for TeenAgent & Hugo engines (both weren't running at all, crashed right at the beginning) -- Replaced the game mass-adding functionality with the functionality used on all - other platforms. It now shows progress while searching for games. +- Discworld 2 is now playable (works now because of the new memory management) +- Replaced the game mass-adding functionality with the functionality used on + all other platforms. It now shows progress while searching for games. +- Mapped "Skip" button to F10 for AGI games +- Mapped "Multi Function" to F10 in Simon 1 & 2 (enables hotspot highlighting) 1.3.1: - Fix for Normal2xAspect scaler which was causing screen update issues in some @@ -55,7 +69,7 @@ scummvm2.exe: - agos, cine, drascula, gob, groovie, kyra, made, parallaction, saga, teenagent, tucker scummvm3.exe: - - hugo, mohawk, sci, sword2, toon + - hugo, mohawk, sci, sword2, toon, tsage There are no other port specific changes. @@ -259,6 +273,7 @@ The following actions are available : * Quit : quit ScummVM (without saving, be careful when using it) * Skip : skip a non interactive sequence, the current dialog or behaves like the ESC key on a regular keyboard + All AGI games -> F10 to quit full-screen dialogs * Hide : hide or display the toolbar * Keyboard : hide or display the virtual keyboard * Sound : turns all sound effects and music off and on @@ -277,6 +292,7 @@ The following actions are available : Fate of Atlantis -> sucker punch (cheat) Bargon -> F1 (start the game) All AGI games -> bring up the predictive input dialog + Simon 1 & 2 -> highlight all hotspots in screen * Bind keys map a key action to a device button * Up,Down,Left : Right, : emulate mouse/stylus behavior diff --git a/backends/platform/wince/portdefs.h b/backends/platform/wince/portdefs.h index 93df6cd39e..289406c2a4 100644 --- a/backends/platform/wince/portdefs.h +++ b/backends/platform/wince/portdefs.h @@ -73,6 +73,7 @@ #include <mmsystem.h> #include <ctype.h> //#include <direct.h> +#include <new> #ifdef __MINGW32CE__ void *bsearch(const void *, const void *, size_t, size_t, int (*x)(const void *, const void *)); diff --git a/backends/platform/wince/wince-sdl.cpp b/backends/platform/wince/wince-sdl.cpp index 1abc3cb350..4e17827e5c 100644 --- a/backends/platform/wince/wince-sdl.cpp +++ b/backends/platform/wince/wince-sdl.cpp @@ -72,6 +72,50 @@ extern "C" _CRTIMP FILE *__cdecl _wfreopen(const wchar_t *, const wchar_t *, FILE *); #endif +#ifdef WRAP_MALLOC + +extern "C" void *__real_malloc(size_t size); +extern "C" void __real_free(void *ptr); + +extern "C" void *__wrap_malloc(size_t size) { +/* + void *ptr = __real_malloc(size); + printf("malloc(%d) = %p\n", size, ptr); + return ptr; +*/ + if (size < 64 * 1024) { + void *ptr = __real_malloc(size+4); +// printf("malloc(%d) = %p\n", size, ptr); + if (ptr != NULL) { + *((HANDLE*)ptr) = 0; + return 4+(char*)ptr; + } + return NULL; + } + HANDLE H = CreateFileMapping((HANDLE)INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, size+4, 0); + void *ptr = MapViewOfFile(H, FILE_MAP_ALL_ACCESS, 0, 0, 0); + *((HANDLE*)ptr) = H; + return 4+(char*)ptr; +} + +extern "C" void __wrap_free(void *ptr) { +/* + __real_free(ptr); + printf("free(%p)\n", ptr); +*/ + if (ptr != NULL) { + HANDLE H = *(HANDLE*)((char *)ptr-4); + if (H == 0) { + __real_free((char*)ptr-4); + return; + } + UnmapViewOfFile((char *)ptr-4); + CloseHandle(H); + } +} + +#endif + using namespace CEGUI; // ******************************************************************************************** diff --git a/backends/platform/wince/wince.mk b/backends/platform/wince/wince.mk index cac3ad4e8f..c5f3274747 100644 --- a/backends/platform/wince/wince.mk +++ b/backends/platform/wince/wince.mk @@ -1,3 +1,7 @@ +ifdef WRAP_MALLOC + LDFLAGS += -Wl,--wrap,malloc -Wl,--wrap,free +endif + backends/platform/wince/PocketSCUMM.o: $(srcdir)/backends/platform/wince/PocketSCUMM.rc $(QUIET)$(MKDIR) $(*D) $(WINDRES) $(WINDRESFLAGS) -I$(srcdir)/backends/platform/wince $< $@ |