C++03 Support & Partial Xbox 360 Support (#37)

* WIP C++03 + Xbox 360 Support

* math.h & _USE_MATH_DEFINES on Level.hpp
Updated Xenon vcxproj file for new file structure.

* * Fix bad GUI scale setup.

* * Gui: Use ratios instead of hardcoded sub-1 floating point values, to make the mechanism more clear.

* Add Direct Connect Button and Screen (#30)

* Add Direct Connect Button and Screen

* Remove accidental extra build directories for wasm

* Add DirectConnectScreen.cpp to the CMake

* Use Hungarian coding style notation

* * Fix errors caused by #30

* * Improve the Chat Screen

* * Improve the DirectConnectScreen, among other things.

* * Update the game title once again.

* * Add build-wasm.bat.

* * Add info about compiling for wasm

* * Fix send to specific GUID actually broadcasting to everyone

* * Add command manager.

* * Add writeable configuration.

* * Allow dynamic screen size change on windows

* * Allow the same thing on the emscripten version.

* WIP C++03 + Xbox 360 Support

* Fixed a possible merging issue that broke RakNet?

* Additional Xbox 360 compatability fixes

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
Co-authored-by: ts <124226059+uniformization@users.noreply.github.com>
This commit is contained in:
Brent
2023-08-07 07:48:52 -05:00
committed by GitHub
parent 6c1a54e3f0
commit a0f71c7b27
179 changed files with 4969 additions and 918 deletions

View File

@@ -8,8 +8,27 @@
#include "Button.hpp"
void Button::_init()
{
m_width = 0;
m_height = 0;
m_xPos = 0;
m_yPos = 0;
m_text = "";
m_bEnabled = true;
m_bVisible = true;
field_36 = false;
#ifndef ORIGINAL_CODE
m_lastX = 0;
m_lastY = 0;
#endif
}
Button::Button(int buttonId, int xPos, int yPos, int btnWidth, int btnHeight, const std::string& text)
{
_init();
m_buttonId = buttonId;
m_xPos = xPos;
m_yPos = yPos;
@@ -20,6 +39,8 @@ Button::Button(int buttonId, int xPos, int yPos, int btnWidth, int btnHeight, co
Button::Button(int buttonId, int xPos, int yPos, const std::string& text)
{
_init();
m_buttonId = buttonId;
m_xPos = xPos;
m_yPos = yPos;
@@ -30,6 +51,8 @@ Button::Button(int buttonId, int xPos, int yPos, const std::string& text)
Button::Button(int buttonId, const std::string& text)
{
_init();
m_buttonId = buttonId;
m_text = text;
m_width = 200;

View File

@@ -15,6 +15,8 @@ class Screen;
class Button : public GuiComponent
{
private:
void _init();
public:
Button(int, int x, int y, int width, int height, const std::string&);
Button(int, int x, int y, const std::string&);
@@ -28,19 +30,19 @@ public:
void render(Minecraft*, int xPos, int yPos);
public:
int m_width = 0;
int m_height = 0;
int m_xPos = 0;
int m_yPos = 0;
std::string m_text = "";
int m_width;
int m_height;
int m_xPos;
int m_yPos;
std::string m_text;
int m_buttonId;
bool m_bEnabled = true;
bool m_bVisible = true;
bool field_36 = false;
bool m_bEnabled;
bool m_bVisible;
bool field_36;
#ifndef ORIGINAL_CODE
int m_lastX = 0;
int m_lastY = 0;
int m_lastX;
int m_lastY;
#endif
};

View File

@@ -10,30 +10,21 @@
#include "Minecraft.hpp"
#ifndef ORIGINAL_CODE
TextInputBox::TextInputBox(int id, int x, int y) :
TextInputBox(id, x, y, 200, 12, "", "")
{
}
TextInputBox::TextInputBox(int id, int x, int y, int width, int height) :
TextInputBox(id, x, y, width, height, "", "")
{
}
TextInputBox::TextInputBox(int id, int x, int y, int width, int height, const std::string& placeholder) :
TextInputBox(id, x, y, width, height, placeholder, "")
{
}
TextInputBox::TextInputBox(int id, int x, int y, int width, int height, const std::string& placeholder, const std::string& text) :
m_ID(id),
m_xPos(x),
m_yPos(y),
m_width(width),
m_height(height),
m_placeholder(placeholder),
m_text(text)
TextInputBox::TextInputBox(int id, int x, int y, int width, int height, const std::string& placeholder, const std::string& text)
{
m_ID = id;
m_xPos = x;
m_yPos = y;
m_width = width;
m_height = height;
m_placeholder = placeholder;
m_text = text;
m_bFocused = false;
m_bEnabled = true;
m_bCursorOn = true;
m_insertHead = 0;
m_lastFlashed = 0;
m_pFont = nullptr;
}
void TextInputBox::init(Font* pFont)

View File

@@ -20,10 +20,7 @@ class Minecraft;
class TextInputBox : public GuiComponent
{
public:
TextInputBox(int id, int x, int y);
TextInputBox(int id, int x, int y, int width, int height);
TextInputBox(int id, int x, int y, int width, int height, const std::string& placeholder);
TextInputBox(int id, int x, int y, int width, int height, const std::string& placeholder, const std::string& text);
TextInputBox(int id, int x, int y, int width = 200, int height = 12, const std::string& placeholder = "", const std::string& text = "");
void init(Font* pFont);
void setEnabled(bool bEnabled);
@@ -36,19 +33,19 @@ public:
bool clicked(int x, int y);
public:
int m_ID = 0;
int m_xPos = 0;
int m_yPos = 0;
int m_width = 0;
int m_height = 0;
int m_ID;
int m_xPos;
int m_yPos;
int m_width;
int m_height;
std::string m_placeholder;
std::string m_text;
bool m_bFocused = false;
bool m_bEnabled = true;
bool m_bCursorOn = true;
int m_insertHead = 0;
int m_lastFlashed = 0;
Font* m_pFont = nullptr;
bool m_bFocused;
bool m_bEnabled;
bool m_bCursorOn;
int m_insertHead;
int m_lastFlashed;
Font* m_pFont;
};
#endif