BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
Link's Awakening(Switch)을 macOS, Windows, Linux용으로 정적 재컴파일
Static recompilation of Link's Awakening (Switch) to native macOS, Windows and Linux
게임C · PythonGitHub @peiikai직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗[!IMPORTANT] This project was made almost exclusively with AI. Nearly all of the code, tooling, reverse engineering and documentation in this repository was written by and will be maintained by an AI (Anthropic's Claude, through Claude Code), directed, tested and reviewed by a human. As a huge fan of this game, I made this for myself. Sharing it is a courtesy. If you don't agree with the use of AI or don't trust code written by AI, that is your right, but I'm not interested in the controversy in relation to this project. You may simply ignore this project and its code. As with anything on the internet, you run the code at your own discretion.
LAS Recomp is a static recompilation of The Legend of Zelda: Link's Awakening (Nintendo Switch, 2019) into a native Windows, macOS and Linux application.
[!NOTE] Currently supported platforms:
- macOS - Apple Silicon only, Metal graphics backend + MetalFX
- Windows - x86-64 only, Vulkan graphics backend
- Linux - x86-64, Vulkan graphics backend (AppImage)
- Linux aarch64 (ARM) - experimental: built but untested on real hardware; reports welcome (docs/linux.md lists what to include)
These are the minimums during the beta and may change as development continues.
macOS: any Apple Silicon Mac (M1 or newer) on macOS 15 or newer. Intel Macs aren't supported.
Windows and Linux:
| Minimum | |
|---|---|
| OS | Windows 10 or 11 (64-bit), or 64-bit Linux from about 2022 or newer (including the Steam Deck) |
| CPU | x86-64 with AVX2 and FMA: Intel 4th gen (Haswell) or newer, or AMD Ryzen |
| GPU | Vulkan 1.3 with an up-to-date driver, about as fast as a Switch or faster. For example: NVIDIA GTX 900 series or newer, AMD Radeon RX 400 series or Ryzen integrated graphics or newer, Intel Iris Xe or newer |
| RAM | 8 GB (16 GB recommended) |
| Disk | About 12 GB free for setup |
Not supported: Intel UHD 600-series and older Intel integrated graphics, and anything slower than a Switch. Linux on ARM (aarch64) is experimental.
[!NOTE] No game files are included. LAS Recomp needs your own legally obtained copy of the extracted game files of Link's Awakening v1.0.0, v1.0.1 or v1.1.0. When setting up, choose a folder that contains the
exefsandromfsfolders, or their contents. Instructions on how to obtain these files will NOT be provided. On first launch the app sets up what it needs, including the actual recompilation locally. No game files, assets or fonts are included. The screenshot shows the start screen after setup; no Nintendo artwork is included until provided by the user.
This is a beta release. That means bugs are likely, crashes could occur, randomizer seeds could possibly be unsolvable (dungeon room shuffle modes are especially experimental at this point) and some graphics issues remain (especially in wide and ultrawide aspect ratios). This is a work in progress, hence the beta designation. To report a bug or a possible randomizer logic issue, open a GitHub issue - see CONTRIBUTING.md for what to include.
Known issues and their status are on the GitHub issues page.
APPIMAGE_EXTRACT_AND_RUN=1 %command%Runs natively
Randomizer
Every platform needs your own game files (v1.0.0, v1.0.1 or v1.1.0): build first, then use the start screen's game-file setup.
make gen then recompiles the game code from your own game files into generated/, and make builds it into its own
library next to the app (build/lasgame.*); without it the start screen builds that library itself, as it does for
players. Release builds hold none of the game's code: the start screen builds it on each player's machine from their
own game files, with the bundled generator (make gen-helper) and compiler (tools/fetch_zig.sh).
Requirements: Apple Silicon, Xcode command line tools (clang), Homebrew sdl3 and ffmpeg,
Python 3.12.
make -j10 -> build/lasrecomp. Set up your game files (above), then make gen and make -j10 again.third_party/LAS-Randomizer:
python3.12 -m venv venv && venv/bin/pip install -r requirements.txt../build/lasrecomp extracted (start screen) or ./build/lasrecomp extracted --play (straight into the game).make deps (once: SDL3, FFmpeg, keystone and Python from pinned sources, built for macOS 15),
make rando-helper (the seed generator as a standalone helper, so players need no Python), make gen-helper and
tools/fetch_zig.sh (what the start screen builds the game code with), then make app ->
build/LAS Recomp.app (macOS 15+, Apple Silicon) and make dmg -> build/dist/LAS Recomp-<version>-macOS.dmg.Requirements: Windows 10+ x86-64, a CPU with AVX2 and a GPU with Vulkan 1.3. More detail in docs/BUILD-windows.md.
powershell -ExecutionPolicy Bypass -File tools\setup_windows.ps1.
It installs MSYS2 (UCRT64: clang, make, SDL3, FFmpeg, Vulkan, shaderc), Python 3.12 for the tools and the
randomizer (third_party\LAS-Randomizer\venv) and switches the clone to LF line endings.export PATH="/c/msys64/ucrt64/bin:/c/msys64/usr/bin:$PATH"):
make -j -> build/lasrecomp.exe. Set up your game files (above), then make gen and make -j again../build/lasrecomp.exe extracted, from a shell with C:\msys64\ucrt64\bin on PATH (for the DLLs).make deps-windows (once: LGPL FFmpeg), make rando-helper RANDO_PY="<path to python.org Python 3.12>"
(MSYS2's Python has no oead wheel), then make dist -> build/dist/LAS Recomp-<version>-windows.zip.Requirements: x86-64 with AVX2 (or aarch64, experimental), a GPU with Vulkan 1.3, clang, SDL 3, FFmpeg, shaderc and Vulkan Memory Allocator from your distribution, Python 3.12. Packages, cross builds and details in docs/linux.md.
make -j -> build/lasrecomp. Set up your game files (above), then make gen and make -j again../build/lasrecomp extracted.make appimage (this machine's arch; ARCH=aarch64 cross-compiles) or make appimages (both) ->
build/dist/LAS Recomp-<version>-linux-<arch>.AppImage, built in Ubuntu 22.04 containers (podman). make smoketest
checks the x86-64 AppImage before a release.Where files live (game files, saves, seeds, settings and logs):
~/Library/Application Support/com.peiikai.lasrecomp/lasrecomp.exe, so keep the LAS Recomp folder somewhere writable (not Program Files).~/.local/share/lasrecomp/LARECOMP_DATA_ROOT=<dir> overrides all of these.lasrecomp.log from that folder.If the game-code build is cancelled or interrupted, Resume game code continues where it stopped. It also resumes by itself the next time LAS Recomp starts. Game Files > Clear build cache removes the build's leftover files without touching the installed game, your game files or your saves.
Contributors - thank you to everyone who has sent code (GitHub handles, in order of first contribution):
Thanks also to everyone who reports issues and tests builds. Your logs and screenshots find most of the bugs.
LAS-Randomizer - the randomizer at the heart of this project's randomizer features, vendored (with local
changes) in third_party/LAS-Randomizer under the MIT license. Huge thanks to its authors and community:
Community mods - some options re-implement ideas from these GameBanana mods (re-implemented in the recomp; none of their files are used):
Libraries and tools
third_party/fonts/Baloo2/OFL.txt)third_party/fonts/BIZUDPGothic/OFL.txt)third_party/fonts/DejaVu/LICENSE)third_party/smaa/LICENSE.txt)LAS Recomp is a fan project. It is not affiliated with, endorsed by or sponsored by Nintendo. The Legend of Zelda and Link's Awakening are trademarks of Nintendo. No game files, game code, assets or fonts are included - not in this repository and not in release builds. You must provide your own legally obtained copy of the game files to play.
LAS Recomp's own code (the recompiler tools, the runtime, the randomizer additions) is open source under the
MIT License. Third-party components keep their own licenses: LAS-Randomizer (MIT), ported audio renderer code (MIT, see third_party/), Dear ImGui (MIT),
Vulkan Memory Allocator (MIT), SMAA (MIT), AMD FSR 1 (MIT), the Baloo 2 and BIZ UDPGothic fonts (SIL OFL 1.1), the DejaVu Sans font (Bitstream Vera / DejaVu license), SDL 3 (zlib), FFmpeg (LGPL 2.1+, linked dynamically), the
Zig compiler (MIT; its LLVM / Clang / LLD: Apache 2.0 with LLVM exceptions; its C library headers keep their own
licenses), and the generator helpers' bundled libraries listed under Credits (oead / evfl / Keystone in the seed
generator and Unicorn in the game code generator are under the GPL, versions in the table below: each helper is a separate program the game runs, and its
sources are this repository plus those projects' published sources). The license covers LAS Recomp's code only - it grants
nothing for Nintendo's game, which you must supply yourself.
Release builds include these components; their source code for the exact versions shipped is available here:
| Component | Version | License | Source |
|---|---|---|---|
| Keystone (seed generator) | 0.9.2 | GPL 2.0 | https://github.com/keystone-engine/keystone/releases/tag/0.9.2 |
| oead (seed generator) | 1.3.0 | GPL 2.0+ | https://github.com/zeldamods/oead/releases/tag/v1.3.0 |
| evfl (seed generator) | 1.2.0 | GPL 2.0+ | https://github.com/zeldamods/evfl/releases/tag/v1.2.0 |
| quicktex (seed generator) | 0.2.1 | LGPL 3.0 | https://github.com/drewcassidy/quicktex/releases/tag/v0.2.1 |
| PyInstaller (packs the seed and game code generators) | 6.22.3 | GPL 2.0+ with bootloader exception | https://github.com/pyinstaller/pyinstaller/releases/tag/v6.22.3 |
| CPython (seed and game code generators) | 3.12.14 (macOS), 3.12.10 (Windows), 3.12.15 (Linux) | PSF | https://github.com/python/cpython/releases/tag/v3.12.14, https://github.com/python/cpython/releases/tag/v3.12.10, https://github.com/python/cpython/releases/tag/v3.12.15 |
| Zig (builds the game code during setup; includes LLVM, Clang, LLD) | 0.17.0 | MIT; LLVM: Apache 2.0 with LLVM exceptions | https://ziglang.org/download/0.17.0/zig-0.17.0.tar.xz |
The exact build scripts that fetch and build these (with checksums) are in this repository: tools/build_deps_macos.sh,
tools/build_deps_windows.sh, tools/linux/build_deps.sh and tools/rando/rando_gen.spec. The Windows build takes SDL 3, shaderc, libiconv and the
compiler runtime from MSYS2's UCRT64 packages (https://packages.msys2.org, which links each package's source).
zig cc: Clang and LLD) builds the game code on the player's
machine during setup (MIT; LLVM, Clang, LLD: Apache 2.0 with LLVM exceptions)tools/gen.py) is packed by PyInstaller into a standalone helper too. It bundles CPython,
Capstone (BSD 3-clause; disassembly), Unicorn
(GPL 2.0; Python bindings BSD; runs small pieces of code to resolve jump tables) and
python-lz4 (BSD 3-clause, with the LZ4 library: BSD 2-clause)third_party/ryujinx/LICENSE.txt) - the audio renderer's reverb is a port of its reverb code and the mixer is
modelled on its renderer; its instruction decoders were the bit-layout reference for parts of the shader translator| Capstone (game code generator) | 5.0.9 | BSD 3-clause | https://pypi.org/project/capstone/5.0.9/ |
| Unicorn (game code generator) | 2.1.4 | GPL 2.0 (Python bindings: BSD) | https://pypi.org/project/unicorn/2.1.4/, https://github.com/unicorn-engine/unicorn |
| python-lz4 (game code generator; includes LZ4) | 4.4.5 | BSD 3-clause; LZ4: BSD 2-clause | https://pypi.org/project/lz4/4.4.5/ |
| FFmpeg (LGPL configuration, macOS, Windows and Linux builds) | 9.0.2 | LGPL 2.1+ | https://ffmpeg.org/releases/ |
| SDL 3 | 3.4.18 (macOS, Windows), 3.4.16 (Linux) | zlib | https://github.com/libsdl-org/SDL/releases/tag/release-3.4.18, https://github.com/libsdl-org/SDL/releases/tag/release-3.4.16 |
| shaderc (Windows, Linux: GLSL to SPIR-V; Linux: with glslang, SPIRV-Tools inside) | 2026.4 (Windows), 2026.3 (Linux) | Apache 2.0 | https://github.com/google/shaderc |
| libiconv (Windows: used by SDL 3) | 1.19 | LGPL 2.1+ | https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.19.tar.gz |
| GCC runtime: libgcc, libstdc++ (Windows) | 16.2.0 | GPL 3.0 with the GCC Runtime Library Exception | https://gcc.gnu.org/ |
| winpthreads (Windows, mingw-w64) | 14.0.0 | MIT / BSD | https://www.mingw-w64.org/ |
| Baloo 2 font (SemiBold) | 1.640 | SIL OFL 1.1 | https://github.com/EkType/Baloo2 |
| BIZ UDPGothic font (Regular, Linux) | 1.05 (Google Fonts) | SIL OFL 1.1 | https://github.com/googlefonts/morisawa-biz-ud-gothic, https://github.com/google/fonts/tree/main/ofl/bizudpgothic |
| DejaVu Sans font (Book, Bold) | 2.37 | Bitstream Vera license (DejaVu changes public domain) | https://github.com/dejavu-fonts/dejavu-fonts/releases/tag/version_2_37 |
| SMAA (shader and lookup textures, built in) | 2013 (repository master) | MIT | https://github.com/iryoku/smaa |