summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2025-05-22 00:15:45 +0200
committerRichard Braun <rbraun@sceen.net>2025-05-22 00:39:25 +0200
commitf20294a1d7108c711559ee36c215129d2ec9f110 (patch)
tree51b2872a8492dbbdf746d96b2cae0f5ae1b5446a
parentf7221ae9855ef61e81a1a5978fb94c9a70efeb2c (diff)
Minor level handling fix
-rw-r--r--src/et/et.c19
-rw-r--r--src/et/et.h4
2 files changed, 13 insertions, 10 deletions
diff --git a/src/et/et.c b/src/et/et.c
index 30f529f..591f4e6 100644
--- a/src/et/et.c
+++ b/src/et/et.c
@@ -789,7 +789,7 @@ et_game_update_status(struct et_game *game)
snprintf(game->status_sprite, sizeof(game->status_sprite),
ET_STATUS_SPRITE_FORMAT, game->score,
- game->level, game->total_lines);
+ game->level, game->total_nr_lines);
eetg_object_update(&game->status);
}
@@ -1071,12 +1071,15 @@ et_game_scan_rows(struct et_game *game)
game->difficult = true;
}
- game->total_lines += nr_cleared_rows;
- game->level_lines += nr_cleared_rows;
+ game->total_nr_lines += nr_cleared_rows;
+ game->nr_level_lines += nr_cleared_rows;
- if (game->level_lines >= 10) {
- game->level++;
- game->level_lines -= 10;
+ if (game->nr_level_lines >= 10) {
+ if (game->level < 30) {
+ game->level++;
+ }
+
+ game->nr_level_lines -= 10;
}
}
@@ -1100,14 +1103,14 @@ et_game_reset(struct et_game *game)
game->held_piece = NULL;
game->current_piece = NULL;
game->score = 0;
- game->total_lines = 0;
+ game->total_nr_lines = 0;
game->gravity_counter_reload = ET_FPS / ET_CURRENT_PIECE_SPEED;
game->gravity_counter = game->gravity_counter_reload;
game->lockdown_counter_reload = ET_FPS / ET_LOCKDOWN_DELAY;
game->nr_lockdown_moves = -1;
game->next_index = 0;
game->state = ET_STATE_INTRO;
- game->level_lines = 0;
+ game->nr_level_lines = 0;
game->level = 1;
game->sync_counter_reload = ET_FPS * 2;
game->sync_counter = 1;
diff --git a/src/et/et.h b/src/et/et.h
index c6660d4..855e59e 100644
--- a/src/et/et.h
+++ b/src/et/et.h
@@ -96,14 +96,14 @@ struct et_game {
struct et_piece *held_piece;
struct et_piece *current_piece;
int score;
- int total_lines;
+ int total_nr_lines;
int8_t gravity_counter_reload;
int8_t gravity_counter;
int8_t lockdown_counter_reload;
int8_t nr_lockdown_moves;
int8_t next_index;
int8_t state;
- int8_t level_lines;
+ int8_t nr_level_lines;
int8_t level;
int8_t sync_counter_reload;
int8_t sync_counter;