OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
Pose Class Referencefinal

#include <pose.h>

Public Types

enum  Flags { NoFlags = 0 , NoTranslation = 1 }
 
enum  StartHint : uint8_t { NoHint = 0x0 , Force = 0x1 }
 

Public Member Functions

 Pose ()
 
void save (Serialize &fout)
 
void load (Serialize &fin, const AnimationSolver &solver)
 
void setFlags (Flags f)
 
BodyState bodyState () const
 
bool hasState (BodyState s) const
 
bool hasStateFlag (BodyState f) const
 
void setSkeleton (const Skeleton *sk)
 
bool startAnim (const AnimationSolver &solver, const Animation::Sequence *sq, uint8_t comb, BodyState bs, StartHint hint, uint64_t tickCount)
 
bool stopAnim (std::string_view name)
 
bool stopWalkAnim ()
 
void interrupt ()
 
void stopAllAnim ()
 
void setObjectMatrix (const Tempest::Matrix4x4 &obj, bool sync)
 
bool update (uint64_t tickCount, bool force)
 
void processLayers (AnimationSolver &solver, uint64_t tickCount)
 
bool processEvents (uint64_t &barrier, uint64_t now, Animation::EvCount &ev) const
 
Tempest::Vec3 animMoveSpeed (uint64_t tickCount, uint64_t dt) const
 
void processSfx (Npc &npc, uint64_t tickCount)
 
void processSfx (Interactive &mob, uint64_t tickCount)
 
void processPfx (MdlVisual &visual, World &world, uint64_t tickCount)
 
bool isDefParWindow (uint64_t tickCount) const
 
bool isDefWindow (uint64_t tickCount) const
 
bool isDefence (uint64_t tickCount) const
 
bool isJumpBack (uint64_t tickCount) const
 
bool isJumpAnim () const
 
bool isFlyAnim () const
 
bool isStanding () const
 
bool isPrehit (uint64_t now) const
 
bool isAttackAnim () const
 
bool isIdle () const
 
bool isInAnim (std::string_view sq) const
 
bool isInAnim (const Animation::Sequence *sq) const
 
bool hasAnim () const
 
uint64_t animationTotalTime () const
 
uint64_t atkTotalTime () const
 
auto continueCombo (const AnimationSolver &solver, const Animation::Sequence *sq, BodyState bs, uint64_t tickCount) -> const Animation::Sequence *
 
uint16_t comboLength () const
 
float translateY () const
 
auto rootNode () const -> const Tempest::Matrix4x4
 
auto rootBone () const -> const Tempest::Matrix4x4
 
auto bone (size_t id) const -> const Tempest::Matrix4x4 &
 
size_t boneCount () const
 
size_t findNode (std::string_view b) const
 
void setHeadRotation (float dx, float dz)
 
Tempest::Vec2 headRotation () const
 
void setAnimRotate (const AnimationSolver &solver, Npc &npc, WeaponState fightMode, AnimationSolver::TurnType turn, int dir)
 
auto setAnimItem (const AnimationSolver &solver, Npc &npc, std::string_view scheme, int state) -> const Animation::Sequence *
 
bool stopItemStateAnim (const AnimationSolver &solver, uint64_t tickCount)
 
const Tempest::Matrix4x4 * transform () const
 

Static Public Member Functions

static uint8_t calcAniComb (const Tempest::Vec3 &dpos, float rotation)
 
static uint8_t calcAniCombVert (const Tempest::Vec3 &dpos)
 

Detailed Description

Definition at line 16 of file pose.h.

Member Enumeration Documentation

◆ Flags

Enumerator
NoFlags 
NoTranslation 

Definition at line 20 of file pose.h.

◆ StartHint

enum Pose::StartHint : uint8_t
Enumerator
NoHint 
Force 

Definition at line 25 of file pose.h.

Constructor & Destructor Documentation

◆ Pose()

Pose::Pose ( )

Definition at line 16 of file pose.cpp.

Member Function Documentation

◆ animationTotalTime()

uint64_t Pose::animationTotalTime ( ) const

Definition at line 709 of file pose.cpp.

◆ animMoveSpeed()

Tempest::Vec3 Pose::animMoveSpeed ( uint64_t  tickCount,
uint64_t  dt 
) const

Definition at line 598 of file pose.cpp.

◆ atkTotalTime()

uint64_t Pose::atkTotalTime ( ) const

Definition at line 716 of file pose.cpp.

◆ bodyState()

BodyState Pose::bodyState ( ) const

Definition at line 117 of file pose.cpp.

◆ bone()

const Tempest::Matrix4x4 & Pose::bone ( size_t  id) const -> const Tempest::Matrix4x4&

Definition at line 804 of file pose.cpp.

◆ boneCount()

size_t Pose::boneCount ( ) const

Definition at line 808 of file pose.cpp.

◆ calcAniComb()

uint8_t Pose::calcAniComb ( const Tempest::Vec3 &  dpos,
float  rotation 
)
static

Definition at line 20 of file pose.cpp.

◆ calcAniCombVert()

uint8_t Pose::calcAniCombVert ( const Tempest::Vec3 &  dpos)
static

Definition at line 34 of file pose.cpp.

◆ comboLength()

uint16_t Pose::comboLength ( ) const

Definition at line 785 of file pose.cpp.

◆ continueCombo()

const Animation::Sequence * Pose::continueCombo ( const AnimationSolver solver,
const Animation::Sequence sq,
BodyState  bs,
uint64_t  tickCount 
) -> const Animation::Sequence*

Definition at line 724 of file pose.cpp.

◆ findNode()

size_t Pose::findNode ( std::string_view  b) const

Definition at line 812 of file pose.cpp.

◆ hasAnim()

bool Pose::hasAnim ( ) const

