Mirai's Miscellaneous Misadventures

M17 / include / mimimi / engines.h

// copyright 2022 zamfofex
// license: AGPLv3 or later

#ifndef MIMIMI_ENGINES_H
#define MIMIMI_ENGINES_H

// types
struct mimimi_game;
struct mimimi_chapter;
struct mimimi_image;
struct mimimi_keys { unsigned char left:1, right:1; };
struct mimimi_engine
{
	void *data;
	void (*stamp)(void *data, int x, int y, struct mimimi_image *image);
};

// constants
extern int mimimi_game_size;
extern int mimimi_width;
extern int mimimi_height;

// functions
void mimimi_start(struct mimimi_game *game, struct mimimi_engine *engine, struct mimimi_chapter *chapter);
void mimimi_step(struct mimimi_game *game, struct mimimi_keys keys);

#endif