#include <avatar_mover_process.h>
Public Types | |
enum | MovementFlags { MOVE_MOUSE_DIRECTION = 0x001, MOVE_RUN = 0x0002, MOVE_STEP = 0x0004, MOVE_JUMP = 0x0008, MOVE_TURN_LEFT = 0x0010, MOVE_TURN_RIGHT = 0x0020, MOVE_FORWARD = 0x0040, MOVE_BACK = 0x0080, MOVE_LEFT = 0x0100, MOVE_RIGHT = 0x0200, MOVE_UP = 0x0400, MOVE_DOWN = 0x0800, MOVE_ATTACKING = 0x1000, MOVE_PENDING_TURN_LEFT = 0x2000, MOVE_PENDING_TURN_RIGHT = 0x4000, MOVE_SHORT_JUMP = 0x008000, MOVE_ROLL_LEFT = 0x010000, MOVE_ROLL_RIGHT = 0x020000, MOVE_STEP_LEFT = 0x040000, MOVE_STEP_RIGHT = 0x080000, MOVE_STEP_FORWARD = 0x100000, MOVE_STEP_BACK = 0x200000, MOVE_TOGGLE_CROUCH = 0x400000, MOVE_ANY_DIRECTION = MOVE_MOUSE_DIRECTION | MOVE_FORWARD | MOVE_BACK | MOVE_LEFT | MOVE_RIGHT | MOVE_UP | MOVE_DOWN } |
Public Types inherited from Ultima::Ultima8::Process | |
enum | processflags { PROC_ACTIVE = 0x0001, PROC_SUSPENDED = 0x0002, PROC_TERMINATED = 0x0004, PROC_TERM_DEFERRED = 0x0008, PROC_FAILED = 0x0010, PROC_RUNPAUSED = 0x0020, PROC_TERM_DISPOSE = 0x0040, PROC_PREVENT_SAVE = 0x0080 } |
Public Member Functions | |
void | run () override |
void | resetIdleTime () |
bool | loadData (Common::ReadStream *rs, uint32 version) |
void | saveData (Common::WriteStream *ws) override |
save Process data | |
bool | hasMovementFlags (uint32 flags) const |
void | setMovementFlag (uint32 mask) |
virtual void | clearMovementFlag (uint32 mask) |
void | resetMovementFlags () |
void | onMouseDown (int button, int32 mx, int32 my) |
void | onMouseUp (int button) |
bool | onActionDown (KeybindingAction action) |
bool | onActionUp (KeybindingAction action) |
Public Member Functions inherited from Ultima::Ultima8::Process | |
Process (ObjId _itemNum=0, uint16 type=0) | |
uint32 | getProcessFlags () const |
bool | is_active () const |
bool | is_terminated () const |
bool | is_suspended () const |
void | fail () |
terminate the process and recursively fail all processes waiting for it | |
virtual void | terminate () |
terminate the process. This wakes up all processes waiting for it. | |
void | terminateDeferred () |
terminate next frame | |
void | setRunPaused () |
run even when paused | |
void | waitFor (ProcId pid) |
suspend until process 'pid' returns. If pid is 0, suspend indefinitely | |
void | waitFor (Process *proc) |
suspend until process returns. If proc is 0, suspend indefinitely | |
void | suspend () |
suspend process | |
void | wakeUp (uint32 result) |
Wake up when the process we were waiting for has finished. | |
virtual void | onWakeUp () |
A hook to add aditional behavior on wakeup, before anything else happens. | |
void | setItemNum (ObjId it) |
void | setType (uint16 ty) |
void | setTicksPerRun (uint32 val) |
ProcId | getPid () const |
ObjId | getItemNum () const |
uint16 | getType () const |
uint32 | getTicksPerRun () const |
virtual Common::String | dumpInfo () const |
dump some info about this process to a string | |
bool | loadData (Common::ReadStream *rs, uint32 version) |
load Process data | |
bool | validateWaiters () const |
Protected Attributes | |
uint32 | _lastAttack |
uint32 | _idleTime |
MButton | _mouseButton [2] |
uint32 | _movementFlags |
Protected Attributes inherited from Ultima::Ultima8::Process | |
ProcId | _pid |
process id | |
uint32 | _flags |
uint32 | _ticksPerRun |
ObjId | _itemNum |
item we are assigned to | |
uint16 | _type |
uint32 | _result |
process result | |
Std::vector< ProcId > | _waiting |
Base class for mover processes that decide which animation to do next based on last anim and keyboard / mouse / etc.