Definition at line 705 of file pose.cpp.

◆ hasState()

bool Pose::hasState ( BodyState  s) const

Definition at line 124 of file pose.cpp.

◆ hasStateFlag()

bool Pose::hasStateFlag ( BodyState  f) const

Definition at line 131 of file pose.cpp.

◆ headRotation()

Vec2 Pose::headRotation ( ) const

Definition at line 823 of file pose.cpp.

◆ interrupt()

void Pose::interrupt ( )

Definition at line 250 of file pose.cpp.

◆ isAttackAnim()

bool Pose::isAttackAnim ( ) const

Definition at line 677 of file pose.cpp.

◆ isDefence()

bool Pose::isDefence ( uint64_t  tickCount) const

Definition at line 623 of file pose.cpp.

◆ isDefParWindow()

bool Pose::isDefParWindow ( uint64_t  tickCount) const

Definition at line 609 of file pose.cpp.

◆ isDefWindow()

bool Pose::isDefWindow ( uint64_t  tickCount) const

Definition at line 616 of file pose.cpp.

◆ isFlyAnim()

bool Pose::isFlyAnim ( ) const

Definition at line 650 of file pose.cpp.

◆ isIdle()

bool Pose::isIdle ( ) const

Definition at line 684 of file pose.cpp.

◆ isInAnim() [1/2]

bool Pose::isInAnim ( const Animation::Sequence sq) const

Definition at line 698 of file pose.cpp.

◆ isInAnim() [2/2]

bool Pose::isInAnim ( std::string_view  sq) const

Definition at line 691 of file pose.cpp.

◆ isJumpAnim()

bool Pose::isJumpAnim ( ) const

Definition at line 641 of file pose.cpp.

◆ isJumpBack()

bool Pose::isJumpBack ( uint64_t  tickCount) const

Definition at line 631 of file pose.cpp.

◆ isPrehit()

bool Pose::isPrehit ( uint64_t  now) const

Definition at line 670 of file pose.cpp.

◆ isStanding()

bool Pose::isStanding ( ) const

Definition at line 654 of file pose.cpp.

◆ load()

void Pose::load ( Serialize fin,
const AnimationSolver solver 
)

Definition at line 70 of file pose.cpp.

◆ processEvents()

bool Pose::processEvents ( uint64_t &  barrier,
uint64_t  now,
Animation::EvCount ev 
) const

Definition at line 577 of file pose.cpp.

◆ processLayers()

void Pose::processLayers ( AnimationSolver solver,
uint64_t  tickCount 
)

Definition at line 270 of file pose.cpp.

◆ processPfx()

void Pose::processPfx ( MdlVisual visual,
World world,
uint64_t  tickCount 
)

Definition at line 572 of file pose.cpp.

◆ processSfx() [1/2]

void Pose::processSfx ( Interactive mob,
uint64_t  tickCount 
)

Definition at line 567 of file pose.cpp.

◆ processSfx() [2/2]

void Pose::processSfx ( Npc npc,
uint64_t  tickCount 
)

Definition at line 562 of file pose.cpp.

◆ rootBone()

const Matrix4x4 Pose::rootBone ( ) const -> const Tempest::Matrix4x4

Definition at line 797 of file pose.cpp.

◆ rootNode()

const Tempest::Matrix4x4 Pose::rootNode ( ) const -> const Tempest::Matrix4x4

Definition at line 789 of file pose.cpp.

◆ save()

void Pose::save ( Serialize fout)

Definition at line 48 of file pose.cpp.

◆ setAnimItem()

const Animation::Sequence * Pose::setAnimItem ( const AnimationSolver solver,
Npc npc,
std::string_view  scheme,
int  state 
) -> const Animation::Sequence*

Definition at line 861 of file pose.cpp.

◆ setAnimRotate()

void Pose::setAnimRotate ( const AnimationSolver solver,
Npc npc,
WeaponState  fightMode,
AnimationSolver::TurnType  turn,
int  dir 
)

Definition at line 827 of file pose.cpp.

◆ setFlags()

void Pose::setFlags ( Pose::Flags  f)

Definition at line 112 of file pose.cpp.

◆ setHeadRotation()

void Pose::setHeadRotation ( float  dx,
float  dz 
)

Definition at line 818 of file pose.cpp.

◆ setObjectMatrix()

void Pose::setObjectMatrix ( const Tempest::Matrix4x4 &  obj,
bool  sync 
)

Definition at line 589 of file pose.cpp.

◆ setSkeleton()

void Pose::setSkeleton ( const Skeleton sk)

Definition at line 138 of file pose.cpp.

◆ startAnim()

bool Pose::startAnim ( const AnimationSolver solver,
const Animation::Sequence sq,
uint8_t  comb,
BodyState  bs,
StartHint  hint,
uint64_t  tickCount 
)

Definition at line 161 of file pose.cpp.

◆ stopAllAnim()

void Pose::stopAllAnim ( )

Definition at line 264 of file pose.cpp.

◆ stopAnim()

bool Pose::stopAnim ( std::string_view  name)

Definition at line 212 of file pose.cpp.

◆ stopItemStateAnim()

bool Pose::stopItemStateAnim ( const AnimationSolver solver,
uint64_t  tickCount 
)

Definition at line 872 of file pose.cpp.

◆ stopWalkAnim()

bool Pose::stopWalkAnim ( )

Definition at line 233 of file pose.cpp.

◆ transform()

const Matrix4x4 * Pose::transform ( ) const

Definition at line 889 of file pose.cpp.

◆ translateY()

float Pose::translateY ( ) const
inline

Definition at line 78 of file pose.h.

◆ update()

bool Pose::update ( uint64_t  tickCount,
bool  force 
)

Definition at line 315 of file pose.cpp.


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