GSOC 2019 Summary

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:

Pull Request

Engine branch

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.

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:

Engine branch

The commits that I made:

Commits