diff options
-rw-r--r-- | src/eetg.c | 15 | ||||
-rw-r--r-- | src/eetg.h | 4 | ||||
-rw-r--r-- | src/et/et.c | 15 | ||||
-rw-r--r-- | src/et/et.h | 2 |
4 files changed, 20 insertions, 16 deletions
@@ -64,7 +64,7 @@ eetg_object_unset(struct eetg_object *object) object->layer_id = -1; } -static char +static signed char eetg_object_get_char(const struct eetg_object *object, int x, int y) { int index; @@ -112,7 +112,7 @@ eetg_object_check_collision(struct eetg_object *object1, for (int i = xtl; i <= xbr; i++) { for (int j = ytl; j <= ybr; j++) { - char c1, c2; + signed char c1, c2; bool hit; c1 = eetg_object_get_char(object1, i, j); @@ -214,7 +214,7 @@ eetg_layer_lookup(struct eetg_layer *layer, int x, int y) for (struct eetg_object *object = layer->objects; object; object = object->next) { - char c; + signed char c; c = eetg_object_get_char(object, x, y); @@ -894,6 +894,15 @@ eetg_object_get_world(const struct eetg_object *object) return object->world; } +bool +eetg_object_has_type(const struct eetg_object *object1, + const struct eetg_object *object2, + int type) +{ + return (eetg_object_get_type(object1) == type) + || (eetg_object_get_type(object2) == type); +} + void eetg_init_rand(unsigned int seed) { eetg_rand_next = seed; @@ -119,6 +119,10 @@ bool eetg_object_update(struct eetg_object *object); int eetg_object_get_cell(const struct eetg_object *object, int x, int y); struct eetg_world *eetg_object_get_world(const struct eetg_object *object); +bool eetg_object_has_type(const struct eetg_object *object1, + const struct eetg_object *object2, + int type); + void eetg_init_rand(unsigned int seed); int eetg_rand(void); diff --git a/src/et/et.c b/src/et/et.c index 5862563..3d5506d 100644 --- a/src/et/et.c +++ b/src/et/et.c @@ -233,15 +233,6 @@ #define ET_TYPE_PIECE 7 #define ET_TYPE_END_TITLE 10 -static bool -et_has_type(const struct eetg_object *object1, - const struct eetg_object *object2, - int type) -{ - return (eetg_object_get_type(object1) == type) - || (eetg_object_get_type(object2) == type); -} - static void et_piece_init(struct et_piece *piece) { @@ -851,8 +842,8 @@ et_game_end(struct et_game *game) eetg_world_clear(&game->world); eetg_world_add(&game->world, &game->game_over, 12, 10, 0); - eetg_world_add(&game->world, &game->status, 26, 8, 0); - eetg_world_add(&game->world, &game->start, 30, 20, 0); + eetg_world_add(&game->world, &game->status, 35, 2, 0); + eetg_world_add(&game->world, &game->start, 30, 18, 0); game->state = ET_STATE_GAME_OVER; } @@ -970,7 +961,7 @@ et_game_handle_collision(struct eetg_object *object1, return false; } - if (et_has_type(object1, object2, ET_TYPE_BG)) { + if (eetg_object_has_type(object1, object2, ET_TYPE_BG)) { return false; } diff --git a/src/et/et.h b/src/et/et.h index 90db599..49c6523 100644 --- a/src/et/et.h +++ b/src/et/et.h @@ -13,7 +13,7 @@ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * * - * Embedded invaders. + * Embedded tetris. */ #ifndef ET_H |