The Emitter class manages a pool of particles and is where the loaded sprite texture that the particles use to render themselves resides. Our emitters will only be circular. It is possible to define emitters with many different possible shapes, but for our game, a circle-shaped emitter will work fine. Right now, our Emitter class is going to be pretty basic. In later sections, we will add some new features, but right now I want to create a very basic particle system. Here is what the class definition looks like in the game.hpp file:
class Emitter {
public:
SDL_Texture *m_sprite_texture;
std::vector<Particle*> m_particle_pool;
int m_sprite_width;
int m_sprite_height;
Uint32 m_max_particles;
Uint32 m_emission_rate;
Uint32 m_emission_time_ms;
int m_next_emission;
float m_max_angle;
float...