Difference between revisions of "TODO"

Jump to navigation Jump to search
1,516 bytes removed ,  10:14, 8 July 2018
(→‎General: update auto-detect idea)
(5 intermediate revisions by 3 users not shown)
Line 23: Line 23:
* Add port specific user documentation (dreamcast/palm especially). That would include things like:
* Add port specific user documentation (dreamcast/palm especially). That would include things like:
** How to use ScummVM on system XYZ
** How to use ScummVM on system XYZ
** Which Palm / WinCE devices will run ScummVM, which definitely will not run it (or with which limitations)?
* Update/enhance man page
* Update/enhance man page
* Write a high level overview of how ScummVM and its engines work?
* Write a high level overview of how ScummVM and its engines work?
Line 39: Line 38:


== Web sites ==
== Web sites ==
=== General ===
* Move all sites to the new host
* Update outdated software
* Use HTTPS everywhere
* Make a consistent and reusable visual look across all sub-sites


=== Primary website ===
=== Primary website ===
* Add big (green?) shiny buttons in the middle of the page for (1) Donations and (2) Downloads ?
* Add big (green?) shiny buttons in the middle of the page for (1) Donations and (2) Downloads ?
* Show "Release Date" on download page
* Show "Release Date" on download page
* Use Javascript to improve the downloads page, by only showing the most important ports/downloads by default, and then uncovering the rest upon a click by the user (with gracious fallback if Javascript is disabled). A first draft of something like this can be seen on http://fredrik_w.users.sourceforge.net/downloads/
* Change all screenshot filenames to match our rules as described [[Screenshots|here]]. E.g. rename <code>data/screenshots/agos/simon/scummvm_2_4_0.jpg</code> to <code>data/screenshots/agos/simon/simon-0.jpg</code> etc.; also some stuff should maybe be moved to other directories.
* Change all screenshot filenames to match our rules as described [[Screenshots|here]]. E.g. rename <code>data/screenshots/agos/simon/scummvm_2_4_0.jpg</code> to <code>data/screenshots/agos/simon/simon-0.jpg</code> etc.; also some stuff should maybe be moved to other directories.
* Introduce build tools to handle website updates
* Update the template engine


=== [[Buildbot]] ===
=== [[Buildbot]] ===
Line 54: Line 60:
* Install the new required dependencies (libpng and libtheora for [[Sword25]]) into the cross compiler environments of all ports that have a chance of supporting [[Sword25]].
* Install the new required dependencies (libpng and libtheora for [[Sword25]]) into the cross compiler environments of all ports that have a chance of supporting [[Sword25]].
* Install the new required dependencies (libpng, libfreetype, boost and wx-widgets) into the cross compiler environments of all desktop ports to support building of tools.
* Install the new required dependencies (libpng, libfreetype, boost and wx-widgets) into the cross compiler environments of all desktop ports to support building of tools.
* Fix the console page


=== [[Doxygen]] ===
=== [[Doxygen]] ===
* <s>Create a visual theme which matches that of our forum and website</s>
* Update the visual theme to better match the site


=== [[Forums]] ===
=== [[Forums]] ===
* Upgrade to phpBB 3. This receives security updated, and would provide many new handy features for users and admins alike. The main issue here is that somebody would have to rewrite our custom theme for that. Maybe we can hire somebody to do this?
* Upgrade to phpBB 3
* Update the theme to phpBB3


=== [[Planet]] ===
=== [[Planet]] ===
Line 65: Line 73:


=== [[Wiki]] ===
=== [[Wiki]] ===
* <s>Create a visual theme which matches that of our forum and website</s>
* Update the theme to match the updated website
* Update to the latest Wiki version
* Add a ScummVM style guide
* 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 77: Line 87:
     ./scummvm --add new_target --path=/foo monkey2
     ./scummvm --add new_target --path=/foo monkey2
     ./scummvm --remove new_target
     ./scummvm --remove new_target
* Maybe allow launching games even if no target is specified? I.e. the user only has to specify a path (or run ScummVM from the right directory), and ScummVM auto-detects the game in that location
    ./scummvm --path=/path/to/game/files --auto-detect
Such a --auto-detect command has already been added, but currently it only prints the list of detected games to the standard output and does not start them.
* The following things should be put into namespaces:
* The following things should be put into namespaces:
** MIDI related classes either to Audio, or a new "MIDI" namespace
** MIDI related classes either to Audio, or a new "MIDI" namespace
** backend specific stuff into ??? (maybe new namespace "Backends" ?)  not sure about this one.
** backend specific stuff into ??? (maybe new namespace "Backends" ?)  not sure about this one.
* Get rid of getenv in as many places as possible. Ideally, we'd only use it to query HOME on Unix systems.
* Get rid of getenv in as many places as possible. Ideally, we'd only use it to query HOME on Unix systems.
==== Algorithm / String ====
* Implement a std::replace like function in common/algorithm.h http://en.cppreference.com/w/cpp/algorithm/replace
* Implement String::replace in Common::String http://en.cppreference.com/w/cpp/string/basic_string/replace
==== Iterator handling ====
* Implement proper reverse_iterators for Common::List. Our current implementation is the same as forward iterators, just that rbegin will return the last element instead of the first and there is no rend. Check [http://www.sgi.com/tech/stl/ReverseIterator.html SGI Documentation] for proper description of revese_iterator in the STL.


=== Events ===
=== Events ===
Line 314: Line 314:
=== 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.
=== WinCE backend ===
* Improve the code in <code>backends/platform/wince/CEScaler.cpp</code>, it could be a lot faster with some simple changes.


=== Windows ===
=== Windows ===

Navigation menu