Implemented Stage and Open Curtains Assets

- Also cleaned up some test sprites and animations out of the scene
This commit is contained in:
2022-04-14 00:28:47 -05:00
parent e1d4e85c70
commit dffd14e4f6
6 changed files with 82 additions and 74 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

View File

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

View File

@@ -45,9 +45,6 @@ class GameRenderer {
QuadSprite* wheelPixelNote;
QuadSprite* holdPixelNote;
QuadSprite* animatedNote;
QuadSprite* lerpingNote;
QuadSprite* noteJudgement;
VideoSprite* testVideo;

View File

@@ -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

View File

@@ -11,6 +11,7 @@
#include <vector>
#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;

View File

@@ -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