ScummVM API documentation
Ultima::Ultima8::Kernel Class Reference

Public Member Functions

void reset ()
 
ProcId addProcess (Process *proc, bool dispose=true)
 
ProcId addProcessExec (Process *proc, bool dispose=true)
 
void runProcesses ()
 
ProcessgetProcess (ProcId pid)
 
ProcId assignPID (Process *proc)
 
void setNextProcess (Process *proc)
 
ProcessgetRunningProcess () const
 
uint32 getNumProcesses (ObjId objid, uint16 processtype)
 
ProcessfindProcess (ObjId objid, uint16 processtype)
 find a (any) process of the given objid, processtype
 
void killProcesses (ObjId objid, uint16 processtype, bool fail)
 
void killProcessesNotOfType (ObjId objid, uint16 processtype, bool fail)
 
void killAllProcessesNotOfTypeExcludeCurrent (uint16 processtype, bool fail)
 
ProcessIter getProcessBeginIterator ()
 get an iterator of the process list.
 
ProcessIter getProcessEndIterator ()
 
void kernelStats ()
 
void processTypes ()
 
bool canSave ()
 
void save (Common::WriteStream *ws)
 
bool load (Common::ReadStream *rs, uint32 version)
 
void pause ()
 
void unpause ()
 
bool isPaused () const
 
void setFrameByFrame (bool fbf)
 
bool isFrameByFrame () const
 
void addProcessLoader (Std::string classname, ProcessLoadFunc func)
 
uint32 getFrameNum () const
 
uint32 getTickNum () const
 
 INTRINSIC (I_getNumProcesses)
 
 INTRINSIC (I_resetRef)
 

Static Public Member Functions

static Kernelget_instance ()
 

Static Public Attributes

static const uint32 TICKS_PER_FRAME
 
static const uint32 TICKS_PER_SECOND
 
static const uint32 FRAMES_PER_SECOND
 
static const uint16 PROC_TYPE_ALL
 

Member Function Documentation

◆ addProcessExec()

ProcId Ultima::Ultima8::Kernel::addProcessExec ( Process proc,
bool  dispose = true 
)

add a process and run it immediately

Returns
pid of process

◆ killProcesses()

void Ultima::Ultima8::Kernel::killProcesses ( ObjId  objid,
uint16  processtype,
bool  fail 
)

kill (fail) processes of a certain object and/or of a certain type

Parameters
objidthe object, or 0 for any object (except objid 0)
typethe type, or 6 for any type
failif true, fail the processes instead of terminating them

◆ killProcessesNotOfType()

void Ultima::Ultima8::Kernel::killProcessesNotOfType ( ObjId  objid,
uint16  processtype,
bool  fail 
)

kill (fail) processes of a certain object and not of a certain type

Parameters
objidthe object, or 0 for any object (except objid 0)
typethe type not to kill
failif true, fail the processes instead of terminating them

◆ killAllProcessesNotOfTypeExcludeCurrent()

void Ultima::Ultima8::Kernel::killAllProcessesNotOfTypeExcludeCurrent ( uint16  processtype,
bool  fail 
)

kill (fail) processes not of a certain type, regardless of object ID except for the current running process (for switching levels in Crusader)

Parameters
typethe type not to kill
failif true, fail the processes instead of terminating them

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