mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-23 16:17:53 -05:00
288 lines
No EOL
12 KiB
XML
288 lines
No EOL
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<project>
|
|
<!-- _________________________ Application Settings _________________________ -->
|
|
|
|
<app title="Friday Night Funkin'" file="Funkin" packageName="com.funkin.fnf" package="com.funkin.fnf" main="Main" version="0.3.0" company="ninjamuffin99" />
|
|
|
|
<!--Switch Export with Unique ApplicationID and Icon-->
|
|
<set name="APP_ID" value="0x0100f6c013bbc000" />
|
|
|
|
<!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file
|
|
or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"-->
|
|
<!-- <app preloader="Preloader" resizable="true" /> -->
|
|
<app preloader="Preloader" />
|
|
|
|
<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
|
|
<set name="SWF_VERSION" value="11.8" />
|
|
|
|
<!-- ____________________________ Window Settings ___________________________ -->
|
|
|
|
<!--These window settings apply to all targets-->
|
|
<window width="1280" height="720" fps="" background="#000000" hardware="true" vsync="false" />
|
|
|
|
<!--HTML5-specific-->
|
|
<window if="html5" resizable="true" />
|
|
|
|
<!--Desktop-specific-->
|
|
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false" />
|
|
|
|
<!--Mobile-specific-->
|
|
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false" />
|
|
|
|
<!-- _____________________________ Path Settings ____________________________ -->
|
|
|
|
<set name="BUILD_DIR" value="export/debug" if="debug" />
|
|
<set name="BUILD_DIR" value="export/release" unless="debug" />
|
|
<set name="BUILD_DIR" value="export/32bit" if="32bit" />
|
|
|
|
<classpath name="source" />
|
|
|
|
<assets path="assets/preload" rename="assets" exclude="*.ogg" if="web" />
|
|
<assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web" />
|
|
|
|
<define name="PRELOAD_ALL" unless="web" />
|
|
<define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL" />
|
|
|
|
<section if="PRELOAD_ALL">
|
|
<library name="songs" preload="true" />
|
|
<library name="shared" preload="true" />
|
|
<library name="tutorial" preload="true" />
|
|
<library name="week1" preload="true" />
|
|
<library name="week2" preload="true" />
|
|
<library name="week3" preload="true" />
|
|
<library name="week4" preload="true" />
|
|
<library name="week5" preload="true" />
|
|
<library name="week6" preload="true" />
|
|
<library name="week7" preload="true" />
|
|
<library name="weekend1" preload="true" />
|
|
</section>
|
|
|
|
<section if="NO_PRELOAD_ALL">
|
|
<library name="songs" preload="false" />
|
|
<library name="shared" preload="false" />
|
|
<library name="tutorial" preload="false" />
|
|
<library name="week1" preload="false" />
|
|
<library name="week2" preload="false" />
|
|
<library name="week3" preload="false" />
|
|
<library name="week4" preload="false" />
|
|
<library name="week5" preload="false" />
|
|
<library name="week6" preload="false" />
|
|
<library name="week7" preload="false" />
|
|
<library name="weekend1" preload="false" />
|
|
</section>
|
|
|
|
<assets path="assets/songs" library="songs" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/songs" library="songs" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/shared" library="shared" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/shared" library="shared" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/tutorial" library="tutorial" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/tutorial" library="tutorial" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week1" library="week1" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week1" library="week1" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week2" library="week2" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week2" library="week2" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week3" library="week3" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week3" library="week3" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week4" library="week4" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week4" library="week4" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week5" library="week5" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week5" library="week5" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week6" library="week6" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week6" library="week6" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/week7" library="week7" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/week7" library="week7" exclude="*.fla|*.mp3" unless="web" />
|
|
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.ogg" if="web" />
|
|
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<!-- <assets path='example_mods' rename='mods' embed='false'/> -->
|
|
|
|
<!--
|
|
AUTOMATICALLY MOVING EXAMPLE MODS INTO THE BUILD CAUSES ISSUES
|
|
Currently, this line will add the mod files to the library manifest,
|
|
which causes issues if the mod is not enabled.
|
|
If we can exclude the `mods` folder from the manifest, we can re-enable this line.
|
|
<assets path='example_mods' rename='mods' embed='false' exclude="*.md" />
|
|
-->
|
|
<assets path='art/readme.txt' rename='do NOT readme.txt' />
|
|
|
|
<assets path="CHANGELOG.md" rename='changelog.txt' />
|
|
|
|
<!-- NOTE FOR FUTURE SELF SINCE FONTS ARE ALWAYS FUCKY
|
|
TO FIX ONE OF THEM, I CONVERTED IT TO OTF. DUNNO IF YOU NEED TO
|
|
THEN UHHH I USED THE NAME OF THE FONT WITH SETFORMAT() ON THE TEXT!!!
|
|
NOT USING A DIRECT THING TO THE ASSET!!!
|
|
-->
|
|
<assets path="assets/fonts" embed='true' />
|
|
<!-- _______________________________ Libraries ______________________________ -->
|
|
|
|
<haxelib name="openfl" />
|
|
<haxelib name="flixel" />
|
|
<haxedev set='webgl' />
|
|
|
|
<!--In case you want to use the addons package-->
|
|
<haxelib name="flixel-addons" />
|
|
<haxelib name="hscript" />
|
|
<haxelib name="haxeui-core"/>
|
|
<haxelib name="haxeui-flixel"/>
|
|
|
|
<!--In case you want to use the ui package-->
|
|
<haxelib name="flixel-ui" />
|
|
<!--haxelib name="newgrounds" unless="switch"/> -->
|
|
<haxelib name="faxe" if='switch' />
|
|
<haxelib name="polymod" />
|
|
<haxelib name="flxanimate" />
|
|
|
|
<haxelib name="thx.semver" />
|
|
|
|
<!-- <haxelib name="colyseus"/> -->
|
|
<!-- <haxelib name="colyseus-websocket" /> -->
|
|
<!-- <haxelib name="newgrounds"/> -->
|
|
<haxelib name="hxcpp-debug-server" if="desktop debug" />
|
|
|
|
<!-- swf stufffff -->
|
|
<!-- <haxelib name="swf"/> -->
|
|
<!-- <library path="assets/tanky.swf" preload="true"/> -->
|
|
<!-- <library path="assets/tankBG.swf" preload="true"/> -->
|
|
|
|
<!-- <haxelib name="flixel-animate" /> -->
|
|
<!-- <haxelib name="spinehaxe" /> -->
|
|
<!-- https://github.com/ninjamuffin99/Flixel-Animate-Atlas-Player -->
|
|
|
|
|
|
<!--<haxelib name="discord_rpc" if="cpp"/> -->
|
|
<!-- foesn't work with neko -->
|
|
<!-- <haxelib name="hxcpp-debug-server" if="desktop"/> -->
|
|
|
|
<!-- <haxelib name="markdown" /> -->
|
|
<!-- <haxelib name="HtmlParser" /> -->
|
|
|
|
<!--In case you want to use nape with flixel-->
|
|
<!--<haxelib name="nape-haxe4" />-->
|
|
|
|
<!-- ______________________________ Haxedefines _____________________________ -->
|
|
|
|
<!--Enable the Flixel core recording system-->
|
|
<!--<haxedef name="FLX_RECORD" />-->
|
|
|
|
<!--Disable the right and middle mouse buttons-->
|
|
<!-- <haxedef name="FLX_NO_MOUSE_ADVANCED" /> -->
|
|
|
|
<!--Disable the native cursor API on Flash-->
|
|
<!--<haxedef name="FLX_NO_NATIVE_CURSOR" />-->
|
|
|
|
<!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
|
|
<!-- <haxedef name="FLX_NO_MOUSE" if="mobile" /> -->
|
|
<!-- <haxedef name="FLX_NO_KEYBOARD" if="mobile" /> -->
|
|
<!-- <haxedef name="FLX_NO_TOUCH" if="desktop" /> -->
|
|
<!--<haxedef name="FLX_NO_GAMEPAD" />-->
|
|
|
|
<!--Disable the Flixel core sound tray-->
|
|
<!--<haxedef name="FLX_NO_SOUND_TRAY" />-->
|
|
|
|
<!--Disable the Flixel sound management code-->
|
|
<!--<haxedef name="FLX_NO_SOUND_SYSTEM" />-->
|
|
|
|
<!--Disable the Flixel core focus lost screen-->
|
|
<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />
|
|
|
|
<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
|
|
<haxedef name="FLX_NO_DEBUG" unless="debug" />
|
|
|
|
<!--Enable this for Nape release builds for a serious peformance improvement-->
|
|
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
|
|
|
|
<!-- _________________________________ Custom _______________________________ -->
|
|
|
|
<!-- Disable trace() calls in release builds to bump up performance. -->
|
|
<haxeflag name="--no-traces" unless="debug" />
|
|
|
|
<!-- HScript relies heavily on Reflection, which means we can't use DCE. -->
|
|
<haxeflag name="-dce no" />
|
|
<haxeflag name="--macro" value="include('funkin')" />
|
|
<!-- Ensure all UI components are available at runtime. -->
|
|
<haxeflag name="--macro" value="include('haxe.ui.components')" />
|
|
<haxeflag name="--macro" value="include('haxe.ui.containers')" />
|
|
|
|
<!-- Necessary to provide stack traces for HScript. -->
|
|
<haxedef name="hscriptPos" />
|
|
<haxedef name="HXCPP_CHECK_POINTER" />
|
|
<haxedef name="HXCPP_STACK_LINE" />
|
|
|
|
|
|
<!-- This macro allows addition of new functionality to existing Flixel. -->
|
|
<haxeflag name="--macro" value="addMetadata('@:build(funkin.util.macro.FlxMacro.buildFlxBasic())', 'flixel.FlxBasic')" />
|
|
|
|
<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
|
|
|
|
<icon path="art/icon16.png" size='16' />
|
|
<icon path="art/icon32.png" size='32' />
|
|
<icon path="art/icon64.png" size='64' />
|
|
<icon path="art/iconOG.png" />
|
|
|
|
<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
|
|
|
|
<haxedef name="CAN_OPEN_LINKS" unless="switch" />
|
|
<haxedef name="CAN_CHEAT" if="switch debug" />
|
|
|
|
<!-- Skip the Intro -->
|
|
<section if="debug">
|
|
<!-- Starts the game at the specified week, at the first song -->
|
|
<!-- <haxedef name="week" value="1" if="debug"/> -->
|
|
|
|
<!-- Starts the game at the specified song -->
|
|
<!-- <haxedef name="song" value="bopeebo" if="debug"/> -->
|
|
|
|
<!-- Difficulty, only used for week or song, defaults to 1 -->
|
|
<!-- <haxedef name="dif" value="2" if="debug"/> -->
|
|
</section>
|
|
|
|
<!-- <haxedef name="CLEAR_INPUT_SAVE"/> -->
|
|
|
|
<section if="newgrounds">
|
|
<!-- Enables Ng.core.verbose -->
|
|
<!-- <haxedef name="NG_VERBOSE" /> -->
|
|
|
|
<!-- Enables a NG debug session, so medals don't permently unlock -->
|
|
<!-- <haxedef name="NG_DEBUG" /> -->
|
|
|
|
<!-- pretends that the saved session Id was expired, forcing the reconnect prompt -->
|
|
<!-- <haxedef name="NG_FORCE_EXPIRED_SESSION" if="debug" /> -->
|
|
</section>
|
|
|
|
<!-- <prebuild haxe="trace('prebuilding');"/> -->
|
|
<!-- <postbuild haxe="art/Postbuild.hx"/> -->
|
|
|
|
<!-- <config:ios allow-provisioning-updates="true" team-id="" /> -->
|
|
|
|
<!-- Options for Polymod -->
|
|
<section if="polymod">
|
|
<!-- Turns on additional debug logging. -->
|
|
<haxedef name="POLYMOD_DEBUG" value="true" if="debug" />
|
|
<!-- The file extension to use for script files. -->
|
|
<haxedef name="POLYMOD_SCRIPT_EXT" value=".hscript" />
|
|
<!-- Which asset library to use for scripts. -->
|
|
<haxedef name="POLYMOD_SCRIPT_LIBRARY" value="scripts" />
|
|
<!-- The base path from which scripts should be accessed. -->
|
|
<haxedef name="POLYMOD_ROOT_PATH" value="scripts/" />
|
|
<!-- Determines the precision required for mods to be compatible. -->
|
|
<haxedef name="POLYMOD_API_VERSION_MATCH" value="MATCH_MINOR" />
|
|
<!-- Determines the subdirectory of the mod folder used for file appending. -->
|
|
<haxedef name="POLYMOD_APPEND_FOLDER" value="_append" />
|
|
<!-- Determines the subdirectory of the mod folder used for file merges. -->
|
|
<haxedef name="POLYMOD_MERGE_FOLDER" value="_merge" />
|
|
<!-- Determines the file in the mod folder used for metadata. -->
|
|
<haxedef name="POLYMOD_MOD_METADATA_FILE" value="_polymod_meta.json" />
|
|
<!-- Determines the file in the mod folder used for the icon. -->
|
|
<haxedef name="POLYMOD_MOD_ICON_FILE" value="_polymod_icon.png" />
|
|
</section>
|
|
|
|
<section if='TOOLS'>
|
|
<!-- Compiles tool for old song conversion shit -->
|
|
<!-- Assumes you use it on windows/desktop!!!! -->
|
|
<postbuild command='haxe -main art/SongConverter.hx --cs export/songShit' />
|
|
<assets path='export/songShit/bin/SongConverter.exe' rename='SongConverter.exe' />
|
|
|
|
<!-- <postbuild command='ren export/songShit/bin export/songShit/tools '/> -->
|
|
<!-- <postbuild command='move export/songShit/tools export/release/windows/bin'/> -->
|
|
</section>
|
|
</project> |