From 83e438583f1637f7eb131535dadcbc4c044244c0 Mon Sep 17 00:00:00 2001 From: Rynort Date: Mon, 20 Nov 2023 17:34:39 -0500 Subject: [PATCH] Avancement Page Option --- SQCSim2021/engine.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++ SQCSim2021/engine.h | 1 + 2 files changed, 51 insertions(+) diff --git a/SQCSim2021/engine.cpp b/SQCSim2021/engine.cpp index 2f872e7..375c361 100644 --- a/SQCSim2021/engine.cpp +++ b/SQCSim2021/engine.cpp @@ -275,6 +275,50 @@ void Engine::DrawMenu() ShowCursor(); } +void Engine::DrawOption() +{ + static const int sTitle = 400; + static const int sButton = 225; + + glDisable(GL_LIGHTING); + + + glDisable(GL_DEPTH_TEST); + glDisable(GL_STENCIL_TEST); + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, Width(), 0, Height(), -1, 1); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + + MenuOptionsTexture.Bind(); + glLoadIdentity(); + glBegin(GL_QUADS); + glTexCoord2f(0, 0); + glVertex2i(0, 0); + glTexCoord2f(1, 0); + glVertex2i(Width(), 0); // + glTexCoord2f(1, 1); + glVertex2i(Width(), Height()); + glTexCoord2f(0, 1); + glVertex2i(0, Height()); + glEnd(); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + glEnable(GL_BLEND); + + //glEnable(GL_LIGHTING); + glDisable(GL_BLEND); + glEnable(GL_DEPTH_TEST); + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); + ShowCursor(); +} + void Engine::Init() { @@ -1129,6 +1173,10 @@ void Engine::Render(float elapsedTime) { } else if (m_gamestate == GameState::SINGLEMULTI) DisplaySingleOrMultiplayerMenu(); + else if (m_gamestate == GameState::MAIN_MENU) + { + DrawOption(); + } else if (m_gamestate == GameState::QUIT) Stop(); } @@ -1322,6 +1370,8 @@ void Engine::MousePressEvent(const MOUSE_BUTTON& button, int x, int y) { m_gamestate = GameState::SINGLEMULTI; if ((m_mousemx >= 305 && m_mousemx <= 450) && (m_mousemy >= 300 && m_mousemy <= 400)) m_gamestate = GameState::OPTIONS; + if ((m_mousemx >= 305 && m_mousemx <= 450) && (m_mousemy >= 450 && m_mousemy <= 500)) + m_gamestate = GameState::QUIT; } else if (m_gamestate == GameState::SINGLEMULTI) { diff --git a/SQCSim2021/engine.h b/SQCSim2021/engine.h index 543daf3..15afb4c 100644 --- a/SQCSim2021/engine.h +++ b/SQCSim2021/engine.h @@ -26,6 +26,7 @@ public: Engine(); virtual ~Engine(); virtual void DrawMenu(); + virtual void DrawOption(); virtual void DrawSplachScreen(); virtual void Init(); virtual void DeInit();