Fumofumotris/source/fumotris/fumotris.h
Julia 582b157454 gdf
dfg
2024-05-13 23:20:20 -05:00

151 lines
1.7 KiB
C

#include "fumocommon.h"
#include "fumoengine.h"
#include "tetra.h"
#define BINDS_N 12
enum FumotrisControls {
LEFT,
RIGHT,
SOFT_DROP,
HARD_DROP,
ROTATE_CCW,
ROTATE_CW,
ROTATE_180,
SWAP,
ESC,
VSCROLL,
HSCROLL,
MOUSE
};
struct TetraTemplate {
u8 *blks;
u16 wid;
u16 hgt;
};
u16 controls_g[BINDS_N] = {
LEFT,
RIGHT,
SOFT_DROP,
HARD_DROP,
ROTATE_CCW,
ROTATE_CW,
ROTATE_180,
SWAP,
ESC,
VSCROLL,
HSCROLL,
MOUSE,
};
u16 codes_g[BINDS_N] = {
0x25,
0x27,
0x28,
0x20,
'Z',
'X',
'A',
'C',
0x1B,
0,
1,
0
};
u16 types_g[BINDS_N] = {
BUTTON,
BUTTON,
BUTTON,
BUTTON,
BUTTON,
BUTTON,
BUTTON,
BUTTON,
BUTTON,
AXIS,
AXIS,
JOYSTICK
};
struct TetraTemplate I = {
.blks = &(u8) {
0, 0, 0, 0,
0, 0, 0, 0,
1, 1, 1, 1,
0, 0, 0, 0
},
.wid = 4,
.hgt = 4
};
struct TetraTemplate O = {
.blks = &(u8) {
1, 1,
1, 1
},
.wid = 2,
.hgt = 2
};
struct TetraTemplate T = {
.blks = &(u8) {
0, 1, 0,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
};
struct TetraTemplate S = {
.blks = &(u8) {
0, 1, 1,
1, 1, 0,
0, 0, 0
},
.wid = 3,
.hgt = 3
};
struct TetraTemplate Z = {
.blks = &(u8) {
1, 1, 0,
0, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
};
struct TetraTemplate J = {
.blks = &(u8) {
1, 0, 0,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
};
struct TetraTemplate L = {
.blks = &(u8) {
0, 0, 1,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
};