diff --git a/Debug/Textures/temp_LoginScreen.png b/Debug/Textures/temp_LoginScreen.png deleted file mode 100644 index 9e5b71e..0000000 Binary files a/Debug/Textures/temp_LoginScreen.png and /dev/null differ diff --git a/Sonataria/GameRenderer.cpp b/Sonataria/GameRenderer.cpp index 4557e2e..99e6c39 100644 --- a/Sonataria/GameRenderer.cpp +++ b/Sonataria/GameRenderer.cpp @@ -90,8 +90,6 @@ GameRenderer::GameRenderer() { wheelPixelNote = new QuadSprite(L"Wheel Note in Pixel Units"); holdPixelNote = new QuadSprite(L"Hold Note in Pixel Units"); noteJudgement = new QuadSprite(L"Judgement for Notes"); - animatedNote = new QuadSprite(L"Texture Animation Test"); - lerpingNote = new QuadSprite(L"Testing linear interpolation"); testVideo = new VideoSprite(L"Test video sprite"); } @@ -108,8 +106,6 @@ GameRenderer::~GameRenderer() { delete wheelPixelNote; delete holdPixelNote; delete noteJudgement; - delete animatedNote; - delete lerpingNote; delete testVideo; } @@ -180,8 +176,6 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { wheelPixelNote->initSprite(spriteShader.getProgram()); holdPixelNote->initSprite(spriteShader.getProgram()); noteJudgement->initSprite(spriteShader.getProgram()); - animatedNote->initSprite(spriteShader.getProgram()); - lerpingNote->initSprite(spriteShader.getProgram()); // INITIALIZE THE TEXTURES background->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_Background.png")); @@ -191,8 +185,6 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { wheelSlamRight->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_SlamRight.png")); wheelPixelNote->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_wheel_Note.png")); holdPixelNote->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_hold_Note.png")); - animatedNote->setTextureID(TextureList::Inst()->GetTextureID("Textures/MissingRoundArt.png")); - lerpingNote->setTextureID(TextureList::Inst()->GetTextureID("Textures/MissingJacketArt.png")); // SET THE TRANSFORMATIONS @@ -235,19 +227,6 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { holdPixelNote->scale(1.0f / (.1984f * 2.f), 1.0f / 2.f, 1.0f); holdPixelNote->scale(0.5773f, 1.0f, 1.0f); // sqrt(3)/3 - // Test animation - animatedNote->scale(0.33f, 0.33f, 0.33f); - animatedNote->translate(1.33f, 0.0f, 0.0f); - animatedNote->addMotion(PROP_POSITION, Vector3(-0.01f, 0.0f, 0.0f), 1); - - lerpingNote->scale(0.33f, 0.33f, 0.33f); - lerpingNote->translate(-1.33f, 0.33f, 0.0f); - lerpingNote->addInterpolation( - INTERP_LINEAR, PROP_OPACITY, - 0.1f, 1.0f, 10000 - ); - lerpingNote->update(0); - // INITIALIZE TEXT SHADER if (!textShader.initShader()) { logger.logError(L"Failed to initialize text shader"); @@ -291,7 +270,7 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { speedText->scale(0.75f); // Clear Color for Background - glClearColor(0.968627f, 0.658823f, 0.721568f, 1.0f); + glClearColor(0.f, 0.f, 0.f, 1.0f); glViewport(0, 0, 1920, 1080); vector lane1; @@ -407,10 +386,6 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { // Clear the depth buffer glClear(GL_DEPTH_BUFFER_BIT); - // Test animation sprite - animatedNote->render(PROJECTION::ORTHOGRAPHIC); - lerpingNote->render(PROJECTION::ORTHOGRAPHIC); - // Draw track and track sprites track->render(PROJECTION::PERSPECTIVE); @@ -1218,13 +1193,6 @@ void GameRenderer::render(sf::RenderWindow* gameWindow) { // Use the sprite shader glUseProgram(spriteShader.getProgram()); - // Test animation sprite - animatedNote->update(currentSongOffset.count()); - animatedNote->render(PROJECTION::ORTHOGRAPHIC); - - lerpingNote->update(currentSongOffset.count()); - lerpingNote->render(PROJECTION::ORTHOGRAPHIC); - // Draw judgement text if (currentSongOffset.count() < clearTime) { noteJudgement->render(PROJECTION::ORTHOGRAPHIC); diff --git a/Sonataria/GameRenderer.h b/Sonataria/GameRenderer.h index e03a2b2..9743087 100644 --- a/Sonataria/GameRenderer.h +++ b/Sonataria/GameRenderer.h @@ -45,9 +45,6 @@ class GameRenderer { QuadSprite* wheelPixelNote; QuadSprite* holdPixelNote; - QuadSprite* animatedNote; - QuadSprite* lerpingNote; - QuadSprite* noteJudgement; VideoSprite* testVideo; diff --git a/Sonataria/ScreenRenderer.cpp b/Sonataria/ScreenRenderer.cpp index 0dc9882..4734211 100644 --- a/Sonataria/ScreenRenderer.cpp +++ b/Sonataria/ScreenRenderer.cpp @@ -5,7 +5,6 @@ #include "GameRenderer.h" #include "Logger.h" #include "Networking.h" -#include "OpenGLText.h" #include "RFIDCardReader.h" #include "ScreenRenderer.h" #include "SystemSettings.h" @@ -116,9 +115,15 @@ ScreenRenderer::ScreenRenderer() { this->isNetworkChecking = false; this->openGLInitialized = false; - // Setup sprites + // SETUP SPRITES titleScreen = new QuadSprite(L"Title Screen"); - preloginScreen = new QuadSprite(L"Prelogin Screen"); + + // General Sprites + Stage = new QuadSprite(L"Stage"); + OpenCurtains = new QuadSprite(L"Open Curtains"); + + // PreLogin Sprites + LifeLinkIcon = new QuadSprite(L"Life Link Icon"); std::string dir = "./Songs"; @@ -189,9 +194,15 @@ ScreenRenderer::ScreenRenderer() { * Default deconstructor. */ ScreenRenderer::~ScreenRenderer() { - // delete sprites + // DELETE SPRITES delete titleScreen; - delete preloginScreen; + + // General Sprites + delete Stage; + delete OpenCurtains; + + // PreLogin Sprites + delete LifeLinkIcon; } /** @@ -229,17 +240,34 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { // INITIALIZE THE SPRITES titleScreen->initSprite(spriteShader.getProgram()); - preloginScreen->initSprite(spriteShader.getProgram()); + + // General Sprites + Stage->initSprite(spriteShader.getProgram()); + OpenCurtains->initSprite(spriteShader.getProgram()); + + // PreLogin Sprites + LifeLinkIcon->initSprite(spriteShader.getProgram()); // INITIALIZE THE TEXTURES titleScreen->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_TitleScreen.png")); - preloginScreen->setTextureID(TextureList::Inst()->GetTextureID("Textures/temp_LoginScreen.png")); + + // General Sprites + Stage->setTextureID(TextureList::Inst()->GetTextureID("Textures/General/Stage.png")); + OpenCurtains->setTextureID(TextureList::Inst()->GetTextureID("Textures/General/OpenCurtains.png")); + + // PreLogin Sprites + LifeLinkIcon->setTextureID(TextureList::Inst()->GetTextureID("Textures/Login/LifeLink.png")); // SET THE TRANSFORMATIONS - // Title Screen titleScreen->scale(2.f * (16.f / 9.f), 2.f, 1.f); - preloginScreen->scale(2.f * (16.f / 9.f), 2.f, 1.f); + + // General Sprites + Stage->scale(2.f * (16.f / 9.f), 2.f, 1.f); + OpenCurtains->scale(2.f * (16.f / 9.f), 2.f, 1.f); + + // PreLogin Sprites + LifeLinkIcon->scale(2.f * (16.f / 9.f), 2.f, 1.f); // INITIALIZE TEXT SHADER logger.log(L"Initializing text shader."); @@ -250,7 +278,11 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { logger.log(L"OpenGL initialized."); } - // INITIALIE TEXT + // Load Fonts + TextureManager::TextureInfo HonyaJi = TextureList::Inst()->GetTextureInfo("Fonts/HonyaJi-Re.ttf"); + TextureManager::TextureInfo Stayola = TextureList::Inst()->GetTextureInfo("Fonts/Stayola-Regular.otf"); + + // INITIALIZE TEXT /* none for now */ // Clear color for the background @@ -267,17 +299,16 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { bool updateDownloadStarted = false; // Text Objects - FOR STARTUP - TextureManager::TextureInfo fontInfo = TextureList::Inst()->GetTextureInfo("Fonts/HonyaJi-Re.ttf"); - OpenGLText* gameVersion = new OpenGLText(L"Game Version", *fontInfo.font); - OpenGLText* startupText = new OpenGLText(L"Startup", *fontInfo.font); - OpenGLText* networkText = new OpenGLText(L"Network", *fontInfo.font); - OpenGLText* updatesText = new OpenGLText(L"Updates", *fontInfo.font); + OpenGLText* gameVersion = new OpenGLText(L"Game Version", *HonyaJi.font); + OpenGLText* startupText = new OpenGLText(L"Startup", *HonyaJi.font); + OpenGLText* networkText = new OpenGLText(L"Network", *HonyaJi.font); + OpenGLText* updatesText = new OpenGLText(L"Updates", *HonyaJi.font); - OpenGLText* colon1 = new OpenGLText(L"Colon 1", *fontInfo.font); - OpenGLText* colon2 = new OpenGLText(L"Colon 1", *fontInfo.font); + OpenGLText* colon1 = new OpenGLText(L"Colon 1", *HonyaJi.font); + OpenGLText* colon2 = new OpenGLText(L"Colon 1", *HonyaJi.font); - OpenGLText* networkStatusText = new OpenGLText(L"Network Status", *fontInfo.font); - OpenGLText* updatesStatusText = new OpenGLText(L"Updates Status", *fontInfo.font); + OpenGLText* networkStatusText = new OpenGLText(L"Network Status", *HonyaJi.font); + OpenGLText* updatesStatusText = new OpenGLText(L"Updates Status", *HonyaJi.font); gameVersion->initSprite(textShader.getProgram()); gameVersion->translate(-3100.f, 900.f, 0.f); @@ -312,15 +343,15 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { updatesStatusText->scale(0.5f); // Text Objects - For Test Menu - OpenGLText* testMenuTitle = new OpenGLText(L"Test Menu Title", *fontInfo.font); - OpenGLText* testMenuText1 = new OpenGLText(L"Test Menu Text 1", *fontInfo.font); - OpenGLText* testMenuText2 = new OpenGLText(L"Test Menu Text 2", *fontInfo.font); - OpenGLText* testMenuText3 = new OpenGLText(L"Test Menu Text 3", *fontInfo.font); - OpenGLText* testMenuText4 = new OpenGLText(L"Test Menu Text 4", *fontInfo.font); - OpenGLText* testMenuText5 = new OpenGLText(L"Test Menu Text 5", *fontInfo.font); - OpenGLText* testMenuText6 = new OpenGLText(L"Test Menu Text 6", *fontInfo.font); - OpenGLText* testMenuText7 = new OpenGLText(L"Test Menu Text 7", *fontInfo.font); - OpenGLText* testMenuText8 = new OpenGLText(L"Test Menu Text 8", *fontInfo.font); + OpenGLText* testMenuTitle = new OpenGLText(L"Test Menu Title", *HonyaJi.font); + OpenGLText* testMenuText1 = new OpenGLText(L"Test Menu Text 1", *HonyaJi.font); + OpenGLText* testMenuText2 = new OpenGLText(L"Test Menu Text 2", *HonyaJi.font); + OpenGLText* testMenuText3 = new OpenGLText(L"Test Menu Text 3", *HonyaJi.font); + OpenGLText* testMenuText4 = new OpenGLText(L"Test Menu Text 4", *HonyaJi.font); + OpenGLText* testMenuText5 = new OpenGLText(L"Test Menu Text 5", *HonyaJi.font); + OpenGLText* testMenuText6 = new OpenGLText(L"Test Menu Text 6", *HonyaJi.font); + OpenGLText* testMenuText7 = new OpenGLText(L"Test Menu Text 7", *HonyaJi.font); + OpenGLText* testMenuText8 = new OpenGLText(L"Test Menu Text 8", *HonyaJi.font); testMenuTitle->initSprite(textShader.getProgram()); testMenuText1->initSprite(textShader.getProgram()); @@ -389,13 +420,17 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { // Use the sprite shader first glUseProgram(spriteShader.getProgram()); - // DRAW BACKGROUNDS + // DRAW BACKGROUNDS / STAGE (MAIN SET) { - if (gameState.getGameState() == GameState::CurrentState::TITLE_SCREEN) { + if (gameState.getGameState() == GameState::CurrentState::STARTUP) { + // Don't render anything background related + } + else if (gameState.getGameState() == GameState::CurrentState::TITLE_SCREEN) { titleScreen->render(PROJECTION::ORTHOGRAPHIC); } - else if (gameState.getGameState() == GameState::CurrentState::PRELOGIN) { - preloginScreen->render(PROJECTION::ORTHOGRAPHIC); + else { + Stage->render(PROJECTION::ORTHOGRAPHIC); + OpenCurtains->render(PROJECTION::ORTHOGRAPHIC); } } @@ -452,7 +487,9 @@ void ScreenRenderer::render(sf::RenderWindow* gameWindow) { // DRAW ALL OTHER GRAPHICS { - + if (gameState.getGameState() == GameState::CurrentState::PRELOGIN) { + LifeLinkIcon->render(PROJECTION::ORTHOGRAPHIC); + } } // Switch over to the text shader diff --git a/Sonataria/ScreenRenderer.h b/Sonataria/ScreenRenderer.h index 3c141ea..e80eabb 100644 --- a/Sonataria/ScreenRenderer.h +++ b/Sonataria/ScreenRenderer.h @@ -11,6 +11,7 @@ #include #include "OpenGLFont.h" +#include "OpenGLText.h" #include "QuadSprite.h" #include "SpriteShader.h" #include "TextShader.h" @@ -74,7 +75,13 @@ class ScreenRenderer { TextShader textShader; QuadSprite* titleScreen; - QuadSprite* preloginScreen; + + // General Sprites + QuadSprite* Stage; + QuadSprite* OpenCurtains; + + // PreLogin Sprites + QuadSprite* LifeLinkIcon; }; extern ScreenRenderer screenRenderer; diff --git a/Sonataria/TextureList.cpp b/Sonataria/TextureList.cpp index 9bc530e..9b85a27 100644 --- a/Sonataria/TextureList.cpp +++ b/Sonataria/TextureList.cpp @@ -47,14 +47,13 @@ TextureManager::TextureInfo tempTexList[] = { { "Fonts/Stayola-Regular.otf", 20, 0, 0, nullptr}, // Login - { "Textures/temp_LoginScreen.png", 21, GL_BGR, GL_RGB, nullptr }, - { "Textures/Login/LifeLink.png", 22, GL_BGRA, GL_RGBA, nullptr }, + { "Textures/Login/LifeLink.png", 21, GL_BGRA, GL_RGBA, nullptr }, // Create Profile - { "Textures/CreateProfile/Ribbon.png", 23, GL_BGR, GL_RGB, nullptr }, + { "Textures/CreateProfile/Ribbon.png", 22, GL_BGR, GL_RGB, nullptr }, // Thanks For Playing - { "Textures/ThanksForPlaying/ThanksForPlaying.png", 24, GL_BGR, GL_RGB, nullptr } + { "Textures/ThanksForPlaying/ThanksForPlaying.png", 23, GL_BGR, GL_RGB, nullptr } }; // Declare static members of TextureList