Open main menu

Difference between revisions of "OpenTasks"

1,176 bytes added ,  14:16, 28 March 2008
(Expand and move Accolade MIDI task to MIDI section.)
Line 355: Line 355:
If you don't have any of the required games, there are several [http://www.scummvm.org/demos.php demos] available. A 16bit graphics demo example would be the [http://quick.mixnmojo.com/demos/ffcovedemo.zip Freddi5 demo].
If you don't have any of the required games, there are several [http://www.scummvm.org/demos.php demos] available. A 16bit graphics demo example would be the [http://quick.mixnmojo.com/demos/ffcovedemo.zip Freddi5 demo].


== Implement "return to launcher" feature ==
== Implement "return to launcher" & global "main menu" ==
''Technical Contact'': [[User:Fingolfin|Max Horn]], [[User:JoostP|Joost Peters]]
''Technical Contact'': [[User:Fingolfin|Max Horn]], [[User:JoostP|Joost Peters]]


''Background:''
''Background:''


Presently we have to exit the ScummVM application completely when users exit a game because most
Presently we have to exit the ScummVM application completely when a users exit a game because most
engines do not clean up memory properly on their exit.
engines do not clean up memory properly on their exit. In particular, it is not possible to return to the
launcher (short: Rtl) without restarting ScummVM, which is annoying, esp. on systems where "exit" equals "reboot" (e.g.
certain gaming consoles).
 
Also, there is no uniform GUI in ScummVM which lets the user Quit/Return to launcher/Set game options. The SCUMM engine
has such a dialog (shown when pressing F5), but most engines have custom dialogs for this, and not all offer everything
(like there may be no button for quit, no way to change all game options available in the launcher, etc.)


''The Task:''
''The Task:''


The first part concerns the Rtl feature>
What we need is to analyze what's going on there and plug all memory leaks, properly shut down
What we need is to analyze what's going on there and plug all memory leaks, properly shut down
subsystems like sound, so it will be possible to play more than a single game within one
subsystems like sound, so it will be possible to play more than a single game within one
Line 376: Line 383:
** In SCUMM, add a "RTL" button to the F5 menu.
** In SCUMM, add a "RTL" button to the F5 menu.


Make sure to reuse code when possible appropriate (e.g. for the quit confirmation dialog).
Make sure to reuse code when possible and appropriate (e.g. for the quit confirmation dialog).
 
The next part of the task is to implement a "main menu" dialog (using our GUI code, modeled after the one in SCUMM). This dialog would have buttons for "About", "Options", "Quit", "Return to launcher", "Cancel", and should be extensible (so that e.g. the SCUMM main dialog could be a subclass of this, which adds extra buttons for "Save" and "Load"). The "main menu" dialog should be usable from all engines via a shared hotkey (so e.g. you might want to hook it up via the EventManager).
As a bonus, make the dialog look cool, e.g. by displaying the ScummVM logo in it.
1,079

edits