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

#include <visualfx.h>

Classes

class  Key
 

Public Types

enum  Collision : uint8_t {
  NoCollision = 0 , Collide = 1 , Create = 1<<1 , CreateOnce = 1<<2 ,
  NoResp = 1<<3 , CreateQuad = 1<<4
}
 
enum class  CollisionAlign : uint8_t { Normal = 0 , Trajectory }
 
enum  Trajectory : uint8_t {
  TrajectoryNone = 0 , Target = 1<<0 , Line = 1<<1 , Spline = 1<<2 ,
  Random = 1<<3 , Fixed = 1<<4 , Follow = 1<<5
}
 
enum class  LoopMode : uint8_t { LoopModeNone = 0 , PinPong , PinPongOnce , Halt }
 
enum class  EaseFunc : uint8_t { Linear }
 
using OptVec3 = std::optional< Tempest::Vec3 >
 
using OptTrajectory = std::optional< Trajectory >
 

Public Member Functions

 VisualFx (const zenkit::IEffectBase &src, zenkit::DaedalusVm &tmpVm, std::string_view name)
 
uint64_t effectPrefferedTime () const
 
bool isMeshEmmiter () const
 
PfxEmitter visual (World &owner) const
 
const Keykey (SpellFxKey type, int32_t keyLvl=0) const
 

Public Attributes

const char * dbgName = ""
 
std::string visName_S
 
Tempest::Vec2 visSize
 
float visAlpha = 0.f
 
Material::AlphaFunc visAlphaBlendFunc = Material::AlphaFunc::Solid
 
float visTexAniFPS = 0.f
 
bool visTexAniIsLooping = false
 
Trajectory emTrjMode = TrajectoryNone
 
std::string emTrjOriginNode
 
std::string emTrjTargetNode
 
float emTrjTargetRange = 0.f
 
float emTrjTargetAzi = 0.f
 
float emTrjTargetElev = 0.f
 
int32_t emTrjNumKeys = 0
 
int32_t emTrjNumKeysVar = 0
 
float emTrjAngleElevVar = 0.f
 
float emTrjAngleHeadVar = 0.f
 
float emTrjKeyDistVar = 0.f
 
LoopMode emTrjLoopMode = LoopMode::LoopModeNone
 
EaseFunc emTrjEaseFunc = EaseFunc::Linear
 
float emTrjEaseVel = 0.f
 
float emTrjDynUpdateDelay = 0.f
 
bool emTrjDynUpdateTargetOnly = false
 
const VisualFxemFXCreate = nullptr
 
std::string emFXInvestOrigin
 
std::string emFXInvestTarget
 
uint64_t emFXTriggerDelay = 0
 
bool emFXCreatedOwnTrj = false
 
Collision emActionCollDyn = Collision::NoResp
 
Collision emActionCollStat = Collision::NoResp
 
const VisualFxemFXCollStat = nullptr
 
const VisualFxemFXCollDyn = nullptr
 
const VisualFxemFXCollDynPerc = nullptr
 
CollisionAlign emFXCollStatAlign = CollisionAlign::Normal
 
CollisionAlign emFXCollDynAlign = CollisionAlign::Normal
 
uint64_t emFXLifeSpan = 0
 
bool emCheckCollision = false
 
bool emAdjustShpToOrigin = false
 
uint64_t emInvestNextKeyDuration = 0
 
float emFlyGravity = 0.f
 
Tempest::Vec3 emSelfRotVel
 
std::string userString [zenkit::IEffectBase::user_string_count]
 
std::string lightPresetName
 
std::string sfxID
 
bool sfxIsAmbient = false
 
bool sendAssessMagic = false
 
float secsPerDamage = 0.f
 

Detailed Description

Definition at line 14 of file visualfx.h.

Member Typedef Documentation

◆ OptTrajectory

using VisualFx::OptTrajectory = std::optional<Trajectory>

Definition at line 55 of file visualfx.h.

◆ OptVec3

using VisualFx::OptVec3 = std::optional<Tempest::Vec3>

Definition at line 54 of file visualfx.h.

Member Enumeration Documentation

◆ Collision

