52 lines
776 B
C++
52 lines
776 B
C++
#include <sprstk/sprstk.h>
|
|
|
|
#include <cstdlib>
|
|
|
|
namespace
|
|
{
|
|
|
|
void init(sprstk* instance, void* userdata)
|
|
{
|
|
sprstk_palette pal = {};
|
|
|
|
for (int i = 0; i < 28; i++)
|
|
{
|
|
pal.colors[i] = 0x7F3F0040;
|
|
}
|
|
|
|
for (int i = 28; i < 32; i++)
|
|
{
|
|
pal.colors[i] = 0x00FF0040;
|
|
}
|
|
|
|
sprstk_set_palette(instance, 0, &pal);
|
|
}
|
|
|
|
void update(sprstk* instance, float dt, float* userdata)
|
|
{
|
|
*userdata += dt / 2;
|
|
sprstk_set_angle(instance, *userdata);
|
|
|
|
for (int i = -512; i < 512; i++)
|
|
{
|
|
for (int j = -512; j < 512; j++)
|
|
{
|
|
sprstk_put(instance, i, j, 31, 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
int main()
|
|
{
|
|
float data = 0;
|
|
sprstk* instance = sprstk_new({.init = init, .update = (sprstk_update_fn)update}, &data);
|
|
|
|
sprstk_run(instance);
|
|
|
|
sprstk_stop(instance);
|
|
|
|
return 0;
|
|
}
|