[Scummvm-devel] RTL branch to be merged (relevant for *all* developers)

Max Horn max at quendi.de
Mon Sep 1 19:17:35 CEST 2008


Hi everybody,

we plan to merge the RTL (return to launcher), vkeybd and gui branches  
from GSoC 2008 into trunk over the coming weeks/months. We, the GSoC  
mentors, agreed that the RTL branch should be merged first; after that  
the vkeybd branch; and finally the GUI branch.

So today I have started work on merging the RTL branch. For everybody,  
here are some of its highlights (for more info, see Chris' blog posts  
on <http://cp-gsoc.blogspot.com/>):

* Two new global events: EVENT_MAINMENU and EVENT_RTL, which  
complement EVENT_QUIT (and one day, should be unified with it, but I  
digress). The RTL event indicates to the engine that it should  
terminate, but contrary to EVENT_QUIT, it should return to the  
launcher, not quit. EVENT_MAINMENU is supposed to trigger opening the  
new main menu.

-> PORTERS: you may or may not want to map these two events to some  
keys. e.g. it might be convenient for you to replace your current  
mapping for EVENT_QUIT (if any) by EVENT_RTL

* The new global main menu (=GMM) dialog is modeled after the SCUMM F5- 
menu dialog, but works in all engines. The idea is that with this  
menu, a user can quit & RTL in all engines, and change settings; one  
day in the future loading (and maybe even saving) could be possible  
from there, too. Oh, and you can get to the About dialog from there *g*.

* The existing (but underused) EventManager::shouldQuit() method is  
complemented by a new shouldRTL() method: The DefaultEventManager  
keeps track of all quit/RTL requests by the user. Engines can and  
*should* use these methods to track the "quit" status, i.e. whether  
they should abort.

* all engines have been modified to take advantage of shouldQuit &  
shouldRTL

-> ENGINE AUTHORS: You should review the changes made to enable this,  
to make sure they are right!

* there are some more leak fixes to engines

* loading saves from the launcher is possible for those games  
supporting -x and --list-saves

* support for -x and --list-saves has been added to many engines

-> ENGINE AUTHORS: You should review the changes made to enable this,  
to make sure they are right!

* and more

There also still plenty of things to do; for example, the SCUMM main  
menu dialog should not coexist with the GMM, but rather should be an  
extension of it. This is work for the future, though.



Now, instead of merging all this at once, I will try to first merge  
the general changes, then merge each engine one at a time. Here is  
what I will do, and what this requires from you (porters, engine  
authors):

1) First, changes to gui/, base/, backends/events/default/default- 
events, and a few files in engines/ will be merged.


2) Next, I will merge the changes of each engine separately. Well,  
with exception of the parallaction engine, for which the patch is  
broken right now, because peres keeps shifting things around quicker  
than we can adapt our patches :)

3) I await angry complaints from people for whom something broke, so  
that we can peacefully resolve them together ;)


After these commits have been completed, it would be great if Vicent  
and Stephen could merge trunk into their trunk once more, and resolve  
the few conflicts that arise (the vkeybd branch used some of Chris'  
event manager changes, but that should be easy to resolve; and some  
GUI dialogs where added, which have to be added to the new GUI, but  
that should be easy enough).


Cheers,
Max




More information about the Scummvm-devel mailing list