enum VisualFx::Collision : uint8_t
Enumerator
NoCollision 
Collide 
Create 
CreateOnce 
NoResp 
CreateQuad 

Definition at line 18 of file visualfx.h.

◆ CollisionAlign

enum class VisualFx::CollisionAlign : uint8_t
strong
Enumerator
Normal 
Trajectory 

Definition at line 27 of file visualfx.h.

◆ EaseFunc

enum class VisualFx::EaseFunc : uint8_t
strong
Enumerator
Linear 

Definition at line 49 of file visualfx.h.

◆ LoopMode

enum class VisualFx::LoopMode : uint8_t
strong
Enumerator
LoopModeNone 
PinPong 
PinPongOnce 
Halt 

Definition at line 42 of file visualfx.h.

◆ Trajectory

enum VisualFx::Trajectory : uint8_t
Enumerator
TrajectoryNone 
Target 
Line 
Spline 
Random 
Fixed 
Follow 

Definition at line 32 of file visualfx.h.

Constructor & Destructor Documentation

◆ VisualFx()

VisualFx::VisualFx ( const zenkit::IEffectBase &  src,
zenkit::DaedalusVm &  tmpVm,
std::string_view  name 
)

Definition at line 57 of file visualfx.cpp.

Member Function Documentation

◆ effectPrefferedTime()

uint64_t VisualFx::effectPrefferedTime ( ) const

Definition at line 141 of file visualfx.cpp.

◆ isMeshEmmiter()

bool VisualFx::isMeshEmmiter ( ) const
inline

Definition at line 155 of file visualfx.h.

◆ key()

const VisualFx::Key * VisualFx::key ( SpellFxKey  type,
int32_t  keyLvl = 0 
) const

Definition at line 149 of file visualfx.cpp.

◆ visual()

PfxEmitter VisualFx::visual ( World owner) const

Definition at line 145 of file visualfx.cpp.

Member Data Documentation

◆ dbgName

const char* VisualFx::dbgName = ""

Definition at line 103 of file visualfx.h.

◆ emActionCollDyn

Collision VisualFx::emActionCollDyn = Collision::NoResp

Definition at line 133 of file visualfx.h.

◆ emActionCollStat

Collision VisualFx::emActionCollStat = Collision::NoResp

Definition at line 134 of file visualfx.h.

◆ emAdjustShpToOrigin

bool VisualFx::emAdjustShpToOrigin = false

Definition at line 143 of file visualfx.h.

◆ emCheckCollision

bool VisualFx::emCheckCollision = false

Definition at line 142 of file visualfx.h.

◆ emFlyGravity

float VisualFx::emFlyGravity = 0.f

Definition at line 145 of file visualfx.h.

◆ emFXCollDyn

const VisualFx* VisualFx::emFXCollDyn = nullptr

Definition at line 136 of file visualfx.h.

◆ emFXCollDynAlign

CollisionAlign VisualFx::emFXCollDynAlign = CollisionAlign::Normal

Definition at line 139 of file visualfx.h.

◆ emFXCollDynPerc

const VisualFx* VisualFx::emFXCollDynPerc = nullptr

Definition at line 137 of file visualfx.h.

◆ emFXCollStat

const VisualFx* VisualFx::emFXCollStat = nullptr

Definition at line 135 of file visualfx.h.

◆ emFXCollStatAlign

CollisionAlign VisualFx::emFXCollStatAlign = CollisionAlign::Normal

Definition at line 138 of file visualfx.h.

◆ emFXCreate

const VisualFx* VisualFx::emFXCreate = nullptr

Definition at line 128 of file visualfx.h.

◆ emFXCreatedOwnTrj

bool VisualFx::emFXCreatedOwnTrj = false

Definition at line 132 of file visualfx.h.

◆ emFXInvestOrigin

std::string VisualFx::emFXInvestOrigin

Definition at line 129 of file visualfx.h.

◆ emFXInvestTarget

std::string VisualFx::emFXInvestTarget

Definition at line 130 of file visualfx.h.

◆ emFXLifeSpan

uint64_t VisualFx::emFXLifeSpan = 0

Definition at line 140 of file visualfx.h.

◆ emFXTriggerDelay

uint64_t VisualFx::emFXTriggerDelay = 0

