ScummVM API documentation
Lilliput::LilliputEngine Class Reference
Inheritance diagram for Lilliput::LilliputEngine:
Engine

Public Member Functions

 LilliputEngine (OSystem *syst, const LilliputGameDescription *gd)
 
uint32 getFeatures () const
 
const char * getGameId () const
 
void newInt8 ()
 
void update ()
 
void display16x16IndexedBuf (byte *buf, int index, Common::Point pos, bool transparent=true, bool updateScreen=true)
 
void display16x16Buf (byte *buf, Common::Point pos, bool transparent=true, bool updateScreen=true)
 
void fill16x16Rect (byte col, Common::Point pos)
 
void saveSurfaceGameArea ()
 
void saveSurfaceSpeech ()
 
void displayInterfaceHotspots ()
 
void displayLandscape ()
 
void displaySpeechBubble ()
 
void displaySpeech (byte *buf)
 
void initGameAreaDisplay ()
 
void displayIsometricBlock (byte *buf, int var1, int posX, int posY, int var3)
 
void displayGameArea ()
 
void prepareGameArea ()
 
void displayRefreshScreen ()
 
void restoreSurfaceSpeech ()
 
void displayCharacterStatBar (int8 type, int16 averagePosX, int8 score, int16 posY)
 
void displayCharacter (int index, Common::Point pos, int flags)
 
void displayString (byte *buf, Common::Point pos)
 
void displayChar (int index, int var1)
 
void displaySmallAnims ()
 
void displaySmallIndexedAnim (byte index, byte subIndex)
 
void unselectInterfaceHotspots ()
 
void startNavigateFromMap ()
 
void resetSmallAnims ()
 
void paletteFadeOut ()
 
void paletteFadeIn ()
 
void sortCharacters ()
 
void scrollToViewportCharacterTarget ()
 
void viewportScrollTo (Common::Point goalPos)
 
void checkSpeechClosing ()
 
void updateCharPosSequence ()
 
void evaluateDirections (int index)
 
byte homeInAvoidDeadEnds (int indexb, int indexs)
 
void signalDispatcher (byte type, byte index, int var4)
 
void sendMessageToCharacter (byte index, int var4)
 
int16 checkEnclosure (Common::Point pos)
 
int16 checkOuterEnclosure (Common::Point pos)
 
byte sequenceSetMobility (int index, Common::Point var1)
 
byte sequenceEnd (int index)
 
void homeInPathFinding (int index)
 
void renderCharacters (byte *buf, Common::Point pos)
 
void checkNumericCode ()
 
void keyboard_handleInterfaceShortcuts (bool &forceReturnFl)
 
byte sequenceCharacterHomeIn (int index, Common::Point param1)
 
byte getDirection (Common::Point param1, Common::Point param2)
 
void addCharToBuf (byte character)
 
void numberToString (int param1)
 
void handleCharacterTimers ()
 
byte sequenceMoveCharacter (int idx, int moveType, int poseType)
 
void setCharacterPose (int idx, int poseIdx)
 
void checkSpecialCubes ()
 
void checkInteractions ()
 
byte sequenceSetCharacterDirection (int index, int direction, int poseType)
 
void handleSignals ()
 
void checkInterfaceActivationDelay ()
 
int16 checkObstacle (int x1, int y1, int x2, int y2)
 
void displayCharactersOnMap ()
 
void restoreMapPoints ()
 
void displayHeroismIndicator ()
 
void handleGameMouseClick ()
 
void handleInterfaceHotspot (byte index, byte button)
 
void checkInterfaceHotspots (bool &forceReturnFl)
 
bool isMouseOverHotspot (Common::Point mousePos, Common::Point hotspotPos)
 
void checkClickOnCharacter (Common::Point pos, bool &forceReturnFl)
 
void checkClickOnGameArea (Common::Point pos)
 
void displaySpeechBubbleTail (Common::Point displayPos)
 
void displaySpeechBubbleTailLine (Common::Point pos, int var2)
 
void displaySpeechLine (int vgaIndex, byte *srcBuf, int &bufIndex)
 
void checkMapClosing (bool &forceReturnFl)
 
void turnCharacter1 (int index)
 
void turnCharacter2 (int index)
 
void moveCharacterUp1 (int index)
 
void moveCharacterUp2 (int index)
 
void moveCharacterDown1 (int index)
 
void moveCharacterDown2 (int index)
 
void moveCharacterSpeed2 (int index)
 
void moveCharacterSpeed4 (int index)
 
void moveCharacterBack2 (int index)
 
void moveCharacterSpeed3 (int index)
 
void moveCharacterForward (int index, int16 speed)
 
void checkCollision (int index, Common::Point pos, int direction)
 
byte sequenceSeekMovingCharacter (int index, Common::Point var1)
 
byte sequenceSound (int index, Common::Point var1)
 
