ScummVM API documentation
Sci::GameFeatures Class Reference

Public Member Functions

 GameFeatures (SegManager *segMan, Kernel *kernel)
 
SciVersion detectDoSoundType ()
 
SciVersion detectSetCursorType ()
 
SciVersion detectLofsType ()
 
SciVersion detectGfxFunctionsType ()
 
SciVersion detectMessageFunctionType ()
 
bool supportsSpeechWithSubtitles () const
 
bool supportsTextSpeed () const
 
bool audioVolumeSyncUsesGlobals () const
 
MessageTypeSyncStrategy getMessageTypeSyncStrategy () const
 
bool usesOldGfxFunctions ()
 
MoveCountType detectMoveCountType ()
 
int detectPlaneIdBase ()
 
bool handleMoveCount ()
 
bool usesCdTrack ()
 
bool useAltWinGMSound ()
 
bool generalMidiOnly ()
 
void forceDOSTracks ()
 
bool useWindowsCursors ()
 
PseudoMouseAbilityType detectPseudoMouseAbility ()
 
bool useAudioPopfix () const
 
bool useEarlyGetLongestTextCalculations () const
 
bool hasScriptObjectNames () const
 
bool canSaveFromGMM () const
 
uint16 getGameFlagsGlobal () const
 
bool isGameFlagBitOrderNormal () const
 

Member Function Documentation

◆ detectDoSoundType()

SciVersion Sci::GameFeatures::detectDoSoundType ( )

Autodetects the DoSound type

Returns
DoSound type, SCI_VERSION_0_EARLY / SCI_VERSION_0_LATE / SCI_VERSION_1_EARLY / SCI_VERSION_1_LATE

◆ detectSetCursorType()

SciVersion Sci::GameFeatures::detectSetCursorType ( )

Autodetects the SetCursor type

Returns
SetCursor type, SCI_VERSION_0_EARLY / SCI_VERSION_1_1

◆ detectLofsType()

SciVersion Sci::GameFeatures::detectLofsType ( )

Autodetects the Lofs type

Returns
Lofs type, SCI_VERSION_0_EARLY / SCI_VERSION_1_MIDDLE / SCI_VERSION_1_1 / SCI_VERSION_3

◆ detectGfxFunctionsType()

SciVersion Sci::GameFeatures::detectGfxFunctionsType ( )

Autodetects the graphics functions used

Returns
Graphics functions type, SCI_VERSION_0_EARLY / SCI_VERSION_0_LATE

◆ detectMessageFunctionType()

SciVersion Sci::GameFeatures::detectMessageFunctionType ( )

Autodetects the message function used

Returns
Message function type, SCI_VERSION_1_LATE / SCI_VERSION_1_1

◆ supportsSpeechWithSubtitles()

bool Sci::GameFeatures::supportsSpeechWithSubtitles ( ) const

If true, the current game supports simultaneous speech & subtitles.

◆ supportsTextSpeed()

bool Sci::GameFeatures::supportsTextSpeed ( ) const
inline

If true, the game supports changing text speed.

◆ audioVolumeSyncUsesGlobals()

bool Sci::GameFeatures::audioVolumeSyncUsesGlobals ( ) const

If true, audio volume sync between the game and ScummVM is done by monitoring and setting game global variables.

◆ getMessageTypeSyncStrategy()

MessageTypeSyncStrategy Sci::GameFeatures::getMessageTypeSyncStrategy ( ) const

The strategy that should be used when synchronising the message type (text/speech/text+speech) between the game and ScummVM.

◆ usesOldGfxFunctions()

bool Sci::GameFeatures::usesOldGfxFunctions ( )
inline

Applies to all versions before 0.000.502 Old SCI versions used to interpret the third DrawPic() parameter inversely, with the opposite default value (obviously). Also, they used 15 priority zones from 42 to 200 instead of 14 priority zones from 42 to 190.

◆ detectMoveCountType()

MoveCountType Sci::GameFeatures::detectMoveCountType ( )

Autodetects the Bresenham routine used in the actor movement functions

Returns
Move count type, kIncrementMoveCnt / kIgnoreMoveCnt

◆ useAltWinGMSound()

bool Sci::GameFeatures::useAltWinGMSound ( )

Checks if the alternative Windows GM MIDI soundtrack should be used. Such soundtracks are available for the Windows CD versions of EcoQuest, Jones, KQ5 and SQ4.

◆ generalMidiOnly()

bool Sci::GameFeatures::generalMidiOnly ( )

Checks if the game only supports General MIDI for music playback.

◆ forceDOSTracks()

void Sci::GameFeatures::forceDOSTracks ( )
inline

Forces DOS soundtracks in Windows CD versions when the user hasn't selected a MIDI output device

◆ detectPseudoMouseAbility()

PseudoMouseAbilityType Sci::GameFeatures::detectPseudoMouseAbility ( )

Autodetects, if Pseudo Mouse ability is enabled (different behavior in keyboard driver)

Returns
kPseudoMouseAbilityTrue or kPseudoMouseAbilityFalse

◆ hasScriptObjectNames()

bool Sci::GameFeatures::hasScriptObjectNames ( ) const

Several SCI1.1 Macintosh games have empty strings for almost all of the object names in the script resources.

Returns
true if the game's object names aren't empty strings.

◆ canSaveFromGMM()

bool Sci::GameFeatures::canSaveFromGMM ( ) const

Returns if the game can be saved via the GMM. Saving via the GMM doesn't work as expected in games which don't follow the normal saving scheme.

◆ getGameFlagsGlobal()

uint16 Sci::GameFeatures::getGameFlagsGlobal ( ) const

Returns the global variable index to the start of the game's global flags array. This is used by the console debugger.

Returns
Non-zero index if successful, otherwise zero.

◆ isGameFlagBitOrderNormal()

bool Sci::GameFeatures::isGameFlagBitOrderNormal ( ) const

Returns the bit order in which game flags are stored.

Returns
true if bit order is normal or false if reversed.

The documentation for this class was generated from the following file: