Commit graph

396 commits

Author SHA1 Message Date
Sally Knight 97172039dd Merge branch 'dev' into feat/restore-java-gui 2026-03-16 16:04:30 +03:00
Echo J. 60be363e8e FixedBiomeSource: Make sure BiomeSource functions get overriden
Fixes a segfault when creating a superflat world
2026-03-16 07:37:01 +00:00
notmatthewbeshay 591dd48cf6 Upgrade the project default to C++26 2026-03-16 18:18:52 +11:00
Tropical 1bad0a3048 Merge branch 'dev' into feat/iggy-dev 2026-03-15 15:30:59 -05:00
notmatthewbeshay 7feae96ceb Use standard thread IDs in C4JThread 2026-03-16 04:57:54 +11:00
notmatthewbeshay 4f5695d4af Use standard wait result types in C4JThread 2026-03-16 04:55:38 +11:00
notmatthewbeshay d5d507ae1f Remove FLOAT aliases from timing paths 2026-03-16 04:37:56 +11:00
Tropical 7bef36fb2e Merge branch 'dev' into feat/iggy-dev 2026-03-15 00:49:59 -05:00
Tropical 816cdcc312
Merge pull request #230 from MatthewBeshay/issue/64-remove-winapi-primitives
Issue/64 remove winapi primitives
2026-03-15 00:45:22 -05:00
Liriosha 35e0ac1d88
Added additional documentation to Achievement.cpp
Clang formatter was throwing a fit so hopefully changing a cpp file will fix it
2026-03-15 01:10:51 -04:00
Liriosha 106552d969
Clang format 2026-03-15 00:56:09 -04:00
Liriosha db5f7fc246
Added back 4J notes and removed some unneeded text 2026-03-15 00:56:09 -04:00
Tropical 1928c8b662 chore: fmt, remove subprojects 2026-03-14 22:46:47 -05:00
Sally Knight 3f2e7338cc feat: complete language class implementation
yes clang-format was used
2026-03-14 18:00:15 +03:00
Tropical f66b293e33 Merge branch 'dev' into feat/iggy-dev 2026-03-14 03:25:09 -05:00
notmatthewbeshay 16ae05769d Merge upstream/dev into issue/64-remove-winapi-primitives 2026-03-14 19:20:09 +11:00
Liriosha 345fe194f0
Getting this running again ow 2026-03-14 00:13:56 -04:00
Liriosha 69c9a478e3
apparently my git isnt synced so here 2026-03-13 23:47:12 -04:00
Liriosha d57e2ae906
Added some docs to test 2026-03-13 23:46:54 -04:00
Tropical 33d0737d1d chore: format Minecraft.World 2026-03-13 17:06:56 -05:00
notmatthewbeshay 3e7a72c9d3 Remove remaining primitive locals from system helpers 2026-03-14 06:54:39 +11:00
notmatthewbeshay a2ddb7c2f0 Remove WinAPI ints from network and save helpers 2026-03-14 06:52:03 +11:00
notmatthewbeshay 123877d887 Remove WinAPI types from thread naming 2026-03-14 06:32:13 +11:00
notmatthewbeshay 2180aaa4bc Remove DWORD from shared TLS keys 2026-03-14 06:28:46 +11:00
Tropical f4d8815285
Merge pull request #209 from Acemany/fix-file-delimeter
fix File class' delimeter and homepath detection
2026-03-13 13:36:17 -05:00
Acemany 40a783207c
Windows should support regular slashes 2026-03-13 20:46:48 +03:00
notmatthewbeshay 0249bfd2bf Fix Linux build warnings 2026-03-14 04:37:55 +11:00
niansa b11da90cbb Added string conversion for Iggy everywhere where needed 2026-03-13 12:34:28 -05:00
notmatthewbeshay 00d65b8487 Address remaining review feedback on buffer reads 2026-03-13 20:11:00 +11:00
notmatthewbeshay 883e98bde0 Address review feedback on protocol types 2026-03-13 19:47:32 +11:00
notmatthewbeshay bcc765f3e7 Merge remote-tracking branch 'upstream/dev' into issue/51-phase-1-portable-win32-cleanup
# Conflicts:
#	Minecraft.Client/Platform/Common/DLC/DLCManager.cpp
#	Minecraft.Client/Rendering/Tesselator.cpp
2026-03-13 15:16:43 +11:00
notmatthewbeshay e3d910c6a1 Merge remote-tracking branch 'origin/issue/51-phase-1-portable-win32-cleanup' into issue/51-phase-1-portable-win32-cleanup 2026-03-13 15:12:53 +11:00
notmatthewbeshay 85208b12b7 Keep network player limit as an int constant 2026-03-13 15:12:25 +11:00
Acemany 3cbd496186
Fix File class' delimeter and homepath detection
meow :3
deleted Minecraft::OS enum because we have #ifdef
mrrrp
changed save directory name to not mess with minecraft java
2026-03-13 06:10:44 +03:00
Nikita Edel ee33f0663f Merge branch '4jcraft:dev' into fix-with-ubsan 2026-03-12 17:17:38 +01:00
Nikita Edel 6d952e24f5 revising everything 2026-03-12 16:42:36 +01:00
Nikita Edel 6cfc1efec2
Merge branch '4jcraft:dev' into fix-with-ubsan 2026-03-12 14:40:02 +01:00
MatthewBeshay dbdf4fdd22
Merge branch 'dev' into issue/51-phase-1-portable-win32-cleanup 2026-03-12 10:21:19 +11:00
Tropical ae84186d3a chore: remove #pragma warning directives
These are only recognized by MSVC and will throw *additional* warnings on other compilers.
2026-03-11 16:49:12 -05:00
Nikita Edel 5d88fa9cf5 add explanation 2026-03-11 20:02:11 +01:00
Nikita Edel c0198bb8a7 missed one error with clang 2026-03-11 19:41:31 +01:00
Nikita Edel ec82ee1ea1 final commit 2026-03-11 19:22:28 +01:00
Nikita Edel 1712cd4f47 the tutorial does not crash 2026-03-11 19:04:02 +01:00
Nikita Edel faa4a989ce new blob 2026-03-11 18:49:36 +01:00
MathiewMay 96e3832b22 Reverted the SetEntityMotionPacket.cpp changes 2026-03-11 13:36:49 -04:00
MathiewMay 026cb24d66 Revert "Fix entity ID TLS key recreating on every call of getSmallid() for linux, this caused a ID pool corruption."
This reverts commit 047615dbbe.
2026-03-11 13:29:14 -04:00
Nikita Edel b763a92f8e I FOUND I FOUND IT OMG 2026-03-11 17:42:03 +01:00
Nikita Edel 69a8ce84b9 giant batch BOOOOM 2026-03-11 17:28:13 +01:00
Nikita Edel ed13020cf3 s integer overflow, unsafe cast 2026-03-11 16:10:48 +01:00
Nikita Edel a24f9f5a5e better rounding and s int overflow 2026-03-11 14:21:04 +01:00
MathiewMay e36e58609d Reverted the SetEntityMotionPacket.cpp changes 2026-03-11 08:42:19 -04:00
MathiewMay 77deb67b4a Revert "Rewrote the entity movement packets to use full 16-bit signed short increasing the entity ID limit from 2048 (artifical lce limit) to 32768 ids (0 to 32767)"
This reverts commit dac0e883b6.
2026-03-11 08:39:22 -04:00
Nikita Edel 8395277c0c shift of signed int, s int overflow 2026-03-11 13:36:44 +01:00
Nikita Edel 63e4b9b18a next little patch of ub, unallocated variable, s int overflow 2026-03-11 13:36:44 +01:00
MathiewMay 047615dbbe Fix entity ID TLS key recreating on every call of getSmallid() for linux, this caused a ID pool corruption. 2026-03-11 08:34:20 -04:00
MathiewMay 702839176e Revert " applied changes requested by tropicaaal"
This reverts commit 41d8202c47.

