33 lines
784 B
C
33 lines
784 B
C
#pragma once
|
|
|
|
#define LEVEL_NB 3
|
|
#define LEVEL_SIZE 16
|
|
#define TILE_SIZE 12
|
|
#define PLAYER_SIZE 10
|
|
|
|
/* struct for a pair of int values */
|
|
typedef struct Vec2 {
|
|
int x, y;
|
|
} Vec2;
|
|
|
|
/* struct for a pair of float values */
|
|
typedef struct FVec2 {
|
|
float x, y;
|
|
} FVec2;
|
|
|
|
/* struct for player's data */
|
|
typedef struct Player {
|
|
Vec2 pos;
|
|
Vec2 spawn;
|
|
FVec2 frac;
|
|
} Player;
|
|
|
|
/* used for tiles */
|
|
typedef int tile_t;
|
|
|
|
Vec2 search(tile_t x, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);
|
|
int collide_pixel(Vec2 pos, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);
|
|
int collide(Vec2 pos, int h, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);
|
|
int object_delete(Vec2 pos, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);
|
|
Player player_reset(Player player, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);
|