19#ifndef HEADER_KART_GFX_HPP
20#define HEADER_KART_GFX_HPP
56 KGFX_SKID1L = KGFX_SKIDL,
57 KGFX_SKID1R = KGFX_SKIDR,
98 const Vec3 &position,
bool important);
114 void getGFXStatus(
int* nitro,
bool* zipper,
115 int* skidding,
bool* red_skidding)
const;
116 void setGFXFromReplay(
int nitro,
bool zipper,
117 int skidding,
bool red_skidding);
118 void setGFXInvisible();
An abstract interface for the actual karts.
Definition: abstract_kart.hpp:62
Definition: kart_gfx.hpp:40
int m_wheel_toggle
Used to alternate particle effects from the rear wheels.
Definition: kart_gfx.hpp:83
void setSkidLevel(const unsigned int level)
Selects the correct skidding particle type depending on skid bonus level.
Definition: kart_gfx.cpp:254
irr::scene::ISceneNode * m_skidding_light_2
A light that's shown on the second skid-level with another color.
Definition: kart_gfx.hpp:95
const ParticleKind * m_skid_kind2
The particle kind for skidding bonus level 2.
Definition: kart_gfx.hpp:74
const ParticleKind * m_skid_kind1
The particle kind for skidding bonus level 1.
Definition: kart_gfx.hpp:71
void updateNitroGraphics(float f)
Updates nitro dependent particle effects.
Definition: kart_gfx.cpp:457
const AbstractKart * m_kart
Pointer to the owner of this kart.
Definition: kart_gfx.hpp:80
const ParticleKind * m_skid_kind0
The particle kind for skidding bonus level 0.
Definition: kart_gfx.hpp:68
void setCreationRateRelative(const KartGFXType type, float f)
Sets the creation rate for the specified particle type relative to the given minimum and maximum part...
Definition: kart_gfx.cpp:354
void updateSkidLight(unsigned int level)
Updates the skiddng light (including disabling it).
Definition: kart_gfx.cpp:498
void update(float dt)
Updates all gfx.
Definition: kart_gfx.cpp:441
void setCreationRateAbsolute(const KartGFXType type, float f)
Sets the absolute creation rate for the specified particle type.
Definition: kart_gfx.cpp:330
irr::scene::ISceneNode * m_skidding_light_1
Light that is shown when the kart is skidding.
Definition: kart_gfx.hpp:92
int m_skid_level
A skid level that is currently in use.
Definition: kart_gfx.hpp:86
void resizeBox(const KartGFXType type, float new_size)
Resize the area from which the particles are emitted: the emitter box should spread from last frame's...
Definition: kart_gfx.cpp:378
void setXYZ(const KartGFXType type, const Vec3 &xyz)
Defines the new position of the specified emitter.
Definition: kart_gfx.cpp:312
irr::scene::ISceneNode * m_nitro_light
A light that's shown when the kart uses nitro.
Definition: kart_gfx.hpp:89
void reset()
Resets all particle emitters.
Definition: kart_gfx.cpp:232
void addEffect(KartGFXType type, const std::string &file_name, const Vec3 &position, bool important)
Creates a new particle node with the specified particle kind read from the given file.
Definition: kart_gfx.cpp:166
std::vector< ParticleEmitter * > m_all_emitters
Vector of all particle emitters.
Definition: kart_gfx.hpp:77
KartGFXType
All particle effects supported by this object.
Definition: kart_gfx.hpp:48
~KartGFX()
Destructor.
Definition: kart_gfx.cpp:140
void setParticleKind(const KartGFXType type, const ParticleKind *pk)
Sets a new particle type to be used.
Definition: kart_gfx.cpp:294
void updateTerrain(const ParticleKind *pk)
If necessary defines a new particle type for the terrain emitter.
Definition: kart_gfx.cpp:396
manages smoke particle effects
Definition: particle_emitter.hpp:42
type of particles
Definition: particle_kind.hpp:42
A wrapper around bullets btVector3 to include conventient conversion functions (e....
Definition: vec3.hpp:35