# Conflicts:
#	Minecraft.World/Network/Packets/MoveEntityPacket.cpp
2026-03-11 08:29:24 -04:00
Nikita Edel 11aa08aece
Merge branch '4jcraft:dev' into fix-with-ubsan 2026-03-11 11:57:46 +01:00
notmatthewbeshay 5f8c9c8a25 Merge upstream/dev into issue/51-phase-1-portable-win32-cleanup 2026-03-11 17:09:16 +11:00
Tropical 32bd586c6e
Merge pull request #153 from MathiewMay/dev
Some checks are pending
Build (Linux, x86_64) / build-linux (push) Waiting to run
Build (Linux, x86_64) / build-linux-debug (push) Waiting to run
Changed entity id from 11-bit to 16-bit for movement and motion packets.
2026-03-11 00:31:32 -05:00
Tropical 5b4319556d refactor: remove redundant casts in MoveEntityPacket 2026-03-11 00:20:23 -05:00
notmatthewbeshay a503336887 Merge upstream/dev into issue/51-phase-1-portable-win32-cleanup 2026-03-11 16:02:48 +11:00
notmatthewbeshay dbc8071183 Use standard result types in file helpers 2026-03-11 15:38:53 +11:00
notmatthewbeshay 2256d0fadd Remove legacy Win32 thread entry state 2026-03-11 15:38:53 +11:00
notmatthewbeshay 78fdd89f9d Use platform TLS keys in old chunk storage 2026-03-11 15:38:53 +11:00
notmatthewbeshay a08cb8d190 Use platform TLS keys for entity small IDs 2026-03-11 15:38:53 +11:00
notmatthewbeshay 4e8d1c9e17 Use platform TLS keys in portal and piston state 2026-03-11 15:38:53 +11:00
notmatthewbeshay b2942ea9d8 Use platform TLS keys in level state 2026-03-11 15:38:53 +11:00
notmatthewbeshay c2b3537c62 Remove dead Win32 error state from compressed storage 2026-03-11 15:38:53 +11:00
notmatthewbeshay 6185c58203 Use standard callback pointers in sign verification 2026-03-11 15:38:52 +11:00
notmatthewbeshay ee7945ea54 Use standard locals in storage and connection 2026-03-11 15:38:52 +11:00
notmatthewbeshay d48bd03722 Use standard byte pointers in decompression helpers 2026-03-11 15:38:52 +11:00
notmatthewbeshay 9d41d3c359 Use fixed-width byte values in world data 2026-03-11 15:38:52 +11:00
notmatthewbeshay a1fdebbc3b Use standard skin locals in player code 2026-03-11 15:38:51 +11:00
notmatthewbeshay 377e1d2192 Use standard wide string returns for item descriptions 2026-03-11 15:38:47 +11:00
notmatthewbeshay f7e6b02835 Use standard callback types in 4J input headers 2026-03-11 15:38:47 +11:00
notmatthewbeshay d2db55e050 Use standard thumbnail buffer types 2026-03-11 15:38:42 +11:00
notmatthewbeshay 3e89da8dff Use standard byte buffers for save image metadata 2026-03-11 15:38:42 +11:00
notmatthewbeshay 0437fb921f Use standard byte counts for base save data 2026-03-11 15:38:42 +11:00
notmatthewbeshay 0ab0fd9209 Standardise fixed-width integer usage in touched files 2026-03-11 15:38:42 +11:00
notmatthewbeshay 83ba8d8384 Use a portable seek origin for save files 2026-03-11 15:38:41 +11:00
notmatthewbeshay 45c22ab6cc Use bool for save file IO results 2026-03-11 15:38:41 +11:00
Nikita Edel caadcfe9db faulty casts of templated classes 2026-03-11 03:45:56 +01:00
Nikita Edel dfb200d037 integer oferflow, shift of negative value 2026-03-11 00:26:31 +01:00
Nikita Edel a006cc5aa0 uninitialized vptr
the vptr to isSolidRender() is not known before contruction of the Tile. Its true by default. if false, need to pass false. that is what i did. i verfied what isSolidRender() is in every file. and did exactly what isSolidRender() would return
2026-03-10 23:22:34 +01:00
MathiewMay 41d8202c47 applied changes requested by tropicaaal
"i would prefer that these be cast to sized integer types int8_t for portability reasons."

 "The light layer changes are ultimately a hack over the broken renderer implementation and probably out of scope for this PR. There's an in-progress fix for the root cause of this, so this should be removed."

 "std::numeric_limits<int16_t>::max()"
