Commit Graph

80 Commits

Author SHA1 Message Date
iProgramInCpp
5821a5d5ef * Final fixes for VS2010 build. 2023-08-17 16:21:42 +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
906b96edd8 Add zlib to the web build, fix an error in CThread... 2023-08-17 10:28:01 +03:00
iProgramInCpp
83c94f355e * Fix bad ordering in the PlaceBlockPacket. 2023-08-16 22:47:15 +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
f4855d38b6 OpenGL vertex buffer object emulation code. (#53)
* * Make more GL vertex buffer related functions use the xgl prefix.

This allows me to later overload them in case I want to try to emulate vertex buffers in software.

* * Add (incomplete) GL VBO emulation. Works well enough but it's very slow.

* * Define USE_HARDWARE_GL_BUFFERS again.
2023-08-13 16:03:51 +03:00
iProgramInCpp
eb64faa89f * Fix an accidental memory leak in the client side loader 2023-08-12 23:28:06 +03:00
iProgramInCpp
498fe048cd * Improve the level sending mechanism in the game.
Instead of sending a request for each chunk one by one, and in sequence, send all the level data in one block.

I know this is not the best solution since we are working with UDP here, but it's way faster than loading the level chunk by chunk. In a blink of an eye, the level has already loaded.
2023-08-12 23:14:13 +03:00
iProgramInCpp
944eb3ace4 * Add util functions or zlib inflation/deflation. 2023-08-12 13:53:35 +03:00
iProgramInCpp
6c03c91fe5 rename packets1 -> packets 2023-08-12 11:38:15 +03:00
iProgramInCpp
9750c0c7f1 rename Packets -> packets1 2023-08-12 11:38:08 +03:00
iProgramInCpp
826315c228 Update some splashes.
Allow messages to be split properly across several lines.
2023-08-12 10:39:23 +03:00
iProgramInCpp
d09ef3fd04 * Flip stair rendering 90 degrees, to be shaded like regular blocks do. 2023-08-12 10:18:50 +03:00
iProgramInCpp
936a72b346 * Last fixes to the AABB/Tile code. 2023-08-11 22:45:14 +03:00
iProgramInCpp
35a63582df * Add F3 debug text. 2023-08-11 20:04:07 +03:00
iProgramInCpp
b1786eba1f * Add LevelRenderer::renderHitOutline.
Looks similar to the Java Edition version, but the lines are not antialiased and harder to tell apart. Phone users would have trouble seeing the outline, so that's why it was changed.
2023-08-11 18:43:08 +03:00
iProgramInCpp
8430ce5de9 * Fix bad picking logic once again... 2023-08-11 12:39:15 +03:00
iProgramInCpp
8c82c7b53f * Render the name tag on players other than the local player. 2023-08-11 12:04:14 +03:00
Marioiscool246
3d192ad10c Fix empty inventories for server players (#46)
* Fix empty inventories for server players

* Revert "Fix empty inventories for server players"

This reverts commit 12174c0cfb1f8df5f6fca1a93f55e27286b464db.

* Fix empty inventories for server players
(The good one this time I hope)

---------

Co-authored-by: Marioiscool246 <marioiscool101@gmail.com>
2023-08-11 11:54:33 +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
66e896ad2b * Add the "lowering and raising item" behavior from Minecraft Java 2023-08-11 11:37:40 +03:00
iProgramInCpp
34fc30f08a * Outline all the Mouse and Keyboard code. 2023-08-11 11:19:26 +03:00
iProgramInCpp
cf304095ed * Fix a small bug in the mouse feed code. 2023-08-11 10:13:54 +03:00
iProgramInCpp
d1de430d14 * Add optional 3d panorama background 2023-08-11 00:13:06 +03:00
iProgramInCpp
27a0057886 * Split every Tile class into its own header file. 2023-08-10 13:27:30 +03:00
iProgramInCpp
b768764734 * Allow the patch manager to stop loading data from a command 2023-08-10 13:06:42 +03:00
iProgramInCpp
b1c2bf946c * Allow overwriting of frame data from the patch data file. 2023-08-10 12:32:40 +03:00
iProgramInCpp
529100f168 * Add splash text rendering to the start menu screen. 2023-08-09 22:45:14 +03:00
iProgramInCpp
df47842c5e * Add PatchManager - Allows you to patch terrain.png and items.png on the fly.
This can be used for modding, since you don't need to share copyrighted Mojang assets alongside your texture patches.
2023-08-09 22:13:04 +03:00
iProgramInCpp
939b2b3711 * Fix grass rendering and add grass blocks to the inventory. 2023-08-09 18:01:48 +03:00
Brent
08314e8a0a Cleanup render functions (#38)
* Remove renderHorrible
* Remove renderRollable

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-08-09 15:30:28 +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
Marioiscool246
7ebf2be8a9 Fix held item not always being changed to the new held item (#45)
Co-authored-by: Marioiscool246 <marioiscool101@gmail.com>
2023-08-09 15:29:02 +03:00
iProgramInCpp
a2a33e7988 * Add FireTexture. 2023-08-09 12:41:27 +03:00
iProgramInCpp
476d519eee * Add LavaSideTexture. 2023-08-09 10:43:08 +03:00
iProgramInCpp
aa34a64fef * Add LavaTexture. 2023-08-09 10:43:08 +03:00
Marioiscool246
5313fbedd7 Fix incorrect axes being used for clip min/max (#44)
Co-authored-by: Marioiscool246 <marioiscool101@gmail.com>
2023-08-09 10:37:16 +03:00
iProgramInCpp
6036304087 * Add preliminary raspberry pi support.
Currently it appears to be using software acceleration, so sucks, but I'll be
working on it.
2023-08-08 14:01:01 +03:00
iProgramInCpp
0ab1aa0a51 * Fix SDL build. 2023-08-08 11:32:51 +03:00
iProgramInCpp
cc2dc9b648 * Rename some fields in Level 2023-08-08 11:12:29 +03:00
Vruk
3447669f04 OpenAL Seperation and Adjustments (#34)
* OpenAL adjustments and improvements mk.1

Seperated SoundSystemAl from the sdl section and into platform/openal.
Made PlatformDefinitions.hpp require a "USE_OPENAL" definition instead of "USE_SDL" definition for OpenAL
Added SoundSystemAl.cpp  and SoundSystemAL.hpp files to the actual solution file so it can be compiled properly.
Made the SoundSystemAl use headers from thirdparty/OpenAL/include folder.
Made the SoundSystemAl use #pragma comment(lib, "OpenAL32.lib") to include the library if needed without adding it to the linker input value in the solution file.
Added thirdparty/OpenAL/libs/Win64/thirdparty/OpenAL/libs/Win32 to the additional libraries so that it can find the OpenAL32.lib library.

* OpenAL adjustments and improvements mk.2

Removed specific USE_SDL preprocessor definitions related to OpenAL which were unhelpful/unneeded for multi-platform use.
Made the OpenAl sound system inherit from the SoundSystem class and implement the functions properly without requiring a custom update function.
Fixed an error that would happen when closing the game related to OpenAl closing the sound device.
Removed unnecessary is_ui check in OpenAL sound system, UI sounds work just fine without it.
Adjusted rolloff factor, not sure if this is just placebo but it felt a bit better?

* Update sdl/CMakeLists.txt for new OpenAL stuff

* CMakeLists name fix

* Minor fixes for SDL compatibility

* Added check for absolute zero position

Made the OpenAL sound system consider any sound that is at absolute zero non-spatial

Also removed unneeded ORIGINAL_CODE check in SoundSystem.hpp and SoundSystem.cpp

* Fixed OpenAL popping strangeness

OpenAL apparently makes weird popping noises when the gain of a sound is below 0, so I added a check to see if the distance is too far (for the new updated settings)

I did some graphing and the previous settings for OpenAL were limiting the sound distance to 8 blocks (which was causing popping when sounds were between 8-16 blocks away as the gain was 0 or below) so I changed the rolloff factor to 1.0f to make sounds falloff at 16 blocks instead which seems reasonable/like the original intention.

* Minor Fix to solution additional includes

* Forgot an sdl compat change
2023-08-08 11:12:08 +03:00
iProgramInCpp
1fdd94a43e Revert "* Improve the entity ID system, and add priority system. We should no longer have clashes."
This reverts commit 1b97875dd6.
2023-08-08 10:22:13 +03:00
iProgramInCpp
1b97875dd6 * Improve the entity ID system, and add priority system. We should no longer have clashes. 2023-08-07 23:05:30 +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
iProgramInCpp
4c09bd2b1c * Fix bad picking logic. 2023-08-07 16:13:23 +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