momento/src/particles/create.c

26 lines
692 B
C
Raw Normal View History

/* SPDX-License-Identifier: GPL-3.0-or-later */
/* Copyright (C) 2021 KikooDX */
#include "particles.h"
#include <libimg.h>
extern struct Particle particles[MAX_PARTICLES];
void particle_create(img_t *texture, int x, int y, int frame_width, int frame_duration) {
/* find unused slot */
int i = MAX_PARTICLES;
while (i --> 0)
if (!particles[i].life)
break;
struct Particle *particle = &particles[i];
particle->texture = texture;
particle->x = x;
particle->y = y;
particle->frame_width = frame_width;
particle->frame_height = texture->height;
particle->frame_duration = frame_duration;
particle->frame = 0;
particle->life = frame_duration * texture->width / frame_width;
}