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

#include <mdlvisual.h>

Public Member Functions

 MdlVisual ()
 
 MdlVisual (const MdlVisual &)=delete
 
 MdlVisual (MdlVisual &&)=default
 
MdlVisualoperator= (MdlVisual &&)=default
 
 ~MdlVisual ()
 
void save (Serialize &fout, const Npc &npc) const
 
void save (Serialize &fout, const Interactive &mob) const
 
void load (Serialize &fin, Npc &npc)
 
void load (Serialize &fin, Interactive &mob)
 
void setVisual (const Skeleton *visual)
 
void setObjMatrix (const Tempest::Matrix4x4 &m, bool syncAttach=false)
 
void setHeadRotation (float dx, float dz)
 
Tempest::Vec2 headRotation () const
 
void setYTranslationEnable (bool e)
 
void setVisualBody (World &owner, MeshObjects::Mesh &&body)
 
void setVisualBody (Npc &npc, MeshObjects::Mesh &&h, MeshObjects::Mesh &&body, int32_t version)
 
void syncAttaches ()
 
const SkeletonvisualSkeleton () const
 
std::string_view visualSkeletonScheme () const
 
bool hasOverlay (const Skeleton *sk) const
 
void addOverlay (const Skeleton *sk, uint64_t time)
 
void delOverlay (std::string_view sk)
 
void delOverlay (const Skeleton *sk)
 
void clearOverlays ()
 
void setArmor (Npc &npc, MeshObjects::Mesh &&armor)
 
void setBody (Npc &npc, MeshObjects::Mesh &&body, const int32_t version)
 
void setSword (MeshObjects::Mesh &&sword)
 
void setRangedWeapon (MeshObjects::Mesh &&bow)
 
void setShield (MeshObjects::Mesh &&shield)
 
void setAmmoItem (MeshObjects::Mesh &&ammo, std::string_view bone)
 
void setSlotItem (MeshObjects::Mesh &&itm, std::string_view bone)
 
void setStateItem (MeshObjects::Mesh &&itm, std::string_view bone)
 
void clearSlotItem (std::string_view bone)
 
bool setFightMode (zenkit::MdsFightMode mode)
 
void dropWeapon (Npc &owner)
 
void dropShield (Npc &owner)
 
void setMagicWeapon (Effect &&spell, World &owner)
 
void setMagicWeaponKey (World &owner, SpellFxKey key, int32_t keyLvl=0)
 
void startEffect (World &owner, Effect &&pfx, int32_t slot, bool noSlot)
 
void stopEffect (const VisualFx &vfx)
 
void stopEffect (int32_t slot)
 
void setNpcEffect (World &owner, Npc &npc, std::string_view s, zenkit::NpcFlag flags)
 
void setFatness (float f)
 
void emitBlockEffect (Npc &dst, Npc &src)
 
bool setToFightMode (const WeaponState ws)
 
void updateWeaponSkeleton (const Item *sword, const Item *bow)
 
void setTorch (bool t, World &owner)
 
bool isUsingTorch () const
 
const Posepose () const
 
bool updateAnimation (Npc *npc, Interactive *mobsi, World &world, uint64_t dt, bool force)
 
void processLayers (World &world)
 
bool processEvents (World &world, uint64_t &barrier, Animation::EvCount &ev)
 
auto mapBone (const size_t boneId) const -> Tempest::Vec3
 
auto mapWeaponBone () const -> Tempest::Vec3
 
auto mapHeadBone () const -> Tempest::Vec3
 
bool isStanding () const
 
bool isAnimExist (std::string_view name) const
 
const Animation::SequencestartAnimAndGet (std::string_view name, uint64_t tickCount, bool forceAnim=false)
 
const Animation::SequencestartAnimAndGet (Npc &npc, std::string_view name, uint8_t comb, BodyState bs)
 
const Animation::SequencestartAnimAndGet (Npc &npc, AnimationSolver::Anim a, uint8_t comb, WeaponState st, WalkBit wlk)
 
bool startAnim (Npc &npc, WeaponState st)
 
const Animation::SequencestartAnimItem (Npc &npc, std::string_view scheme, int state)
 
const Animation::SequencestartAnimSpell (Npc &npc, std::string_view scheme, bool invest)
 
bool startAnimDialog (Npc &npc)
 
void startMMAnim (Npc &npc, std::string_view anim, std::string_view node)
 
void startFaceAnim (Npc &npc, std::string_view anim, float intensity, uint64_t duration)
 
void stopDlgAnim (Npc &npc)
 
void stopAnim (Npc &npc, std::string_view anim)
 
bool stopItemStateAnim (Npc &npc)
 
bool hasAnim (std::string_view scheme) const
 
void stopWalkAnim (Npc &npc)
 
