mirror of
https://github.com/Leahnaya/Sonataria.git
synced 2026-09-07 16:25:37 -05:00
Implemented Stage and Open Curtains Assets
- Also cleaned up some test sprites and animations out of the scene
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 149 KiB |
@@ -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);
|
||||
|
||||
@@ -45,9 +45,6 @@ class GameRenderer {
|
||||
QuadSprite* wheelPixelNote;
|
||||
QuadSprite* holdPixelNote;
|
||||
|
||||
QuadSprite* animatedNote;
|
||||
QuadSprite* lerpingNote;
|
||||
|
||||
QuadSprite* noteJudgement;
|
||||
|
||||
VideoSprite* testVideo;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user