Open main menu

Difference between revisions of "SCI/TODO"

1,303 bytes removed ,  22:40, 7 January 2010
cleanup, adding "running tests"
(jones issues from syke)
(cleanup, adding "running tests")
Line 1: Line 1:
* Known games that can be completed
* Known games that can be completed
** Hero's Quest (10/24/2009), Larry 1 (01/01/2010), Larry 5 (10/19/2009), Larry 6 (10/2009), King's Quest 5 (10/18/2009), King's Quest 6 (10/2009), Space Quest 1 VGA (10/21/2009)
** Hero's Quest (10/24/2009), Larry 1 (01/01/2010), Larry 5 (10/19/2009), Larry 6 (10/2009), King's Quest 5 (10/18/2009), King's Quest 6 (10/2009), Space Quest 1 VGA (10/21/2009)
* Currently running tests
** Quest for Glory 1 VGA - [md5], m_kiewitz
** Quest for Glory 2 - syke


* Known bugs
* Known bugs
Line 51: Line 55:
**** Some effects missing, definitely non-implemented kAssertPalette()/kPalVary (example: when destroying lasers on kerona)
**** Some effects missing, definitely non-implemented kAssertPalette()/kPalVary (example: when destroying lasers on kerona)


* Easy
** rename the sfx/ dir to sound/ or audio/ (it doesn't just deal with "sound effects).
** change the many nice existing function documentation comments to use doxygen syntax
** Change #define lists into enums
* Medium
** Convert stuff from "C pseudo classes" to real classes.
** check for places that use char or unsigned char for boolean values, and change those to bool. Even nicer would be to change it to use enum types whose value names express the intention (SearchOptions.RECURSIVE, GraphicsScaleOptions.2X, etc), but just going for bool will already be a big improvement.
** Replace various generic FreeSCI code by their ScummVM counterparts, where it make sense.
** Check old FreeSCI-scummvm branch / repos by Jordi for change that could be salvaged, e.g. the files <code>sfx/device/scumm-midi.cpp</code> and <code>sfx/softseq/scumm-adlib.cpp</code>, and stuff.
* Difficult
** make the SCI tools compilable (to avoid bitrot, while we change code that they depend on), and finally usable again.
** rewrite the YACC parser code in said.y in pure, readable C++, so we don't need YACC/Bison.
* Design problems of the old gui, fixed in the new one (this section will be removed once the new GUI is finished)
** Turn code into templates in gfx/picfill.cpp (now it generates code via #defines)
** use direct drawing instead of using widgets for rendering to be compatible with SSCI
** fix palette glitch on PIC transition (when changing rooms).


* Bugs
* Bugs from freesci, probably some of them are already solved
** Quest for Glory
** Quest for Glory
*** The FileSelector (SCI) class used in the import screens in QfG2 and QfG3 has a 'text' pointer, and 'cursor' and 'lsTop'/'topString' pointers that should point to inside 'text'. However, in FileSelector::readFiles, 'text' is freed and reallocated, causing the other pointers to sometimes become invalid.
*** The FileSelector (SCI) class used in the import screens in QfG2 and QfG3 has a 'text' pointer, and 'cursor' and 'lsTop'/'topString' pointers that should point to inside 'text'. However, in FileSelector::readFiles, 'text' is freed and reallocated, causing the other pointers to sometimes become invalid.
1,119

edits