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);  | 
