80 Commits

Author SHA1 Message Date
Er2
419f730410 GUI: Add scrolling
Fixes #107
2024-04-09 17:11:30 +03:00
iProgramInCpp
d7a8b6baec * Oh! Disable title crop mode, I accidentally left it on. 2024-01-25 15:11:23 +02:00
iProgramInCpp
05dd55ba50 * Get rid of Minecraft Background and Minecraft Pocket Edition Logo 2024-01-25 15:08:53 +02:00
iProgramInCpp
047fd3120f * Fix screwed up formatting. 2024-01-22 18:39:44 +02:00
Brent
afe875e4fa iOS Support (#113)
undefined
2024-01-22 17:22:41 +02:00
iProgramInCpp
e95618fbc1 * Oops. 2023-12-31 15:21:24 +02:00
iProgramInCpp
de020470f4 * Add Rocket item, WIP rocket launcher 2023-12-31 15:15:17 +02:00
iProgramInCpp
2c84d2730c * Options: Allow old title logo to be shown. 2023-12-26 22:10:15 +02:00
iProgramInCpp
7f219385c6 * ItemInHandRenderer: Add dynamic hand.
* Options: Fix saving of a few options
* PatchManager: Load patch options before regular options - this fixes a bug where the fancy grass option would be reset to false even if grass tint would be set to true.
2023-12-26 00:57:27 +02:00
iProgramInCpp
9d5b957339 * Start Menu: Fixes to 3D alpha style title logo. 2023-12-25 18:32:00 +02:00
iProgramInCpp
95556e3ccd Revert "Revert "* Start Menu: Add 3D alpha-style title screen logo.""
This reverts commit b3cc044375.

The bug appears have been just a fluke?!?
2023-12-25 17:49:19 +02:00
iProgramInCpp
b3cc044375 Revert "* Start Menu: Add 3D alpha-style title screen logo."
This reverts commit 792a120703.

This is because Android has an interesting graphical glitch regarding this feature. I'll add it back when it's fixed.
2023-12-25 17:42:53 +02:00
iProgramInCpp
105eb3a79c * Start Menu: Oops! Remove accidentally leftover debug feature. 2023-12-25 17:39:44 +02:00
iProgramInCpp
792a120703 * Start Menu: Add 3D alpha-style title screen logo. 2023-12-25 17:38:19 +02:00
iProgramInCpp
a3c9800bd8 * OptionList: Fix embarrassing flipped switch bug. 2023-12-20 12:59:51 +02:00
iProgramInCpp
37140eec0b * Options: Use a texture instead of drawing rectangles for the on/off switches. 2023-12-19 21:09:41 +02:00
iProgramInCpp
b168f33335 * Options: Fix remote press when off the right edge of the scrollable area 2023-12-19 20:16:27 +02:00
TheBrokenRail
630b1a3613 Fix Options Saving (Again) 2023-12-19 19:38:17 +02:00
TheBrokenRail
20790755d1 Fix Text Auto-Complete On Android 2023-12-19 19:38:17 +02:00
TheBrokenRail
06c69d3cc8 AppPlatform Fixes 2023-12-19 19:38:17 +02:00
TheBrokenRail
2356757730 Better Back Button Behavior On SDL Android 2023-12-19 19:38:17 +02:00
TheBrokenRail
fdf3106d7e Fix Some Indentation Errors 2023-12-19 19:38:17 +02:00
TheBrokenRail
c989ffa721 Allow Changing Input Mode 2023-12-19 19:38:17 +02:00
TheBrokenRail
7771bc20a7 Small Tweaks 2023-12-19 19:38:17 +02:00
TheBrokenRail
5cdd306a28 Fix Saving Options 2023-12-19 19:38:17 +02:00
TheBrokenRail
c47457725e In touchscreen mode, click button after release 2023-12-19 19:38:17 +02:00
TheBrokenRail
f9b07014d2 On-screen keyboard support! 2023-12-19 19:38:17 +02:00
TheBrokenRail
0559f66102 WIP Android SDL 2023-12-19 19:38:17 +02:00
iProgramInCpp
eae06f0500 * Fix one last bug in OptionsScreen. 2023-11-05 19:25:51 +02:00
iProgramInCpp
253c89a6d5 * Fix some issues with the OptionList. 2023-11-05 18:57:08 +02:00
iProgramInCpp
0d23a455ed * Add option to split controls 2023-11-05 18:47:38 +02:00
iProgramInCpp
5df07e2fc1 Add scrollable options menu (#99)
* * Add new scrollable options list.

* * Add OptionList.cpp to the CMakeLists.txt

* * Add the new stuff by @jonkadelic to the new options menu.
2023-11-05 18:40:44 +02:00
jonkadelic
e6ab1214af Biome colour and grass side tint options (#98)
* Added biome colour and grass side tint options

* Moved GrassColor and FoliageColor to client/renderer/

* * Fix some build issues.

* * Add the new files to the CMakeLists.txt

---------

Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
2023-11-05 18:19:41 +02:00
iProgramInCpp
5bba109b68 * Fix the "selecting the '...' slot" bug 2023-11-04 00:11:40 +02:00
iProgramInCpp
ebdb8d3576 * Fix use after free in ProgressScreen 2023-11-03 18:27:13 +02:00
f
f83ead9f8d WIP Android Port (#79)
* WIP Android Port

Android port. Still needs touch controls and mouse turning (if that's even possible on android) and file saving and SoundSystemSL
You control the camera and movement with your controller for now. You can navigate the gui using touch.
Options.cpp,LocalPlayer.cpp,Minecraft.cpp is configured to use controller.
Blocked out some code in ControllerTurnInput.cpp,Controller.cpp that didn't make sense.

* Fix glClear

glClear is supossed to use GL_DEPTH_BUFFER_BIT (thx TheBrokenRail)

* * Fix build.

* * Ignore assets.

* * More stuff

* * Fix more build errors.

* * It finally built

What I needed to do is rebuild the debug keystore because apparently android studio created it with sha1 digest alg which isn't supported by ant

* * Clean up filters.

* * Add cramped mode to the pause screen.

* * Fix a bug with the hotbar

* * In NinecraftApp::handleBack, pause the game if there is no screen.

* * AppPlatform_android: Add placeholder SoundSystem instance till we get SoundSystemSL working

* * Add properly working touch code.

* * Oh, remove some testing things

* * Fix state resetting when going in background and back in foreground
* Fix bug where the sky isn't being regenerated on graphics reset
* Fix bug where the m_currBoundTex isn't reset in Textures::clear potentially leaving a texture with that ID unassigned and corrupted
* Fix bug in CThread where the thread is detached and then also joined.
* Don't log anything if the program isn't in debug mode.

* * Add virtual keyboard support.

The screen instance slides so that the focused text box is kept visible.

* Rename from com.minecraftcpp to com.reminecraftpe

---------

Co-authored-by: iProgramInCpp <iprogramincpp@gmail.com>
2023-11-03 12:54:39 +02:00
iProgramInCpp
60b21356a1 Integrate touch related development. (#90)
* * Add BuildActionIntention crap

* * Set Client and World projects to use MP compilation

* asd

* * Use the new BuildActionIntention to break and place blocks.

* * Reverse engineer the IArea system.

* * Copy break logic from survival into creative conditionally

* * Reverse IBuildInput and MouseHandler
* Replace the new relative paths in the client project with $(MC_ROOT) again

* * Reverse Multitouch, MouseDevice

* * Reverse a bunch of auxiliary classes for input.

* * Use CustomInputHolder instead of holding inputs manually.

* * Reverse a whole BUNCH of things!

* * Add feedback textures to the gitignore.

* * D-pad now renders! Also loads of other work.

* * More Stuff

* * Finish touch control bug fixing.

* * Finalize work.

* * One last thing..

* * Add a "cramped" mode to the options screen and start menu.

* * Oh, forgot to do something
2023-11-02 00:49:11 +02:00
iProgramInCpp
98d6b4e5e8 * Add an option for block outlines instead of highlights.
Fixes #83.
2023-10-22 12:17:11 +03:00
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