<?xml version="1.0" encoding="utf-8"?>
<project>
	<!-- _________________________ Application Settings _________________________ -->

	<app title="Friday Night Funkin': Psych Engine" file="PsychEngine" packageName="com.shadowmario.psychengine" package="com.shadowmario.psychengine" main="Main" version="0.2.8" company="ShadowMario" />

	<!--Switch Export with Unique ApplicationID and Icon-->
	<set name="APP_ID" value="0x0100f6c013bbc000" />

	<!-- NOTE TO SELF: DISABLE THIS IF ISSUES ARE FOUND -->
	<haxedef name="LINC_LUA_RELATIVE_DYNAMIC_LIB"/> <!-- stable luas PUT AFTER FIRST LINE WITH APP NAME AND ETC -->

	<!--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="flixel.system.FlxPreloader" />

	<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
	<set name="SWF_VERSION" value="11.8" />
	
	<!-- ______________________ PSYCH ENGINE CUSTOMIZATION ______________________ -->

	<define name="MODS_ALLOWED" if="desktop" />
	<define name="HSCRIPT_ALLOWED" if="desktop" />
	<define name="LUA_ALLOWED" if="desktop" />
	<define name="ACHIEVEMENTS_ALLOWED" />
	<define name="DISCORD_ALLOWED" />
	<define name="PSYCH_WATERMARKS"/> <!-- DELETE THIS TO REMOVE WATERMARKS/DEV NAMES ON TITLE SCREEN -->

	<section if="officialBuild">
		<define name="TITLE_SCREEN_EASTER_EGG"/>
		<define name="VIDEOS_ALLOWED" if="windows || linux || android" unless="32bits"/> <!-- IF YOU WANT TO USE VIDEOS ON YOUR SOURCE MOD, GET THIS LINE OUTSIDE OF THE SECTION -->
	</section>

	<!-- ____________________________ 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"/>

	<!--Switch-specific-->
	<window if="switch" orientation="landscape" fullscreen="true" width="0" height="0" resizable="true" />

	<!-- _____________________________ 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="32bits" />

	<classpath name="source" />

	<!-- __________________________ Game Assets & Etc. __________________________ -->
	
	<!-- Turn on Crash Handler -->
	<define name="CRASH_HANDLER" if="desktop release" />

	<!-- Assets -->
	<assets path="assets/fonts" />
	<assets path="assets/shared"        exclude="*.ogg" if="web"/>
	<assets path="assets/shared"        exclude="*.mp3" unless="web"/>
	<assets path="assets/videos"        library="videos"        if="VIDEOS_ALLOWED"/>
	<assets path="assets/songs"         library="songs"         exclude="*.ogg" if="web"/>
	<assets path="assets/songs"         library="songs"         exclude="*.mp3" unless="web"/>
	<assets path="assets/week_assets"   library="week_assets"   rename="assets" exclude="*.ogg" if="web"/>
	<assets path="assets/week_assets"   library="week_assets"   rename="assets" exclude="*.mp3" unless="web"/>
	<section if="TITLE_SCREEN_EASTER_EGG">
		<assets path="assets/secrets" rename="assets/shared" exclude="*.ogg" if="web"/>
		<assets path="assets/secrets" rename="assets/shared" exclude="*.mp3"  unless="web"/>
	</section>

	<library name="videos"        preload="true" if="VIDEOS_ALLOWED"/>
	<library name="songs"         preload="true" />
	<library name="week_assets"   preload="true" />

	<define name="CHECK_FOR_UPDATES" if="desktop officialBuild"/>

	<section if="MODS_ALLOWED">
		<assets path='example_mods' rename='mods' embed='false'/>
	</section>
	<assets path='art/readme.txt' rename='do NOT readme.txt' />

	<!-- _______________________________ Libraries ______________________________ -->

	<haxelib name="flixel" />
	<haxelib name="flixel-ui" />
	<haxelib name="flixel-addons" />
	<haxelib name="tjson" />

	<!--Psych stuff needed-->
	<haxelib name="linc_luajit" if="LUA_ALLOWED"/>
	<haxelib name="SScript" if="HSCRIPT_ALLOWED"/>
	<haxelib name="hxCodec" if="VIDEOS_ALLOWED"/>
	<haxelib name="hxdiscord_rpc" if="DISCORD_ALLOWED"/>
	<haxelib name="flxanimate"/>

	<!-- Disable Discord IO Thread -->
	<haxedef name="DISCORD_DISABLE_IO_THREAD" if="hxdiscord_rpc" />
	<haxedef name="NO_PRECOMPILED_HEADERS" if="linux" />

	<!-- Enables a terminal log prompt on debug builds -->
	<haxelib name="hxcpp-debug-server" if="debug"/>
	<haxedef name="HXC_LIBVLC_LOGGING" if="VIDEOS_ALLOWED debug" />
	
	<!-- ______________________________ 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" />
	
	<!-- Show debug traces for hxCodec -->
	<haxedef name="HXC_DEBUG_TRACE" if="debug" />
	
	<!--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" />
	
	<!--Used for Izzy Engine's crash handler-->
	<haxedef name="HXCPP_CHECK_POINTER" if="CRASH_HANDLER" />
	<haxedef name="HXCPP_STACK_LINE" if="CRASH_HANDLER" />
	<haxedef name="HXCPP_STACK_TRACE" if="CRASH_HANDLER" />
	
	<!--Disable deprecated warnings-->
	<haxedef name='no-deprecation-warnings' />

	<!--Macro fixes-->
	<haxeflag name="--macro" value="allowPackage('flash')" />
	<haxeflag name="--macro" value="include('my.pack')" />

	<!-- _________________________________ Custom _______________________________ -->

	<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->

	<assets path='art/iconOG.png' rename='icon.png' if="linux" />
	
	<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" />
</project>
