Commit graph

92 commits

Author SHA1 Message Date
Tropical 1767c3f6e9 chore: fmt 2026-03-30 09:37:24 -05:00
MatthewBeshay e911e07a58 Refactor C4JThread: modernise API naming and replace Windows constants
Rename all PascalCase methods to camelCase, replace Windows macro constants with C++ constexpr members, convert ThreadPriority to enum class, remove unused Sleep(), fix memory ordering on inline accessors, extract platform code into helpers.
2026-03-31 01:06:06 +11:00
MatthewBeshay 156a23d744 Remove dead _ENTITIES_RW_SECTION code and update stale critical section comments
The RW section code path was never compiled. Updated remaining comments to reflect mutex/lock terminology.
2026-03-31 00:23:35 +11:00
MatthewBeshay e4520df31f Restore recursive locking for mutexes converted from CRITICAL_SECTION
CRITICAL_SECTION is reentrant; std::mutex is not. This caused deadlocks during world generation, post-processing, and saving.
2026-03-30 22:14:14 +11:00
MatthewBeshay 57e4bdd973 Fix dirtyChunksLock scope in updateDirtyChunks
Move unique_lock declaration before the FRAME_PROFILE_SCOPE block so it remains in scope for the unlock() calls in the #if/#else branches below.
2026-03-30 19:12:22 +11:00
MatthewBeshay f1df21590b Merge dev and resolve formatting conflicts 2026-03-30 19:00:30 +11:00
MatthewBeshay bc6013ab70 Replace all CRITICAL_SECTION usage with std::mutex and std::lock_guard
Migrates 59 files from WinAPI CRITICAL_SECTION to portable C++ std::mutex/std::lock_guard/std::unique_lock. Removes Linux CRITICAL_SECTION shims from winapi_stubs.h.
2026-03-30 18:45:55 +11:00
Tropical 826862e79e format more things i missed 2026-03-30 02:19:38 -05:00
Tropical c9b90cae2c chore: format everything 2026-03-30 02:17:54 -05:00
MatthewBeshay a0fdc643d1 Merge branch 'upstream-dev' into cleanup/nullptr-replacement
# Conflicts:
#	Minecraft.Client/Network/PlayerChunkMap.cpp
#	Minecraft.Client/Network/PlayerList.cpp
#	Minecraft.Client/Network/ServerChunkCache.cpp
#	Minecraft.Client/Platform/Common/Consoles_App.cpp
#	Minecraft.Client/Platform/Common/DLC/DLCManager.cpp
#	Minecraft.Client/Platform/Common/GameRules/LevelGenerationOptions.cpp
#	Minecraft.Client/Platform/Common/GameRules/LevelRuleset.cpp
#	Minecraft.Client/Platform/Common/Tutorial/Tutorial.cpp
#	Minecraft.Client/Platform/Common/Tutorial/TutorialTask.cpp
#	Minecraft.Client/Platform/Common/UI/IUIScene_CreativeMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIComponent_Panorama.cpp
#	Minecraft.Client/Platform/Common/UI/UIController.cpp
#	Minecraft.Client/Platform/Common/UI/UIController.h
#	Minecraft.Client/Platform/Extrax64Stubs.cpp
#	Minecraft.Client/Platform/Windows64/4JLibs/inc/4J_Input.h
#	Minecraft.Client/Platform/Windows64/4JLibs/inc/4J_Storage.h
#	Minecraft.Client/Player/EntityTracker.cpp
#	Minecraft.Client/Player/ServerPlayer.cpp
#	Minecraft.Client/Rendering/EntityRenderers/PlayerRenderer.cpp
#	Minecraft.Client/Textures/Packs/DLCTexturePack.cpp
#	Minecraft.Client/Textures/Stitching/StitchedTexture.cpp
#	Minecraft.Client/Textures/Stitching/TextureMap.cpp
#	Minecraft.Client/Textures/Textures.cpp
#	Minecraft.World/Blocks/NotGateTile.cpp
#	Minecraft.World/Blocks/PressurePlateTile.cpp
#	Minecraft.World/Blocks/TileEntities/PotionBrewing.cpp
#	Minecraft.World/Enchantments/EnchantmentHelper.cpp
#	Minecraft.World/Entities/HangingEntity.cpp
#	Minecraft.World/Entities/LeashFenceKnotEntity.cpp
#	Minecraft.World/Entities/LivingEntity.cpp
#	Minecraft.World/Entities/Mobs/Boat.cpp
#	Minecraft.World/Entities/Mobs/Minecart.cpp
#	Minecraft.World/Entities/Mobs/Witch.cpp
#	Minecraft.World/Entities/SyncedEntityData.cpp
#	Minecraft.World/Items/LeashItem.cpp
#	Minecraft.World/Items/PotionItem.cpp
#	Minecraft.World/Level/BaseMobSpawner.cpp
#	Minecraft.World/Level/CustomLevelSource.cpp
#	Minecraft.World/Level/Level.cpp
#	Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp
#	Minecraft.World/Level/Storage/McRegionLevelStorage.cpp
#	Minecraft.World/Level/Storage/RegionFileCache.cpp
#	Minecraft.World/Player/Player.cpp
#	Minecraft.World/WorldGen/Biomes/BiomeCache.cpp
#	Minecraft.World/WorldGen/Features/RandomScatteredLargeFeature.cpp
#	Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp
2026-03-30 16:28:40 +11:00
MatthewBeshay dfb0e3b03e refactor: replace NULL with nullptr across C++ codebase
Excludes vendored C libs (zlib, Miles, DirectXMath, boost, Iggy).
2026-03-30 16:25:52 +11:00
Tropical e45151ae64 refactor: expand AUTO_VAR macro 2026-03-29 23:59:05 -05:00
MatthewBeshay 6000900285 Merge branch 'upstream-dev' into cleanup/shared-portability-reset-v2
# Conflicts:
#	Minecraft.Client/Level/ServerLevel.cpp
#	Minecraft.Client/Minecraft.cpp
#	Minecraft.Client/MinecraftServer.cpp
#	Minecraft.Client/Network/ClientConnection.cpp
#	Minecraft.Client/Network/ServerChunkCache.cpp
#	Minecraft.Client/Platform/Common/Audio/SoundEngine.cpp
#	Minecraft.Client/Platform/Common/Consoles_App.cpp
#	Minecraft.Client/Platform/Common/Network/GameNetworkManager.cpp
#	Minecraft.Client/Platform/Common/Network/Sony/SonyCommerce.cpp
#	Minecraft.Client/Platform/Common/Network/Sony/SonyRemoteStorage.cpp
#	Minecraft.Client/Platform/Common/UI/UIController.cpp
#	Minecraft.Client/Platform/Common/UI/UIScene_CreateWorldMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIScene_EnchantingMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIScene_LaunchMoreOptionsMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIScene_LoadOrJoinMenu.cpp
#	Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp
#	Minecraft.Client/Platform/Common/XUI/XUI_Death.cpp
#	Minecraft.Client/Platform/Common/XUI/XUI_Leaderboards.cpp
#	Minecraft.Client/Platform/Common/XUI/XUI_MultiGameJoinLoad.cpp
#	Minecraft.Client/Platform/Common/XUI/XUI_PauseMenu.cpp
#	Minecraft.Client/Platform/Common/XUI/XUI_TransferToXboxOne.cpp
#	Minecraft.Client/Platform/Durango/Durango_Minecraft.cpp
#	Minecraft.Client/Platform/Linux/Linux_Minecraft.cpp
#	Minecraft.Client/Platform/Orbis/Orbis_Minecraft.cpp
#	Minecraft.Client/Platform/PS3/PS3Extras/boost_1_53_0/boost/spirit/home/lex/lexer/lexertl/lexer.hpp
#	Minecraft.Client/Platform/PS3/PS3_Minecraft.cpp
#	Minecraft.Client/Platform/PS3/SPU_Tasks/ChunkUpdate/TileRenderer_SPU.cpp
#	Minecraft.Client/Platform/PS3/SPU_Tasks/ChunkUpdate/Tile_SPU.cpp
#	Minecraft.Client/Platform/PS3/Xbox_Minecraft.cpp
#	Minecraft.Client/Platform/PSVita/PSVita_Minecraft.cpp
#	Minecraft.Client/Platform/Xbox/Xbox_Minecraft.cpp
#	Minecraft.Client/Platform/stdafx.h
#	Minecraft.Client/Player/LocalPlayer.cpp
#	Minecraft.Client/Rendering/Chunk.cpp
#	Minecraft.Client/Rendering/EntityRenderers/ItemRenderer.cpp
#	Minecraft.Client/Rendering/GameRenderer.cpp
#	Minecraft.Client/Rendering/LevelRenderer.cpp
#	Minecraft.Client/Textures/BufferedImage.cpp
#	Minecraft.Client/UI/Screens/AchievementScreen.cpp
#	Minecraft.Client/UI/Screens/ContainerScreen.cpp
#	Minecraft.Client/UI/Screens/TrapScreen.cpp
#	Minecraft.World/IO/Files/ConsoleSaveFileOriginal.cpp
#	Minecraft.World/IO/Files/File.cpp
#	Minecraft.World/Player/Player.cpp
#	Minecraft.World/Util/C4JThread.cpp
2026-03-30 15:21:08 +11:00
JuiceyDev f25b105bee slight optimizations 2026-03-29 20:56:00 -05:00
JuiceyDev 19e7386d12 light fix 2026-03-29 20:56:00 -05:00
JuiceyDev 3986e4642b ghost segfault??????? 2026-03-29 20:56:00 -05:00
MatthewBeshay c6fa51d592 perf(render): optimise tile entity cleanup and profiling 2026-03-29 20:56:00 -05:00
JuiceyDev 51ad1434db new culler 2026-03-29 20:56:00 -05:00
JuiceyDev abba4b57ce Fixed broken LevelRenderer.cpp and removed merge garbage 2026-03-29 20:55:59 -05:00
MatthewBeshay a3f7f7d03c perf(render): improve chunk scheduling and refine rebuild profiling 2026-03-29 20:55:59 -05:00
MatthewBeshay 47b7d90835 feat(profiling): add low-overhead in-engine frame profiler 2026-03-29 20:55:59 -05:00
JuiceyDev 5e7bba862c perf fix culler thing 2026-03-29 20:55:58 -05:00
Tropical 73a74f4872 chore: clean up LevelRenderer diffs 2026-03-29 20:55:58 -05:00
JuiceyDev e2a6c3f92c ss not here 2026-03-29 20:55:58 -05:00
JuiceyDev dc8c0b04c0 apply setchuckoffset to direct shader matrix 2026-03-29 20:55:57 -05:00
Tropical 35d92fe504 docs: add FIXME for clipChunk translation 2026-03-29 20:55:57 -05:00
Tropical fc6e4e32b1 undo further LevelRenderer changes 2026-03-29 20:55:57 -05:00
MatthewBeshay 9680753f5e fix(linux): restore UI GL state handoff for core renderer 2026-03-29 20:55:57 -05:00
Tropical fa24812582 revert some seemingly unneeded changes 2026-03-29 20:55:57 -05:00
Tropical 98c8d49eaf fix: make hit outline width 1 pixel 2026-03-29 20:55:56 -05:00
JuiceyDev e0aa739aac batch 2.4 | highlight fix 2026-03-29 20:55:56 -05:00
JuiceyDev 09e8a8f981 batch 2: fixing chunk rendering & frustum culling; rewrote most of it, but now it works. next step is to fix the "highlight" effect & add the optimizations i wrote on optifromhell.txt 2026-03-29 20:55:56 -05:00
orng a0be2e2fb5 refactor: remove aabb tls 2026-03-28 03:05:06 -05:00
orng 7101d03c6a refactor: remove heap-allocated AABBs 2026-03-28 02:58:56 -05:00
orng ddfe9b3d48 refactor: make Tile::getTileAABB return AABB 2026-03-28 00:30:07 -05:00
orng 78b5255224 refactor: make AABBList own its values 2026-03-27 22:37:22 -05:00
orng d7d99db4c5 refactor: remove AABB::newTemp when not returned 2026-03-27 21:56:57 -05:00
orng 534879e2e7 refactor: replace AABB::newPermanent with new AABB 2026-03-27 21:17:55 -05:00
orng 79217ca8e3 refactor: modernize AABB class 2026-03-27 21:11:11 -05:00
Tropical 06c73c821c
Merge pull request #312 from 4jcraft/refactor/replace-sleep
refactor: replace win32 thread sleeping and yielding with `std::thread` primitives
2026-03-27 18:47:47 -05:00
orng 9fe3315112 refactor: remove vec3 tls 2026-03-26 13:37:01 -05:00
orng e887c8cf45 refactor: remove calls to Vec3::newTemp and Vec3::newPermanent 2026-03-26 13:29:05 -05:00
MatthewBeshay 12ff12a263 cleanup: flatten dead branches in client render texture and runtime code 2026-03-26 20:29:59 +11:00
MatthewBeshay 1fecbf297a cleanup: remove console branches from render texture and world helpers 2026-03-26 19:24:04 +11:00
MatthewBeshay ad5da38321 cleanup: remove console platform code from shared includes and build paths 2026-03-26 17:53:37 +11:00
MatthewBeshay 2117a772d7 checkpoint: refresh supported-path portability baseline 2026-03-26 17:05:31 +11:00
Tropical 8e94b763a7 refactor: remove usage of win32 Sleep function for this_thread::sleep_for 2026-03-25 19:12:11 -05:00
orng f1ae42c659 refactor: remove basic type containers 2026-03-25 17:51:27 -05:00
orng 1538074b4d refactor: remove integer caching 2026-03-25 02:47:51 -05:00
Sally Knight 98eea45bb7 fix: restore entity lighting, use tesselated clouds for night-time lighting 2026-03-23 20:33:55 +03:00