Commit Graph

193 Commits

Author SHA1 Message Date
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
f
ac4369f5b2 Fix memory leak in SoundSystemWindows (#47)
* Fix memory leak in SoundSystemWindows

Add functionality to release LPDIRECTSOUND3DBUFFER8 when sound finished playing.

* Update minecraftcpp.vcxproj

same mistake again
2023-08-10 10:05:13 +03:00
iProgramInCpp
c445c255a3 * Fix bad soundbuffer release check in the SoundSystemWindows 2023-08-09 23:12:07 +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
a7f56c5581 * Change options.txt separator from '|' to ':'.
* Move FireTexture.cpp into the correct filter.
2023-08-09 18:44:49 +03:00
iProgramInCpp
a6845ca582 Prepare the assets folder for custom asset inclusion.
* Add individual ignore rules for each asset that was in the original MCPE (there aren't many)
* Make the working directory of the game (when run from VS) `game/`.
* Don't gitignore the *.user part of the VCXProj as that contains our working dir setting for some reason.
2023-08-09 18:42:46 +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
38294ba25d * Another update to the readme. 2023-08-08 11:28:06 +03:00
iProgramInCpp
65f5e03eac * Update the readme and todo, which more closely reflect the status of the project. 2023-08-08 11:26:31 +03:00
iProgramInCpp
0c3099a3d9 * Put the SoundSystemAL behind the USE_OPENAL define. 2023-08-08 11:15:30 +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
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
57c2b339ea Revert "Fix new entity ID system (#39)"
This reverts commit ef9df3f9de.
2023-08-08 10:22:05 +03:00
Epix
ef9df3f9de Fix new entity ID system (#39) 2023-08-08 08:34:28 +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
iProgramInCpp
6c1a54e3f0 * Bring back the cube shading, but with fixed lighting. 2023-08-07 12:21:32 +03:00
Brent
b77d42b04a Fixed rendering bugs & crashes (#36)
* Fixed rendering bugs & crashes
* Fixed shading of cubes (includes Steve & Camera head)
* Fixed crash from rendering of Air item in hand
* Fixed crash from right-clicking with Air item in-hand
* TripodCameraRenderer no longer uses Cube::renderHorrible

---------

Co-authored-by: Brent Da Mage <BrentDaMage@users.noreply.github.com>
2023-08-07 12:02:35 +03:00
iProgramInCpp
0c8b22d36b * Hide the in-wall screen effect if fly hacks are on. 2023-08-07 11:38:36 +03:00
iProgramInCpp
8a8422f70b * Allow saving of the autojump option. 2023-08-07 11:33:52 +03:00
ts
2114a57a4b Auto Jump Option (#35) 2023-08-07 11:30:54 +03:00
ts
e51edbff06 Implement /seed command using the new Command Manager (#33) 2023-08-07 11:30:42 +03:00
iProgramInCpp
9cb3f1849b * Remove and ignore options.txt 2023-08-07 11:29:41 +03:00
iProgramInCpp
14562fc8ce * Allow the same thing on the emscripten version. 2023-08-06 22:48:09 +03:00
iProgramInCpp
88d68cf21e * Allow dynamic screen size change on windows 2023-08-06 22:45:15 +03:00