Project description
During GSoC 2019, I was working on adding support for original versions of Red Comrades 1: Save The Galaxy (1998) and Red Comrades 2 : For the Great Justice (1999) games developed by S.K.I.F.
Goals achieved
Red Comrades Engine:
Red Comrades Demo is fully supported.
Red Comrades 1: Save The Galaxy (1998) and Red Comrades 2 : For the Great Justice (1999) are runnable, but are bugged due to no implementation of walking system.
During reversing I have encountered problem with walking system, because it is very large and complex. It uses more than 30 functions. For comparison, the dialog bytecode interpreter uses only 17 functions.
Advantages over original engine:
- Low CPU usage. The original engine doesn’t have delay after each frame despite the fact that dirty rectangles are implemented in it.
- All advantages which ScummVm offers(scaling, cross-platform, etc)
ScummVM’s library:
During GSOC I have improved INI reader class in ScummVM.
-
COMMON: added support for reading ini files with different 8bit encodings
-
COMMON: fixed reading ini files which have not value for key
-
COMMON: fixed reading ini files with section containing more than one word
Future work
- Make games fully playable
- Maintain Red Comrades engine during its testing period
- Add another engine to ScummVM
Code
The code for Red Comrades Engine is in the repo:
The commits that I made: