ScummVM API documentation
Illusions::IllusionsEngine_Duckman Class Reference
Inheritance diagram for Illusions::IllusionsEngine_Duckman:
Illusions::IllusionsEngine Engine

Public Member Functions

 IllusionsEngine_Duckman (OSystem *syst, const IllusionsGameDescription *gd)
 
void initInput ()
 
void initUpdateFunctions ()
 
int updateScript (uint flags)
 
void startScreenShaker (uint pointsCount, uint32 duration, const ScreenShakerPoint *points, uint32 threadId)
 
void stopScreenShaker ()
 
int updateScreenShaker (uint flags)
 
void startFader (int duration, int minValue, int maxValue, int firstIndex, int lastIndex, uint32 threadId)
 
void updateFader () override
 
void clearFader () override
 
void pauseFader () override
 
void unpauseFader () override
 
int updateVideoPlayer (uint flags)
 
void playVideo (uint32 videoId, uint32 callingThreadId)
 
bool isVideoPlaying () override
 
void setDefaultTextCoords () override
 
void loadSpecialCode (uint32 resId) override
 
void unloadSpecialCode (uint32 resId) override
 
void notifyThreadId (uint32 &threadId) override
 
bool testMainActorFastWalk (Control *control) override
 
bool testMainActorCollision (Control *control) override
 
ControlgetObjectControl (uint32 objectId) override
 
Common::Point getNamedPointPosition (uint32 namedPointId) override
 
uint32 getPriorityFromBase (int16 priority) override
 
uint32 getCurrentScene () override
 
uint32 getPrevScene () override
 
bool isCursorObject (uint32 actorTypeId, uint32 objectId) override
 
void setCursorControlRoutine (Control *control) override
 
void placeCursorControl (Control *control, uint32 sequenceId) override
 
void setCursorControl (Control *control) override
 
void showCursor () override
 
void hideCursor () override
 
void initCursor ()
 
void setCursorActorIndex (int actorIndex, int a, int b)
 
void enableCursorVerb (int verbNum)
 
void disableCursorVerb (int verbNum)
 
void setCursorHandMode (int mode)
 
void setCursorInventoryMode (int mode, int value)
 
void startCursorHoldingObject (uint32 objectId, uint32 sequenceId)
 
void stopCursorHoldingObject ()
 
void cursorControlRoutine (Control *control, uint32 deltaTime)
 
void startScriptThreadSimple (uint32 threadId, uint32 callingThreadId) override
 
void startScriptThread (uint32 threadId, uint32 callingThreadId)
 
void startScriptThread2 (uint32 threadId, uint32 callingThreadId, uint32 unk)
 
uint32 startAbortableTimerThread (uint32 duration, uint32 threadId)
 
uint32 startTimerThread (uint32 duration, uint32 threadId)
 
uint32 startAbortableThread (byte *scriptCodeIp1, byte *scriptCodeIp2, uint32 callingThreadId)
 
uint32 startTalkThread (uint32 objectId, uint32 talkId, uint32 sequenceId1, uint32 sequenceId2, uint32 callingThreadId)
 
uint32 startTempScriptThread (byte *scriptCodeIp, uint32 callingThreadId, uint32 value8, uint32 valueC, uint32 value10) override
 
void resumeFromSavegame (uint32 callingThreadId)
 
void newScriptThread (uint32 threadId, uint32 callingThreadId, uint notifyFlags, byte *scriptCodeIp)
 
uint32 newTimerThread (uint32 duration, uint32 callingThreadId, bool isAbortable)
 
uint32 newTempThreadId ()
 
void initActiveScenes ()
 
void pushActiveScene (uint32 sceneId)
 
void popActiveScene ()
 
bool loadScene (uint32 sceneId)
 
bool enterScene (uint32 sceneId, uint32 threadId)
 
void exitScene ()
 
bool changeScene (uint32 sceneId, uint32 threadId, uint32 callerThreadId)
 
