Fumofumotris/source/fumotris/fumotris.h

151 lines
1.7 KiB
C
Raw Normal View History

2024-05-07 22:10:15 +00:00
#include "fumocommon.h"
#include "fumoengine.h"
2024-05-14 04:20:20 +00:00
#include "tetra.h"
2024-05-07 22:10:15 +00:00
2024-05-08 22:07:31 +00:00
#define BINDS_N 12
2024-05-07 22:10:15 +00:00
2024-05-10 07:38:08 +00:00
enum FumotrisControls {
2024-05-07 22:10:15 +00:00
LEFT,
RIGHT,
SOFT_DROP,
HARD_DROP,
ROTATE_CCW,
ROTATE_CW,
ROTATE_180,
SWAP,
ESC,
2024-05-10 07:38:08 +00:00
2024-05-07 22:10:15 +00:00
VSCROLL,
HSCROLL,
2024-05-10 07:38:08 +00:00
2024-05-07 22:10:15 +00:00
MOUSE
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate {
u8 *blks;
u16 wid;
u16 hgt;
};
2024-05-08 22:07:31 +00:00
2024-05-10 07:38:08 +00:00
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
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
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
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate O = {
.blks = &(u8) {
1, 1,
1, 1
},
.wid = 2,
.hgt = 2
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate T = {
.blks = &(u8) {
0, 1, 0,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate S = {
.blks = &(u8) {
0, 1, 1,
1, 1, 0,
0, 0, 0
},
.wid = 3,
.hgt = 3
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate Z = {
.blks = &(u8) {
1, 1, 0,
0, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate J = {
.blks = &(u8) {
1, 0, 0,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
2024-05-07 22:10:15 +00:00
};
2024-05-14 04:20:20 +00:00
struct TetraTemplate L = {
.blks = &(u8) {
0, 0, 1,
1, 1, 1,
0, 0, 0
},
.wid = 3,
.hgt = 3
2024-05-07 22:10:15 +00:00
};