[Scummvm-devel] Adding 'Beneath A Steel Sky' support to ScummVM

Jonathan Gray khalek at linuxgamers.net
Tue Feb 25 15:00:05 CET 2003


On Tue, 25 Feb 2003, Joost Peters wrote:

> Hi there,
>
> As some of you may have already read in the forum or heard elsewhere, I am
> currently rewriting the original source for 'Beneath a Steel Sky' (BASS) in
> (portable) C to produce a multi-platform sky.exe replacement; basically a
> ScummVM for BASS.
>
> Ender convinced me to merge my sources for this project into the ScummVM
> tree as a seperate BASS-module, similar to the way
> Simon is supported...so that's what I want to discuss with this posting.
>
> A small introduction to the project (in it's current form) is at:
> http://0x.7fc1.org/projects/BASS/ (That site will soon be taken down), I
> have currently rewritten about 20% of the original source code.
>
> There are some things I'd like to do prior to merging:
>
> - Clean up the code a bit
> - Remove redundant code (SDL initialisation, etc) that ScummVM already
> provides.
> - Encapsulate all the global var's and internal engine functions in a
> 'BassState'/'BASSState' Class. (it's all C global var's now)
> - Make it fit/work in the ScummVM-framework (duh!)
>
> And when done commit the sources and continue development from there.
> I would appreciate opinions and feedback (suggestions/advice) on this from
> the ScummVM development team.
>
> Also, I hope someone is able to answer the following:
>
> - What are the "rules" (if any) for modules?

Basically you have to inherit from the engine class and provide a method
called go(). You then need to add the relevant bits to gamedetector in
version_settings etc, a module.mk file to specify how to build the code
and a bit to the Makefile.common.
Basically you would create a bass or sky directory in a similiar style to
the scumm and simon directories.

> Is it desired to have as few source files as possible, or is this not really
> relevant?
> For example (referencing the original BASS sources now):
> The RNC-Unpacker "UnpackM1()" function that's in rn_deco.asm is only used in
> disk.asm.
> Would it be preferred if the extra file (rn_deco.c(pp)) would be omitted and
> that the Unpack function would reside in disk.c(pp)? Please reflect on this.

In my opinion the number of source files doesn't really matter so much. I
think having the filenames like those in the asm would be beneficial and
seeing as the asm for rn_deco seems to be about 500 lines or so maybe it
should reside in rn_deco.cpp?

>
> Well, that's it for now..thanks a lot for your time.
>
> Regards,
> Joost
>

If you would like any help with this just ask

Jonathan





More information about the Scummvm-devel mailing list