Commit Graph

164 Commits

Author SHA1 Message Date
iProgramInCpp
1e7bedaa72 * Work on survival mode. 2023-08-13 23:01:40 +03:00
iProgramInCpp
e9f4ae6533 * Separate out the item class headers from the main Item header. 2023-08-13 22:28:07 +03:00
iProgramInCpp
49587c6f81 * Disable caves for now. 2023-08-13 22:09:34 +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
42017e14f8 * Small nothing-burger changes in the RandomLevelSource::postProcess function. 2023-08-12 13:26:26 +03:00
iProgramInCpp
7fd36a1da0 update the core CMakeLists to include the corrected packets path 2023-08-12 11:39:01 +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
203a47a527 * Add getChunkDontCreate. Will be useful for multiplayer. 2023-08-11 20:59:30 +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
ce6c2eb553 * Disable picking for fire. 2023-08-11 11:51:26 +03:00
iProgramInCpp
715c4b6c37 * Clean up Tile::clip 2023-08-11 11:43:04 +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
0412fd1bc5 * Fix lapis lazuli block textures being weird when metal_block_sides is true. 2023-08-10 11:52:22 +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
7a5e39aff0 * Fix survival test build. 2023-08-08 16:15:50 +03:00
Marioiscool246
8921360ecc Fixed incorrect Entity push velocity direction (#42)
Co-authored-by: Marioiscool246 <marioiscool101@gmail.com>
2023-08-08 15:44:06 +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
c0ef625972 * Revert to the old system, don't remove clashing ID entities, prioritize players over other entities. 2023-08-08 10:52:45 +03:00