Definition at line 131 of file visualfx.h.

◆ emInvestNextKeyDuration

uint64_t VisualFx::emInvestNextKeyDuration = 0

Definition at line 144 of file visualfx.h.

◆ emSelfRotVel

Tempest::Vec3 VisualFx::emSelfRotVel

Definition at line 146 of file visualfx.h.

◆ emTrjAngleElevVar

float VisualFx::emTrjAngleElevVar = 0.f

Definition at line 119 of file visualfx.h.

◆ emTrjAngleHeadVar

float VisualFx::emTrjAngleHeadVar = 0.f

Definition at line 120 of file visualfx.h.

◆ emTrjDynUpdateDelay

float VisualFx::emTrjDynUpdateDelay = 0.f

Definition at line 125 of file visualfx.h.

◆ emTrjDynUpdateTargetOnly

bool VisualFx::emTrjDynUpdateTargetOnly = false

Definition at line 126 of file visualfx.h.

◆ emTrjEaseFunc

EaseFunc VisualFx::emTrjEaseFunc = EaseFunc::Linear

Definition at line 123 of file visualfx.h.

◆ emTrjEaseVel

float VisualFx::emTrjEaseVel = 0.f

Definition at line 124 of file visualfx.h.

◆ emTrjKeyDistVar

float VisualFx::emTrjKeyDistVar = 0.f

Definition at line 121 of file visualfx.h.

◆ emTrjLoopMode

LoopMode VisualFx::emTrjLoopMode = LoopMode::LoopModeNone

Definition at line 122 of file visualfx.h.

◆ emTrjMode

Trajectory VisualFx::emTrjMode = TrajectoryNone

Definition at line 111 of file visualfx.h.

◆ emTrjNumKeys

int32_t VisualFx::emTrjNumKeys = 0

Definition at line 117 of file visualfx.h.

◆ emTrjNumKeysVar

int32_t VisualFx::emTrjNumKeysVar = 0

Definition at line 118 of file visualfx.h.

◆ emTrjOriginNode

std::string VisualFx::emTrjOriginNode

Definition at line 112 of file visualfx.h.

◆ emTrjTargetAzi

float VisualFx::emTrjTargetAzi = 0.f

Definition at line 115 of file visualfx.h.

◆ emTrjTargetElev

float VisualFx::emTrjTargetElev = 0.f

Definition at line 116 of file visualfx.h.

◆ emTrjTargetNode

std::string VisualFx::emTrjTargetNode

Definition at line 113 of file visualfx.h.

◆ emTrjTargetRange

float VisualFx::emTrjTargetRange = 0.f

Definition at line 114 of file visualfx.h.

◆ lightPresetName

std::string VisualFx::lightPresetName

Definition at line 148 of file visualfx.h.

◆ secsPerDamage

float VisualFx::secsPerDamage = 0.f

Definition at line 152 of file visualfx.h.

◆ sendAssessMagic

bool VisualFx::sendAssessMagic = false

Definition at line 151 of file visualfx.h.

◆ sfxID

std::string VisualFx::sfxID

Definition at line 149 of file visualfx.h.

◆ sfxIsAmbient

bool VisualFx::sfxIsAmbient = false

Definition at line 150 of file visualfx.h.

◆ userString

std::string VisualFx::userString[zenkit::IEffectBase::user_string_count]

Definition at line 147 of file visualfx.h.

◆ visAlpha

float VisualFx::visAlpha = 0.f

Definition at line 106 of file visualfx.h.

◆ visAlphaBlendFunc

Material::AlphaFunc VisualFx::visAlphaBlendFunc = Material::AlphaFunc::Solid

Definition at line 107 of file visualfx.h.

◆ visName_S

std::string VisualFx::visName_S

Definition at line 104 of file visualfx.h.

◆ visSize

Tempest::Vec2 VisualFx::visSize

Definition at line 105 of file visualfx.h.

◆ visTexAniFPS

float VisualFx::visTexAniFPS = 0.f

Definition at line 108 of file visualfx.h.

◆ visTexAniIsLooping

bool VisualFx::visTexAniIsLooping = false

Definition at line 109 of file visualfx.h.


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