World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура TrailParticleGenerator

#include <ParticleEngine.h>

+ Граф связей класса TrailParticleGenerator:

Открытые члены

 TrailParticleGenerator ()
 
void GenerateTrailParticles (int x, int y, int z, int bgr16)
 
void UpdateParticles ()
 

Защищенные члены

void AddParticle (int x, int y, int z, int bgr16)
 

Защищенные данные

TrailParticle particles [100]
 
int num_particles
 
int field_964
 

Подробное описание

См. определение в файле ParticleEngine.h строка 149

Конструктор(ы)

◆ TrailParticleGenerator()

TrailParticleGenerator::TrailParticleGenerator ( )
inline

См. определение в файле ParticleEngine.h строка 151

151 { num_particles = 0; }

Перекрестные ссылки num_particles.

Методы

◆ GenerateTrailParticles()

void TrailParticleGenerator::GenerateTrailParticles ( int  x,
int  y,
int  z,
int  bgr16 
)

См. определение в файле ParticleEngine.cpp строка 29

30  {
31  for (int i = 0; i < 5 + rand() % 6; ++i)
32  AddParticle(rand() % 33 + x - 16, rand() % 33 + y - 16, rand() % 33 + z,
33  bgr16);
34 }

Перекрестные ссылки AddParticle().

Используется в _46BFFA_update_spell_fx().

+ Граф вызовов:
+ Граф вызова функции:

◆ UpdateParticles()

void TrailParticleGenerator::UpdateParticles ( )

См. определение в файле ParticleEngine.cpp строка 37

37  {
38  for (uint i = 0; i < 100; ++i) {
39  if (particles[i].time_left > 0) {
40  particles[i].x += rand() % 5 + 4;
41  particles[i].y += rand() % 5 - 2;
42  particles[i].z += rand() % 5 - 2;
44  }
45  }
46 }

Перекрестные ссылки particles, pEventTimer, TrailParticle::time_left, Timer::uTimeElapsed, TrailParticle::x, TrailParticle::y и TrailParticle::z.

Используется в OutdoorLocation::Draw() и IndoorLocation::Draw().

+ Граф вызова функции:

◆ AddParticle()

void TrailParticleGenerator::AddParticle ( int  x,
int  y,
int  z,
int  bgr16 
)
protected

См. определение в файле ParticleEngine.cpp строка 16

16  {
20  particles[num_particles].time_to_live = rand() % 64 + 256;
22  particles[num_particles].bgr16 = bgr16;
23 
24  num_particles++;
25  assert(num_particles < 100);
26 }

Перекрестные ссылки TrailParticle::bgr16, num_particles, particles, TrailParticle::time_left, TrailParticle::time_to_live, TrailParticle::x, TrailParticle::y и TrailParticle::z.

Используется в GenerateTrailParticles().

+ Граф вызова функции:

Данные класса

◆ particles

TrailParticle TrailParticleGenerator::particles[100]
protected

См. определение в файле ParticleEngine.h строка 159

Используется в AddParticle() и UpdateParticles().

◆ num_particles

int TrailParticleGenerator::num_particles
protected

См. определение в файле ParticleEngine.h строка 160

Используется в AddParticle() и TrailParticleGenerator().

◆ field_964

int TrailParticleGenerator::field_964
protected

См. определение в файле ParticleEngine.h строка 161


Объявления и описания членов структур находятся в файлах:
Timer::uTimeElapsed
unsigned int uTimeElapsed
Definition: Time.h:133
TrailParticleGenerator::particles
TrailParticle particles[100]
Definition: ParticleEngine.h:159
z
GLdouble GLdouble z
Definition: SDL_opengl_glext.h:407
TrailParticle::z
int16_t z
Definition: ParticleEngine.h:134
y
EGLSurface EGLint EGLint y
Definition: SDL_egl.h:1596
TrailParticle::time_left
int16_t time_left
Definition: ParticleEngine.h:135
TrailParticle::time_to_live
int16_t time_to_live
Definition: ParticleEngine.h:136
x
EGLSurface EGLint x
Definition: SDL_egl.h:1596
TrailParticleGenerator::AddParticle
void AddParticle(int x, int y, int z, int bgr16)
Definition: ParticleEngine.cpp:16
TrailParticle::x
int16_t x
Definition: ParticleEngine.h:132
uint
unsigned int uint
Definition: MM7.h:4
TrailParticle::y
int16_t y
Definition: ParticleEngine.h:133
TrailParticle::bgr16
int16_t bgr16
Definition: ParticleEngine.h:141
TrailParticleGenerator::num_particles
int num_particles
Definition: ParticleEngine.h:160
pEventTimer
Timer * pEventTimer
Definition: Time.cpp:8