From 5c9285d4b31423a7e38733984c22f2964353cf3a Mon Sep 17 00:00:00 2001 From: project516 <138796702+Project516@users.noreply.github.com> Date: Mon, 16 Mar 2026 11:40:35 -0500 Subject: [PATCH 1/9] Update build-doxygen.yml change deployment to github pages to use peaceiris/actions-gh-pages@v4 - this will create a gh-pages branch that can be deployed to pages. --- .github/workflows/build-doxygen.yml | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-doxygen.yml b/.github/workflows/build-doxygen.yml index 8cf5838ea..07c591f8e 100644 --- a/.github/workflows/build-doxygen.yml +++ b/.github/workflows/build-doxygen.yml @@ -26,25 +26,9 @@ jobs: run: git submodule update --init --recursive - name: Generate Docs run: cd docs && doxygen - - name: Configure Pages - uses: actions/configure-pages@v4 - - name: Upload Pages Artifacts - uses: actions/upload-pages-artifact@v4 + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v4 with: - path: ./docs/html - deploy: - needs: build - - runs-on: ubuntu-latest - - permissions: - pages: write - id-token: write - - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy Github Pages - uses: actions/deploy-pages@v4 - id: deployment + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs/html + force_orphan: true From 439a2404481a6ed418461b4764344d018f57d378 Mon Sep 17 00:00:00 2001 From: project516 <138796702+Project516@users.noreply.github.com> Date: Mon, 16 Mar 2026 11:46:25 -0500 Subject: [PATCH 2/9] update actions/checkout@v3 to v6 --- .github/workflows/build-doxygen.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-doxygen.yml b/.github/workflows/build-doxygen.yml index 07c591f8e..3d99c7e08 100644 --- a/.github/workflows/build-doxygen.yml +++ b/.github/workflows/build-doxygen.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up Doxygen run: sudo apt-get update && sudo apt-get install -y doxygen graphviz build-essential libsdl2-dev libgl-dev libglu1-mesa-dev libpthread-stubs0-dev From 580b947c6e00420a3b66182635c3d3f06ace15b6 Mon Sep 17 00:00:00 2001 From: ViniciusCruzMoura Date: Tue, 17 Mar 2026 02:08:16 -0400 Subject: [PATCH 3/9] UIScene_MainMenu: Enable the Exit Game Button Behaviour MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit i noticed that the exit game button on the menu screen wasn't working, so i went ahead and enabled it and added the behavior to close the game. i added a Close method in the 4J_Render class and made a tweak to the _xbox check. the catch is that it uses the xbox text for the confirmation button, so i’m not sure if it’s the best approach, but it does work fine for me Signed-off-by: ViniciusCruzMoura --- 4J.Render/4J_Render.cpp | 2 ++ 4J.Render/4J_Render.h | 1 + Minecraft.Client/Platform/Common/UI/UILayer.cpp | 1 + Minecraft.Client/Platform/Common/UI/UIScene.cpp | 7 +++++-- Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp | 9 +++++++-- .../Platform/Common/UI/UIScene_TrialExitUpsell.cpp | 1 + Minecraft.Client/Platform/Linux/Linux_App.cpp | 5 ++++- 7 files changed, 21 insertions(+), 5 deletions(-) diff --git a/4J.Render/4J_Render.cpp b/4J.Render/4J_Render.cpp index 85cdb58e4..1133cd4e8 100644 --- a/4J.Render/4J_Render.cpp +++ b/4J.Render/4J_Render.cpp @@ -311,6 +311,8 @@ void C4JRender::SetFullscreen(bool fs) { s_fullscreen = fs; } bool C4JRender::ShouldClose() { return !s_window || s_shouldClose; } +void C4JRender::Close() { s_window = nullptr; } + void C4JRender::Shutdown() { // Destroy the main window and clean up SDL resources so that // destructors running after the game loop don't touch a dead context. diff --git a/4J.Render/4J_Render.h b/4J.Render/4J_Render.h index 520fe165a..564d56848 100644 --- a/4J.Render/4J_Render.h +++ b/4J.Render/4J_Render.h @@ -227,6 +227,7 @@ public: // Linux window management bool ShouldClose(); + void Close(); void Shutdown(); }; diff --git a/Minecraft.Client/Platform/Common/UI/UILayer.cpp b/Minecraft.Client/Platform/Common/UI/UILayer.cpp index 3fbefb8bb..c57affc13 100644 --- a/Minecraft.Client/Platform/Common/UI/UILayer.cpp +++ b/Minecraft.Client/Platform/Common/UI/UILayer.cpp @@ -342,6 +342,7 @@ bool UILayer::NavigateToScene(int iPad, EUIScene scene, void *initData) // Frontend case eUIScene_TrialExitUpsell: newScene = new UIScene_TrialExitUpsell(iPad, initData, this); + app.DebugPrintf("UILayer::NavigateToScene AFTER UIScene_TrialExitUpsell CALL\n"); break; case eUIScene_Intro: newScene = new UIScene_Intro(iPad, initData, this); diff --git a/Minecraft.Client/Platform/Common/UI/UIScene.cpp b/Minecraft.Client/Platform/Common/UI/UIScene.cpp index 13e2a0323..1706e4b0d 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene.cpp @@ -226,9 +226,12 @@ void UIScene::setSafeZone(S32 safeTop, S32 safeBottom, S32 safeLeft, S32 safeRig void UIScene::initialiseMovie() { loadMovie(); - mapElementsAndNames(); + app.DebugPrintf("UIScene::initialiseMovie AFTER loadMovie CALL\n"); + mapElementsAndNames(); + app.DebugPrintf("UIScene::initialiseMovie AFTER mapElementsAndNames CALL\n"); updateSafeZone(); + app.DebugPrintf("UIScene::initialiseMovie AFTER updateSafeZone CALL\n"); m_bUpdateOpacity = true; } @@ -1283,4 +1286,4 @@ int UIScene::parseSlotId(const char16_t *s) { } return id; -} \ No newline at end of file +} diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp index 42570b990..1c1d6e1cc 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_MainMenu.cpp @@ -301,7 +301,9 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId) ui.PlayUISFX(eSFX_Press); signInReturnedFunc = &UIScene_MainMenu::CreateLoad_SignInReturned; + app.DebugPrintf("UIScene_MainMenu::handlePress AFTER &UIScene_MainMenu::CreateLoad_SignInReturned\n"); #endif + app.DebugPrintf("UIScene_MainMenu::handlePress FINISH eControl_PlayGame \n"); break; case eControl_Leaderboards: //CD - Added for audio @@ -334,7 +336,6 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId) m_eAction=eAction_RunUnlockOrDLC; signInReturnedFunc = &UIScene_MainMenu::UnlockFullGame_SignInReturned; break; -#if defined _XBOX case eControl_Exit: if( ProfileManager.IsFullVersion() ) { @@ -342,16 +343,19 @@ void UIScene_MainMenu::handlePress(F64 controlId, F64 childId) uiIDA[0]=IDS_CANCEL; uiIDA[1]=IDS_OK; ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this); + app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.RequestMessageBox(IDS_WARNING_ARCADE_TITLE, IDS_WARNING_ARCADE_TEXT, uiIDA, 2, XUSER_INDEX_ANY,&UIScene_MainMenu::ExitGameReturned,this) CALL\n"); } +#if defined _XBOX //|| _ENABLEIGGY else { #ifdef _XBOX_ONE ui.ShowPlayerDisplayname(true); #endif ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell); + app.DebugPrintf("UIScene_MainMenu::handlePress AFTER ui.NavigateToScene(primaryPad,eUIScene_TrialExitUpsell) CALL\n"); } - break; #endif + break; #ifdef _DURANGO case eControl_XboxHelp: @@ -1034,6 +1038,7 @@ int UIScene_MainMenu::ExitGameReturned(void *pParam,int iPad,C4JStorage::EMessag { //XLaunchNewImage(XLAUNCH_KEYWORD_DASH_ARCADE, 0); app.ExitGame(); + app.DebugPrintf("UIScene_MainMenu::ExitGameReturned AFTER app.ExitGame() CALL\n"); } return 0; diff --git a/Minecraft.Client/Platform/Common/UI/UIScene_TrialExitUpsell.cpp b/Minecraft.Client/Platform/Common/UI/UIScene_TrialExitUpsell.cpp index 272933921..7d25cb6b0 100644 --- a/Minecraft.Client/Platform/Common/UI/UIScene_TrialExitUpsell.cpp +++ b/Minecraft.Client/Platform/Common/UI/UIScene_TrialExitUpsell.cpp @@ -6,6 +6,7 @@ UIScene_TrialExitUpsell::UIScene_TrialExitUpsell(int iPad, void *initData, UILayer *parentLayer) : UIScene(iPad, parentLayer) { // Setup all the Iggy references we need for this scene + app.DebugPrintf("UIScene_TrialExitUpsell::UIScene_TrialExitUpsell BEFORE initialiseMovie CALL\n"); initialiseMovie(); } diff --git a/Minecraft.Client/Platform/Linux/Linux_App.cpp b/Minecraft.Client/Platform/Linux/Linux_App.cpp index 0193d2840..cd462caa2 100644 --- a/Minecraft.Client/Platform/Linux/Linux_App.cpp +++ b/Minecraft.Client/Platform/Linux/Linux_App.cpp @@ -23,7 +23,10 @@ void CConsoleMinecraftApp::SetRichPresenceContext(int iPad, int contextId) { } void CConsoleMinecraftApp::StoreLaunchData() {} -void CConsoleMinecraftApp::ExitGame() {} +void CConsoleMinecraftApp::ExitGame() { + app.DebugPrintf("Linux_App CConsoleMinecraftApp::ExitGame AFTER START\n"); + RenderManager.Close(); +} void CConsoleMinecraftApp::FatalLoadError() { app.DebugPrintf( "CConsoleMinecraftApp::FatalLoadError - asserting 0 and dying...\n"); From 4f252c86151319b3c3b57af8776a13016e64b73b Mon Sep 17 00:00:00 2001 From: ViniciusCruzMoura Date: Tue, 17 Mar 2026 07:05:50 -0400 Subject: [PATCH 4/9] languages: replace 'Return to Xbox Dashboard' to 'Return to Desktop' I just did a grep and replace, to update #277 pull request git grep -rn "Return to Xbox Dashboard" Signed-off-by: ViniciusCruzMoura --- .../Windows64Media/Media/languages.loc | Bin 1469999 -> 1469993 bytes .../Windows64Media/loc/4J_stringsGeneric.xml | 4 ++-- .../loc/4J_stringsPlatformSpecific.xml | 4 ++-- .../Windows64Media/loc/en-EN/strings.lang | 6 +++--- .../loc/ko-KR/4J_stringsPlatformSpecific.xml | 4 ++-- .../Windows64Media/loc/ko-KR/strings.lang | 4 ++-- Minecraft.Assets/XboxMedia/4J_strings.resx | 2 +- .../Durango/4JLibs/Media/4J_strings.resx | 2 +- .../Platform/PS3/4JLibs/Media/4J_strings.resx | 2 +- .../Xbox/4JLibs/Media/4J_strings.resx | 2 +- .../Platform/Xbox/loc/Minecraft_all.resx | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Minecraft.Assets/Windows64Media/Media/languages.loc b/Minecraft.Assets/Windows64Media/Media/languages.loc index 3f4659e3a289a15a662c2caf8ab7308d22d361fb..bff8f6fb204e217e977763edd8f6f59499251562 100644 GIT binary patch delta 107 zcmZ2~CvxST$c8P9hPT;WQj4=o@(bGSZ!-ch6A&{4F$)m00x=s9vjZ^)5OV@C7Z7s; jF%J;)0x=&D^8>K}5DNma5D*IkvB-A&+oB&PF>(O_)(tJb delta 112 zcmZ2^CvyFr$c8P9hPU}5lJYAQToQ{jlJXOaQrazUGXgOa5HkZY3lOscF&hxG12G2> oa{@6J5OV`D4-oSLF&_}~1F--Q3j(na5DNpb$aag{q8}y!0D8nPmH+?% diff --git a/Minecraft.Assets/Windows64Media/loc/4J_stringsGeneric.xml b/Minecraft.Assets/Windows64Media/loc/4J_stringsGeneric.xml index 461ff6f0d..aa59296c3 100644 --- a/Minecraft.Assets/Windows64Media/loc/4J_stringsGeneric.xml +++ b/Minecraft.Assets/Windows64Media/loc/4J_stringsGeneric.xml @@ -120,7 +120,7 @@ - Return to Xbox Dashboard + Return to Desktop @@ -208,4 +208,4 @@ Would you like to unlock the full game? You are being returned to the main menu because of a problem reading your profile. - \ No newline at end of file + diff --git a/Minecraft.Assets/Windows64Media/loc/4J_stringsPlatformSpecific.xml b/Minecraft.Assets/Windows64Media/loc/4J_stringsPlatformSpecific.xml index 8d705a63b..eae569f62 100644 --- a/Minecraft.Assets/Windows64Media/loc/4J_stringsPlatformSpecific.xml +++ b/Minecraft.Assets/Windows64Media/loc/4J_stringsPlatformSpecific.xml @@ -40,7 +40,7 @@ - Return to Xbox Dashboard + Return to Desktop @@ -102,4 +102,4 @@ You are being returned to the main menu because of a problem reading your profile. - \ No newline at end of file + diff --git a/Minecraft.Assets/Windows64Media/loc/en-EN/strings.lang b/Minecraft.Assets/Windows64Media/loc/en-EN/strings.lang index bc78f1d56..c8ef73677 100644 --- a/Minecraft.Assets/Windows64Media/loc/en-EN/strings.lang +++ b/Minecraft.Assets/Windows64Media/loc/en-EN/strings.lang @@ -185,7 +185,7 @@ - Return to Xbox Dashboard + Return to Desktop @@ -315,7 +315,7 @@ Would you like to unlock the full game? - Return to Xbox Dashboard + Return to Desktop @@ -8604,4 +8604,4 @@ If you try to save while using the trial version, you will be given the option t Network Error - \ No newline at end of file + diff --git a/Minecraft.Assets/Windows64Media/loc/ko-KR/4J_stringsPlatformSpecific.xml b/Minecraft.Assets/Windows64Media/loc/ko-KR/4J_stringsPlatformSpecific.xml index 8d705a63b..eae569f62 100644 --- a/Minecraft.Assets/Windows64Media/loc/ko-KR/4J_stringsPlatformSpecific.xml +++ b/Minecraft.Assets/Windows64Media/loc/ko-KR/4J_stringsPlatformSpecific.xml @@ -40,7 +40,7 @@ - Return to Xbox Dashboard + Return to Desktop @@ -102,4 +102,4 @@ You are being returned to the main menu because of a problem reading your profile. - \ No newline at end of file + diff --git a/Minecraft.Assets/Windows64Media/loc/ko-KR/strings.lang b/Minecraft.Assets/Windows64Media/loc/ko-KR/strings.lang index 80d00b99f..a2b3c4f0f 100644 --- a/Minecraft.Assets/Windows64Media/loc/ko-KR/strings.lang +++ b/Minecraft.Assets/Windows64Media/loc/ko-KR/strings.lang @@ -250,7 +250,7 @@ - Return to Xbox Dashboard + Return to Desktop @@ -8398,4 +8398,4 @@ Xbox 360 본체용 Minecraft는 멀티 플레이 게임이 기본값으로 되 이 옵션을 켜면 도전 과제를 획득할 수 없으며 순위표에 기록되지 않습니다. 플레이 도중에 옵션을 켜거나 옵션을 켠 후 저장한 게임을 다시 불러와도 마찬가지입니다. - \ No newline at end of file + diff --git a/Minecraft.Assets/XboxMedia/4J_strings.resx b/Minecraft.Assets/XboxMedia/4J_strings.resx index ecafab861..2d7e48a7a 100644 --- a/Minecraft.Assets/XboxMedia/4J_strings.resx +++ b/Minecraft.Assets/XboxMedia/4J_strings.resx @@ -92,7 +92,7 @@ Enter a name for your savegame - Return to Xbox Dashboard + Return to Desktop Are you sure you want to exit the game? diff --git a/Minecraft.Client/Platform/Durango/4JLibs/Media/4J_strings.resx b/Minecraft.Client/Platform/Durango/4JLibs/Media/4J_strings.resx index c8243fc0a..e904b7c1e 100644 --- a/Minecraft.Client/Platform/Durango/4JLibs/Media/4J_strings.resx +++ b/Minecraft.Client/Platform/Durango/4JLibs/Media/4J_strings.resx @@ -92,7 +92,7 @@ Enter a name for your savegame - Return to Xbox Dashboard + Return to Desktop Are you sure you want to exit the game? diff --git a/Minecraft.Client/Platform/PS3/4JLibs/Media/4J_strings.resx b/Minecraft.Client/Platform/PS3/4JLibs/Media/4J_strings.resx index c8243fc0a..e904b7c1e 100644 --- a/Minecraft.Client/Platform/PS3/4JLibs/Media/4J_strings.resx +++ b/Minecraft.Client/Platform/PS3/4JLibs/Media/4J_strings.resx @@ -92,7 +92,7 @@ Enter a name for your savegame - Return to Xbox Dashboard + Return to Desktop Are you sure you want to exit the game? diff --git a/Minecraft.Client/Platform/Xbox/4JLibs/Media/4J_strings.resx b/Minecraft.Client/Platform/Xbox/4JLibs/Media/4J_strings.resx index c8243fc0a..e904b7c1e 100644 --- a/Minecraft.Client/Platform/Xbox/4JLibs/Media/4J_strings.resx +++ b/Minecraft.Client/Platform/Xbox/4JLibs/Media/4J_strings.resx @@ -92,7 +92,7 @@ Enter a name for your savegame - Return to Xbox Dashboard + Return to Desktop Are you sure you want to exit the game? diff --git a/Minecraft.Client/Platform/Xbox/loc/Minecraft_all.resx b/Minecraft.Client/Platform/Xbox/loc/Minecraft_all.resx index 03ccb6ced..1fef82234 100644 --- a/Minecraft.Client/Platform/Xbox/loc/Minecraft_all.resx +++ b/Minecraft.Client/Platform/Xbox/loc/Minecraft_all.resx @@ -59,7 +59,7 @@ Enter a name for your savegame -Return to Xbox Dashboard +Return to Desktop Are you sure you want to exit the game? From ed5fc938527d2ab818b90b74ea458c6d31bb461f Mon Sep 17 00:00:00 2001 From: Emily <106335580+Vozath@users.noreply.github.com> Date: Tue, 17 Mar 2026 19:59:27 -0400 Subject: [PATCH 5/9] move Discord invite below Scope & platform in the README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fee9c3162..6de41ce35 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,6 @@ 4JCraft is a modified version of the Minecraft Console Legacy Edition, aimed at porting old Minecraft to different platforms (such as Linux, Android, Emscripten, etc.) and refactoring the codebase to improve organization and use modern C++ features. -Join our community: -* **Discord:** https://discord.gg/zFCwRWkkUg -* **Steam:** https://steamcommunity.com/groups/4JCraft - ## Scope & Platform Support At the moment, we're aiming to support the following platforms: @@ -31,6 +27,10 @@ Please note that these percentages are **estimates** and do not necessarily refl --- +## Join our community: +* **Discord:** https://discord.gg/zFCwRWkkUg +* **Steam:** https://steamcommunity.com/groups/4JCraft + ## Building (Linux) ### Dependencies From cb6bea3f360f08b782404e17a6d8735906918c5f Mon Sep 17 00:00:00 2001 From: MatthewBeshay <92357869+MatthewBeshay@users.noreply.github.com> Date: Wed, 18 Mar 2026 11:24:10 +1100 Subject: [PATCH 6/9] Update .gitignore --- .gitignore | 56 ++++++++++++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/.gitignore b/.gitignore index 078c49c1e..a98492abb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,30 +1,28 @@ -# ----- Build output directories ----- -build/ -builddir/ -.cache/ -.idea/ -build_meson/ +# Exclude everything by default +/* -# meson subprojects (git clone'd on build) -/subprojects/* -!/subprojects/*.wrap - -# Nix flake output -result - -# Meson generated artifacts (inside source tree, e.g. per-subdir) -meson-private/ -meson-info/ -meson-logs/ - -# ----- IDE / editor ----- -.cache/ -.idea/ -.vscode/ -*.code-workspace -*.swp -*.swo -*~ - -# ----- Documentation ----- -docs/ +# Except for tracked top-level project directories +!/.devcontainer/ +!/.github/ +!/.github-assets/ +!/4J.Input/ +!/4J.Profile/ +!/4J.Render/ +!/4J.Storage/ +!/docs/ +!/Minecraft.Assets/ +!/Minecraft.Client/ +!/Minecraft.World/ +!/scripts/ +!/subprojects/ +!/.clang-format +!/.git-blame-ignore-revs +!/.gitattributes +!/.gitignore +!/.gitmodules +!/CONTRIBUTING.md +!/flake.lock +!/flake.nix +!/meson.build +!/meson.options +!/README.md \ No newline at end of file From c8efdf6a6b601a5fca8381b6b2f00acea9dd1109 Mon Sep 17 00:00:00 2001 From: Hadi Chokr Date: Wed, 18 Mar 2026 16:02:43 +0100 Subject: [PATCH 7/9] Fix Nix Package by adding shiggy as an Input. --- flake.lock | 26 ++++++++++++++++++++++---- flake.nix | 14 ++++++++++---- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 5261a7a19..753f8d6b7 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1772433332, - "narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=", + "lastModified": 1773734432, + "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cf59864ef8aa2e178cccedbe2c178185b0365705", + "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", "type": "github" }, "original": { @@ -18,7 +18,25 @@ }, "root": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "shiggy": "shiggy" + } + }, + "shiggy": { + "flake": false, + "locked": { + "lastModified": 1773545684, + "narHash": "sha256-NI2qw4nROLciRgVZW1CM68vLQbeLmQeqdZ/QxufL6d4=", + "owner": "4jcraft", + "repo": "shiggy", + "rev": "7adc6c47882409c31e4f2d66fbfabdf4a3a98fd1", + "type": "github" + }, + "original": { + "owner": "4jcraft", + "ref": "main", + "repo": "shiggy", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index a4eaaf3a1..e980435a6 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,13 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + shiggy = { + url = "github:4jcraft/shiggy/main"; + flake = false; + }; }; - outputs = { self, nixpkgs, ... }: + outputs = { self, nixpkgs, shiggy, ... }: let allSystems = [ "x86_64-linux" @@ -13,7 +17,6 @@ "x86_64-darwin" "aarch64-darwin" ]; - forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; }); @@ -24,9 +27,13 @@ default = pkgs.clangStdenv.mkDerivation { pname = "4jcraft"; version = "0.1.0"; - src = ./.; + preConfigure = '' + mkdir -p subprojects/shiggy + cp -r ${shiggy}/. subprojects/shiggy/ + ''; + buildInputs = with pkgs; [ openssl.dev libGL @@ -47,7 +54,6 @@ installPhase = '' mkdir -p $out/share/4jcraft cp -r Minecraft.Client/. $out/share/4jcraft/ - mkdir -p $out/bin makeWrapper $out/share/4jcraft/Minecraft.Client \ $out/bin/4jcraft \ From 221c6ccad1aa177d96356005313f0fe2335211b7 Mon Sep 17 00:00:00 2001 From: Sally Knight Date: Wed, 18 Mar 2026 22:24:12 +0300 Subject: [PATCH 8/9] fix: re-enable death screen on java gui was removed accidentally --- Minecraft.Client/Minecraft.cpp | 6 ++++-- Minecraft.Client/UI/Screens/DeathScreen.cpp | 15 ++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Minecraft.Client/Minecraft.cpp b/Minecraft.Client/Minecraft.cpp index 7c74c55c1..3eec0758e 100644 --- a/Minecraft.Client/Minecraft.cpp +++ b/Minecraft.Client/Minecraft.cpp @@ -546,8 +546,9 @@ void Minecraft::setScreen(Screen* screen) { screen = new TitleScreen(); } else if (player != NULL && !ui.GetMenuDisplayed(player->GetXboxPad()) && player->getHealth() <= 0) { - // screen = new DeathScreen(); - +#ifdef ENABLE_JAVA_GUIS + screen = new DeathScreen(); +#else // 4J Stu - If we exit from the death screen then we are saved as being // dead. In the Java game when you load the game you are still dead, but // this is silly so only show the dead screen if we have died during @@ -557,6 +558,7 @@ void Minecraft::setScreen(Screen* screen) { } else { ui.NavigateToScene(player->GetXboxPad(), eUIScene_DeathMenu, NULL); } +#endif } if (dynamic_cast(screen) != NULL) { diff --git a/Minecraft.Client/UI/Screens/DeathScreen.cpp b/Minecraft.Client/UI/Screens/DeathScreen.cpp index 2384d7f6b..432378076 100644 --- a/Minecraft.Client/UI/Screens/DeathScreen.cpp +++ b/Minecraft.Client/UI/Screens/DeathScreen.cpp @@ -30,8 +30,9 @@ void DeathScreen::buttonClicked(Button* button) { // minecraft.setScreen(new NewLevelScreen(this)); } if (button->id == 2) { - minecraft->setLevel(NULL); - minecraft->setScreen(new TitleScreen()); + // TODO: proper world exits + // minecraft->setLevel(NULL); + // minecraft->setScreen(new TitleScreen()); } } @@ -49,11 +50,11 @@ void DeathScreen::render(int xm, int ym, float a) { Screen::render(xm, ym, a); // 4J - debug code - remove - static int count = 0; - if (count++ == 100) { - count = 0; - buttonClicked(buttons[0]); - } + // static int count = 0; + // if (count++ == 100) { + // count = 0; + // buttonClicked(buttons[0]); + // } } bool DeathScreen::isPauseScreen() { return false; } \ No newline at end of file From a9e0906cbe421b6fb4234784d5c9de09282eb6d5 Mon Sep 17 00:00:00 2001 From: MatthewBeshay <92357869+MatthewBeshay@users.noreply.github.com> Date: Thu, 19 Mar 2026 07:07:50 +1100 Subject: [PATCH 9/9] Update .gitignore to include subprojects/.wraplock Add exception for subprojects/.wraplock in .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a98492abb..fdc1dc597 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Exclude everything by default /* +/subprojects/.wraplock # Except for tracked top-level project directories !/.devcontainer/ @@ -25,4 +26,4 @@ !/flake.nix !/meson.build !/meson.options -!/README.md \ No newline at end of file +!/README.md