Difference between revisions of "TODO"

Jump to navigation Jump to search
1,530 bytes removed ,  20:55, 18 January 2012
→‎Launcher: we have little X buttons next to the paths now, right?
(→‎Launcher: we have little X buttons next to the paths now, right?)
(8 intermediate revisions by 5 users not shown)
Line 28: Line 28:


=== README / Manual ===
=== README / Manual ===
* Fingolfin has started a DocBook based manual (and FAQ, and Developer's Guide). You can find it in the SVN module "docs". It's a starting place, but very unfinished.
* A proper manual might be nice.
* Everybody is welcome to start helping out with the public manual project in the "docs" SVN module. You can either reuse content from the README, or replace it with new, better written stuff. Contact Fingolfin or our mailing list, scummvm-devel, if you are interested in helping out.
* Maybe move all/most of the compression related stuff from our README completely to the tools README, and only leave a pointer to that in the main README. This would be beneficial because this way, it's only documented in one place; it's *completly* documented (currently, the main README doesn't mention compress_scumm_bun, for example); and people who want to use the compression tools need to download the tools package anyway.
* Maybe move all/most of the compression related stuff from our README completely to the tools README, and only leave a pointer to that in the main README. This would be beneficial because this way, it's only documented in one place; it's *completly* documented (currently, the main README doesn't mention compress_scumm_bun, for example); and people who want to use the compression tools need to download the tools package anyway.
* It would be greate to have a "Developer's Guide to ScummVM" which explains the ScummVM framework, and also the engines, i.e.
* It would be greate to have a "Developer's Guide to ScummVM" which explains the ScummVM framework, and also the engines, i.e.
Line 48: Line 47:


=== [[Buildbot]] ===
=== [[Buildbot]] ===
* Create a visual theme which matches that of our forum and website
* Run unit tests as part of the builds (i.e. add a build which, if the native build succeeded, runs "make test")
* Run unit tests (i.e. add a build which, if the native build succeeded, runs "make test")
* Build the ScummVM tools via buildbot (of course only for desktop platforms)
* <s>Update to latest Buildbot version</s>
* Add support for building the ScummVM tools via buildbot
* Switch it to do verbose builds (seeing which exact command was used to invoke the compiler when debugging errors is quite helpful)
* Switch it to do verbose builds (seeing which exact command was used to invoke the compiler when debugging errors is quite helpful)
* Track the size of the resulting binaries.
* Track the size of the resulting binaries.
Line 70: Line 67:


=== [[Wiki]] ===
=== [[Wiki]] ===
* Create a visual theme which matches that of our forum and website
* <s>Create a visual theme which matches that of our forum and website</s>
* Add content to [[Special:Wantedpages|Wanted Pages]]
* Add content to [[Special:Wantedpages|Wanted Pages]]
* Add some content to [[Help:Editing]], which is shown when editing a page
* Add some content to [[Help:Editing]], which is shown when editing a page
Line 214: Line 211:
* Game edit dialog: Consider adding some warnings to the platform/language fields ("Don't mess with these unless you know what you are doing"), or move them to an "advanced" tab
* Game edit dialog: Consider adding some warnings to the platform/language fields ("Don't mess with these unless you know what you are doing"), or move them to an "advanced" tab
* Make the gameid editable via an "advanced" tab entry?
* Make the gameid editable via an "advanced" tab entry?
* There is no way to reset the save/extra/theme paths. Adding a tiny button labeled "c" for clearing them (like for the soundfont path button) is not the way to solve this, I think. One approach would be to extend the Browser dialog, to allow an (optional) extra button, with customizable label. When pressed, the browser dialog closes and returns a special code. Well, and we'd use labels like "Use default savepath" or "Reset extrapath", or just always "Use default value".
* <s>There is no way to reset the save/extra/theme paths. Adding a tiny button labeled "c" for clearing them (like for the soundfont path button) is not the way to solve this, I think. One approach would be to extend the Browser dialog, to allow an (optional) extra button, with customizable label. When pressed, the browser dialog closes and returns a special code. Well, and we'd use labels like "Use default savepath" or "Reset extrapath", or just always "Use default value".</s>
* The global options dialog may show a button for configuring the savepath even on systems where it is fixed -> not good. This button should be hidden/removed for these systems
* The global options dialog may show a button for configuring the savepath even on systems where it is fixed -> not good. This button should be hidden/removed for these systems
* separate launcher code even more from rest of ScummVM, to make custom launchers easier?
* separate launcher code even more from rest of ScummVM, to make custom launchers easier?
Line 248: Line 245:
=== [[Cine]] ===
=== [[Cine]] ===
* see [[Cine/TODO|Cine TODO]] list
* see [[Cine/TODO|Cine TODO]] list
=== [[CruisE]] ===
* see [[Cruise/TODO|CruisE TODO]] list


=== [[Drascula]] ===
=== [[Drascula]] ===
Line 263: Line 263:
=== [[Kyra]] ===
=== [[Kyra]] ===
* see [[Kyra/TODO|Kyra TODO]] list
* see [[Kyra/TODO|Kyra TODO]] list
=== [[Lastexpress]] ===
* see [[Lastexpress/TODO|Lastexpress TODO]] list


=== [[MADE]] ===
=== [[MADE]] ===
Line 294: Line 297:
=== [[Tinsel]] ===
=== [[Tinsel]] ===
* see [[Tinsel/TODO|Tinsel TODO]] list
* see [[Tinsel/TODO|Tinsel TODO]] list
=== [[Toon]] ===
* see [[Toon/TODO|Tooon TODO]] list


=== [[Touche]] ===
=== [[Touche]] ===
* see [[Touche/TODO|Touche TODO]] list
* see [[Touche/TODO|Touche TODO]] list
=== [[TsAGE]] ===
* see [[TsAGE/TODO|TsAGE TODO]] list


=== [[Tucker]] ===
=== [[Tucker]] ===
Line 306: Line 315:
* Add API to query backend for a list of available music engines. Useful for Options dialog. See [[Music drivers redesign]].
* Add API to query backend for a list of available music engines. Useful for Options dialog. See [[Music drivers redesign]].
* Right now gBitFormat is part of common/scaler.cpp; we might want to move it to common/system.cpp, or replace it with something better. No hasty changes here, please, make sure you understand how it is used right now before messing with it ;-)
* Right now gBitFormat is part of common/scaler.cpp; we might want to move it to common/system.cpp, or replace it with something better. No hasty changes here, please, make sure you understand how it is used right now before messing with it ;-)
=== Android ===
* Right now, Java files are stored in org/inodes/gus/scummvm corresponding to the Java package org.inodes.gus.scummvm. It would be nice to eventually change this to org.scummvm or maybe org.scummvm.android. However, changing it would affect all installed users (it's an entirely new package as far as Android market is concerned, so no clean upgrades, save games and scummrc will be lost, etc).  Gus intends to think a bit more about what the right tradeoff is. Any input on this matter is welcome.
* Add Android support on Buildbot. This is primarily a matter of getting the right toolchain installed on our buildbot server.
* <s>Get rid of backends/platform/android/scummvm-android-themeengine.patch -- this should not be needed anymore in latest SVN, but somebody should verify that.</s>
* Fix issues with Android 2.x, and get a new release out as soon as possible. Right now various unofficial android versions are floating around, leading to lots of user confusion. This is bad for our reputation, as to an end user the distinction between official and unofficial port is not always clear.


=== SDL backend ===
=== SDL backend ===
* Right now, the WinCE and the Symbian backend subclasses the regular SDL backend. They both overload a lot of methods (mostly the graphics stuff). Since graphics.cpp uses the scalers (e.g. hq3x), these derived backends carry that baggage around, too, even though they don't need that code. Idea: split the SDL backend into two classes, one base class which only has the code which is used by all subclasses; and a "desktop" subclass, which implements the rest. Then WinCE/Symbian would only subclass the "base" SDL class.
* Right now, the WinCE and the Symbian backend subclasses the regular SDL backend. They both overload a lot of methods (mostly the graphics stuff). Since graphics.cpp uses the scalers (e.g. hq3x), these derived backends carry that baggage around, too, even though they don't need that code. Idea: split the SDL backend into two classes, one base class which only has the code which is used by all subclasses; and a "desktop" subclass, which implements the rest. Then WinCE/Symbian would only subclass the "base" SDL class.
* The <tt>kFeatureAutoComputeDirtyRects</tt> feature is not entirely reliable, and perhaps it cannot ever be. It is currently known to cause glitches in [[AGOS/TODO|The Feeble Files]].


=== WinCE backend ===
=== WinCE backend ===
Line 327: Line 329:
=== General ===
=== General ===
* Use doxygen (or something else) to turn the short descs from the README into short man pages AND a single text file (replacing README) and a HTML file...
* Use doxygen (or something else) to turn the short descs from the README into short man pages AND a single text file (replacing README) and a HTML file...


=== GUI ===
=== GUI ===
* One of the GUI assistants pages shows the following text to the user: "Note: Some tools display file picker here, this should perhaps be changed to always be directory output, since often don't want to name the output file." Clearly this should *not* be shown to the user, but rather is something we devs need to address.
* One of the GUI assistants pages shows the following text to the user: "Note: Some tools display file picker here, this should perhaps be changed to always be directory output, since often don't want to name the output file." Clearly this should *not* be shown to the user, but rather is something we devs need to address.
* The last page of the assistant is weird. E.g. after successful run, it shows a "Finish" button in the lower right, and two checkboxes: "Open output folder" and "Process another file". This seems unintuitive and artificial to me. An IMHO better alternative would be to remove the "Finish" button, and instead show some big buttons with captions like "Process another file" (which does just that), "Open output folder", and "Quit". One can probably still do better, somebody should think about this.
* The last page of the assistant is weird. E.g. after successful run, it shows a "Finish" button in the lower right, and two checkboxes: "Open output folder" and "Process another file". This seems unintuitive and artificial to me. An IMHO better alternative would be to remove the "Finish" button, and instead show some big buttons with captions like "Process another file" (which does just that), "Open output folder", and "Quit". One can probably still do better, somebody should think about this.


=== Compression tools ===
=== Compression tools ===
193

edits

Navigation menu