Example #1
0
struct anm_node *anm_create_node(void)
{
    struct anm_node *n;

    if((n = malloc(sizeof *n))) {
        if(anm_init_node(n) == -1) {
            free(n);
            return 0;
        }
    }
    return n;
}
Example #2
0
int psys_init(struct psys_emitter *em)
{
	memset(em, 0, sizeof *em);

	if(anm_init_node(&em->prs) == -1) {
		return -1;
	}
	if(psys_init_attr(&em->attr) == -1) {
		anm_destroy_node(&em->prs);
		return -1;
	}

	em->spawn = 0;	/* no custom spawning, just the defaults */
	em->update = update_particle;

	em->draw = psys_gl_draw;
	em->draw_start = psys_gl_draw_start;
	em->draw_end = psys_gl_draw_end;
	return 0;
}