From 7664fdafb9a6d6f4aa3339fe38958b24b234218e Mon Sep 17 00:00:00 2001 From: quou Date: Mon, 30 Sep 2024 19:01:53 +1000 Subject: player slashing --- world.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 world.c (limited to 'world.c') diff --git a/world.c b/world.c new file mode 100644 index 0000000..e7777fd --- /dev/null +++ b/world.c @@ -0,0 +1,37 @@ +#include "plat.h" +#include "world.h" + +void init_world(World* w) { + w->particle_count = 0; + init_player(&w->player); +} + +Particle* inst_particle( + World* w, + int x, + int y, + int anim, + int bmp +) { + Particle* p; + assert(w->particle_count < max_particles); + p = &w->particles[w->particle_count++]; + init_particle(p, x, y, anim, bmp); + return p; +} + +void update_world(World* w, const App* a) { + int i; + update_player(&w->player, w, a, &w->map); + for (i = w->particle_count - 1; i >= 0; i--) + if (update_particle(&w->particles[i])) + w->particles[i] = w->particles[--w->particle_count]; +} + +void ren_world(const World* w, struct Renderer* r) { + int i; + ren_player(&w->player, r); + render_map(&w->map, r); + for (i = 0; i < w->particle_count; i++) + ren_particle(&w->particles[i], r); +} -- cgit v1.2.3-54-g00ecf