* Initial commit.

:)
This commit is contained in:
iProgramInCpp
2023-07-30 22:22:02 +03:00
commit 9642818a88
613 changed files with 151754 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
#include "ProgressScreen.hpp"
bool ProgressScreen::isInGameScreen()
{
return false;
}
void ProgressScreen::render(int a, int b, float c)
{
if (m_pMinecraft->isLevelGenerated())
{
m_pMinecraft->setScreen(nullptr);
return;
}
renderBackground();
// render the dirt background
// for some reason, this was manually written:
m_pMinecraft->m_pTextures->loadAndBindTexture("gui/background.png");
//! why not use the screen stuff
int x_width = int(Minecraft::width * Gui::InvGuiScale);
int x_height = int(Minecraft::height * Gui::InvGuiScale);
Tesselator& t = Tesselator::instance;
t.begin();
t.color(0x404040);
t.vertexUV(0.0f, float(x_height), 0, 0, float(x_height) / 32.0f);
t.vertexUV(float(x_width), float(x_height), 0, float(x_width) / 32.0f, float(x_height) / 32.0f);
t.vertexUV(float(x_width), 0, 0, float(x_width) / 32.0f, 0);
t.vertexUV(0.0f, 0, 0, 0, 0);
t.draw();
int yPos = x_height / 2;
if (m_pMinecraft->m_progressPercent >= 0)
{
float lX = float(x_width) / 2 - 50, rX = float(x_width) / 2 + 50;
float prog = float(m_pMinecraft->m_progressPercent);
// disable the texturing
glDisable(GL_TEXTURE_2D);
t.begin();
t.color(0x808080); // gray background
t.vertex(lX, float(yPos + 16), 0);
t.vertex(lX, float(yPos + 18), 0);
t.vertex(rX, float(yPos + 18), 0);
t.vertex(rX, float(yPos + 16), 0);
t.color(0x80FF80); // the green stuff
t.vertex(lX, float(yPos + 16), 0);
t.vertex(lX, float(yPos + 18), 0);
t.vertex(lX + prog, float(yPos + 18), 0);
t.vertex(lX + prog, float(yPos + 16), 0);
t.draw();
// restore old state
glEnable(GL_TEXTURE_2D);
}
//! Using m_pMinecraft->m_pFont instead of m_pFont.
Font* pFont = m_pMinecraft->m_pFont;
int width = pFont->width("Generating world");
pFont->drawShadow("Generating world", (x_width - width) / 2, yPos - 20, 0xFFFFFF);
width = pFont->width(m_pMinecraft->getProgressMessage());
pFont->drawShadow(m_pMinecraft->getProgressMessage(), (x_width - width) / 2, yPos + 4, 0xFFFFFF);
#ifdef ORIGINAL_CODE
sleepMs(50);
#endif
}