![]() |
Re: ScummVM on N900
1 Attachment(s)
I thought a little bit about it. A symetric layout is not the best for Screen Buttons. 80 pixels on each side are not really much.
I created a little and fast artwork. The maemo Site shrinks image attachments to a width of 620 pixels. I'm sorry. The Original has 800 x 480 pixels. But I think you can see what I mean. :) In the middle we have a 640x480 pixel area for the games. On the left you have on the Top the Taskswitcher Button in a normal width... so you mustn't remove it. If you want colorize it green, the ScummVM color. ;) Then the ESC Button, 4 user customizable Buttons for the games (any game could prefer other ones) and in the bottom left the Mouse Modifier. Additional we could use the proximity sensor and the Camera Button for the right mouse button. Not as modifier, hold it down for right button, release for the normal left. Hmm... okay, this should be configurable. It should also be possible to switch it off. (to use this Buttons by other Programms, like our new task switcher tool) The Volume Buttons can still be the Volume Buttons. Sometimes it is important to regulate fast the volume of the device. ;) On the Right side there is a flip in Slider. When you tap on it the ScummVM Settings known from any other system apears. There could restist the Buttons F1 to F12, you can configurate the 4 userdefined buttons there and you can reach the Game Menu. Could this be a good Solution for everybody? So, there is now only one simple problem. I'm only a small windows programmer. I'm new at linux and I can only contribiute this idea. I hope a smart guy that could develop this will love it too. :rolleyes: |
Re: ScummVM on N900
It looks great. Thanks for your thoughts. Idea of using the black space was there before. The only 'problem' is developer time to implement it and also doing it in clever way without reinventing the wheel inside scummvm. I was quite satified with current way but your picture reminded me how much better it could be.
|
Re: ScummVM on N900
Is it a known problem that in "The Curse Of Monkey Island", in beginning of the game there is a cannon-shooting scene. The cannon cannot be controlled, only fired and thus missing the targets.
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Helmuth, your mockup looks great. I know there's not much space, but if there was room for a fullscreen toggle button, and a top-right X (possibly smaller than usual), that would be great.
Longer term, it would be good to make the rest of the ScummVM frontend more usable on small devices. I realise that while playing point-and-click games, one will need a stylus, but still, some of the menu entries and buttons would be more confortable if made larger in the main menu, options, and save/load screens. |
Re: ScummVM on N900
OK, here is scummvm that works a bit better on N900
http://fanoush.wz.cz/maemo/scummvm_1.0.0-2_armel.deb - volume keys are taken, works same as N810 now (mostly right click and some additional action or game menu) - shift+backspace is mapped to Escape key - shift+enter mapped to 770/N8x0 Menu key (mostly brings up game menu) - optified to save space in internal flash, main binary is moved to /opt/scummvm/bin/ |
Re: ScummVM on N900
Quote:
I'll try in a couple of days! |
Re: ScummVM on N900
Quote:
MI3 and FT skip both intro/animations (ESC works great) and in FT I can switch punches / kicks :) No more test for now, but WOW :) Thank you very much, fanoush! |
Re: ScummVM on N900
Quote:
In my opionion a Button to toggle to fullscreen is not really needed. But it's not my decision. :) |
Re: ScummVM on N900
Quote:
Yes, I know. It could be hard to integrate such a onscreen Menu into the ScummVM Code in a clever way. Totally rearranging the code inside SchummVM could be needed and it needs a lot of Time... :( I thought about it the whole weekend. I think I have now a solution that could be done without big changes on the ScummVM Code. In a not so good case without touching the ScummVM Code, but with more work for hopbeat and the hope he would help us. ;) We need only a solution to send keycodes to ScummVM to cover everything we need, is this correct? I know it's a long text and many to read. But I think it worth. The BEST solution: Integreate the Code to react with the proximity sensor and the Camera Button inside of ScummVM.
We can create the UI, seperated from the SchummVM Code. It's only a Menu with Buttons. The ESC Button, a Button for Options and Settings, one for Menu, 4 userdefined buttons, the Close and the Button for Multitasking and everything else we need. Easy to access for the user without the knowledge what keykombination does what and you can play with closed keyboard. After clicking a Button the UI disappears, the freezed ScummVM comes back to live and a integrated mechanim sends the needed Keycode from our UI to ScummVM. It could be a background daemon, or a in ScummVM intergreated interface. Fanoush, what do you think about the needed work? Could it be done without reinventing the wheel inside ScummVM? Its not the best solution. But it's near at my upper dream. ;) Only a compromise. But I think a good working. The (for us) EASIER solution: Here we must hope hopbeat and hqh would like it also and find a solution to integrate this in their daemon. Btw: Are there more people working on this? They try for us at the moment to integrate the right click solution for us in their programm. Am I Correct? So they cold also integrate the Double Tap (okay, it only works when the single tap is the right click modifer or something else, not the multitasking) in their background working daemon. At the double tap event: Open a overlay Menu with Buttons. Tap at one Button closes the Menu and sent's the Keycode to the running Application. Press the Camera Button or the proximity sensor again closes the Menu without sending a keycode. The ScummVM is the whole time running. With this solution its not needed to touch the ScummVM Code. The only hard part is how to bring a overlay Menu from a Daemon to the currently running programm. It's the hardest part I guess and I don't know... is this possible, hopbeat? I think other programms could use such thing also. There are some weak known Keycombinations at the Browser, the STRG+i Buttoncombination at the Shell for Tab and some other things. But the double click would only work without the Taskswitcher at the single tab. Without a waiting time after the first click the taskswitcher appears before the daemon knows that this sould be a doubleclick. And with waiting the UI reaction of the daemon is even to slow. :( Hmm... what does the others think about this? I'm sorry. I couldn't work on this myself. I'm new at linux. And I just started to get familar with the Linux Shell. In the past I wrote some ANSI C Programms for embedded devices and actually I write Windows programms at work using the .NET Framework. After getting familar with Linux I have to learn C++ again, C is about 4 years ago and my C++ knowledge is very weak. So to do this myself before the end of the maya calendar is nearly impossible. ;) If you think I can do something to help to integrate somethink like this, let me know! :) |
Re: ScummVM on N900
@Helmuth, nicely written :)
There is only me and @hqh on this at the moment (we actually need to get down to some real work this week, mine exams are over). I was thinking recently about separating a pure proximity sensor daemon from the shortcut application. I'm thinking about having a proximity sensor daemon, polling the sensor and sending a dbus signal whenever the change in the sensor state is registered (also support reading on demand). This way we would have a nicely behaving dbus architecture, consistent with the rest of the system (why the hell proximity sensor is not connected to dbus by default?!). This will be used in our shortcut application, but can be also easily used by different application. Then, our application functions can be modified by exposed dbus calls, so your app can explicitly request turning off shortcut handler. Plus, second option, our app can act as a middle-level abstraction and emit dbus 'short-press', 'long-press' (or just emulate key-presses), or handle 'keyboard-locked-don't-emit' functions. This way, you can either access the sensor directly, telling the shortcut daemon to turn-off, or access the sensor with an abstraction of key-presses (including camera key, those two options require modification in your code) or just request given key (combination) to be simulated (this doesn't require changes in the code of your application). Thoughts about this? |
Re: ScummVM on N900
Quote:
menu and everything work like a charm only thing I've noticed by starting up the dig and saving the game is, that I wasn't able to type numbers for the savegame, somehow the fn key does not work here |
Re: ScummVM on N900
Quote:
[...] Quote:
A "Button_pressed" and a "Button_released" event from your daemon could provide something like this. :) I think we wait for a comment and some thoughts from fanoush. He have done the last modifications on the ScummVM and he knows the Code behind even better than me. I have only seen a short quote here in maemo talk. ;) :D I would love a self-explanatory solution. Even simple simple simple. We have a touchscreen. We should try to avoid keeping a list of shourtcuts with us. :rolleyes: |
Re: ScummVM on N900
Isn't it possible to contact the developers of ScummVM (I don't mean the port for Maemo here) and ask them what or if they could do something for portable devices like the N900? Maybe they know a good solution...
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
Maybe in future I can try to start another thread from inside scummvm and initialize glib etc. and listen to d-bus events in parallel to SDL event loop (mainly to support power management better) but it is not trivial. Actually in that case maybe abandoning SDL and starting from scratch would be easier and allowed more flexibility. It is a lot of work though. Also I like current state where all Maemo devices running OS2006,7,8,maemo5 can run same scummvm binary compiled from same source code. Supporting each device and each Maemo version separately is more work too. On-screen buttons/switches/virtual keyboard is likely once ScummVM engine itself allows me to do that without writing all the code myself (reinventing the wheel). As for various device sensors etc. doing it outside of scummvm means other SDL game ports can use it too. |
Re: ScummVM on N900
great work :) where do i install the games too? which directory? cheers
|
Re: ScummVM on N900
@fanoush, thanks, key/mouse event it will be for ScummVM :)
|
Re: ScummVM on N900
[...]
Quote:
So my second suggestion in post #90 could work without changes in a easy enought way? Or are there limitations avoiding something like this? I think about a menu tat appears like the Menu when you press the power Button on the N900 once. Only click a Button and send the needed keycode to the running scummVM without changes on the scumm code. Everything we need is covered with keycodes. The Menu from the Power Button is also not from a running programm, it appears from a background working daemon or service. (Sorry, I'm not sure with the correct linux term) So there could run the same OS2006,7,8,maemo5 binary and with a additional daemon like the one from hopbeat or with exactly this we could have such a feature on the N900. Am I right or totally wrong? :confused: |
Re: ScummVM on N900
Quote:
http://talk.maemo.org/showthread.php?t=35841&page=5 I guess xkbd may not run out of box on N900 yet but it should be doable, and again making it running would benefit other games too. Also if xkbd does not work there should be possiblity of embedding any sdl appliciation (i.e. scummvm) into other application by using SDL_WINDOWID variable when starting it. SDL then uses that window for its output. So in theory one can hack small application in python with few buttons and embed scummvm inside it, check this http://sdl.beuc.net/sdl.wiki/FAQ_GUI I am not saying these are best ways to do it but if you are unhappy with current state and want quick solution then it may work. |
Re: ScummVM on N900
I am having a bit of a problem with monkey island 3. it is 640x480 and the top bar that shows signal strength and scummvm title pushes the game down 20 oe whatever pixels so it is a lot harder to play it. will you include fullscreen support?
p.s. thanks for your awesome work, playing MI games on the go is the best :) |
Re: ScummVM on N900
Quote:
I'm constantly wondering too whether to keep on using SDL1.2 or switch to Glib+Gtk... with recent developments I think I'll keep with SDL1.2. SDL1.3 is also an option since the Maemo port is theoretically now "under our control" and we ("we" as in community) may put whatever fixes we care about into it. Quote:
You may want to do something like this to the SDL fullscreen window, just after SDL_SetVideoMode Code:
SDL_SysWMinfo wminfo; Also, the above snippet sets NON_COMPOSITED mode which gives a nice speed bump (will be on by default from firmware 1.1 onwards). |
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
Actually there are two scummvm related priorities for me now: - document keybindings - there was nice wiki page before and the link was automatically shown at downloads.maemo.org ScummVM product page. Since then that wiki tagging feature was removed from downloads.maemo.org and the Maemo wiki itself was switched to another engine and the page is gone. I have a backup so I need to make it availabe again, this time hosted at wiki.scummvm.org - push source to extras-devel and extras-testing (-testing after keys are documented, -devel ASAP, it is ready) |
Re: ScummVM on N900
Quote:
I was ignoring the wrapper since I guess this is the thing used in builtin games (Tetris,Marbles) and I absolutely hate the 'game is gone when not in fulscreen' feature. Is this optional? I want scummvm to visibly run in non-fullscreen mode too. And also I don't want initial splash screen with Play/Start button. |
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
scummvm (1.0.0-3)
* disable taskmanager topleft button in fullscreen mode (N900) * map shift+click to right button click * map ctrl+click to mouse move (no button click) * set fullscreen window as _HILDON_NON_COMPOSITED_WINDOW (N900) http://fanoush.wz.cz/maemo/scummvm_1.0.0-3_armel.deb The only real feature is making Broken Sword and other games with something important in topleft corner playable. |
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
Mighty awesome! Now the Broken Sword should be much more enjoyable as you can actually "look" at objects, rather than just directly interacting with them. Thank you, Fanoush! :D |
Re: ScummVM on N900
Does ScummVm exist on Extras, Extras-testing or devel repository?
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
well, yes, /usr/share/scummvm takes ~300KB, it can be moved to /opt/scummvm/share, in that case I can probably include datafiles for various engines there too (drascula.dat igor.tbl kyra.dat lure.dat m4.dat queen.tbl sky.cpt, ~2.5MB in total)
the rest is icons, shortcuts etc, not really movable I guess |
Re: ScummVM on N900
Quote:
* datadir optified (/usr/share/scummvm -> /opt/scummvm/share) * added engine files to datadir * Application Manager icon enlarged to 48x48 Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
Quote:
|
Re: ScummVM on N900
You can't play Full Throttle after some part.
It's the part in the beginning when you got your keys back and have to fight on your bike. You can't punch or kick ther other guy :( :( can this be fixed? btw,Im using the latest build |
All times are GMT. The time now is 13:07. |
vBulletin® Version 3.8.8