No description
  • C 84.9%
  • C++ 14.3%
  • CMake 0.5%
  • HLSL 0.3%
Find a file
Adam Rosenbaum cbcd1cc163 Merge upstream 4JLibs (neoStudiosLCE/master): SDL3 input, unmapped button state, renderer fix
Takes all of upstream up to fa93d9a, including the SDL3 input rewrite
(78ce519) and GetRawButtons/GetGameJoypadMapsRaw (5a92910).

Our multi-controller layer is re-implemented on SDL instead of XInput:
- UpdateJoypads picks the physical SDL gamepad for each logical slot via
  McLogicalToPhysicalPad (assigned main pad -> slot 0, disabled pads read
  as disconnected) and reopens the device when the F8 panel changes it.
- OpenPadDevice takes the logical slot (scan throttle) and the physical
  SDL index separately.
- McXInputGetState / McGetPadButtonsRaw / McScanForPressedPad /
  McIsPadConnectedRaw / McIsPadActiveRaw keep their XInput-shaped API but
  read SDL gamepads (physical pad p = p-th SDL_GetGamepads() entry, the
  same numbering as the poll loop).
- SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS so the unfocused instance of a
  dual-instance setup keeps its controller.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:04:54 -06:00
impls/Windows_Libs Merge upstream 4JLibs (neoStudiosLCE/master): SDL3 input, unmapped button state, renderer fix 2026-10-14 21:04:54 -06:00
inc Merge upstream 4JLibs (neoStudiosLCE/master): SDL3 input, unmapped button state, renderer fix 2026-10-14 21:04:54 -06:00
sdl feat: SDL input 2026-08-07 18:24:16 -04:00
.clang-format feat: better cmake support (#21) 2026-04-21 02:07:59 -04:00
.gitignore feat: better cmake support (#21) 2026-04-21 02:07:59 -04:00
CMakeLists.txt fix: 4jlibs debug builds + dlc issues 2026-07-17 00:02:23 -04:00
CMakeSettings.json feat: better cmake support (#21) 2026-04-21 02:07:59 -04:00
IMPLEMENTATION_GUIDE.md feat(docs): add an implementation guide for more in-depth details on how to use 4JLibs expansions 2026-03-08 04:11:22 -03:00
LICENSE chore: add license 2026-03-01 09:48:04 -03:00
README.md feat: better cmake support (#21) 2026-04-21 02:07:59 -04:00

4JLibs

A project that aims at rebuilding the 4J libraries source code via decompilation for the Minecraft: Legacy Console Edition

Implementation

For implementation details, please look at the IMPLEMENTATION_GUIDE.md file

Why?

This would allow compiling the Minecraft: Legacy Console Edition source code from newer versions of Visual Studio, expand the Renderer code, add new Input support, etc...

This would also help document the structure of their projects for decompilation projects of newer versions of this version of the game

How can I build this?

Just open the main folder and compile with your favourite code editor!

What is implemented?

All projects can be linked against the main game code, whilst there's some unnamed stuff in the Renderer, this works just fine and the game can be played