diff -Naur scummvm-0.11.orig/debian/changelog scummvm-0.11/debian/changelog --- scummvm-0.11.orig/debian/changelog 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/changelog 2008-01-12 22:26:50.000000000 +0100 @@ -0,0 +1,69 @@ +scummvm (0.11.0-0) unstable; urgency=low + + * upstream 0.11 release + + -- Frantisek Dufka Sat, 12 Jan 2008 22:26:34 +0100 +scummvm (0.10.0-5) unstable; urgency=low + + * fixed for chinook, menu selection postinst script added + + -- Frantisek Dufka Thu, 25 Oct 2007 09:56:32 +0200 +scummvm (0.10.0-4) unstable; urgency=low + + * AGI - added pred.dic to DATA_PATH (=/usr/share/scummvm) to enable + predictive input + + -- Frantisek Dufka Tue, 28 Aug 2007 09:58:29 +0200 +scummvm (0.10.0-3) unstable; urgency=low + + * SCUMM - added mapping also for key up events (may fix right button in FT?) + * SWORD2 - added right button press mapping (not tested) + + -- Frantisek Dufka Mon, 20 Aug 2007 22:39:07 +0200 +scummvm (0.10.0-2) unstable; urgency=low + + * Future Wars - add mapping for left/up/down/right,zoom +/- + * fix SDL backend to set mouse position on button down event + as we may not have mousemove events with touchscreen + + -- Frantisek Dufka Fri, 13 Jul 2007 09:56:37 +0200 +scummvm (0.10.0-1) unstable; urgency=low + + * mapped F10 in Future Wars to menu key + + -- Frantisek Dufka Wed, 11 Jul 2007 22:20:00 +0200 +scummvm (0.10.0) unstable; urgency=low + + * upstream 0.10 release, enabled FLAC too + + -- Frantisek Dufka Wed, 4 Jul 2007 12:48:48 +0200 +scummvm (0.9.1-1) unstable; urgency=low + + * 0.9.1 mapped right mouse button in sword1 + + -- Frantisek Dufka Mon, 18 Jun 2007 21:15:31 +0200 +scummvm (0.9.1) unstable; urgency=low + + * 0.9.1 upstream release + + -- Frantisek Dufka Wed, 1 Nov 2006 20:40:51 +0100 +scummvm (0.9.0-3) unstable; urgency=low + + * merged fixes in 0.9.0 upstream branch + + -- Frantisek Dufka Mon, 9 Oct 2006 15:40:59 +0200 +scummvm (0.9.0-2) unstable; urgency=low + + * merged fixes in 0.9.0 upstream branch + + -- Frantisek Dufka Sat, 12 Aug 2006 20:10:47 +0200 +scummvm (0.9.0-1) unstable; urgency=low + + * merged changes in 0.9.0 upstream release + + -- Frantisek Dufka Sun, 23 Jul 2006 22:29:51 +0200 +scummvm (0.9.0) unstable; urgency=low + + * 0.9.0 upstream release + + -- Frantisek Dufka Tue, 27 Jun 2006 20:30:54 +0200 diff -Naur scummvm-0.11.orig/debian/compat scummvm-0.11/debian/compat --- scummvm-0.11.orig/debian/compat 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/compat 2008-01-06 20:45:14.000000000 +0100 @@ -0,0 +1 @@ +4 diff -Naur scummvm-0.11.orig/debian/control scummvm-0.11/debian/control --- scummvm-0.11.orig/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/control 2008-01-06 20:45:14.000000000 +0100 @@ -0,0 +1,47 @@ +Source: scummvm +Section: user/games +Priority: optional +Maintainer: Frantisek Dufka +Build-Depends: debhelper (>> 4.0.0), libsdl1.2-dev + +Standards-Version: 3.6.1.1 +Package: scummvm +Pre-Depends: maemo-select-menu-location +Depends: ${shlibs:Depends} +Architecture: any +Section: user/games +Description: free implementation of LucasArts' S.C.U.M.M interpreter + ScummVM is a virtual machine for classic graphical adventure games. + This package does not contain any actual games. +XBS-Maemo-Icon-26: + iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAC/VBMVEUICwcH + CQUKDAgLDQoMDwsOEAwREAUPEQ0QEg8PFQoRExAUEwoVFAwPGAcTFBIRFg0W + FQ0XFg4RGgkTGA8XGQsTGwwUHA0aGRIWGxMXHQkVHQ8aGhMbGxQcHQocGxUZ + HwsYIgcfHxgeIRUbJQwhIBofJAweJwgfKQocKwwgKgshKw0gLggfLg8jLQ8n + LwwpLhEmMwcoMRQjNgotLCYmNwQlNwwqOBQtOQgsOQ8xNh4sPQswNyQqQAUw + PAsuOiAsQgcwOyIqRgIsSAQvRgs0PyY1Rg06RA0+PDAwSwg2RxUzTQE4TQsz + VAc/SSo6VAk4VwE6VRM2XAVAUC85XwlJVCNEXQo+YwJGXwxMWS1JXC5AagBI + awJUagRIcQBSbwpHeAJTaD9OdwNXcwJKewZNfABacRlOfQBPfgBQfwBMggBW + fgBNgwNSgQJOhAVecUJjdSZefwNUiABZhgBjeDZieDxhezFQjQBgghZkhQ5j + iQJUkAZcixJmgDZnhCtckQpblgBekw5clwBqgkthlQBdmAJriz90hz5omgBs + mAhxlgd0mAB5lgBpnA16khdzmAtxnABooQBtnwB4jUpzngBkpQR5nQF8j0Vr + pQduoRZ4nRR3k014oQBzpAt8oAh/ogBvqA5trACBmypwqRF1pw+GogCAow+D + pQB8phJ/nUNurxh0rRd4rwmHqQd6qDOArwCJqwyDsgCMrgB8ryiFtAB7uQN8 + sDKBuAWOsBWJqFR8ti2IsiOSswaBuRt6vxCOtgqXsgePrjR9wQCFuw2KuQyB + uSeSuACEux6JuR2OvACAxACEvCuSuhOHujSMwQGTtiqfuACRvwGOvRWHuz2T + wASPwwmYvwaLvTebuxiWvhmSwBqZwAmNu0aevgiKvkCVviaMvE6bwQycuTid + vhylvQyZwB2cwg+QywCawR6fwB+bwyGI0gaewCudxCOjwyOT1ACmwjiX0g+j + xTqmxzOd1gCV0i6kyyuoyTah1Sif2h6tzjukzF+pz1uq1Eeg2Uml3U1kaLAB + AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAHrSURBVCjPY2BAAC5ubkFB + BkzAzggDfKgSUFEmKCmOIsPvktA0aVpbSYQ+FwsjkwpMBsi2m/X7z89v3759 + +ngg1UqIlZEVponJYcW/rw9unH/04u2bc0vbo+WZWGCahEv/fj+6Yc2SZfv3 + b5w6+eACHVYWmCazMz+unN44b3ZfV3dnx5yDiaKsUAOZGD2/fL58+PSGg3Gu + buEVWyZacLCzw6S8X324fOHqibMxWpKy5okBIjAZoNOt9r47e+HOnafbe/ND + DNWkOGAyDKwsCtXPTly4eufqm+fvHy4M1RRggsnJMLI6z9x99Oqtx7cuPP/2 + ele5LjtCGyObbcHcDfuevHn+5s319RuSpOByrEwcwsqhlcvXHbp38+LxiXP6 + DeBSTKzWvkrCun5Zq04dO7S6p67ZHibFziiRt6PYUk5YtfbUqSMTGnKyHaFS + rMDA3fHr7tqayKDWa0dWVmXHp5lCpRgZ2QI2HTl25NLt+1t3rppRFJ8SrwGX + 4g9rmbJo0cpVqxZNaK5OS0nzF4NLMWkHZ1TVN9bXlxXmAo2L0uNgZITaxcjI + axAYH5+RATQrPtZHk5udA+Z2cIpQN3Hy8vOwMVLmYGTidoenDSawLAsnJz8L + kMUiY4ySpviYoKmKRVAcIyXKyIiLyygi+ADqVqrAkApevwAAAABJRU5ErkJg + gg== diff -Naur scummvm-0.11.orig/debian/copyright scummvm-0.11/debian/copyright --- scummvm-0.11.orig/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/copyright 2008-01-12 22:40:37.000000000 +0100 @@ -0,0 +1,20 @@ +ScummVM was debianized by Bastien Nocera the 5th Apr 2002. +It was adopted by Tore Anderson the 4th Oct 2002. +Packaged for the Maemo platform by Tomas Junnoen Oct 2005 +Since 0.8.2 packaging for Maemo done by Frantisek Dufka + +It was downloaded from . + +Upstream Authors: see AUTHORS file of the ScummVM source distribution. + +Copyright: + + 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, or (at your option) any + later version. + + On Debian GNU/Linux systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL'. + +This copyright also applies to the Debian-related build scripts. diff -Naur scummvm-0.11.orig/debian/files scummvm-0.11/debian/files --- scummvm-0.11.orig/debian/files 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/files 2008-01-12 22:27:20.000000000 +0100 @@ -0,0 +1 @@ +scummvm_0.11.0-0_armel.deb user/games optional diff -Naur scummvm-0.11.orig/debian/postinst scummvm-0.11/debian/postinst --- scummvm-0.11.orig/debian/postinst 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/postinst 2008-01-06 20:45:14.000000000 +0100 @@ -0,0 +1,3 @@ +#! /bin/sh +maemo-select-menu-location scummvm.desktop tana_fi_games +exit 0 diff -Naur scummvm-0.11.orig/debian/rules scummvm-0.11/debian/rules --- scummvm-0.11.orig/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/rules 2008-01-11 22:16:49.000000000 +0100 @@ -0,0 +1,49 @@ +#!/usr/bin/make -f + +build: scummvm + +scummvm: + dh_testdir +# CXXFLAGS="-Os -mcpu=arm926ej-s -fomit-frame-pointer -DMAEMO_SDL" ./configure --host=arm-linux --prefix=/usr --disable-debug --disable-mt32emu --disable-hq-scalers --with-tremor-prefix=/usr --enable-tremor --with-zlib-prefix=/usr --enable-zlib --with-mad-prefix=/usr --enable-mad --enable-flac --disable-fluidsynth +## --enable-plugins --disable-scumm-7-8 + $(MAKE) + +clean: + dh_testdir + dh_testroot + -$(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean + dh_installdirs + install -m0755 scummvm debian/scummvm/usr/games/scummvm.bin + install -m0755 dists/maemo/scummvm.wrapper debian/scummvm/usr/games/scummvm + install -m0644 dists/maemo/scummvm.desktop debian/scummvm/usr/share/applications/hildon + install -m0644 icons/scummvm.xpm debian/scummvm/usr/share/icons +# install -m0644 -d debian/scummvm/usr/lib/scummvm +# install -m0644 plugins/lib*.so debian/scummvm/usr/lib/scummvm + install -m0644 -d debian/scummvm/usr/share/scummvm + install -m0644 dists/pred.dic debian/scummvm/usr/share/scummvm +# install -m0644 gui/themes/modern.ini gui/themes/modern.zip gui/themes/classic080.ini debian/scummvm/usr/share/scummvm + +binary: binary-arch + +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs NEWS + dh_link + dh_strip + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: + +.PHONY: build clean binary install binary-arch binary-indep diff -Naur scummvm-0.11.orig/debian/scummvm.dirs scummvm-0.11/debian/scummvm.dirs --- scummvm-0.11.orig/debian/scummvm.dirs 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/scummvm.dirs 2008-01-06 20:45:14.000000000 +0100 @@ -0,0 +1,3 @@ +usr/games +usr/share/icons +usr/share/applications/hildon \ No newline at end of file diff -Naur scummvm-0.11.orig/debian/scummvm.links scummvm-0.11/debian/scummvm.links --- scummvm-0.11.orig/debian/scummvm.links 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/scummvm.links 2008-01-06 20:45:14.000000000 +0100 @@ -0,0 +1 @@ +/var/lib/install/usr/share/applications/scummvm.desktop /etc/others-menu/extra_applications/scummvm.desktop diff -Naur scummvm-0.11.orig/debian/scummvm.substvars scummvm-0.11/debian/scummvm.substvars --- scummvm-0.11.orig/debian/scummvm.substvars 1970-01-01 01:00:00.000000000 +0100 +++ scummvm-0.11/debian/scummvm.substvars 2008-01-12 22:27:19.000000000 +0100 @@ -0,0 +1 @@ +shlibs:Depends=libc6 (>= 2.3.5-1), libgcc1 (>= 1:3.4.4), libsdl1.2, libstdc++6 (>= 3.4.4), zlib1g (>= 1:1.2.1) --- scummvm-0.11.orig/engines/sword1/sword1.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/sword1/sword1.cpp 2008-01-06 21:06:26.000000000 +0100 @@ -722,8 +722,21 @@ while (_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: +#ifdef MAEMO_SDL +// map center to right button + if (event.kbd.keycode == 13) { + _mouseState |= BS1R_BUTTON_DOWN; + } else +#endif _keyPressed = event.kbd; break; +#ifdef MAEMO_SDL + case Common::EVENT_KEYUP: + if (event.kbd.keycode == 13) { + _mouseState |= BS1R_BUTTON_UP; + } + break; +#endif case Common::EVENT_MOUSEMOVE: _mouseCoord = event.mouse; break; --- scummvm-0.11.orig/engines/sword2/sword2.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/sword2/sword2.cpp 2008-01-06 20:50:57.000000000 +0100 @@ -552,11 +552,28 @@ _gameSpeed = 1; } } +#ifdef MAEMO_SDL +// map center to right button + else if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONDOWN)) { + _mouseEvent.pending = true; + _mouseEvent.buttons = RD_RIGHTBUTTONDOWN; + } else +#endif if (!(_inputEventFilter & RD_KEYDOWN)) { _keyboardEvent.pending = true; _keyboardEvent.kbd = event.kbd; } + + break; +#ifdef MAEMO_SDL + case Common::EVENT_KEYUP: +// map center to right button + if (event.kbd.keycode == 13 && !(_inputEventFilter & RD_RIGHTBUTTONUP)) { + _mouseEvent.pending = true; + _mouseEvent.buttons = RD_RIGHTBUTTONUP; + } break; +#endif case Common::EVENT_LBUTTONDOWN: if (!(_inputEventFilter & RD_LEFTBUTTONDOWN)) { _mouseEvent.pending = true; --- scummvm-0.11.orig/engines/scumm/input.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/scumm/input.cpp 2008-01-07 13:50:01.000000000 +0100 @@ -89,6 +89,20 @@ _keyPressed = event.kbd; } +#ifdef MAEMO_SDL + switch (_keyPressed.keycode) { + case Common::KEYCODE_F8: _fastMode ^= 1; break ;// Map F8 (zoom out) to toggle fast mode + case Common::KEYCODE_F4: _keyPressed.keycode = Common::KEYCODE_F5; _keyPressed.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key) + case Common::KEYCODE_RETURN: _keyPressed.keycode = Common::KEYCODE_TAB; _keyPressed.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button) + case Common::KEYCODE_F7: if(_game.id == GID_MONKEY2){ _keyPressed.ascii = '1';_keyPressed.keycode=Common::KEYCODE_1;} break; // map F7 (zoom in) to 1 (to bypass Monkey2 copy protection) + default: ; + } + if (_game.version < 7) switch(event.kbd.keycode){ + case Common::KEYCODE_UP: _keyPressed.ascii = ' '; _keyPressed.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game) + case Common::KEYCODE_DOWN: _keyPressed.ascii ='.'; _keyPressed.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog) + default: ; + } +#endif if (_game.heversion >= 80) { // FIXME: Move this code & VAR_KEY_STATE to class ScummEngine_v80he @@ -131,6 +145,21 @@ break; case Common::EVENT_KEYUP: +#ifdef MAEMO_SDL + // map keyup with similar rules as keydown + switch (event.kbd.keycode) { + + case Common::KEYCODE_F4: event.kbd.keycode = Common::KEYCODE_F5; event.kbd.ascii=Common::ASCII_F5 ; break; // map F4 to F5 (menu key) + case Common::KEYCODE_RETURN: event.kbd.keycode = Common::KEYCODE_TAB; event.kbd.ascii=Common::ASCII_TAB ; break; // map Select (return) to Tab (right mouse button) + case Common::KEYCODE_F7: if(_game.id == GID_MONKEY2){ event.kbd.ascii = '1';event.kbd.keycode=Common::KEYCODE_1;} break; // map F7 (zoom in) to 1 (to bypass Monkey2 copy protection) + default: ; + } + if (_game.version < 7) switch(event.kbd.keycode){ + case Common::KEYCODE_UP: event.kbd.ascii = ' '; event.kbd.keycode=Common::KEYCODE_SPACE; break ;// map Up to space (pause game) + case Common::KEYCODE_DOWN: event.kbd.ascii ='.'; event.kbd.keycode=Common::KEYCODE_PERIOD; break ;// map Down to . (skip one line of dialog) + default: ; + } +#endif if (event.kbd.ascii >= 512) { debugC(DEBUG_GENERAL, "keyPressed > 512 (%d)", event.kbd.ascii); } else { @@ -480,9 +509,10 @@ if (VAR_SAVELOAD_SCRIPT != 0xFF && _currentRoom != 0) runScript(VAR(VAR_SAVELOAD_SCRIPT2), 0, 0, 0); +#ifndef MAEMO_SDL } else if (restartKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_F8 && lastKeyHit.flags == 0)) { confirmRestartDialog(); - +#endif } else if (pauseKeyEnabled && (lastKeyHit.keycode == Common::KEYCODE_SPACE && lastKeyHit.flags == 0)) { pauseGame(); --- scummvm-0.11.orig/engines/scumm/dialogs.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/scumm/dialogs.cpp 2008-01-06 21:52:30.000000000 +0100 @@ -818,7 +818,11 @@ } void PauseDialog::handleKeyDown(Common::KeyState state) { +#ifdef MAEMO_SDL + if (state.ascii == ' ' || state.keycode==273 ) // Close pause dialog if space or UP key is pressed +#else if (state.ascii == ' ') // Close pause dialog if space key is pressed +#endif close(); else ScummDialog::handleKeyDown(state); @@ -885,12 +889,19 @@ } void ValueDisplayDialog::handleKeyDown(Common::KeyState state) { +#ifdef MAEMO_SDL + if (state.ascii == _incKey || state.ascii == _decKey || state.keycode == 275 || state.keycode == 276) { + if ((state.ascii == _incKey || state.keycode == 275 ) && _value < _max) + _value++; + else if ((state.ascii == _decKey || state.keycode == 276) && _value > _min) + _value--; +#else if (state.ascii == _incKey || state.ascii == _decKey) { if (state.ascii == _incKey && _value < _max) _value++; else if (state.ascii == _decKey && _value > _min) _value--; - +#endif setResult(_value); _timer = getMillis() + kDisplayDelay; draw(); --- scummvm-0.11.orig/engines/touche/touche.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/touche/touche.cpp 2008-01-10 23:09:41.000000000 +0100 @@ -294,6 +294,13 @@ _flagsTable[611] = 1; break; case Common::EVENT_KEYDOWN: +#ifdef MAEMO_SDL + if (event.kbd.keycode == 13) { // select button simulates righ button toggle + _inp_rightMouseButtonPressed=!_inp_rightMouseButtonPressed; + } else { + _inp_rightMouseButtonPressed = false; + } +#endif if (!handleKeyEvents) { break; } @@ -302,15 +309,25 @@ if (_displayQuitDialog) { _flagsTable[611] = displayQuitDialog(); } +#ifdef MAEMO_SDL + } else if (event.kbd.keycode == Common::KEYCODE_F4) { +#else } else if (event.kbd.keycode == Common::KEYCODE_F5) { +#endif if (_flagsTable[618] == 0 && !_hideInventoryTexts) { handleOptions(0); } +#ifdef MAEMO_SDL + } else if (event.kbd.keycode == Common::KEYCODE_F8) { + _fastWalkMode = !_fastWalkMode; + } +#else } else if (event.kbd.keycode == Common::KEYCODE_F9) { _fastWalkMode = true; } else if (event.kbd.keycode == Common::KEYCODE_F10) { _fastWalkMode = false; } +#endif if (event.kbd.flags == Common::KBD_CTRL) { if (event.kbd.keycode == Common::KEYCODE_d) { // enable debugging stuff ? @@ -333,6 +350,10 @@ case Common::EVENT_LBUTTONDOWN: _inp_leftMouseButtonPressed = true; break; + case Common::EVENT_LBUTTONUP: + // this is done elsewhere _inp_leftMouseButtonPressed = false; + _inp_rightMouseButtonPressed = false; // simulate rbutton up to close menu + break; case Common::EVENT_RBUTTONDOWN: _inp_rightMouseButtonPressed = true; break; --- scummvm-0.11.orig/engines/sky/sky.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/sky/sky.cpp 2008-01-06 22:31:44.000000000 +0100 @@ -524,6 +524,17 @@ switch (event.type) { case Common::EVENT_KEYDOWN: _keyPressed = event.kbd; +#ifdef MAEMO_SDL + // Maemo platform keybindings + if (_keyPressed.keycode == Common::KEYCODE_F4) // Map F4 (menu) to F5 (access main menu) + _keyPressed.keycode = Common::KEYCODE_F5; + if (_keyPressed.ascii == 13) // Map Select=Enter to right mouse button + _skyMouse->buttonPressed(1); + if (_keyPressed.keycode == Common::KEYCODE_F8) // Map F8 (zoom out) to toggle fast mode + _fastMode ^= 1; + if (_keyPressed.keycode == Common::KEYCODE_DOWN) // Map Down to . (skip one line of dialog) + _keyPressed.ascii = '.'; +#endif break; case Common::EVENT_MOUSEMOVE: if (!(_systemVars.systemFlags & SF_MOUSE_LOCKED)) --- scummvm-0.11.orig/engines/gob/util.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/gob/util.cpp 2008-01-06 20:52:51.000000000 +0100 @@ -107,6 +107,12 @@ _mouseButtons &= ~2; break; case Common::EVENT_KEYDOWN: +#ifdef MAEMO_SDL + if (event.kbd.keycode==285){ + _mouseButtons |= 2; + break; + } +#endif if (event.kbd.flags == Common::KBD_CTRL) { if (event.kbd.keycode == Common::KEYCODE_f) _fastMode ^= 1; @@ -117,6 +123,10 @@ addKeyToBuffer(event.kbd); break; case Common::EVENT_KEYUP: +#ifdef MAEMO_SDL + if (event.kbd.keycode==285) + _mouseButtons &= ~2; +#endif break; case Common::EVENT_QUIT: _vm->_quitRequested = true; --- scummvm-0.11.orig/engines/lure/menu.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/lure/menu.cpp 2008-01-07 21:07:54.000000000 +0100 @@ -34,7 +34,7 @@ #include "lure/events.h" #include "lure/lure.h" -#if defined(_WIN32_WCE) +#if defined(_WIN32_WCE) || defined(MAEMO_SDL) #define LURE_CLICKABLE_MENUS #endif --- scummvm-0.11.orig/engines/queen/input.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/queen/input.cpp 2008-01-06 21:29:58.000000000 +0100 @@ -174,7 +174,11 @@ } break; case Common::KEYCODE_F1: // use Journal +#ifdef MAEMO_SDL + case Common::KEYCODE_F4: // menu key on N770 +#else case Common::KEYCODE_F5: +#endif if (_cutawayRunning) { if (_canQuit) { _keyVerb = VERB_USE_JOURNAL; --- scummvm-0.11.orig/engines/cine/main_loop.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/engines/cine/main_loop.cpp 2008-01-12 21:39:53.000000000 +0100 @@ -78,18 +78,27 @@ mouseRight = 1; } break; +#ifdef MAEMO_SDL + case Common::KEYCODE_UP: +#else case Common::KEYCODE_F1: +#endif if (allowPlayerInput) { playerCommand = 0; // EXAMINE makeCommandLine(); } break; +#ifdef MAEMO_SDL + case Common::KEYCODE_DOWN: +#else case Common::KEYCODE_F2: +#endif if (allowPlayerInput) { playerCommand = 1; // TAKE makeCommandLine(); } break; +#ifndef MAEMO_SDL case Common::KEYCODE_F3: if (allowPlayerInput) { playerCommand = 2; // INVENTORY @@ -102,13 +111,41 @@ makeCommandLine(); } break; +#else +//map f3, f4 to f8,f7 = zoom +- keys, when in menu generate keypresses for savegame + case Common::KEYCODE_F8: + if (inMenu) + lastKeyStroke = '1'; + else if (allowPlayerInput) { + playerCommand = 2; // INVENTORY + makeCommandLine(); + } + break; + case Common::KEYCODE_F7: + if (inMenu) + lastKeyStroke = '2'; + else + if (allowPlayerInput) { + playerCommand = 3; // USE + makeCommandLine(); + } + break; +#endif +#ifdef MAEMO_SDL + case Common::KEYCODE_LEFT: +#else case Common::KEYCODE_F5: +#endif if (allowPlayerInput) { playerCommand = 4; // ACTIVATE makeCommandLine(); } break; +#ifdef MAEMO_SDL + case Common::KEYCODE_RIGHT: +#else case Common::KEYCODE_F6: +#endif if (allowPlayerInput) { playerCommand = 5; // SPEAK makeCommandLine(); @@ -120,7 +157,11 @@ makeCommandLine(); } break; +#ifdef MAEMO_SDL + case Common::KEYCODE_F4: // Menu key +#else case Common::KEYCODE_F10: +#endif if (!disableSystemMenu && !inMenu) { g_cine->makeSystemMenu(); } --- scummvm-0.11.orig/backends/plugins/sdl/sdl-provider.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/backends/plugins/sdl/sdl-provider.cpp 2008-01-06 20:53:38.000000000 +0100 @@ -31,8 +31,12 @@ #include "SDL.h" #include "SDL_loadso.h" -#define PLUGIN_DIRECTORY "plugins/" +#ifdef PLUGIN_PATH +#define PLUGIN_DIRECTORY PLUGIN_PATH +#else +#define PLUGIN_DIRECTORY "plugins/" +#endif class SDLPlugin : public DynamicPlugin { protected: --- scummvm-0.11.orig/backends/platform/sdl/events.cpp 2008-01-12 00:06:35.000000000 +0100 +++ scummvm-0.11/backends/platform/sdl/events.cpp 2008-01-12 22:21:51.000000000 +0100 @@ -26,7 +26,9 @@ #include "backends/platform/sdl/sdl.h" #include "common/util.h" #include "common/events.h" - +#ifdef MAEMO_SDL +#include "common/config-manager.h" +#endif // FIXME move joystick defines out and replace with confile file options // we should really allow users to map any key to a joystick button #define JOY_DEADZONE 3200 @@ -192,9 +194,13 @@ case SDL_KEYDOWN:{ b = event.kbd.flags = SDLModToOSystemKeyFlags(SDL_GetModState()); +#ifdef MAEMO_SDL + if (ev.key.keysym.sym == SDLK_F6) { +#else // Alt-Return and Alt-Enter toggle full screen mode if (b == Common::KBD_ALT && (ev.key.keysym.sym == SDLK_RETURN - || ev.key.keysym.sym == SDLK_KP_ENTER)) { + || ev.key.keysym.sym == SDLK_KP_ENTER)) { +#endif setFullscreenMode(!_fullscreen); #ifdef USE_OSD if (_fullscreen) @@ -311,7 +317,10 @@ break; fillMouseEvent(event, ev.button.x, ev.button.y); - +#ifdef MAEMO_SDL + // we have touchscreen so we may have no mousemotion events between taps + setMousePos(event.mouse.x, event.mouse.y); +#endif return true; case SDL_MOUSEBUTTONUP: @@ -444,7 +453,54 @@ return false; } +// called on SDL KEYUP and KEYDOWN events bool OSystem_SDL::remapKey(SDL_Event &ev, Common::Event &event) { +#ifdef MAEMO_SDL + static int engine=0; +#define ENG_OTHER -1 +//#define ENG_SCUMM 1 + static int game=0; +#define GAME_OTHER -1 +#define GAME_LURE 1 +//#define GAME_SWORD1 2 +//#define GAME_SWORD2 3 + if (!engine){ + // one time initialization + Common::String gameid(ConfMan.get("gameid")); + if (gameid == "lure") { + game=GAME_LURE; + engine=ENG_OTHER; + } else { + game=GAME_OTHER; + engine=ENG_OTHER; + } + } + // engine specific mappings + switch (engine){ + + } + // game specific mapping + switch (game) { + case GAME_LURE: + switch(ev.key.keysym.sym){ + case SDLK_F5: // map F5 (home key) to f9 = restart game + ev.key.keysym.sym=SDLK_F9; + break; + case SDLK_F8: // map F8 (zoom key) to F5 (save dialog) in game + ev.key.keysym.sym=SDLK_F5; + break; + case SDLK_F4: // map menu to right click + event.type = ((ev.type==SDL_KEYUP) ? Common::EVENT_RBUTTONUP : Common::EVENT_RBUTTONDOWN ); + event.mouse.x = _mouseCurState.x; + event.mouse.y = _mouseCurState.y; + return true; + default: + ; + } + break; + } +#endif //SDL_MAEMO + #ifdef LINUPY // On Yopy map the End button to quit if ((ev.key.keysym.sym == 293)) {