1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-11-15 11:22:55 +00:00
Funkin/docs/COMPILING.md
Hundrec 39a774709e
[DOCS] Add common troubleshooting steps to compiling guide
Makes compiling easier for everyone
2024-07-09 02:10:55 -07:00

2.4 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 git clone https://github.com/FunkinCrew/funkin.git to clone the base repository.
  3. 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.
  4. Run haxelib --global install hmm and then haxelib --global run hmm setup to install hmm.json
  5. Run hmm install to install all haxelibs of the current branch
  6. Run haxelib run lime setup to set up lime
  7. Platform setup
  8. If you are targeting for native, you may need to run lime rebuild PLATFORM and lime rebuild PLATFORM -debug
  9. 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.
  • Check that your assets folder is not empty! If it is, go back to Step 2 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 rerunning the commands listed in Step 3 and onwards.