aboutsummaryrefslogtreecommitdiff
path: root/src/games/tetris/Tetris.cpp
diff options
context:
space:
mode:
authorfschildt <florian.schildt@protonmail.com>2025-11-24 19:55:42 +0100
committerfschildt <florian.schildt@protonmail.com>2025-11-24 19:55:42 +0100
commite4584401ad865afb5a0fec8b7cab67794490a10d (patch)
tree6e13bfdac6b2687be6f3c180132e2a57ee71891d /src/games/tetris/Tetris.cpp
parentfeb4bc8cbc66ba928319ddb2cc1bf48010487863 (diff)
rendering: refactor z-based sorting/drawing
Diffstat (limited to 'src/games/tetris/Tetris.cpp')
-rw-r--r--src/games/tetris/Tetris.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/games/tetris/Tetris.cpp b/src/games/tetris/Tetris.cpp
index d5c735d..ecc2c3a 100644
--- a/src/games/tetris/Tetris.cpp
+++ b/src/games/tetris/Tetris.cpp
@@ -271,7 +271,7 @@ void
Tetris::DrawLineCounter()
{
std::u32string& text = m_frame_arena.Allocate<std::u32string>(U"Lines: xxx");
- V3F32 pos = {0.5f, 2.6f, 4.0f};
+ V2F32 pos = {0.5f, 2.6f};
Color color = {0.9f, 0.9f, 0.9f, 1.0f};
int line_count = std::min(m_line_counter, 999);
@@ -284,19 +284,19 @@ Tetris::DrawLineCounter()
line_count /= 10;
- g_renderer.PushText(text, m_font, pos, color);
+ g_renderer.PushText(text, m_font, pos, color, z_text);
pos.x += 0.2f;
}
void
Tetris::DrawStatistics()
{
- V3F32 pos = {0.4f, 0.5f, s_text_z};
+ V2F32 pos = {0.4f, 0.5f};
std::u32string& title_text = m_frame_arena.Allocate<std::u32string>(U"Statistics");
- V3F32 title_pos = {pos.x + 0.02f, pos.y + 1.64f, pos.z};
- g_renderer.PushText(title_text, m_font, title_pos, s_text_color);
+ V2F32 title_pos = {pos.x + 0.02f, pos.y + 1.64f};
+ g_renderer.PushText(title_text, m_font, title_pos, s_text_color, z_text);
float yadvance = -0.2f;
float tetrominoes_x0 = pos.x;
@@ -329,7 +329,7 @@ Tetris::DrawStatistics()
float counters_x0 = pos.x + 0.4f;
float counters_y0 = pos.y + 0.05f - yadvance * (float)Tetromino::id_count;
- V3F32 counters_pos = {counters_x0, counters_y0, s_text_z};
+ V2F32 counters_pos = {counters_x0, counters_y0};
std::u32string& t_count = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_tetromino_counters[Tetromino::t_piece]));
std::u32string& j_count = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_tetromino_counters[Tetromino::j_piece]));
@@ -339,25 +339,25 @@ Tetris::DrawStatistics()
std::u32string& l_count = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_tetromino_counters[Tetromino::l_piece]));
std::u32string& i_count = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_tetromino_counters[Tetromino::i_piece]));
- g_renderer.PushText(t_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(t_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(j_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(j_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(z_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(z_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(o_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(o_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(s_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(s_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(l_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(l_count, m_font, counters_pos, s_text_color, z_text);
counters_pos.y += yadvance;
- g_renderer.PushText(i_count, m_font, counters_pos, s_text_color);
+ g_renderer.PushText(i_count, m_font, counters_pos, s_text_color, z_text);
}
void
Tetris::DrawScore()
{
- V3F32 pos = {3.0f, 2.6f, s_text_z};
+ V2F32 pos = {3.0f, 2.6f};
std::u32string& top_label = m_frame_arena.Allocate<std::u32string>(U"Top");
@@ -367,25 +367,25 @@ Tetris::DrawScore()
std::u32string& score_value = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_score));
- g_renderer.PushText(top_label, m_font, pos, s_text_color);
+ g_renderer.PushText(top_label, m_font, pos, s_text_color, z_text);
pos.y -= 0.1f;
- g_renderer.PushText(top_value, m_font, pos, s_text_color);
+ g_renderer.PushText(top_value, m_font, pos, s_text_color, z_text);
pos.y -= 0.2f;
- g_renderer.PushText(score_label, m_font, pos, s_text_color);
+ g_renderer.PushText(score_label, m_font, pos, s_text_color, z_text);
pos.y -= 0.1f;
- g_renderer.PushText(score_value, m_font, pos, s_text_color);
+ g_renderer.PushText(score_value, m_font, pos, s_text_color, z_text);
}
void
Tetris::DrawNextTetromino()
{
- V3F32 pos = {3.0f, 1.4f, s_text_z};
+ V2F32 pos = {3.0f, 1.4f};
- V3F32 label_pos = {pos.x, pos.y + 0.4f, pos.z};
+ V2F32 label_pos = {pos.x, pos.y + 0.4f};
std::u32string& label_text = m_frame_arena.Allocate<std::u32string>(U"Next:");
- g_renderer.PushText(label_text, m_font, label_pos, s_text_color);
+ g_renderer.PushText(label_text, m_font, label_pos, s_text_color, z_layer1);
V2F32 tetromino_pos = {pos.x, pos.y};
@@ -395,13 +395,13 @@ Tetris::DrawNextTetromino()
void
Tetris::DrawLevel()
{
- V3F32 pos = {3.0f, 1.1f};
+ V2F32 pos = {3.0f, 1.1f};
std::u32string& label = m_frame_arena.Allocate<std::u32string>(U"Level");
- g_renderer.PushText(label, m_font, pos, s_text_color);
+ g_renderer.PushText(label, m_font, pos, s_text_color, z_text);
pos.y -= 0.1f;
std::u32string& level = m_frame_arena.Allocate<std::u32string>(int32_to_u32string(m_level));
- g_renderer.PushText(level, m_font, pos, s_text_color);
+ g_renderer.PushText(level, m_font, pos, s_text_color, z_text);
}