diff options
Diffstat (limited to 'src/games/tetris')
| -rw-r--r-- | src/games/tetris/Board.cpp | 8 | ||||
| -rw-r--r-- | src/games/tetris/Tetris.cpp | 48 | ||||
| -rw-r--r-- | src/games/tetris/Tetris.hpp | 1 | ||||
| -rw-r--r-- | src/games/tetris/Tetromino.cpp | 6 |
4 files changed, 31 insertions, 32 deletions
diff --git a/src/games/tetris/Board.cpp b/src/games/tetris/Board.cpp index 7f391b4..6188eb8 100644 --- a/src/games/tetris/Board.cpp +++ b/src/games/tetris/Board.cpp @@ -1,5 +1,6 @@ #include <games/tetris/Board.hpp> #include <games/tetris/Tetromino.hpp> +#include <games/Game.hpp> #include <renderer/Renderer.hpp> void @@ -99,10 +100,9 @@ Board::Draw(int32_t level) // background - V3F32 bg_world_pos = { + V2F32 bg_world_pos = { board_world_pos.x, board_world_pos.y, - 0.0f }; V2F32 bg_world_dim = { tetromino_size_with_border * 10, @@ -115,7 +115,7 @@ Board::Draw(int32_t level) bg_world_pos.y + bg_world_dim.y, }; Color bg_color = {0.0f, 0.0f, 0.0f, 1.0f}; - g_renderer.PushRectangle(bg_world_rect, bg_color, bg_world_pos.z); + g_renderer.PushRectangle(bg_world_rect, bg_color, Game::z_layer1); // tetromino parts @@ -145,7 +145,7 @@ Board::Draw(int32_t level) Color color = Tetromino::GetColor(tetromino_id); - g_renderer.PushRectangle(world_rect, color, world_pos.z); + g_renderer.PushRectangle(world_rect, color, Game::z_layer1); } } } 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); } diff --git a/src/games/tetris/Tetris.hpp b/src/games/tetris/Tetris.hpp index 1c60a98..905458a 100644 --- a/src/games/tetris/Tetris.hpp +++ b/src/games/tetris/Tetris.hpp @@ -36,7 +36,6 @@ private: private: static constexpr Color s_text_color {0.9f, 0.9f, 0.9f, 1.0f}; - static constexpr float s_text_z {10.0f}; static constexpr size_t s_frame_strings_capacity {32}; static constexpr char s_tetris_highscore_path[]{"tetris_highscore.txt"}; diff --git a/src/games/tetris/Tetromino.cpp b/src/games/tetris/Tetromino.cpp index 416a8df..a3ec9dd 100644 --- a/src/games/tetris/Tetromino.cpp +++ b/src/games/tetris/Tetromino.cpp @@ -1,4 +1,5 @@ #include <games/tetris/Tetromino.hpp> +#include <games/Game.hpp> #include <renderer/Renderer.hpp> #include <random> @@ -218,10 +219,9 @@ Tetromino::Draw(Id id, int32_t ori, V2F32 pos, float scale) V2F32 local_dim = {tetromino_size, tetromino_size}; - V3F32 world_pos = { + V2F32 world_pos = { pos.x + local_pos.x, pos.y + local_pos.y, - 1.0f }; V2F32 world_dim = local_dim; Rectangle world_rect = { @@ -233,7 +233,7 @@ Tetromino::Draw(Id id, int32_t ori, V2F32 pos, float scale) Color color = GetColor(id); - g_renderer.PushRectangle(world_rect, color, world_pos.z); + g_renderer.PushRectangle(world_rect, color, Game::z_layer1); } } } |
