[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