summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2025-05-23 21:23:03 +0200
committerRichard Braun <rbraun@sceen.net>2025-05-23 21:23:03 +0200
commit52caa5adafff4c6b2f8847b07857a804e9284a47 (patch)
tree9626b0e62dba5f3eddb5b198eda061ac8fa76647
parent068fd81851c1a638c4b5b94fe363596ee5dec692 (diff)
Memory optimization
-rw-r--r--src/et/et.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/et/et.h b/src/et/et.h
index dfd754d..90db599 100644
--- a/src/et/et.h
+++ b/src/et/et.h
@@ -64,6 +64,15 @@
*/
#define ET_PIECE_SPRITE_SIZE ((((4 * 2) + 1) * 4) + 1)
+/*
+ * Take into account the following :
+ * - rows
+ * - columns
+ * - next piece queue
+ * - held piece
+ */
+#define ET_MAX_NR_PIECES ((20 * 10) + 3 + 1 + 1)
+
struct et_piece {
struct eetg_object object;
char sprite[ET_PIECE_SPRITE_SIZE];
@@ -91,7 +100,7 @@ struct et_game {
struct eetg_object held_piece_frame;
struct eetg_object status;
struct eetg_object game_over;
- struct et_piece pieces[256];
+ struct et_piece pieces[ET_MAX_NR_PIECES];
struct et_bag bag;
struct et_piece *next_pieces[ET_NEXT_QUEUE_SIZE];
struct et_piece *held_piece;