byte sequenceRepeat (int index, Common::Point var1, int tmpVal)
 
void homeInChooseDirection (int index)
 
void initGame (const LilliputGameDescription *gd)
 
byte * loadVGA (const Common::Path &filename, int fileSize, bool loadPal)
 
byte * loadRaw (const Common::Path &filename, int filesize)
 
void loadRules ()
 
void displayVGAFile (const Common::Path &fileName)
 
void initPalette ()
 
void fixPaletteEntries (uint8 *palette, int num)
 
GameType getGameType () const
 
Common::Platform getPlatform () const
 
bool hasFeature (EngineFeature f) const override
 
const char * getCopyrightString () const
 
Common::String getSavegameFilename (int slot)
 
void syncSoundSettings () override
 
void pollEvent ()
 
void setCurrentCharacter (int index)
 
void unselectInterfaceButton ()
 
void moveCharacters ()
 
void setNextDisplayCharacter (int var1)
 
void handleGameScripts ()
 
byte * getCharacterAttributesPtr (int16 index)
 
Common::Event _keyboard_getch ()
 
bool _keyboard_checkKeyboard ()
 
void _keyboard_resetKeyboardBuffer ()
 
- Public Member Functions inherited from Engine
MetaEnginegetMetaEngine () const
 
void setMetaEngine (MetaEngine *metaEngine)
 
PauseToken pauseEngine ()
 
bool isPaused () const
 
void openMainMenuDialog ()
 
uint32 getTotalPlayTime () const
 
void setTotalPlayTime (uint32 time=0)
 
Common::TimerManagergetTimerManager ()
 
Common::EventManagergetEventManager ()
 
Common::SaveFileManagergetSaveFileManager ()
 
bool existExtractedCDAudioFiles (uint track=1)
 
bool isDataAndCDAudioReadFromSameCD ()
 
void warnMissingExtractedCDAudio ()
 
void handleAutoSave ()
 
void saveAutosaveIfEnabled ()
 
virtual bool canSaveAutosaveCurrently ()
 
virtual int getAutosaveSlot () const
 
 Engine (OSystem *syst)
 
virtual ~Engine ()
 
virtual void initializePath (const Common::FSNode &gamePath)
 
virtual void errorString (const char *buf_input, char *buf_output, int buf_output_size)
 
virtual GUI::DebuggergetDebugger () final
 
void setDebugger (GUI::Debugger *debugger)
 
GUI::DebuggergetOrCreateDebugger ()
 
bool enhancementEnabled (int32 cls)
 
virtual void applyGameSettings ()
 
virtual void flipMute ()
 
virtual Common::String getSaveStateName (int slot) const
 
virtual Common::Error loadGameState (int slot)
 
virtual Common::Error loadGameStream (Common::SeekableReadStream *stream)
 
void setGameToLoadSlot (int slot)
 
virtual bool canLoadGameStateCurrently (Common::U32String *msg=nullptr)
 
virtual Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false)
 
virtual Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false)
 
virtual bool canSaveGameStateCurrently (Common::U32String *msg=nullptr)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

OSystem_system
 
Common::RandomSource_rnd
 
LilliputScript_scriptHandler
 
LilliputSound_soundHandler
 
Graphics::Surface_mainSurface
 
SmallAnim _smallAnims [4]
 
int _smallAnimsFrameIndex
 
byte _handleOpcodeReturnCode
 
byte _keyDelay
 
byte _lastAnimationTick
 
byte _animationTick
 
Common::Point _nextDisplayCharacterPos
 
byte _int8Timer
 
Common::Event _lastKeyPressed
 
Common::EventType _lastEventType
 
byte _keyboard_nextIndex
 
byte _keyboard_oldIndex
 
Common::Event _keyboard_buffer [8]
 
byte _byte12A05
 
bool _refreshScreenFlag
 
byte _byte16552
 
int8 _lastInterfaceHotspotIndex
 
byte _lastInterfaceHotspotButton
 
byte _debugFlag
 
byte _debugFlag2
 
byte _codeEntered [3]
 
char _homeInDirLikelyhood [4]
 
byte * _bufferIsoMap
 
byte * _bufferCubegfx
 
byte * _bufferMen
 
byte * _bufferMen2
 
byte * _bufferIsoChars
 
byte * _bufferIdeogram
 
byte * _normalCursor
 
byte * _greenCursor
 
byte _curPalette [768]
 
byte _displayStringBuf [160]
 
bool _saveFlag
 
bool _displayMap
 
int _word10800_ERULES
 
byte _numCharacters
 
Common::Point _currentScriptCharacterPos
 
int _nextCharacterIndex
 
int8 _waitingSignal
 
int8 _waitingSignalCharacterId
 
uint16 _newModesEvaluatedNumber
 
Common::Point _savedSurfaceUnderMousePos
 
bool _displayGreenHand
 
