mirror of
https://github.com/celisej567/mcpe.git
synced 2026-09-23 20:09:46 +03:00
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:
@@ -23,6 +23,19 @@ float Gui::InvGuiScale = 1.0f / 3.0f;
|
||||
|
||||
Gui::Gui(Minecraft* pMinecraft)
|
||||
{
|
||||
field_8 = 0;
|
||||
field_C = "";
|
||||
field_24 = 0;
|
||||
field_28 = 0;
|
||||
field_2C = 0;
|
||||
field_9FC = 0;
|
||||
field_A00 = "";
|
||||
field_A18 = 0;
|
||||
field_A1C = false;
|
||||
field_A20 = 1.0f;
|
||||
field_A3C = true;
|
||||
m_bRenderMessages = true;
|
||||
|
||||
m_pMinecraft = pMinecraft;
|
||||
|
||||
xglGenBuffers(1, &m_renderChunk.field_0);
|
||||
|
||||
@@ -46,21 +46,21 @@ public:
|
||||
static float InvGuiScale;
|
||||
|
||||
public:
|
||||
float field_8 = 0;
|
||||
std::string field_C = "";
|
||||
float field_8;
|
||||
std::string field_C;
|
||||
std::vector<GuiMessage> m_guiMessages;
|
||||
int field_24 = 0;
|
||||
int field_28 = 0;
|
||||
int field_2C = 0;
|
||||
int field_24;
|
||||
int field_28;
|
||||
int field_2C;
|
||||
Random m_random;
|
||||
Minecraft* m_pMinecraft;
|
||||
int field_9FC = 0;
|
||||
std::string field_A00 = "";
|
||||
int field_A18 = 0;
|
||||
bool field_A1C = false;
|
||||
float field_A20 = 1.0f;
|
||||
int field_9FC;
|
||||
std::string field_A00;
|
||||
int field_A18;
|
||||
bool field_A1C;
|
||||
float field_A20;
|
||||
RenderChunk m_renderChunk;
|
||||
bool field_A3C = true;
|
||||
bool m_bRenderMessages = true;
|
||||
bool field_A3C;
|
||||
bool m_bRenderMessages;
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
|
||||
Screen::Screen()
|
||||
{
|
||||
m_width = 1;
|
||||
m_height = 1;
|
||||
field_10 = false;
|
||||
m_tabButtonIndex = 0;
|
||||
m_pClickedButton = 0;
|
||||
}
|
||||
|
||||
Screen::~Screen()
|
||||
|
||||
@@ -47,15 +47,15 @@ public:
|
||||
virtual void charInput(char);
|
||||
|
||||
public:
|
||||
int m_width = 1;
|
||||
int m_height = 1;
|
||||
bool field_10 = false;
|
||||
int m_width;
|
||||
int m_height;
|
||||
bool field_10;
|
||||
Minecraft* m_pMinecraft;
|
||||
std::vector<Button*> m_buttons;
|
||||
std::vector<Button*> m_buttonTabList;
|
||||
int m_tabButtonIndex = 0;
|
||||
int m_tabButtonIndex;
|
||||
Font* m_pFont;
|
||||
Button* m_pClickedButton = 0;
|
||||
Button* m_pClickedButton;
|
||||
|
||||
#ifndef ORIGINAL_CODE
|
||||
std::vector<TextInputBox*> m_textInputs;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
};
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -74,7 +74,7 @@ void OptionsScreen::UpdateTexts()
|
||||
m_fancyGfxButton.m_text = "Fancy graphics: " + BoolOptionStr(o.m_bFancyGraphics);
|
||||
m_flightHaxButton.m_text = "Flight hax: " + BoolOptionStr(o.m_bFlyCheat);
|
||||
m_autoJumpButton.m_text = "Auto Jump: " + BoolOptionStr(o.m_bAutoJump);
|
||||
; m_viewDistButton.m_text = "View distance: " + ViewDistanceStr(o.field_10);
|
||||
m_viewDistButton.m_text = "View distance: " + ViewDistanceStr(o.field_10);
|
||||
m_srvVisButton.m_text = "Server " + std::string(o.m_bServerVisibleDefault ? "visible" : "invisible") + " by default";
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user