void enterPause (uint32 sceneId, uint32 threadId)
 
void leavePause (uint32 sceneId, uint32 threadId)
 
void dumpActiveScenes (uint32 sceneId, uint32 threadId)
 
void dumpCurrSceneFiles (uint32 sceneId, uint32 threadId)
 
void pause (uint32 callerThreadId)
 
void unpause (uint32 callerThreadId)
 
void setSceneIdThreadId (uint32 theSceneId, uint32 theThreadId)
 
bool findTriggerCause (uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId, uint32 &codeOffs)
 
void reset ()
 
uint32 getObjectActorTypeId (uint32 objectId)
 
Common::Point convertMousePos (Common::Point mousePos)
 
void startCursorSequence ()
 
int getCursorActorIndex ()
 
void updateGameState2 ()
 
void playSoundEffect (int index)
 
bool getTriggerCause (uint32 verbId, uint32 objectId2, uint32 objectId, uint32 &outThreadId)
 
uint32 runTriggerCause (uint32 verbId, uint32 objectId2, uint32 objectId)
 
void playTriggerCauseSound (uint32 verbId, uint32 objectId2, uint32 objectId)
 
bool loadSavegameFromScript (int16 slotNum, uint32 callingThreadId)
 
bool saveSavegameFromScript (int16 slotNum, uint32 callingThreadId)
 
void activateSavegame (uint32 callingThreadId)
 
- Public Member Functions inherited from Illusions::IllusionsEngine
 IllusionsEngine (OSystem *syst, const IllusionsGameDescription *gd)
 
const Common::String getTargetName ()
 
void updateEvents ()
 
int getGameId () const
 
Common::Language getGameLanguage () const
 
void runUpdateFunctions ()
 
int updateActors (uint flags)
 
int updateSequences (uint flags)
 
int updateGraphics (uint flags)
 
int updateSoundMan (uint flags)
 
int updateSprites (uint flags)
 
uint32 getElapsedUpdateTime ()
 
Common::PointgetObjectActorPositionPtr (uint32 objectId)
 
int getRandom (int max)
 
int convertPanXCoord (int16 x)
 
bool calcPointDirection (Common::Point &srcPt, Common::Point &dstPt, uint &facing)
 
bool isSoundActive ()
 
void setCurrFontId (uint32 fontId)
 
bool checkActiveTalkThreads ()
 
void setTextDuration (int kind, uint32 duration)
 
uint32 clipTextDuration (uint32 duration)
 
void getDefaultTextDimensions (WidthHeight &dimensions)
 
void setDefaultTextDimensions (WidthHeight &dimensions)
 
void getDefaultTextPosition (Common::Point &position)
 
void setDefaultTextPosition (Common::Point &position)
 
uint16 getSubtitleDuration ()
 
void setSubtitleDuration (uint16 duration)
 
FramesListfindActorSequenceFrames (Sequence *sequence)
 
bool canLoadGameStateCurrently (Common::U32String *msg=nullptr) override
 
bool canSaveGameStateCurrently (Common::U32String *msg=nullptr) override
 
Common::Error loadGameState (int slot) override
 
Common::Error saveGameState (int slot, const Common::String &desc, bool isAutosave=false) override
 
Common::Error removeGameState (int slot)
 
bool savegame (const char *filename, const char *description)
 
bool loadgame (const char *filename)
 
bool existsSavegame (int num)
 
- 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 syncSoundSettings ()
 
virtual void applyGameSettings ()
 
virtual void flipMute ()
 
virtual Common::String getSaveStateName (int slot) const
 
virtual Common::Error loadGameStream (Common::SeekableReadStream *stream)
 
void setGameToLoadSlot (int slot)
 
virtual Common::Error saveGameStream (Common::WriteStream *stream, bool isAutosave=false)
 
bool saveGameDialog ()
 
bool loadGameDialog ()
 

Public Attributes

uint32 _prevSceneId
 
