|
2009-12-15
, 13:44
|
|
Posts: 183 |
Thanked: 66 times |
Joined on Sep 2009
|
#102
|
|
2009-12-15
, 14:27
|
|
Posts: 2,355 |
Thanked: 5,249 times |
Joined on Jan 2009
@ Barcelona
|
#103
|
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.
There is another problem concerning Broken Sword 1. The inventory bar opens in top of the screen. Even when playing in full screen mode and trying to handle the first object in inventory bar, the N900 application menu is triggered although it is not visible on screen.
SDL_SysWMinfo wminfo; Display *display; Window xwindow; XSetWindowAttributes xattr; Atom atom; int one = 1; SDL_VERSION(&wminfo.version); if (!SDL_GetWMInfo(&wminfo)) return; wminfo.info.x11.lock_func(); display = wminfo.info.x11.display; xwindow = wminfo.info.x11.fswindow; XUnmapWindow(display, xwindow); xattr.override_redirect = False; XChangeWindowAttributes(display, xwindow, CWOverrideRedirect, &xattr); atom = HDATOM(_NET_WM_STATE_FULLSCREEN); XChangeProperty(display, xwindow, HDATOM(_NET_WM_STATE), XA_ATOM, 32, PropModeReplace, (unsigned char *) &atom, 1); XChangeProperty(display, xwindow, HDATOM(_HILDON_NON_COMPOSITED_WINDOW), XA_INTEGER, 32, PropModeReplace, (unsigned char *) &one, 1); XMapWindow(display, xwindow); wminfo.info.x11.unlock_func();
|
2009-12-15
, 14:47
|
Posts: 1,208 |
Thanked: 1,028 times |
Joined on Oct 2007
|
#104
|
This is yet another SDL1.2 vs hildon-desktop miscommunication that arises from SDL windows using CWOverrideRedirect instead of fullscreening using NetWM.
The Following 2 Users Say Thank You to mikkov For This Useful Post: | ||
|
2009-12-15
, 15:02
|
|
Posts: 2,355 |
Thanked: 5,249 times |
Joined on Jan 2009
@ Barcelona
|
#105
|
Is this the same issue as here https://bugs.maemo.org/show_bug.cgi?id=5601 ?
|
2009-12-15
, 15:03
|
Posts: 2,152 |
Thanked: 1,490 times |
Joined on Jan 2006
@ Czech Republic
|
#106
|
|
2009-12-15
, 15:14
|
Posts: 2,152 |
Thanked: 1,490 times |
Joined on Jan 2006
@ Czech Republic
|
#107
|
Note that what the hildon-games-wrapper library tries to do is exactly that: mix SDL event loop and D-Bus. It actually tries to notify you of certain system / power events, but in a buggy way
|
2009-12-15
, 21:18
|
|
Posts: 2,355 |
Thanked: 5,249 times |
Joined on Jan 2009
@ Barcelona
|
#108
|
Can you point me to example code?
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.
|
2009-12-15
, 22:41
|
Posts: 2,152 |
Thanked: 1,490 times |
Joined on Jan 2006
@ Czech Republic
|
#109
|
|
2009-12-16
, 04:14
|
Posts: 2 |
Thanked: 1 time |
Joined on Dec 2009
|
#110
|
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.
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.
Newbies click here before posting. Thanks.
If you really need to PM me with troubleshooting question please consider posting it to the forum instead. It is OK to PM me a link to such post then. Thank you.