Commit graph

370 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 a513fa7597 Rename CriticalSection wrapper functions to match std::mutex usage
EnterCallbackIdCriticalSection/LeaveCallbackIdCriticalSection -> lockCallbackScenes/unlockCallbackScenes, EnterSaveNotificationSection/LeaveSaveNotificationSection -> lockSaveNotification/unlockSaveNotification, m_saveNotificationCriticalSection -> m_saveNotificationMutex.
2026-03-31 00:16:16 +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 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 a8b9e9a185 wtf 2026-03-30 02:31:58 -05:00
Tropical 078eb3a144 format UIScene_ControlsMenu 2026-03-30 02:24:37 -05: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 8a6d279230
Merge branch '4jcraft:dev' into refactor/nuke-winapi-types 2026-03-30 17:37:02 +11:00
MatthewBeshay 28d68befd4 Replace remaining WinAPI types with standard C++ equivalents
DWORD→uint32_t, BYTE→uint8_t, HRESULT→int32_t, HANDLE→void*, UINT→uint32_t, INT→int32_t, WORD→uint16_t, LONG→int32_t, SHORT→int16_t, LONGLONG→int64_t, ULONG_PTR→uintptr_t, PBYTE→uint8_t*, LPWSTR/PWSTR→wchar_t*, FLOAT→float, CHAR→char, boolean→bool, CONST→const, TRUE→true, FALSE→false across 176 files (excluding vendor libs and Linux stubs).
2026-03-30 17:36:15 +11:00
MatthewBeshay 56290446db
Merge pull request #359 from 4jcraft/nuke-zlib
remove xuiscene_base
2026-03-30 17:26:53 +11:00
Tropical d42f37c3ee remove xuiscene_base
duplicate of a file already in XboxMedia
2026-03-30 01:01:15 -05:00
MatthewBeshay b9c32b580c
Merge pull request #358 from 4jcraft/nuke-zlib
nuke in-tree zlib
2026-03-30 16:57:57 +11:00
Tropical df5d806c85 nuke in-tree zlib 2026-03-30 00:54:24 -05:00
Tropical f03c7163f4 WCHAR -> wchar_t 2026-03-30 00:42:26 -05:00
Tropical be2c65486d VOID -> void 2026-03-30 00:38:52 -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 51e61a12b4 refactor: replace some win32 typedefs 2026-03-30 00:16:26 -05:00
Tropical 6ed953a3c3 refactor: replace double-underscore MSVC integer types with stdint 2026-03-30 00:08:25 -05:00
Tropical e45151ae64 refactor: expand AUTO_VAR macro 2026-03-29 23:59:05 -05:00
Tropical e437a5f4be fix build 2026-03-29 23:35:51 -05:00
MatthewBeshay a104252557 Merge branch 'upstream-dev' into cleanup/shared-portability-reset-v2
# Conflicts:
#	Minecraft.Client/Platform/Common/Consoles_App.cpp
#	Minecraft.World/IO/Files/File.cpp
2026-03-30 15:28:11 +11:00
Tropical e4c0a3a35b fix: assets loading and text input issues 2026-03-29 23:24:37 -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
Tropical c5d50c4066 fix: PathHelper include path 2026-03-29 23:13:15 -05:00
MatthewBeshay 95e0a14b36 refactor: use convStringToWstring for text input instead of uint16 helpers
GetText now returns UTF-8 directly so callers go through simdutf via
convStringToWstring(). Remove dead uint16_to_wstring helpers.
2026-03-30 14:10:14 +11:00
MatthewBeshay e89198f56c fix: sign entry crash and remove blocking callback workaround
- Initialize m_iEditingLine to 0 in SignEntryMenu constructor
  (was uninitialized, causing out-of-bounds array access)
- Add bounds check on m_iEditingLine before array access in callback
- Only truncate sign text if longer than 15 chars (avoid padding)
- Remove manual KeyboardCompleteSeedCallback call in
  LaunchMoreOptionsMenu (no longer needed since RequestKeyboard
  now fires callbacks asynchronously from Tick)
2026-03-30 13:41:54 +11:00
MatthewBeshay fe4c9bd36c
Merge branch '4jcraft:dev' into feat/text-input-support 2026-03-30 13:22:48 +11:00
JuiceyDev 413f22f231
Merge branch 'dev' into func/bttr-cwd
Some checks failed
Build (Linux, x86-64) / build-linux (push) Has been cancelled
Format Check / clang-format (push) Has been cancelled
2026-03-30 04:13:11 +02:00
MatthewBeshay 31f6e7012c
Merge branch '4jcraft:dev' into feat/text-input-support 2026-03-30 13:12:06 +11:00
Tropical d6394de900 fix: get rid of redundant option check 2026-03-29 20:55:58 -05:00
MatthewBeshay 31acc46308 fix(linux): localise chunk transforms and guard optional iggy paths 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 b7ac84ca79 fix: revert changes to lighting direction 2026-03-29 20:55:56 -05:00
MatthewBeshay 1ead072c45 Add text input support: safe uint16_t* to wstring conversion
Replace unsafe (wchar_t*)pchText casts with uint16_to_wstring() in all
keyboard callbacks. The direct cast is incorrect on platforms where
wchar_t is 4 bytes (Linux/macOS). New helpers in StringHelpers route
through u16string for proper UTF-16 to wchar_t conversion.

- Add uint16_len, uint16_to_u16string, uint16_to_wstring to StringHelpers
- Fix casts in AnvilMenu, CreateWorldMenu, DebugCreateSchematic,
  DebugSetCamera, LaunchMoreOptionsMenu, SignEntryMenu
- Truncate sign text to 15 chars in SignEntryMenu
- Move m_bIgnoreInput reset after if-block in LaunchMoreOptionsMenu
2026-03-30 12:46:50 +11:00
aedanmills 740f1b5c64 Update 2026-03-28 22:53:15 -04:00
aedanmills 75d83a4556 Fixed broken quit game button again. 2026-03-28 21:01:28 -04: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 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
Tropical e38f162c10
Merge pull request #314 from Merc6/refactor/remove-vec3-tls
refactor: remove vec3 tls
2026-03-27 18:19:21 -05:00
JuiceyDev 6be5f627ef make consoles_app use pathhelper :)
Some checks failed
Build (Linux, x86_64) / build-linux (push) Has been cancelled
Build (Linux, x86_64) / build-linux-debug (push) Has been cancelled
Clang Format / clang-format (push) Has been cancelled
2026-03-27 20:57:46 +01:00
JuiceyDev 21fc2166ff cleaned up, less hacky, more silly 2026-03-27 20:54:21 +01:00
JuiceyDev ca84ac0512 okay managed to do it, anyways hacky code land :3
mainly rewrote a bit of the soundengine, made files now load without being mean and uh yeah it works
2026-03-27 18:07:38 +01:00