Funkin/docs/COMPILING.md
2024-07-09 16:22:43 -07:00

2.9 KiB

Compiling Friday Night Funkin'

  1. Setup
    • Download Haxe from Haxe.org
    • Download Git from git-scm.com
    • Do NOT download the repository using the Download ZIP button on GitHub or you may run into errors!
    • Instead, open a command prompt and do the following steps...
  2. Run cd the\directory\you\want\the\source\code\in to specify which folder the command prompt is working in.
    • For example, cd C:\Users\YOURNAME\Documents would instruct the command prompt to perform the next steps in your Documents folder.
  3. Run git clone https://github.com/FunkinCrew/funkin.git to clone the base repository.
  4. Run cd funkin to enter the cloned repository's directory.
  5. Run git submodule update --init --recursive to download the game's assets.
    • NOTE: By performing this operation, you are downloading Content which is proprietary and protected by national and international copyright and trademark laws. See the LICENSE.md file for the Funkin.assets repo for more information.
  6. Run haxelib --global install hmm and then haxelib --global run hmm setup to install hmm.json
  7. Run hmm install to install all haxelibs of the current branch
  8. Run haxelib run lime setup to set up lime
  9. Platform setup
  10. If you are targeting for native, you may need to run lime rebuild PLATFORM and lime rebuild PLATFORM -debug
  11. lime test PLATFORM ! Add -debug to enable several debug features such as time travel (PgUp/PgDn in Play State).

Troubleshooting - GO THROUGH THESE STEPS BEFORE OPENING ISSUES ON GITHUB!

  • During the cloning process, you may experience an error along the lines of error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) due to poor connectivity. A common fix is to run git config --global http.postBuffer 4096M.
  • Make sure your game directory has an assets folder! If it's missing, copy the path to your funkin folder and run cd the\path\you\copied. Then follow the guide starting from Step 4.
  • Check that your assets folder is not empty! If it is, go back to Step 4 and follow the guide from there.
  • The compilation process often fails due to having the wrong versions of the required libraries. Many errors can be resolved by deleting the .haxelib folder and following the guide starting from Step 5.