Difference between revisions of "User:Fingolfin"

Jump to navigation Jump to search
915 bytes added ,  19:06, 21 June 2007
→‎TODO: Updated my personal TODO list (everybody is welcome to implement ideas listed here)
(Added link to my own homepage)
(→‎TODO: Updated my personal TODO list (everybody is welcome to implement ideas listed here))
Line 10: Line 10:




== TODO ==
=== Web site ===
The following are some TODOs I've been thinking about recently. I might either implement them, or add some of them to the main TODO list. We'll see...
* Add big (green?) shiny buttons in the middle of the page for (1) Donations and (2) Downloads ?
* simplify screenshots: use a single screenshot "database" file, and use meaningful names on the screenshots, maybe even organize them in subdirs


* Web site
=== Savefile manager ===
** Add big (green?) shiny buttons in the middle of the page for (1) Donations and (2) Downloads ?
* get rid of getSavePath -> AFAICT it's only used for enhanced error/warning messages. So let's just finally add a Stream::ioErrorString methor or so, which describes the error that occured
* SaveMan improvements
* at the same time might want to replace ioFailed() with an ioError() method which returns an error code, not just a bool
** get rid of getSavePath -> AFAICT it's only used for enhanced error/warning messages. So let's just finally add a Stream::ioErrorString methor or so, which describes the error that occured
* add a method to remove a savestate  
** at the same time might want to replace ioFailed() with an ioError() method which returns an error code, not just a bool
* properly document listSavefiles
** add a method to remove a savestate  
** properly document listSavefiles
** reimplement DefaultSaveFileManager::listSavefiles
** reimplement DefaultSaveFileManager::listSavefiles
* Clean up file/filesystem handling in our code
 
** several backends #define fopen, fread etc. -- this is bad, try to get rid of these hacks
=== File code ===
** to get rid of all usages of fopen, etc. we could add backends/file and move the current file.cpp to backends/file/stdc (this is just a rough idea, mind you)
* several backends #define fopen, fread etc. -- this is bad, try to get rid of these hacks
** at the same time, finally change File to read-only, and add a DumpFile class, which can be used for script dumps, screenshots etc.; ports can simply provide an "empty" implementations if they don't support dumping large files
* to get rid of all usages of fopen, etc. we could add backends/file and move the current file.cpp to backends/file/stdc (this is just a rough idea, mind you)
** To enforce that no code uses fopen etc. directly, we could add our own #define's to scummsys.h to trigger errors in code doing it
* at the same time, finally change File to read-only, and add a DumpFile class, which can be used for script dumps, screenshots etc.; ports can simply provide an "empty" implementations if they don't support dumping large files
* GUI
* To enforce that no code uses fopen etc. directly, we could add our own #define's to scummsys.h to trigger errors in code doing it
** The options dialog may show a button for configuring the savepath even on systems where it is fixed -> not good
 
=== GUI ===
* The 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
* make a shared "main menu dialog", based on the SCUMM one
** accessible via the same hotkey in all engines
** save/load/help optional
** enhance the current dialog by displaying the engine name at the top, maybe also "ScummVM 0.x.y"
 
=== OSystem ===
* get to rid of the evil global gBitFormat!
* Add getOverlayBitFormat() method, so we can avoid using RGBToColor, colorToRGB, ARGBToColor, colorToARGB in tight loops (it would return a value of 8 to indicate palette mode, otherwise a bitformat value compatible to those used in graphics/colormasks.h)
* Remove slack in OSystem
** move getScreenChangeID functionality to EventManager
** what are these for (and can we remove them)?: screenToOverlayX, screenToOverlayY, overlayToScreenX, overlayToScreenY
** remove getOutputSampleRate -- instead, add a private API to the mixer code to setup the sample rate  (like, a param to the Mixer constructor)


== Wish list ==
== Wish list ==
1,079

edits

Navigation menu