void setAnimRotate (Npc &npc, int dir)
 
void setAnimWhirl (Npc &npc, int dir)
 
void interrupt ()
 
WeaponState fightMode () const
 
Tempest::Vec3 displayPosition () const
 
const Tempest::Matrix4x4 & transform () const
 
float viewDirection () const
 
const Animation::SequencecontinueCombo (Npc &npc, AnimationSolver::Anim a, BodyState bs, WeaponState st, WalkBit wlk)
 
uint16_t comboLength () const
 
Bounds bounds () const
 

Detailed Description

Definition at line 16 of file mdlvisual.h.

Constructor & Destructor Documentation

◆ MdlVisual() [1/3]

MdlVisual::MdlVisual ( )

Definition at line 15 of file mdlvisual.cpp.

◆ MdlVisual() [2/3]

MdlVisual::MdlVisual ( const MdlVisual )
delete

◆ MdlVisual() [3/3]

MdlVisual::MdlVisual ( MdlVisual &&  )
default

◆ ~MdlVisual()

MdlVisual::~MdlVisual ( )

Definition at line 20 of file mdlvisual.cpp.

Member Function Documentation

◆ addOverlay()

void MdlVisual::addOverlay ( const Skeleton sk,
uint64_t  time 
)

Definition at line 92 of file mdlvisual.cpp.

◆ bounds()

Bounds MdlVisual::bounds ( ) const

Definition at line 823 of file mdlvisual.cpp.

◆ clearOverlays()

void MdlVisual::clearOverlays ( )

Definition at line 106 of file mdlvisual.cpp.

◆ clearSlotItem()

void MdlVisual::clearSlotItem ( std::string_view  bone)

Definition at line 229 of file mdlvisual.cpp.

◆ comboLength()

uint16_t MdlVisual::comboLength ( ) const

Definition at line 819 of file mdlvisual.cpp.

◆ continueCombo()

const Animation::Sequence * MdlVisual::continueCombo ( Npc npc,
AnimationSolver::Anim  a,
BodyState  bs,
WeaponState  st,
WalkBit  wlk 
)

Definition at line 809 of file mdlvisual.cpp.

◆ delOverlay() [1/2]

void MdlVisual::delOverlay ( const Skeleton sk)

Definition at line 102 of file mdlvisual.cpp.

◆ delOverlay() [2/2]

void MdlVisual::delOverlay ( std::string_view  sk)

Definition at line 97 of file mdlvisual.cpp.

◆ displayPosition()

Tempest::Vec3 MdlVisual::displayPosition ( ) const

Definition at line 791 of file mdlvisual.cpp.

◆ dropShield()

void MdlVisual::dropShield ( Npc owner)

Definition at line 300 of file mdlvisual.cpp.

◆ dropWeapon()

void MdlVisual::dropWeapon ( Npc owner)

Definition at line 274 of file mdlvisual.cpp.

◆ emitBlockEffect()

void MdlVisual::emitBlockEffect ( Npc dst,
Npc src 
)

Definition at line 407 of file mdlvisual.cpp.

◆ fightMode()

WeaponState MdlVisual::fightMode ( ) const
inline

Definition at line 107 of file mdlvisual.h.

◆ hasAnim()

bool MdlVisual::hasAnim ( std::string_view  scheme) const

Definition at line 582 of file mdlvisual.cpp.

◆ hasOverlay()

bool MdlVisual::hasOverlay ( const Skeleton sk) const

Definition at line 87 of file mdlvisual.cpp.

◆ headRotation()

Vec2 MdlVisual::headRotation ( ) const

Definition at line 445 of file mdlvisual.cpp.

◆ interrupt()

void MdlVisual::interrupt ( )

Definition at line 785 of file mdlvisual.cpp.

◆ isAnimExist()

bool MdlVisual::isAnimExist ( std::string_view  name) const

Definition at line 596 of file mdlvisual.cpp.

◆ isStanding()

bool MdlVisual::isStanding ( ) const

Definition at line 592 of file mdlvisual.cpp.

◆ isUsingTorch()

bool MdlVisual::isUsingTorch ( ) const

Definition at line 495 of file mdlvisual.cpp.

◆ load() [1/2]

void MdlVisual::load ( Serialize fin,
Interactive mob 
)

Definition at line 50 of file mdlvisual.cpp.

◆ load() [2/2]

void MdlVisual::load ( Serialize fin,
Npc npc 
)

Definition at line 37 of file mdlvisual.cpp.

◆ mapBone()

Vec3 MdlVisual::mapBone ( const size_t  boneId) const -> Tempest::Vec3

Definition at line 542 of file mdlvisual.cpp.

◆ mapHeadBone()

Vec3 MdlVisual::mapHeadBone ( ) const -> Tempest::Vec3

