Skip to content

Building & Contributing

Scott Zimmerman edited this page Apr 11, 2026 · 13 revisions

Building the Game: From Start to Finish

I realized I didn't have a comprehensive page on this so here it is. This should take you step-by-step through the entire process.

  • Download and install .NET 8.0 SDK ==> https://dotnet.microsoft.com/en-us/download/dotnet/8.0
  • Download the source code => https://github.com/BigheadSMZ/Zelda-LA-DX-HD-Updated/archive/refs/heads/main.zip
  • Unzip it somewhere, open it up, and take note of the folder "assets_original".
  • Before doing anything, right click the script "Unblock-All-Files.ps1" and choose "Properties".
  • Check the box that says "Unblock" and press "Apply" and hit "OK".
  • Right click the script and select "Run with PowerShell". If it asks about Execution Policy select "Run Once".
  • You will need the original "v1.0.0 release" from itch.io. I can not provide a link.
  • Unzip the v1.0.0 release. You should see Content/Data folders, source.7z, and Link's Awakening DX HD.exe.
  • Copy the "Data" folder from here to the "assets_original" folder.
  • Extract "source.7z". Inside you should find a "Content" folder. Copy to the "assets_original" folder.
  • You do NOT want the Content folder from the game folder as the files are already compiled.
  • At this point you should have Content and Data inside the assets_original folder.
  • Just to recap: "Content" comes from source code, "Data" comes from game folder.
  • Launch the included migration tool "LADXHD_Migrater.exe" and click "Migrate Assets From v1.0.0".
  • To verify if it worked, navigate to: ".\ladxhd_game_source_code\ProjectZ.Core\Content\Fonts".
  • You should see fonts and files like "smallFont_redux.png" and "smallFont_chn.fnt".
  • To build the game, from the migration tool, select your "Platform" of choice (and Target if on Windows).
  • Click the Create a new Build button to build the game. It will be in the "~Publish" folder.
  • Always keep the "assets_original" folder and the "v1.0.0 assets" as you will always need them.

NOTICE: Building the Linux and MacOS ports on Windows requires you to set up WSL (Windows Subsystem for Linux) and install Wine which is required to compile the shaders. This is not straightforward to get up and running, and requires some knowledge of Linux. Several packages are required like: wine64, winbind, winetricks, libasound2, and even more. What I installed was probably overkill, more packages include: libgl1-mesa-glx, libglu1-mesa, libpulse0, pulseaudio-utils, libopenal1, pipewire, pipewire-pulse, wireplumber, libgl1-mesa-glx, and libglu1-mesa.

For a list of Linux commands I sent to WSL to get this working, you can check the pastebin by clicking here. But do know there is no coherency to the commands. I basically just copied everything I entered up to the point I got everything working. So there is no guarantee it will work for you.

Building the Launcher

Building the game does not build the launcher as it's a separate project.

Contributing

  • NEVER contribute anything in the "Content" or "Data" folders via Pull Request.
  • If you update the assets in these folders, use the migration tool to create patches instead.
  • This is why you keep the v1.0.0 assets around at all times. It is needed to create patches of assets.
  • To create patches, simply click the button "Create Patches of Updated Assets" and wait for it to finish.
  • Navigate to the folder "assets_patches". Here you will find the patch of the asset you updated.
  • Only make Pull Requests with the updated patch, NEVER the updated asset.
  • If Git is properly set up, any changes to the "assets_patches" folder is automatically picked up.
  • Other users can pull the changes to get your updated patches, and use "Migrate Assets From v1.0.0".
  • Fixes to the game source code are always very welcomed, but feel free to fix anything in the repo.

Other Notes

  • Publishing Android builds requires installing the Android SDK (usually through Visual Studio).
  • Publishing Linux/MacOS builds from Windows requires setting up WSL and Wine (for compiling shaders).
  • This is true whether publishing from the script or through the migration tool.
  • The "publish.bat" script in "ladxhd_launcher_source_code" builds all ports in one go.

πŸ“š Documentation Index

🏠 Home

βš™οΈ Engine Reference

πŸ›οΈ File & Data Reference

🎧 Audio Reference

πŸ’Ύ Modification

Clone this wiki locally