TODOs
Logic
- Review logic code for all entities
- Review shared logic functions
- Review chapter logic functions (each chapter uses a set of functions + shared functions)
- Cleanup MACRO usage
Savegame support
- Add support for original savegame format (the game data is compressed, the headers are not)
- Add support for importing existing savegames (the demo uses a savegame to initialize the logic and we have to treat it as a data file)
- Prefix savegame filenames with the game id
Demo support
- Add support in the logic/menu (needs to be initialized to a specific time)
- Add support in entity/actions handling (differences need to be investigated)
- Add support for the promotional slide-show
Inventory support
- Add blinking menu icon
- Fix regression in inventory UI code (in progress)
Graphics
- Add graphic transitions
- Add support for luminosity adjustement
- Add luminosity table
- Check if all graphics are concerned by the luminosity adjustement
- Support adjusting luminosity on the fly in the graphics manager
- Add dirty-rects handling
- Classes implementing Drawable need to return a Common::Rect when drawing. Some need to be updated (they return an empty rect right now).
- The GraphicsManager class needs to be updated to store each surface dirty rects and merge those when doing the update.
- The previous frame dirty rects should also be stored in case we want to be able to redraw everything when getting clear background calls.
- Correct rendering black color for cursors (see magnifier cursor)
- Convert NIS animations to use sound&scene managers
- Fix subtitle debug output on Linux
Combat sequences
Sound
- Rewrite sound timer
-
Implement sound filters
- Implement remaining sound queue/cache logic
- Allow switching of filter function on the fly (can change between playback of each audio sample)
- Add subtitle handling
- Add option to disable subtitles
- Finish implementation of audio queue
- Implement sound looping function (train/steam sounds?)
- Fix improper triggering of actions on sound end (visible when trying to open/knock on doors)
- Rewrite NIS animations to use the audio queue (currently outputs garbage because of filter changes)
Known issues
Feel free to add a short description of your issue. This will help a lot when debugging AI & shared logic code. You can consult the list of characters to help you identify the name of a certain character.
Chapter 1
- Alexei eats way too fast in the restaurant. This also happens with Mertens&Coudert when standing up and several other characters. This seems to be due to a wrong time interval calculation for certain frames.
- Pascale never stops talking to August in the restaurant
- Anna can be seen entering a compartment in the green car (hers is in the red car)
- Verges appears walking when looking at doors
- Characters sometimes get stuck in an animation cycle.
- Mertens can get stuck if he sees you trying to open the wrong compartment door.
- Verges can get stuck at Mertens's seat. Merten was standing up when the conductor was approaching. The conductor never got past him, and Mertens remained standing. Seems to happen if I wait long enough near Mertens's seat.
-
Francois gets stuck outside his compartment, flickering. He is supposed to get out and start running in the corridor.
- Mahmud stays on the corridor after knocking on one of his companions' doors
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Graphical glitches
|
|
To catch this, walk really quickly to the end of the sleeping car. If you don't stop to talk to anyone, you should be able to catch Anna opening the door.
|