2003-09-06 20:27:06 +00:00
|
|
|
General
|
|
|
|
=======
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add plugin system (both dynamic & static plugin support)
|
2003-09-06 20:27:06 +00:00
|
|
|
[if you want to work on it, ask Fingolfin about this, he already has done
|
|
|
|
some planning. Also make sure that your system support 'static' plugins, too]
|
2003-09-07 03:38:06 +00:00
|
|
|
* Revise the way "quit" is handled. Maybe add a global variable "g_quit" which
|
2003-09-06 20:27:06 +00:00
|
|
|
we set when the application should be quit (e.g. when an EVENT_QUIT is
|
|
|
|
received). This is useful if multiple levels of event loops have to be ended
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add API to query backend for a list of available music engines
|
2003-09-06 22:44:40 +00:00
|
|
|
Useful for Options dialog
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add API to query backend for a list of available scalers/screenmodes
|
2003-09-06 22:44:40 +00:00
|
|
|
(that is, a list of user presentable names, and corresponding PROP_SET_GFX_MODE
|
|
|
|
values). This is useful for the options dialog
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add PROP_GET_GFX_MODE (mirroring PROP_SET_GFX_MODE)
|
|
|
|
* Consider replacing the PROP_TOGGLE_* properties with GET/SET ones ->
|
2003-09-06 22:44:40 +00:00
|
|
|
this allows more control over these properties (like, it allows the GUI to
|
|
|
|
display checkboxes for these in the options dialog)
|
|
|
|
* gameDetector.cpp is quite messy. Also, it makes providing native GUI front
|
|
|
|
ends for ScummVM unnecessarily cumbersome (think of systems which don't
|
|
|
|
even have a command line, like classic MacOS). It would be nice to better
|
|
|
|
separate the command line parsing from any GUI and also from the storage
|
|
|
|
for the user settings (this ties into my proposed config system changes;
|
|
|
|
ideally, we should be able to drop almost all of the member variables
|
|
|
|
in the game detector, in favor of getting all these directly from the
|
|
|
|
config system).
|
2003-09-17 21:06:16 +00:00
|
|
|
* fix the Map<> template, make it more robust; maybe use a red-black tree?
|
2003-09-06 20:27:06 +00:00
|
|
|
|
|
|
|
GUI
|
|
|
|
===
|
|
|
|
* LAUNCHER: fix global options dialog to be properly persistent
|
|
|
|
* LAUNCHER: add more options to global options dialog
|
|
|
|
* LAUNCHER: add more options to game options dialog
|
|
|
|
|
|
|
|
Audio
|
|
|
|
=====
|
2003-09-07 03:38:06 +00:00
|
|
|
* Get the high quality resample code to work
|
2003-09-06 20:27:06 +00:00
|
|
|
[Fingolfin has started work on this]
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add a command line/config file option for the output sample rate (to allow
|
2003-09-06 20:27:06 +00:00
|
|
|
for output sample rates other than 22050 Hz, e.g. 44100). Code should do
|
|
|
|
sanity checking (e.g. restrict to rates between 8000 - 65535 Hz)
|
|
|
|
|
2003-09-06 22:44:40 +00:00
|
|
|
Config
|
|
|
|
======
|
2003-09-07 03:38:06 +00:00
|
|
|
* The config system could stand an overhaul
|
|
|
|
* Preserve comments in config file somehow
|
|
|
|
* Add two virtual domains (for command line settings and user overrides);
|
2003-09-06 22:44:40 +00:00
|
|
|
while we currently do something like this already, our implementation is
|
|
|
|
a big ugly hack (no offense meant) and has some cumbersome problems. For
|
|
|
|
example, currently to query a config value, one would have to search up to
|
|
|
|
four domains manually (user override, command line, game specific, global
|
|
|
|
application domain, in that order). Ideally all this should be hidden
|
|
|
|
inside the config system. If you are interested in this, I can elaborate
|
2003-09-07 03:38:06 +00:00
|
|
|
* Add a way to distinguish if a given key is present at all. That is, it
|
2003-09-06 22:44:40 +00:00
|
|
|
would be nice if one could distinguish between an explicit "fullscreen=false"
|
|
|
|
and the absence of any fullscreen config.
|
|
|
|
|
2003-09-06 20:27:06 +00:00
|
|
|
SCUMM
|
|
|
|
=====
|
2003-09-07 03:38:06 +00:00
|
|
|
* Fix C64 costume code
|
|
|
|
* Make it possible to restart games properly
|
|
|
|
* Add support for handling Kanji in FM Towns games (foreground is rendered on a
|
|
|
|
second plane at 640x480)
|
|
|
|
* Figure out how to extract resources from Apple II and Commodore 64 versions
|
2003-09-07 21:06:43 +00:00
|
|
|
* Document and fix AKOS differences in Humongous Entertainment games
|
2003-09-07 03:38:06 +00:00
|
|
|
* Support various newer Humongous Entertainment games
|
|
|
|
* Implement file related opcode stubs needed for Humongous games
|
|
|
|
* Add support for graphics codecs used in 3DO versions of Humongous games
|
|
|
|
* Proper handling of .tlk files for Humongous games
|
|
|
|
* Merge iMUSE and iMUSE Digital
|
|
|
|
* Add support for FM Euphony sounds used in FM Towns games
|
|
|
|
* Implement the needed INSANE bits for Full Throttle action sequences
|
|
|
|
* iMUSE Digital enhancements/fixes for Full Throttle and COMI
|
2003-09-08 18:09:40 +00:00
|
|
|
* Try to remove all use of MAD/Ogg code from scumm/sound.cpp:
|
|
|
|
Ideally, only code in sound/ should access these libs. This will
|
|
|
|
become important for loadable module support
|
2003-09-08 22:26:20 +00:00
|
|
|
* Add support for Mac0 music format used in Monkey Island Mac
|
|
|
|
See https://sourceforge.net/tracker/index.php?func=detail&aid=781797&group_id=37116&atid=418823
|
2003-09-07 03:08:59 +00:00
|
|
|
|
|
|
|
Broken Sword 2
|
|
|
|
==============
|
2003-09-07 03:38:06 +00:00
|
|
|
* Replace all uses of std C file I/O (fopen, fread, fwrite, fclose) by
|
2003-09-29 09:45:52 +00:00
|
|
|
the File class (excluding that in SWORD2_DEBUG). This is probably mostly
|
|
|
|
done. I only find a few such calls in resMan::CacheNewCluster(), and that
|
|
|
|
one needs to be rewritten anyway.
|
|
|
|
* Enforce ScummVM code formatting guidelines.
|
|
|
|
* Encapsulate the code into sensible objects.
|
|
|
|
* Enable the CD swapping code.
|
2003-09-07 03:38:06 +00:00
|
|
|
|
|
|
|
SIMON
|
|
|
|
=====
|
|
|
|
* Add support for Amiga decompressor and music
|
2003-09-27 20:30:46 +00:00
|
|
|
|
|
|
|
Descumm
|
|
|
|
=======
|
|
|
|
* Merge descumm & descumm6
|
|
|
|
* Turn it into a library, to be used by a command line frontend (like now),
|
|
|
|
ScummVM debugger, and ScummEX. Basically, the API could consist of a single
|
|
|
|
function, which takes a pointer to a memory buffer, its length, the Scumm
|
|
|
|
version and optionally a game id. Also, it would get a pointer to a print
|
|
|
|
function (in the case of the CLI tool, print to stdout; for ScummVM, print
|
|
|
|
to our GUI console; for ScummEX, append to some window/widget)
|
|
|
|
* Rewrite code to use 2 passes; first pass builds an intermediate graph, the
|
|
|
|
second pass then tries to detect loops, break/continue statements etc.
|
|
|
|
|
2003-09-27 21:41:10 +00:00
|
|
|
SDL backend
|
|
|
|
===========
|
|
|
|
* Maybe change the shortcuts? One idea (add ctrl-alt in all cases):
|
|
|
|
1-3: select scale factor
|
|
|
|
2-4: normal, advmame, hq filters (all available as 2x and 3x)
|
|
|
|
5-9,0: the other scalers
|
|
|
|
Justification: We have so many scalers now, we are running out of keys
|
|
|
|
for them - and this way, we need a few less. Of course, the question remains
|
|
|
|
what happens if you press ctrl-alt-3 while 2xSai is scaler, what happens?
|
|
|
|
So maybe (again add ctrl-alt):
|
|
|
|
'+' / '-':
|
|
|
|
increase/decrease scale factor, cycling over the possible range.
|
|
|
|
So for a 2x-only scaler, it does nothing; for a scaler supporting
|
|
|
|
all scales from 1x to 4x, it works as usual (and pressing '+' in
|
|
|
|
4x mode goes to 1x)
|
|
|
|
1-9: switch between the "base" scalers: normal (point) scaler, advmame,
|
|
|
|
hq (high quality), 2xsai, super2xsai, supereagle, tv2x, dotmatrix, ...
|
|
|
|
|