2026-03-10 18:20:33 -04:00
Nikita Edel af16088015 improved a change 2026-03-10 20:13:01 +01:00
Nikita Edel f9fc430c43
Merge branch '4jcraft:dev' into dev 2026-03-10 19:34:42 +01:00
MatthewBeshay 2a2558ace3
Merge branch '4jcraft:dev' into issue/51-phase-1-portable-win32-cleanup 2026-03-10 18:39:30 +11:00
MathiewMay dac0e883b6 Rewrote the entity movement packets to use full 16-bit signed short increasing the entity ID limit from 2048 (artifical lce limit) to 32768 ids (0 to 32767) 2026-03-09 21:45:08 -04:00
Nikita Edel 021c2809f4 purged -Wdelete-non-abstract-non-virtual-dtor 2026-03-10 02:13:56 +01:00
Tropical e4868446bd chore: add comments for 4jcraft-added functionality, undo #135 2026-03-09 19:46:54 -05:00
notmatthewbeshay d1b2b8cedb Use standard byte counts in save file IO 2026-03-10 10:20:17 +11:00
notmatthewbeshay 8be51f6270 Use standard pointers in save file IO 2026-03-10 10:14:02 +11:00
notmatthewbeshay 2b3c688b44 Use bool for save file close handles 2026-03-10 10:14:02 +11:00
notmatthewbeshay 0db324debd Remove LPVOID from split save file memory 2026-03-10 10:14:01 +11:00
notmatthewbeshay 647b3c6352 Remove LPVOID from original save file memory 2026-03-10 10:14:01 +11:00
notmatthewbeshay 32773137e1 Remove VOID from compression helpers 2026-03-10 10:14:01 +11:00
notmatthewbeshay afca289848 Remove DWORD from compression TLS storage 2026-03-10 10:14:01 +11:00
notmatthewbeshay fb3e4947c6 Remove LPVOID from file header APIs 2026-03-10 10:14:01 +11:00
notmatthewbeshay cc8c956358 Use standard byte types in socket queues 2026-03-10 10:14:01 +11:00
notmatthewbeshay 3da761347f Remove BYTE from mob effect packets 2026-03-10 10:14:01 +11:00
notmatthewbeshay 3aeb023869 Remove Win32 types from prelogin packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay d041044000 Remove BYTE from network player IDs 2026-03-10 10:14:00 +11:00
notmatthewbeshay 990d3a9986 Remove BYTE from player user types 2026-03-10 10:14:00 +11:00
notmatthewbeshay b1de3b9065 Remove DWORD player indices from player state 2026-03-10 10:14:00 +11:00
notmatthewbeshay 3f374cecad Remove DWORD skin IDs from player customisation APIs 2026-03-10 10:14:00 +11:00
notmatthewbeshay 62a1aea3fc Remove Win32 types from login packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay a3e09a5fd9 Remove Win32 types from add player packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay bd2c3fca18 Remove DWORD skin IDs from texture geometry packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay 85ddd0cca0 Remove Win32 byte types from texture and geometry packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay 474d8b2896 Remove Win32 byte types from texture packets 2026-03-10 10:14:00 +11:00
notmatthewbeshay fca297538b Remove BYTE from block generation helpers 2026-03-10 10:13:59 +11:00
notmatthewbeshay b5ad58f65c Remove BYTE from entity event constants 2026-03-10 10:13:59 +11:00
notmatthewbeshay 52b462fffd Remove DWORD texture pack IDs from server prelogin state 2026-03-10 10:13:59 +11:00
notmatthewbeshay 3880df481a Remove DWORD from utility TLS headers 2026-03-10 10:13:58 +11:00
notmatthewbeshay 1687568ff7 Remove DWORD from FileHeader interface 2026-03-10 10:13:58 +11:00
notmatthewbeshay 22757b4b51 Remove HANDLE from zoned chunk storage headers 2026-03-10 10:13:58 +11:00
notmatthewbeshay 37d9439be3 Use portable file writes for debug save dumps 2026-03-10 10:13:58 +11:00
notmatthewbeshay 62a5c364f2 Use portable file reads for DLC texture data 2026-03-10 10:13:58 +11:00
notmatthewbeshay 2cc7a74e6f Remove HANDLE from portable file streams 2026-03-10 10:13:58 +11:00
notmatthewbeshay e1a66b0ad0 Modernise portable file and timing utilities 2026-03-10 10:13:58 +11:00
Nikita Edel 66b31669c3 new batch of delete operator missmatch 2026-03-09 22:48:36 +01:00
Nikita Edel 10ee2085ff
Merge branch '4jcraft:dev' into dev 2026-03-09 22:10:47 +01:00
Nikita Edel 5265eef759 first patch of UB 2026-03-09 21:54:43 +01:00
MathiewMay 9c254bbf4d SetEntityMotionPacket::write() was sending raw entity ID without masking, changing it to mask the ID to 11 bits first since large entity IDs were accidentally setting the compression flag bit and causing wrong number of bytes to be read by receiver. 2026-03-09 15:34:08 -04:00
sewn 37d285dba1
fix: compile ConsoleSaveFileSplit for standard C++ 2026-03-09 15:08:59 +03:00
Tropical e571795e99 Merge remote-tracking branch 'origin/dev' into refactor/untangle-assets-mess 2026-03-09 00:58:36 -05:00
Tropical dd46307e4a Merge branch 'dev' into refactor/untangle-assets-mess 2026-03-09 00:38:30 -05:00
Tropical ad1e8369bc refactor: move Common to Platform/Common 2026-03-09 00:17:42 -05:00
MathiewMay 7de4c8a408 Fixed typo in my System::currentTimeMillis which was resulting in very slow or no passed time on world ticks. 2026-03-09 01:04:52 -04:00
Tropical 54dab7708d refactor: rename Build -> Platform in Minecraft.World 2026-03-08 21:33:18 -05:00
MathiewMay 2ca66673b4 Fix System::currentTimeMillis() not returning correct numbers for linux and preventing the game tick, which then broke the input system. 2026-03-08 22:09:37 -04:00
JuiceyDev f12cd2e1f2 Merge origin/dev into reapply/dev-on-upstream-202603082259 - auto-resolved conflicts preferring origin/dev 2026-03-08 23:19:14 +01:00
JuiceyDev e631a62620 Fix: Ensure host-local socket streams created before any Connection is built 2026-03-08 22:59:57 +01:00
JuiceyDev aadb7172a9 buffer fix 2026-03-08 22:59:57 +01:00
Tropical 66248339e5 refactor: unglob std::dynamic_pointer_cast 2026-03-08 22:44:00 +01:00
Tropical 5045acb86e fix: unglob everything else and make it build 2026-03-08 22:44:00 +01:00
Tropical a2e6957383 fix: unglob std::{min, max}, manual stuff 2026-03-08 22:43:59 +01:00
Tropical cce3b0fdfe refactor: unglob std::deque 2026-03-08 22:43:59 +01:00
Tropical a05a15eb73 fix: stupid 2026-03-08 22:43:59 +01:00
Tropical a744f8f471 refactor: deglob std::weak_ptr 2026-03-08 22:43:59 +01:00
Tropical 6e56e07c6b refactor: unglob std::pair 2026-03-08 22:43:59 +01:00
Tropical 78ba464b8a refactor: unglob std::list 2026-03-08 22:43:59 +01:00
Tropical 9a1e4e7752 refactor: byebye using namespace std
shoo
2026-03-08 22:43:44 +01:00
Tropical 31ba56f277 refactor: unglob std::type_info 2026-03-08 22:43:43 +01:00
Tropical 6c4c3a9c94 refactor: unglob std::unordered_set 2026-03-08 22:43:43 +01:00
Tropical 4516cf2e30 refactor: unglob std::enable_shared_from_this 2026-03-08 22:43:43 +01:00
Tropical 6260238f5e refactor: unglob std::(w)ostream 2026-03-08 22:43:43 +01:00
Tropical 40d039c962 refactor: unglob std::endl 2026-03-08 22:43:43 +01:00
Tropical 5fad08b9fd refactor: begin unglobbing std::vector 2026-03-08 22:43:43 +01:00