255 lines
5.9 KiB
C
255 lines
5.9 KiB
C
#pragma once
|
|
|
|
#include <SDL2/SDL.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();
|
|
|
|
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);
|
|
|
|
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 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 camera(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);
|
|
bool btnp(uint8_t i);
|
|
|
|
int mousex();
|
|
int mousey();
|
|
int mwheel();
|
|
bool mbtn(uint8_t i);
|
|
|
|
float time();
|
|
|
|
//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 rnd(int x);
|
|
//void srand(int x);
|
|
|
|
const char* tostr(int val);
|
|
|
|
void debug(const char *str);
|
|
void pdebug();
|
|
|
|
uint8_t ascii(const char *str, uint8_t index);
|
|
|
|
void fopen(const char *filename, uint8_t mode=0);
|
|
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 bool loop = true);
|
|
void pausemusic();
|
|
void resumemusic();
|
|
void stopmusic();
|