diff options
Diffstat (limited to 'src/games/tetris/Tetris.cpp')
| -rw-r--r-- | src/games/tetris/Tetris.cpp | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src/games/tetris/Tetris.cpp b/src/games/tetris/Tetris.cpp index 331e8a6..a8004f3 100644 --- a/src/games/tetris/Tetris.cpp +++ b/src/games/tetris/Tetris.cpp @@ -1,7 +1,9 @@ #include <games/tetris/Tetromino.hpp> +#include <games/tetris/Tetris.hpp> +#include <renderer/Renderer.hpp> + #include <SDL3/SDL_events.h> #include <SDL3/SDL_timer.h> -#include <games/tetris/Tetris.hpp> #include <imgui.h> #include <fstream> @@ -9,8 +11,7 @@ // Todo: change to new font scaling api in imgui first // Todo: test text with hardcoded gap + dummy to ensure it gets placed as expected -Tetris::Tetris(RenderGroup& m_RenderGroup) : - m_RenderGroup(m_RenderGroup), +Tetris::Tetris() : m_ActiveTetromino(m_Board), m_NextTetromino(m_Board) { @@ -37,8 +38,8 @@ void Tetris::Restart() { bool Tetris::Update(std::vector<SDL_Event> &events) { Color clear_color = {0.2f, 0.2f, 0.2f, 1.0f}; - m_RenderGroup.SetCameraSize(4.0f, 3.0f); - m_RenderGroup.Clear(clear_color); + g_renderer.SetCameraSize(4.0f, 3.0f); + g_renderer.Clear(clear_color); if (m_RunningState == TetrisRunningState::Restart) { Restart(); @@ -213,8 +214,8 @@ void Tetris::HandleGameOver() { } void Tetris::Draw() { - m_Board.Draw(m_Level, m_RenderGroup); - m_ActiveTetromino.Draw(m_RenderGroup); + m_Board.Draw(m_Level); + m_ActiveTetromino.Draw(); DrawNextTetromino(); DrawStatistics(); @@ -260,7 +261,7 @@ void Tetris::DrawGameOverMenu() { void Tetris::DrawLineCounter() { V2F32 view_pos = {0.5f, 2.6f}; - ImVec2 screen_pos = m_RenderGroup.ViewPosToScreenPosImGui(view_pos); + ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); ImGui::Begin("TetrisLines", nullptr, s_DefaultImGuiWindowFlags); @@ -273,33 +274,33 @@ void Tetris::DrawStatistics() { V2F32 view_advance = {0.0f, 0.2f}; V2F32 view_text_title_pos = view_tetrominoes_pos + V2F32(0.02f, 0.4f); - ImVec2 screen_text_title_pos = m_RenderGroup.ViewPosToScreenPosImGui(view_text_title_pos); + ImVec2 screen_text_title_pos = g_renderer.ViewPosToScreenPosImGui(view_text_title_pos); V2F32 view_text_pos = view_tetrominoes_pos + V2F32(0.4f, 0.16f); V2F32 view_text_gap = {0.0f, 0.124f}; - ImVec2 screen_text_pos = m_RenderGroup.ViewPosToScreenPosImGui(view_text_pos); - ImVec2 screen_text_gap = m_RenderGroup.ViewSizeToScreenSizeImGui(view_text_gap); + ImVec2 screen_text_pos = g_renderer.ViewPosToScreenPosImGui(view_text_pos); + ImVec2 screen_text_gap = g_renderer.ViewSizeToScreenSizeImGui(view_text_gap); - Tetromino::Draw(Tetromino::t_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::t_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::j_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::j_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::z_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::z_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::o_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::o_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::s_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::s_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::l_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::l_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(Tetromino::i_piece, 0, view_tetrominoes_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(Tetromino::i_piece, 0, view_tetrominoes_pos, 0.5f); view_tetrominoes_pos.y -= view_advance.y; @@ -332,7 +333,7 @@ void Tetris::DrawStatistics() { void Tetris::DrawScore() { V2F32 view_pos = {3.0f, 2.2f}; - ImVec2 screen_pos = m_RenderGroup.ViewPosToScreenPosImGui(view_pos); + ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); ImGui::Begin("TetrisScore", nullptr, s_DefaultImGuiWindowFlags); @@ -343,7 +344,7 @@ void Tetris::DrawScore() { void Tetris::DrawNextTetromino() { V2F32 text_view_pos = {3.0f, 1.8f}; - ImVec2 text_screen_pos = m_RenderGroup.ViewPosToScreenPosImGui(text_view_pos); + ImVec2 text_screen_pos = g_renderer.ViewPosToScreenPosImGui(text_view_pos); ImGui::SetNextWindowPos(text_screen_pos); ImGui::Begin("TetrisNextTetromino", nullptr, s_DefaultImGuiWindowFlags); @@ -352,12 +353,12 @@ void Tetris::DrawNextTetromino() { V2F32 tetromino_view_pos = {3.0, 1.4f}; - Tetromino::Draw(m_NextTetromino.GetId(), 0, tetromino_view_pos, 0.5f, m_RenderGroup); + Tetromino::Draw(m_NextTetromino.GetId(), 0, tetromino_view_pos, 0.5f); } void Tetris::DrawLevel() { V2F32 view_pos = {3.0f, 1.2f}; - ImVec2 screen_pos = m_RenderGroup.ViewPosToScreenPosImGui(view_pos); + ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); ImGui::Begin("TetrisLevel", nullptr, s_DefaultImGuiWindowFlags); |
