Commit Graph

42 Commits

Author SHA1 Message Date
Brent
f12a3c1c61 Visual Studio Project Overhaul + Cleanup (#80)
* Visual Studio Project Overhaul + Cleanup
* SDL2 project for Windows
* Re-added game client icon to SDL2 code
* Renamed "AppPlatform_windows" to "AppPlatform_win32" (this is the name of the Windows API and is not representative of the architecture type)
* Renamed "LoggerWindows" to "LoggerWin32"
* Renamed "SoundSystemWindows to "SoundSystemDS" (DirectSound). This may be used for the 360, so it wouldn't really be Windows-specific then.
* Moved "ClientSideNetworkHandler" from "network" to "client/network". We don't need it being compiled for the server if the client's the only thing that needs it.
* I wonder if this still works on macOS...

* Bugfixes & Fixed for macOS

* Options::savePropertiesToFile Logging Bugfix

* Silence Winsock Deprecation Warnings in RakNet

* VS Project Improvements
- Replaced 50 billion relative paths with $(MC_ROOT)
- Added $(RAKNET_PATH) variable to override RakNet location
- Re-added gitignore for .vcxproj.user files
- Added debugging config to Directory.Builds.props
- Slimmed down project configurations for SDL2

* VS Project Config Bugfixes
- Fixed RakNet header path for additional includes

* RakNet Target for XCode

* XCode Project Config Fixes

* Packet logging

* Network VS Project Filter Fix

* Fix RakNet Packet ID Length
We previously didn't have consistency between old and new C++ regarding PacketType enum length. Now we do. This is required or else it completely breaks networking between the versions.

* Additional RakNet Error Handling

* Disable packet logging

* * Fix CMakeLists.txt

This reflects the relocation of ClientSideNetworkHandler.cpp.

* * Also add renderer/GL/GL.cpp to the CMakeLists.txt

* * Replace libpng with stb_image

* * Fix buggy water behavior.

* * Put the CMakeLists of the SDL project in debug mode

* Visual Studio 2010 Support

* * Change the SdlIoCallbacks from an array to a single member.

This fixes compilation of the sdl2 target on VS.

* * Fix missing _error label.

* Revert "* Fix missing _error label."

This reverts commit 99a057fc84049a16c864bd840fb439a008af5c74.

* Revert "* Replace libpng with stb_image"

* info_updateGame Tiles

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
2023-10-22 10:08:59 +03:00
iProgramInCpp
e9b00e6ba1 * Fix duplication of world items when resizing. 2023-09-04 12:38:57 +03:00
Brent
2e55f99a54 Options Logic Cleanup (#71)
* Output/Logging Overhaul
* Added StandardOut class
* Renamed LOGX macros to LOG_X
* Removed LogMsg macros in favor of LOG_X
* Added console window for debug Windows builds

* Options Refactor
* Moved options loading code from AppPlatform classes to Options class
* Added AppPlatform::singleton()
* Minecraft::m_options is now only accessible via Minecraft::getOptions() (as it should be)
* Making this work with SDL2 next

* Options Cleanup for SDL2

* Added AppPlatform::hasFileSystemAccess()
* Options won't try to load if hasFileSystemAccess returns false. Emscripten build will be happy.

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-09-04 12:11:36 +03:00
Brent
f7915a1dab Mac OS X 10.6 & More C++03 Support (#68)
* Mac OS X 10.6 & More C++03 Support

* Fix SDL2 options.txt loading for C++03

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-08-27 11:46:15 +03:00
iProgramInCpp
282ecf85d4 * Replace the hardcoded SLASH define with an actual keybind.
This was a thing in released Minecraft
2023-08-22 19:31:15 +03:00
iProgramInCpp
bf5114e684 * Also fix support for SDL again... 2023-08-22 18:23:31 +03:00
iProgramInCpp
d3ef629471 Big leap for key rebinding and crossplatform-ness. 2023-08-22 17:25:24 +03:00
iProgramInCpp
f3fc78e151 * Slight revamp of the options keymappings menu. 2023-08-22 13:30:13 +03:00
Brent Da Mage
d5ee7bfc08 Cleaned Up AppPlatform & Input Classes
* Cleaned up AppPlatform classes
* Documented & improved Keyboard & Mouse classes
* Improved input-handling code in the Windows & SDL main.cpp files
2023-08-19 15:57:50 +03:00
iProgramInCpp
919e4d8625 * Move client/common/ and client/network/ into common/ and network/ respectively. 2023-08-19 10:05:48 +03:00
iProgramInCpp
0ed807eaf3 * Oops 2023-08-17 17:52:46 +03:00
iProgramInCpp
a08478d527 * Slight refactor to the resize code. 2023-08-17 11:44:24 +03:00
Brent
5ac3aa6d9e macOS Support & AppPlatform Cleanup (#57)
* macOS Support & Cleanup

* Fix malformed comments in build-wasm.bat

* Emscripten Fixes

* * Add shebang to the grabsounds.py script

Since it was changed from rw- to rwx, I'll add the shebang so that it actually runs properly.

* * Re-add the patch_data and readme files.

* * Remove sound data.

* Fix some more things.

* Think it's ready to pull now...

---------

Co-authored-by: BrentDaMage <BrentDaMage@users.noreply.github.com>
Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
2023-08-17 11:20:59 +03:00
iProgramInCpp
9a24abc603 Improve Survival Mode + others (#56)
* * Undo some of the changes done in the "* Work on survival mode." commit.
* TEST_SURVIVAL_MODE is now on by default.

* * Dying no longer crashes the game.

* * Death seems to work ok.

* * Improve some of the damage code.

* x

* work

* Fixed the Makefile (#54)

* * Finally fix the crack texture appearing to flicker/restart

* * Add VS2010 as an optional target.

Fix build with VS2010 (both windows_vs and xenon_vs).

* * Disable survival mode. Getting ready to merge now!

---------

Co-authored-by: Alexander Argentakis <38327951+MFDGaming@users.noreply.github.com>
2023-08-16 22:32:09 +03:00
iProgramInCpp
f9130ba238 * Add crying obsidian. 2023-08-13 22:01:28 +03:00
iProgramInCpp
2da5c2e2fe * Add clouds! (optional feature) 2023-08-13 20:38:52 +03:00
iProgramInCpp
826315c228 Update some splashes.
Allow messages to be split properly across several lines.
2023-08-12 10:39:23 +03:00
Brent
b45cfc1e16 Cleaned up Cube (#48)
* Cleaned up Cube
* Refactor/cleanup & documentation of Cube
* Renamed Tesselator to Tessellator

* Revert "Tesselator" Spelling Correction

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-08-11 11:53:50 +03:00
iProgramInCpp
34fc30f08a * Outline all the Mouse and Keyboard code. 2023-08-11 11:19:26 +03:00
iProgramInCpp
d1de430d14 * Add optional 3d panorama background 2023-08-11 00:13:06 +03:00
iProgramInCpp
b768764734 * Allow the patch manager to stop loading data from a command 2023-08-10 13:06:42 +03:00
iProgramInCpp
529100f168 * Add splash text rendering to the start menu screen. 2023-08-09 22:45:14 +03:00
Vruk
34e0f95a8a Cleared up some fields (#41)
* Cleared up some fields

Renamed some fields
Made some statements involving those fields make more sense for their type
Renamed the parameters of SoundEngine::PlayAt to have more readable names

* Renamed master volume field

m_flMasterVolume -> m_fMasterVolume

* Made m_iPerspective -> m_bThirdPerson
2023-08-09 15:29:46 +03:00
iProgramInCpp
e028fc6495 * Move the quit button to the bottom of the list. 2023-08-07 22:01:18 +03:00
iProgramInCpp
d5a733466d * Allow usage of / to start a command quickly.
* Allow usage of escape key to get out of chat screen.
2023-08-07 21:59:18 +03:00
Brent
a0f71c7b27 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>
2023-08-07 15:48:52 +03:00
ts
2114a57a4b Auto Jump Option (#35) 2023-08-07 11:30:54 +03:00
iProgramInCpp
88d68cf21e * Allow dynamic screen size change on windows 2023-08-06 22:45:15 +03:00
iProgramInCpp
6d8693ada5 * Improve the DirectConnectScreen, among other things. 2023-08-06 13:50:17 +03:00
iProgramInCpp
bc407fda47 * Improve the Chat Screen 2023-08-06 13:19:37 +03:00
iProgramInCpp
2b105fe1eb * Fix errors caused by #30 2023-08-06 12:59:46 +03:00
ts
9e9d2110e3 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
2023-08-06 12:09:06 +03:00
iProgramInCpp
e073665644 * Gui: Use ratios instead of hardcoded sub-1 floating point values, to make the mechanism more clear. 2023-08-06 12:03:06 +03:00
TheBrokenRail
af74761c97 Disable Multiplayer Buttons On WASM 2023-08-05 23:03:13 +03:00
TheBrokenRail
0fbe90752d SDL/WASM Port 2023-08-05 23:03:13 +03:00
iProgramInCpp
9d88bfb962 * Rename screen related fields in Minecraft class 2023-08-05 16:26:02 +03:00
iProgramInCpp
0ceef907c0 * Allow handling of WM_CHAR in the case of Windows. 2023-08-05 16:13:11 +03:00
iProgramInCpp
90d72ac7e2 * Add quit button to the start menu. 2023-08-05 15:48:09 +03:00
iProgramInCpp
bfdd5beb75 * Fix include paths. Now it builds properly. 2023-08-05 15:34:07 +03:00
iProgramInCpp
71e700a300 * More work getting this shit to compile again 2023-08-05 14:57:18 +03:00
iProgramInCpp
8b92eced31 * Initial cleanup.
Will now need to cleanup includes, which will take a while ...
2023-08-05 14:21:40 +03:00
riall
ebe5f127e6 migrate ALMOST everything from source tree into client 2023-08-05 05:00:55 -04:00