summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/eetg.c15
-rw-r--r--src/eetg.h4
-rw-r--r--src/et/et.c15
-rw-r--r--src/et/et.h2
4 files changed, 20 insertions, 16 deletions
diff --git a/src/eetg.c b/src/eetg.c
index 8a95ede..816a410 100644
--- a/src/eetg.c
+++ b/src/eetg.c
@@ -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;
diff --git a/src/eetg.h b/src/eetg.h
index aef5916..6a8e396 100644
--- a/src/eetg.h
+++ b/src/eetg.h
@@ -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