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

#include <u8_avatar_mover_process.h>

Inheritance diagram for Ultima::Ultima8::U8AvatarMoverProcess:
Ultima::Ultima8::AvatarMoverProcess Ultima::Ultima8::Process

Public Member Functions

bool loadData (Common::ReadStream *rs, uint32 version)
 
void saveData (Common::WriteStream *ws) override
 save Process data
 
- Public Member Functions inherited from Ultima::Ultima8::AvatarMoverProcess
void run () override
 
void resetIdleTime ()
 
bool loadData (Common::ReadStream *rs, uint32 version)
 
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 Member Functions

void handleHangingMode () override
 
void handleCombatMode () override
 
void handleNormalMode () override
 
bool canAttack ()
 
void step (Animation::Sequence action, Direction direction, bool adjusted=false)
 
void jump (Animation::Sequence action, Direction direction)
 
- Protected Member Functions inherited from Ultima::Ultima8::AvatarMoverProcess
void turnToDirection (Direction direction)
 
bool checkTurn (Direction direction, bool moving)
 
void slowFromRun (Direction direction)
 
void putAwayWeapon (Direction direction)
 
bool standUpIfNeeded (Direction direction)
 
void getMovementFlagAxes (int &x, int &y)
 
Direction getTurnDirForTurnFlags (Direction direction, DirectionMode dirmode)
 

Additional Inherited Members

- Public Types inherited from Ultima::Ultima8::AvatarMoverProcess
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
}
 
- Protected Attributes inherited from Ultima::Ultima8::AvatarMoverProcess
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
 

Detailed Description

Mover process that replicates the feel of U8 - moving, combat, jumps, etc. Tries turning one quarter turn if movement is blocked. Running temporarily stops combat and plays some special movement.


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