#pragma once #include #include "version.h" void exception_loop(); int scrw(); int scrh(); void raisewindow(); namespace mini { namespace surf { uint8_t create(int w, int h); uint8_t load(const char* filename, const bool external = false); void save(uint8_t surface, const char* filename, uint8_t *pal, uint8_t colors=0); void destroy(uint8_t surface); int width(uint8_t surface); int height(uint8_t surface); void cls(uint8_t color=0); namespace target { void set(uint8_t surface); uint8_t get(); } namespace source { void set(uint8_t surface); uint8_t get(); } namespace pixel { void set(int x, int y, uint8_t color); uint8_t get(int x, int y); } } namespace map { namespace surf { void set(uint8_t surface); uint8_t get(); } void draw(); //int celx, int cely, int sx, int sy, uint8_t celw, uint8_t celh, uint8_t layer=0); namespace tile { uint8_t get(int celx, int cely); void set(int celx, int cely, uint8_t snum); } namespace cell { uint8_t getw(); uint8_t geth(); void set(int w, int h); } } } void shader_init(const char* vshader, const char* fshader); void shader_enable(); void shader_disable(); uint8_t loadfont(const char *filename); uint8_t getfont(); void setfont(uint8_t font); uint8_t getfontspacing(); void setfontspacing(uint8_t spacing); uint32_t *loadpal(const char* filename, uint16_t *palsize=NULL); void setpal(uint32_t *pal); void setcolor(uint8_t index, uint32_t color); uint32_t getcolor(uint8_t index); void settrans(uint8_t index); uint8_t gettrans(); uint8_t subpal(uint8_t index, uint8_t color); void reset_subpal(); namespace mini { namespace draw { void line(int x0, int y0, int x1, int y1, uint8_t color); void hline(int x0, int y, int x1, uint8_t color); void vline(int x, int y0, int y1, uint8_t color); void rect(int x, int y, int w, int h, uint8_t color); void rectf(int x, int y, int w, int h, uint8_t color); void circ(int x, int y, uint8_t r, uint8_t color); void circf(int x, int y, uint8_t r, uint8_t color); void roundrect(int x, int y, int w, int h, uint8_t r, uint8_t color); void roundrectf(int x, int y, int w, int h, uint8_t r, uint8_t color); void oval(int x0, int y0, int x1, int y1, uint8_t color); void ovalf(int x0, int y0, int x1, int y1, uint8_t color); namespace mode { void set(uint8_t mode); } } } void fillp(uint16_t pat, bool transparent = false); void print(const char *str, int x, int y, uint8_t color); void clip(int x, int y, int w, int h); void clip(); void origin(int x, int y); int camx(); int camy(); uint8_t sget(int x, int y); void blit(int sx, int sy, int sw, int sh, int dx, int dy, int dw=0, int dh=0, bool flip_x = false, bool flip_y = false, bool invert = false); void blit_r(int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, bool flip_x, bool flip_y, float angle_deg); bool btn(uint8_t i); int wbtnp(); bool btnp(uint8_t i); bool anykey(); void textenable(const bool enable); const char *textinput(); bool pad(int8_t i); bool padp(int8_t i); int wpad(); int mousex(); int mousey(); int mwheel(); bool mbtn(uint8_t i); bool mbtnp(uint8_t i); bool doubleclick(); void mdiscard(); bool minside(int x, int y, int w, int h); float time(); float delta(); bool beat(int16_t i); int getfps(); void playmusic(const char *filename, const int loop=-1); void pausemusic(); void resumemusic(); void stopmusic(const int t=1000); void musicpos(float value); float musicpos(); void enablemusic(const bool value); const bool ismusicenabled(); int loadsound(const char *filename); void freesound(int soundfile); int playsound(int soundfile, const int volume=-1); void stopsound(int soundchannel); void enablesound(const bool value); const bool issoundenabled(); int getzoom(); void setzoom(const int value); void setres(const int w, const int h); bool getfullscreen(); void setfullscreen(const bool value); bool getcursor(); void setcursor(const bool value); const char *getconfig(const char* key); void setconfig(const char* key, const char* value); const char *configfolder(); void setupdatemode(const int value, const int t=0); int getupdatemode(); void exit();