sprstk/include/sprstk/sprstk.h
2025-08-03 21:36:04 -04:00

45 lines
1.1 KiB
C

#ifndef SPRSTK_H
#define SPRSTK_H
#include <stdint.h>
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct sprstk sprstk;
typedef void (*sprstk_init_fn)(sprstk* instance, void* userdata);
typedef void (*sprstk_update_fn)(sprstk* instance, float dt, void* userdata);
typedef void (*sprstk_quit_fn)(sprstk* instance, void* userdata);
typedef struct {
sprstk_init_fn init;
sprstk_update_fn update;
sprstk_quit_fn quit;
} sprstk_callbacks;
typedef struct {
uint32_t colors[32];
} sprstk_palette;
sprstk* sprstk_new(sprstk_callbacks callbacks, void* userdata);
void sprstk_del(sprstk* instance);
void sprstk_run(sprstk* instance);
void sprstk_stop(sprstk* instance);
void sprstk_put(sprstk* instance, int x, int y, unsigned int layers, unsigned int palette_lookup);
void sprstk_putz(sprstk* instance, int x, int y, unsigned int layers, unsigned int palette_lookup, unsigned int z_offset);
void sprstk_set_palette(sprstk* instance, unsigned int index, const sprstk_palette* palette);
void sprstk_set_angle(sprstk* instance, float angle);
#ifdef __cplusplus
}
#endif
#endif//SPRSTK_H