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

@@ -19,6 +19,19 @@
extern LPCTSTR g_GameTitle;
AppPlatform_windows::AppPlatform_windows()
{
m_UserInputStatus = -1;
m_bIsFocused = false;
m_bGrabbedMouse = false;
m_bActuallyGrabbedMouse = false;
m_bWasUnfocused = false;
m_bShiftPressed = false;
m_MouseDiffX = 0, m_MouseDiffY = 0;
}
void AppPlatform_windows::initConsts()
{
// just assume an 854x480 window for now:
@@ -153,9 +166,8 @@ Texture AppPlatform_windows::loadTexture(const std::string& str, bool b)
LogMsg("File %s couldn't be opened", realPath.c_str());
_error:
char buffer[1024];
snprintf(buffer, sizeof buffer, "Error loading %s. Did you unzip the minecraft assets?", realPath.c_str());
MessageBoxA(GetHWND(), buffer, g_GameTitle, MB_OK);
const std::string msg = "Error loading " + realPath + ". Did you unzip the Minecraft assets?";
MessageBoxA(GetHWND(), msg.c_str(), g_GameTitle, MB_OK);
if (f)
fclose(f);
@@ -240,13 +252,13 @@ void AppPlatform_windows::recenterMouse()
return;
}
POINT oldPos{ 0, 0 };
POINT oldPos = { 0, 0 };
GetCursorPos(&oldPos);
RECT rect;
GetClientRect(GetHWND(), &rect);
POINT offs { m_ScreenWidth / 2, m_ScreenHeight / 2 };
POINT offs = { m_ScreenWidth / 2, m_ScreenHeight / 2 };
ClientToScreen(GetHWND(), &offs);
SetCursorPos(offs.x, offs.y);
@@ -298,7 +310,7 @@ void AppPlatform_windows::setMouseGrabbed(bool b)
RECT rect;
GetClientRect(GetHWND(), &rect);
POINT offs{ 0, 0 };
POINT offs = { 0, 0 };
ClientToScreen(GetHWND(), &offs);
rect.left += offs.x;
rect.top += offs.y;

View File

@@ -23,6 +23,7 @@
class AppPlatform_windows : public AppPlatform
{
public:
AppPlatform_windows();
void initConsts();
void buyGame() override;
void saveScreenshot(const std::string& fileName, int width, int height) override;
@@ -58,16 +59,16 @@ private:
int m_ScreenHeight;
std::vector<std::string> m_UserInput;
int m_UserInputStatus = -1;
int m_UserInputStatus;
eDialogType m_DialogType;
bool m_bIsFocused = false;
bool m_bGrabbedMouse = false;
bool m_bActuallyGrabbedMouse = false;
bool m_bWasUnfocused = false;
bool m_bShiftPressed = false;
bool m_bIsFocused;
bool m_bGrabbedMouse;
bool m_bActuallyGrabbedMouse;
bool m_bWasUnfocused;
bool m_bShiftPressed;
int m_MouseDiffX = 0, m_MouseDiffY = 0;
int m_MouseDiffX, m_MouseDiffY;
};

View File

@@ -18,6 +18,7 @@ SoundSystemWindows::SoundSystemWindows()
HRESULT result;
DSBUFFERDESC bufferDesc;
m_available = false;
result = DirectSoundCreate8(NULL, &m_directsound, NULL);

View File

@@ -37,7 +37,7 @@ public:
virtual void stop(const std::string& sound);
virtual void playAt(const SoundDesc& sound, float x, float y, float z, float a, float b);
private:
bool m_available = false;
bool m_available;
IDirectSound8* m_directsound;
LPDIRECTSOUND3DLISTENER8 m_listener;
std::vector<LPDIRECTSOUNDBUFFER> m_buffers;