Definition at line 559 of file mdlvisual.cpp.

◆ mapWeaponBone()

Vec3 MdlVisual::mapWeaponBone ( ) const -> Tempest::Vec3

Definition at line 551 of file mdlvisual.cpp.

◆ operator=()

MdlVisual & MdlVisual::operator= ( MdlVisual &&  )
default

◆ pose()

const Pose & MdlVisual::pose ( ) const
inline

Definition at line 77 of file mdlvisual.h.

◆ processEvents()

bool MdlVisual::processEvents ( World world,
uint64_t &  barrier,
Animation::EvCount ev 
)

Definition at line 536 of file mdlvisual.cpp.

◆ processLayers()

void MdlVisual::processLayers ( World world)

Definition at line 530 of file mdlvisual.cpp.

◆ save() [1/2]

void MdlVisual::save ( Serialize fout,
const Interactive mob 
) const

Definition at line 32 of file mdlvisual.cpp.

◆ save() [2/2]

void MdlVisual::save ( Serialize fout,
const Npc npc 
) const

Definition at line 23 of file mdlvisual.cpp.

◆ setAmmoItem()

void MdlVisual::setAmmoItem ( MeshObjects::Mesh &&  ammo,
std::string_view  bone 
)

Definition at line 176 of file mdlvisual.cpp.

◆ setAnimRotate()

void MdlVisual::setAnimRotate ( Npc npc,
int  dir 
)

Definition at line 777 of file mdlvisual.cpp.

◆ setAnimWhirl()

void MdlVisual::setAnimWhirl ( Npc npc,
int  dir 
)

Definition at line 781 of file mdlvisual.cpp.

◆ setArmor()

void MdlVisual::setArmor ( Npc npc,
MeshObjects::Mesh &&  armor 
)

Definition at line 115 of file mdlvisual.cpp.

◆ setBody()

void MdlVisual::setBody ( Npc npc,
MeshObjects::Mesh &&  body,
const int32_t  version 
)

Definition at line 110 of file mdlvisual.cpp.

◆ setFatness()

void MdlVisual::setFatness ( float  f)

Definition at line 400 of file mdlvisual.cpp.

◆ setFightMode()

bool MdlVisual::setFightMode ( zenkit::MdsFightMode  mode)

Definition at line 242 of file mdlvisual.cpp.

◆ setHeadRotation()

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

Definition at line 440 of file mdlvisual.cpp.

◆ setMagicWeapon()

void MdlVisual::setMagicWeapon ( Effect &&  spell,
World owner 
)

Definition at line 180 of file mdlvisual.cpp.

◆ setMagicWeaponKey()

void MdlVisual::setMagicWeaponKey ( World owner,
SpellFxKey  key,
int32_t  keyLvl = 0 
)

Definition at line 193 of file mdlvisual.cpp.

◆ setNpcEffect()

void MdlVisual::setNpcEffect ( World owner,
Npc npc,
std::string_view  s,
zenkit::NpcFlag  flags 
)

Definition at line 374 of file mdlvisual.cpp.

◆ setObjMatrix()

void MdlVisual::setObjMatrix ( const Tempest::Matrix4x4 &  m,
bool  syncAttach = false 
)

Definition at line 432 of file mdlvisual.cpp.

◆ setRangedWeapon()

void MdlVisual::setRangedWeapon ( MeshObjects::Mesh &&  bow)

Definition at line 168 of file mdlvisual.cpp.

◆ setShield()

void MdlVisual::setShield ( MeshObjects::Mesh &&  shield)

Definition at line 172 of file mdlvisual.cpp.

◆ setSlotItem()

void MdlVisual::setSlotItem ( MeshObjects::Mesh &&  itm,
std::string_view  bone 
)

Definition at line 197 of file mdlvisual.cpp.

◆ setStateItem()

void MdlVisual::setStateItem ( MeshObjects::Mesh &&  itm,
std::string_view  bone 
)

Definition at line 224 of file mdlvisual.cpp.

◆ setSword()

void MdlVisual::setSword ( MeshObjects::Mesh &&  sword)

Definition at line 164 of file mdlvisual.cpp.

◆ setToFightMode()

bool MdlVisual::setToFightMode ( const WeaponState  ws)

Definition at line 425 of file mdlvisual.cpp.

◆ setTorch()

void MdlVisual::setTorch ( bool  t,
World owner 
)

Definition at line 473 of file mdlvisual.cpp.

◆ setVisual()

void MdlVisual::setVisual ( const Skeleton visual)

Definition at line 58 of file mdlvisual.cpp.

◆ setVisualBody() [1/2]

void MdlVisual::setVisualBody ( Npc npc,
MeshObjects::Mesh &&  h,
MeshObjects::Mesh &&  body,
int32_t  version 
)