uint32 _theSceneId
 
uint32 _theThreadId
 
uint32 _globalSceneId
 
uint _activeScenesCount
 
uint32 _activeScenes [6]
 
Cursor_Duckman _cursor
 
Control_currWalkOverlappedControl
 
DuckmanDialogSystem_dialogSys
 
int _savedInventoryActorIndex
 
ScreenShaker_screenShaker
 
DuckmanMenuSystem_menuSystem
 
DuckmanVideoPlayer_videoPlayer
 
- Public Attributes inherited from Illusions::IllusionsEngine
Common::RandomSource_random
 
Dictionary_dict
 
ResourceSystem_resSys
 
BaseResourceReader_resReader
 
UpdateFunctions_updateFunctions
 
GameState_gameState
 
Screen_screen
 
ScreenPaletteBase_screenPalette
 
ScreenText_screenText
 
Input_input
 
ActorInstanceList_actorInstances
 
BackgroundInstanceList_backgroundInstances
 
Camera_camera
 
Controls_controls
 
TalkInstanceList_talkItems
 
ScriptOpcodes_scriptOpcodes
 
SpecialCode_specialCode
 
ThreadList_threads
 
SoundMan_soundMan
 
uint32 _nextTempThreadId
 
bool _doScriptThreadInit
 
ScriptStack_stack
 
ScriptResource_scriptResource
 
bool _rerunThreads
 
Fader_fader
 
int _pauseCtr
 
int _resGetCtr
 
uint32 _resGetTime
 
bool _unpauseControlActorFlag
 
uint32 _lastUpdateTime
 
int _resumeFromSavegameRequested
 
int _savegameSlotNum
 
Common::String _savegameDescription
 
uint32 _savegameSceneId
 
uint32 _savegameThreadId
 
uint32 _fontId
 
int _field8
 
uint32 _fieldA
 
uint32 _subtitleDuration
 
WidthHeight _defaultTextDimensions
 
Common::Point _defaultTextPosition
 
int16 _menuChoiceOfs
 
bool _isSaveAllowed
 
- Public Attributes inherited from Engine
OSystem_system
 
Audio::Mixer_mixer
 

Protected Member Functions

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

Additional Inherited Members

- Public Types inherited from Illusions::IllusionsEngine
enum  kReadSaveHeaderError { kRSHENoError = 0, kRSHEInvalidType = 1, kRSHEInvalidVersion = 2, kRSHEIoError = 3 }
 
- Public Types inherited from Engine
enum  EngineFeature {
  kSupportsSubtitleOptions, kSupportsReturnToLauncher, kSupportsLoadingDuringRuntime, kSupportsSavingDuringRuntime,
  kSupportsChangingOptionsDuringRuntime, kSupportsArbitraryResolutions, kSupportsHelp, kSupportsQuitDialogOverride
}
 
- Static Public Member Functions inherited from Illusions::IllusionsEngine
static Common::String getSavegameFilename (const Common::String &target, int num)
 
static kReadSaveHeaderError readSaveHeader (Common::SeekableReadStream *in, SaveHeader &header, bool skipThumbnail=true)
 
- 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)
 
- Protected Attributes inherited from Engine
Common::TimerManager_timer
 
Common::EventManager_eventMan
 
Common::SaveFileManager_saveFileMan
 
GUI::Dialog_mainMenuDialog
 
const Common::String _targetName
 
int32 _activeEnhancements = kEnhGameBreakingBugFixes
 

Member Function Documentation

◆ run()

Common::Error Illusions::IllusionsEngine_Duckman::run ( )
overrideprotectedvirtual

Initialize the engine and start its main loop.

Returns
kNoError on success, otherwise an error code.

Implements Engine.

◆ hasFeature()

bool Illusions::IllusionsEngine_Duckman::hasFeature ( EngineFeature  f) const
overrideprotectedvirtual

Determine whether the engine supports the specified feature.

Reimplemented from Engine.


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