bool _isCursorGreenHand
 
int _currentDisplayCharacter
 
int _displayStringIndex
 
int _signalTimer
 
Common::Point _curCharacterTilePos
 
int16 _mapSavedPixelIndex [40]
 
byte _mapSavedPixel [40]
 
int16 _characterSignals [40]
 
int16 _signalArr [40]
 
int16 _signalArray [30]
 
byte * _sequencesArr
 
int16 _currentScriptCharacter
 
Common::Point _characterPos [40]
 
int8 _characterPosAltitude [40]
 
int16 _characterFrameArray [40]
 
int8 _characterCarried [40]
 
int8 _characterBehindDist [40]
 
byte _characterAboveDist [40]
 
byte _spriteSizeArray [40]
 
byte _characterDirectionArray [40]
 
byte _characterMobility [40]
 
byte _characterTypes [40]
 
byte _characterBehaviour [40]
 
Common::Point _characterHomePos [40]
 
byte _characterVariables [1400+3120]
 
byte * _currentCharacterAttributes
 
byte _poseArray [40 *32]
 
int * _packedStringIndex
 
int _packedStringNumb
 
char * _packedStrings
 
byte * _initScript
 
int _initScriptSize
 
byte * _menuScript
 
int _menuScriptSize
 
int * _arrayGameScriptIndex
 
int _gameScriptIndexSize
 
byte * _arrayGameScripts
 
byte _cubeFlags [60]
 
byte _listNumb
 
int16 * _listIndex
 
byte * _listArr
 
int16 _rectNumb
 
Common::Rect _enclosureRect [40]
 
Common::Point _keyPos [40]
 
Common::Point _portalPos [40]
 
int _interfaceHotspotNumb
 
byte _interfaceTwoStepAction [20]
 
Common::Point _interfaceHotspots [20]
 
Common::KeyCode _keyboardMapping [20]
 
Common::Point _characterTargetPos [40]
 
byte _savedSurfaceUnderMouse [16 *16]
 
byte _charactersToDisplay [40]
 
Common::Point _characterRelativePos [40]
 
Common::Point _characterDisplay [40]
 
int8 _characterMagicPuffFrame [40]
 
Common::Point _characterSubTargetPos [40]
 
byte _specialCubes [40]
 
byte _doorEntranceMask [4]
 
byte _doorExitMask [4]
 
byte _savedSurfaceGameArea1 [176 *256]
 
byte _savedSurfaceGameArea2 [176 *256]
 
byte _savedSurfaceGameArea3 [176 *256]
 
byte _savedSurfaceSpeech [16 *252]
 
const LilliputGameDescription_gameDescription
 
Common::Point _mousePos
 
Common::Point _oldMousePos
 
Common::Point _mouseDisplayPos
 
int _mouseButton
 
bool _mouseClicked
 
Common::EventType _mousePreviousEventType
 
Common::Point _savedMousePosDivided
 
int _skipDisplayFlag1
 
int _skipDisplayFlag2
 
byte _actionType
 
bool _delayedReactivationAction
 
int8 _selectedCharacterId
 
byte _numCharactersToDisplay
 
int16 _host
 
bool _shouldQuit
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Member Functions

Common::Error run () override
 
void handleMenu ()
 
- Protected Member Functions inherited from Engine
virtual int runDialog (GUI::Dialog &dialog)
 
void defaultSyncSoundSettings ()
 
virtual void pauseEngineIntern (bool pause)
 

Protected Attributes

Common::EventManager_eventMan
 
int _lastTime
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 
int32 _activeEnhancements = kEnhGameBreakingBugFixes
 

Additional Inherited Members

- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Static Public Member Functions inherited from Engine
static void quitGame ()
 
static bool shouldQuit ()
 
static bool warnUserAboutUnsupportedGame (Common::String msg=Common::String())
 
static void errorUnsupportedGame (Common::String extraMsg)
 

Member Function Documentation

◆ hasFeature()

bool Lilliput::LilliputEngine::hasFeature ( EngineFeature  f) const
overridevirtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.

◆ syncSoundSettings()

void Lilliput::LilliputEngine::syncSoundSettings ( )
overridevirtual

Notify the engine that the sound settings in the config manager might have changed and that it should adjust any internal volume (and other) values accordingly.

The default implementation sets the volume levels of all mixer sound types according to the config entries of the active domain. When overwriting, call the default implementation first, then adjust the volumes further (if required).

Note
When setting volume levels, respect the "mute" config entry.
The volume for the plain sound type is reset to the maximum volume. If the engine can associate its own value for this type, it needs to overwrite this member and set it accordingly.

Reimplemented from Engine.

◆ run()

Common::Error Lilliput::LilliputEngine::run ( )
overrideprotectedvirtual

Initialize the engine and start its main loop.

Returns
kNoError on success, otherwise an error code.

Implements Engine.


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