3.5 KiB
Compiling Friday Night Funkin'
- Setup
- Download Haxe from Haxe.org
- Cloning the Repository: Make sure when you clone, you clone the submodules to get the assets repo:
git clone --recurse-submodules https://github.com/FunkinCrew/funkin.git- If you accidentally cloned without the
assetssubmodule (aka didn't follow the step above), you can rungit submodule update --init --recursiveto get the assets in a foolproof way.
- Install
hmm(runhaxelib --global install hmmand thenhaxelib --global run hmm setup) - Install all haxelibs of the current branch by running
hmm install - Setup lime:
haxelib run lime setup - Platform setup
- For Windows, download the Visual Studio Build Tools
- When prompted, select "Individual Components" and make sure to download the following:
- MSVC v143 VS 2022 C++ x64/x86 build tools
- Windows 10/11 SDK
- Mac:
lime setup macDocumentation - Linux:
lime setup linuxDocumentation - HTML5: Compiles without any extra setup
- For Windows, download the Visual Studio Build Tools
- If you are targeting for native, you may need to run
lime rebuild PLATFORMandlime rebuild PLATFORM -debug lime test PLATFORM! Add-debugto enable several debug features such as time travel (PgUp/PgDnin Play State).
Troubleshooting
While performing the process of compilation, you may experience one of the following issues:
PolymodHandler: extra field coreAssetRedirect
Installing funkin.vis from https://github.com/FunkinCrew/funkVis branch: 98c9db09f0bbfedfe67a84538a5814aaef80bdea
Error: std@sys_remove_dir
Execution error: command "haxelib --never git funkin.vis https://github.com/FunkinCrew/funkVis 98c9db09f0bbfedfe67a84538a5814aaef80bdea" failed with status: 1 in cwd
If you receive this error, you are on an outdated version of Polymod.
To solve, you should try reinstalling Polymod:
haxelib run hmm reinstall --force polymod
You can also try deleting your .haxelib folder in your Funkin' project, then reinstalling all your Haxelibs to prevent any other errors:
rm -rf ./.haxelib
haxelib run hmm reinstall --force
PolymodHandler: Couldn't find a match for this asset library: (vlc)
source/funkin/modding/PolymodErrorHandler.hx:84: [ERROR] Your Lime/OpenFL configuration is using custom asset libraries, and you provided frameworkParams in Polymod.init(), but we couldn't find a match for this asset library: (vlc)
source/funkin/modding/PolymodHandler.hx:158: An error occurred! Failed when loading mods!
source/funkin/util/logging/CrashHandler.hx:62: Error while handling crash: Null Object Reference
This error is specific to Linux targets. If you receive this error, you are on an outdated verison of hxCodec.
To solve, you should try reinstalling hxCodec:
haxelib run hmm reinstall --force hxCodec
You can also try deleting your .haxelib folder in your Funkin' project, then reinstalling all your Haxelibs to prevent any other errors:
rm -rf ./.haxelib
haxelib run hmm reinstall --force
Git: stream 0 was not closed cleanly: PROTOCOL_ERROR
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
If you receive this error while cloning, you may be experiencing issues with your network connection.
To solve, you should try modifying your git configuration before cloning again:
git config --global http.postBuffer 4096M