We need to define the functions that will interact with our JavaScript. We also need to define some global variables that will be used by several of our classes. Here is the code from the new basic_particle.cpp file:
#include "game.hpp"
#include <emscripten/bind.h>
SDL_Window *window;
SDL_Renderer *renderer;
char* fileName;
Emitter* emitter = NULL;
Uint32 last_time = 0;
Uint32 current_time = 0;
Uint32 diff_time = 0;
float delta_time = 0.0f;
extern "C"
EMSCRIPTEN_KEEPALIVE
void add_emitter(char* file_name, int max_particles, float
min_angle, float max_angle, Uint32 particle_lifetime, float
acceleration, bool alpha_fade, float min_starting_velocity, float
kmax_starting_velocity, Uint32 emission_rate, float x_pos, float
y_pos, float radius) {
if( emitter != NULL ) {
delete emitter;
}
...