Definition at line 80 of file mdlvisual.cpp.

◆ setVisualBody() [2/2]

void MdlVisual::setVisualBody ( World owner,
MeshObjects::Mesh &&  body 
)

Definition at line 75 of file mdlvisual.cpp.

◆ setYTranslationEnable()

void MdlVisual::setYTranslationEnable ( bool  e)

Definition at line 69 of file mdlvisual.cpp.

◆ startAnim()

bool MdlVisual::startAnim ( Npc npc,
WeaponState  st 
)

Definition at line 764 of file mdlvisual.cpp.

◆ startAnimAndGet() [1/3]

const Animation::Sequence * MdlVisual::startAnimAndGet ( Npc npc,
AnimationSolver::Anim  a,
uint8_t  comb,
WeaponState  st,
WalkBit  wlk 
)

Definition at line 619 of file mdlvisual.cpp.

◆ startAnimAndGet() [2/3]

const Animation::Sequence * MdlVisual::startAnimAndGet ( Npc npc,
std::string_view  name,
uint8_t  comb,
BodyState  bs 
)

Definition at line 612 of file mdlvisual.cpp.

◆ startAnimAndGet() [3/3]

const Animation::Sequence * MdlVisual::startAnimAndGet ( std::string_view  name,
uint64_t  tickCount,
bool  forceAnim = false 
)

Definition at line 601 of file mdlvisual.cpp.

◆ startAnimDialog()

bool MdlVisual::startAnimDialog ( Npc npc)

Definition at line 932 of file mdlvisual.cpp.

◆ startAnimItem()

const Animation::Sequence * MdlVisual::startAnimItem ( Npc npc,
std::string_view  scheme,
int  state 
)

Definition at line 918 of file mdlvisual.cpp.

◆ startAnimSpell()

const Animation::Sequence * MdlVisual::startAnimSpell ( Npc npc,
std::string_view  scheme,
bool  invest 
)

Definition at line 922 of file mdlvisual.cpp.

◆ startEffect()

void MdlVisual::startEffect ( World owner,
Effect &&  pfx,
int32_t  slot,
bool  noSlot 
)

Definition at line 321 of file mdlvisual.cpp.

◆ startFaceAnim()

void MdlVisual::startFaceAnim ( Npc npc,
std::string_view  anim,
float  intensity,
uint64_t  duration 
)

Definition at line 959 of file mdlvisual.cpp.

◆ startMMAnim()

void MdlVisual::startMMAnim ( Npc npc,
std::string_view  anim,
std::string_view  node 
)

Definition at line 950 of file mdlvisual.cpp.

◆ stopAnim()

void MdlVisual::stopAnim ( Npc npc,
std::string_view  anim 
)

Definition at line 565 of file mdlvisual.cpp.

◆ stopDlgAnim()

void MdlVisual::stopDlgAnim ( Npc npc)

Definition at line 965 of file mdlvisual.cpp.

◆ stopEffect() [1/2]

void MdlVisual::stopEffect ( const VisualFx vfx)

Definition at line 352 of file mdlvisual.cpp.

◆ stopEffect() [2/2]

void MdlVisual::stopEffect ( int32_t  slot)

Definition at line 363 of file mdlvisual.cpp.

◆ stopItemStateAnim()

bool MdlVisual::stopItemStateAnim ( Npc npc)

Definition at line 574 of file mdlvisual.cpp.

◆ stopWalkAnim()

void MdlVisual::stopWalkAnim ( Npc npc)

Definition at line 586 of file mdlvisual.cpp.

◆ syncAttaches()

void MdlVisual::syncAttaches ( )

Definition at line 872 of file mdlvisual.cpp.

◆ transform()

const Tempest::Matrix4x4 & MdlVisual::transform ( ) const
inline

Definition at line 109 of file mdlvisual.h.

◆ updateAnimation()

bool MdlVisual::updateAnimation ( Npc npc,
Interactive mobsi,
World world,
uint64_t  dt,
bool  force 
)

Definition at line 499 of file mdlvisual.cpp.

◆ updateWeaponSkeleton()

void MdlVisual::updateWeaponSkeleton ( const Item sword,
const Item bow 
)

Definition at line 449 of file mdlvisual.cpp.

◆ viewDirection()

float MdlVisual::viewDirection ( ) const

Definition at line 797 of file mdlvisual.cpp.

◆ visualSkeleton()

const Skeleton * MdlVisual::visualSkeleton ( ) const

Definition at line 895 of file mdlvisual.cpp.

◆ visualSkeletonScheme()

std::string_view MdlVisual::visualSkeletonScheme ( ) const

Definition at line 899 of file mdlvisual.cpp.


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