[Scummvm-devel] ScummVM compile options

Eugene Sandulenko sev at scummvm.org
Fri Apr 15 06:31:49 CEST 2005


Hi,

I'd like to bring to discussion idea which have been in my head for
some time. That's optional compilation of some parts of ScummVM
and add granularity to SCUMM engine.

What all of this is about.
It will let us filter out big chunks of code, CPU-intensive parts or
640x480 games for platforms which do not support this resolution.

What will benefit from this.
Low-end platforms like PalmOS, GP32, Amiga (?), whatever. Slow
computers like Sun workstations.

Which parts are in question.
HQ scalers, scalers in general, digital iMUSE, SMUSH, INSANE, HE
games, 640x480 games.

Which are ways to achieve this:
 o Configure options
 o Platform-dependent #defines for some options.

I.e both in code and in Makefiles we will have these defines:

DISABLE_HE  -- disable 640x480 HE games
DISABLE_HQ_SCALERS
DISABLE_SCALERS -- disable all scalers (hq included) except normal2x
    and normal3x 

These will be turned on by configure options
  --disable-he
  --disable-hq-scalers
  --disable-scalers

Here goes questionable part:
Either
  DISABLE_SCUMM_7_8  -- don't build script_v7.cpp script_v8.cpp,
     imuse_digi/*, smush/* and insane/*, which kills ft, dig and comi
Or
  DISABLE_INSANE -- skip it like in pre-INSANE days
  DISABLE_SMUSH -- we will not have cutscenes but we may (?) implement
    subtitles like it is done for sword engines, though I'm not sure
    it will be possible to do
  DISABLE_DIMUSE -- I am not sure will COMI pirates song be playable
    without it at all

Another question is how to define these options. Either do this:

  ./configure --disable-scumm-7-8
  ./configure --disable-insane --disable-dimuse --disable-smush

Or
  Have it specified in platform-specific Makefile and
  platform-specific config.h

So what do you think about this?


Eugene




More information about the Scummvm-devel mailing list