New engine/client project
- openminecraft-core/binary (string hash, endians)
- openminecraft-core/fontproc (font shaping wrapper, fallbacks)
- openminecraft-core/i18n (internationalization utils)
- openminecraft-core/io (json parser)
- openminecraft-core/log (Logging system)
- openminecraft-core/mem (memory tracker & allocator)
- openminecraft-core/network (network transfer wrappers, WIP)
- openminecraft-core/renderer (renderer api backend abstraction layer)
- openminecraft-core/specs (parsers for jpeg, png, zip etc.)
- openminecraft-core/util (internal utils)
- openminecraft-core/vfs (virtual file system)
- openminecraft-core/vm (elysia vm implementation)
- openminecraft-core/world (in-game data management)
- openminecraft (shell layer & demo)
xmake
python
cmake, meson, ninja (optional)
Run python scripts/fetchsrc.py
Ensure you have the zip utility installed
Use choco install zip to install
Use the following command to create the required bundles (powershell)
cd bootassets
zip -9 -r boot.bundle .
mv boot.bundle ..
cd ..
cd externalassets
zip -9 -r external.bundle .
mv external.bundle ..
cd ..
Or you can create the two bundles manually (folder boot and externalassets, no top-level folders), and save them to boot.bundle and external.bundle
run sh scripts/updateassets.sh
run xmake and wait
run xmake run openminecraft [gl/vk] to switch the renderer