#pragma once #include #include "version.h" #define KEY_UNKNOWN 0 #define KEY_A 4 #define KEY_B 5 #define KEY_C 6 #define KEY_D 7 #define KEY_E 8 #define KEY_F 9 #define KEY_G 10 #define KEY_H 11 #define KEY_I 12 #define KEY_J 13 #define KEY_K 14 #define KEY_L 15 #define KEY_M 16 #define KEY_N 17 #define KEY_O 18 #define KEY_P 19 #define KEY_Q 20 #define KEY_R 21 #define KEY_S 22 #define KEY_T 23 #define KEY_U 24 #define KEY_V 25 #define KEY_W 26 #define KEY_X 27 #define KEY_Y 28 #define KEY_Z 29 #define KEY_1 30 #define KEY_2 31 #define KEY_3 32 #define KEY_4 33 #define KEY_5 34 #define KEY_6 35 #define KEY_7 36 #define KEY_8 37 #define KEY_9 38 #define KEY_0 39 #define KEY_RETURN 40 #define KEY_ESCAPE 41 #define KEY_BACKSPACE 42 #define KEY_TAB 43 #define KEY_SPACE 44 #define KEY_MINUS 45 #define KEY_EQUALS 46 #define KEY_LEFTBRACKET 47 #define KEY_RIGHTBRACKET 48 #define KEY_BACKSLASH 49 #define KEY_NONUSHASH 50 #define KEY_SEMICOLON 51 #define KEY_APOSTROPHE 52 #define KEY_GRAVE 53 #define KEY_COMMA 54 #define KEY_PERIOD 55 #define KEY_SLASH 56 #define KEY_CAPSLOCK 57 #define KEY_F1 58 #define KEY_F2 59 #define KEY_F3 60 #define KEY_F4 61 #define KEY_F5 62 #define KEY_F6 63 #define KEY_F7 64 #define KEY_F8 65 #define KEY_F9 66 #define KEY_F10 67 #define KEY_F11 68 #define KEY_F12 69 #define KEY_PRINTSCREEN 70 #define KEY_SCROLLLOCK 71 #define KEY_PAUSE 72 #define KEY_INSERT 73 #define KEY_HOME 74 #define KEY_PAGEUP 75 #define KEY_DELETE 76 #define KEY_END 77 #define KEY_PAGEDOWN 78 #define KEY_RIGHT 79 #define KEY_LEFT 80 #define KEY_DOWN 81 #define KEY_UP 82 #define KEY_NUMLOCKCLEAR 83 #define KEY_KP_DIVIDE 84 #define KEY_KP_MULTIPLY 85 #define KEY_KP_MINUS 86 #define KEY_KP_PLUS 87 #define KEY_KP_ENTER 88 #define KEY_KP_1 89 #define KEY_KP_2 90 #define KEY_KP_3 91 #define KEY_KP_4 92 #define KEY_KP_5 93 #define KEY_KP_6 94 #define KEY_KP_7 95 #define KEY_KP_8 96 #define KEY_KP_9 97 #define KEY_KP_0 98 #define KEY_KP_PERIOD 99 #define KEY_NONUSBACKSLASH 100 #define KEY_APPLICATION 101 #define KEY_LCTRL 224 #define KEY_LSHIFT 225 #define KEY_LALT 226 #define KEY_LGUI 227 #define KEY_RCTRL 228 #define KEY_RSHIFT 229 #define KEY_RALT 230 #define KEY_RGUI 231 void loop(); int scrw(); int scrh(); uint8_t newsurf(int w, int h); uint8_t loadsurf(const char* filename); void freesurf(uint8_t surface); void setdest(uint8_t surface); void setsource(uint8_t surface); void setmap(uint8_t surface); void cls(uint8_t color=0); void color(uint8_t color=6); void bcolor(uint8_t color=0); uint32_t *loadpal(const char* filename); 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(); void subpal(uint8_t index, uint8_t color); void reset_subpal(); /*void pal(); void pal(uint8_t c0, uint8_t c1, uint8_t p = 0); void palt(); void palt(uint16_t bits); void palt(uint8_t col, bool t);*/ void pset(int x, int y); void pset(int x, int y, uint8_t color); uint8_t pget(int x, int y); void line(int x0, int y0, int x1, int y1); void line(int x0, int y0, int x1, int y1, uint8_t color); void hline(int x0, int y, int x1); void hline(int x0, int y, int x1, uint8_t color); void vline(int x, int y0, int y1); void vline(int x, int y0, int y1, uint8_t color); void rect(int x0, int y0, int x1, int y1); void rect(int x0, int y0, int x1, int y1, uint8_t color); void rectfill(int x0, int y0, int x1, int y1); void rectfill(int x0, int y0, int x1, int y1, uint8_t color); void fillp(uint16_t pat, bool transparent = false); void print(const char *str, int x, int y); 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 camera(int x, int y); void view(int x, int y, int w, int h); void view(); void origin(int x, int y); void circ(int x, int y, uint8_t r = 4); void circ(int x, int y, uint8_t r, uint8_t color); void circfill(int x, int y, uint8_t r = 4); void circfill(int x, int y, uint8_t r, uint8_t color); void oval(int x0, int y0, int x1, int y1); void oval(int x0, int y0, int x1, int y1, uint8_t color); void ovalfill(int x0, int y0, int x1, int y1); void ovalfill(int x0, int y0, int x1, int y1, uint8_t color); uint8_t sget(int x, int y); void sset(int x, int y); void sset(int x, int y, uint8_t color); void spr(uint8_t n, int x, int y, float w = 1.0f, float h = 1.0f, bool flip_x = false, bool flip_y = false); void sspr(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); void tline(int x0, int y0, int x1, int y1, float mx, float my, float mdx=0.125f, float mdy=0.0f); void thline(int x0, int y, int x1, float mx, float my, float mdx=0.125f, float mdy=0.0f); void tvline(int x, int y0, int y1, float mx, float my, float mdx=0.0f, float mdy=0.125f); void cline(int x0, int y0, int x1, int y1, uint8_t c0, uint8_t c1); void chline(int x0, int y, int x1, uint8_t c0, uint8_t c1); void cvline(int x, int y0, int y1, uint8_t c0, uint8_t c1); uint8_t mget(int celx, int cely); void mset(int celx, int cely, uint8_t snum); void map(int celx, int cely, int sx, int sy, uint8_t celw, uint8_t celh, uint8_t layer=0); bool btn(uint8_t i); int wbtnp(); bool btnp(uint8_t i); bool anykey(); 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); float time(); bool beat(int16_t i); //float abs(float x); float flr(float x); float sgn(float x); #ifdef __WINDOWS__ float ceil(float x); float sin(float x); float cos(float x); float atan2(float dx, float dy); float sqrt(float x); #endif float max(float x, float y); float mid(float x, float y, float z); float min(float x, float y); int utfstrlen(const char *str); int rnd(int x); //void srand(int x); const char* tostr(int val); //void debug(const char *str); #define debug printf uint8_t ascii(const char *str, uint8_t index); void fopen(const char *filename, uint8_t mode=0); void fopenres(const char *filename); void fclose(); bool feof(); void fwritei(int value); void fwrited(float value); void fwrites(const char *value); void fwritew(const char *value); void fwriteb(bool value); void fwriteln(); int freadi(); float freadd(); const char *freads(); const char *freadw(); bool freadb(); void playmusic(const char *filename, const int loop=-1); void pausemusic(); void resumemusic(); void stopmusic(); int loadsound(const char *filename); void freesound(int soundfile); int playsound(int soundfile, const int volume=-1); void stopsound(int soundchannel); int getzoom(); void setzoom(const int value); 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 setturbo(const bool value); void exit();