forked from ShadowMario/FNF-PsychEngine
-
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathProject.xml
More file actions
269 lines (203 loc) · 11.9 KB
/
Project.xml
File metadata and controls
269 lines (203 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
<?xml version="1.0" encoding="utf-8"?>
<project>
<!-- _________________________ Application Settings _________________________ -->
<app title="Friday Night Funkin': Plus Engine" file="PlusEngine" packageName="com.leninasto.plusengine" package="com.leninasto.plusengine" main="Main" version="1.2.7" company="LeninAsto" />
<app title="FNF: Plus Engine" if="android" />
<!--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"-->
<!-- Our custom preloader is handled in Main.hx, not here -->
<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 || mobile" />
<define name="MODCHARTS_NOTITG_ALLOWED" if="desktop || mobile" />
<define name="HSCRIPT_ALLOWED" if="desktop || mobile" />
<define name="SSCRIPT_ALLOWED" if="desktop || mobile" />
<define name="LUA_ALLOWED" if="cpp" />
<define name="ACHIEVEMENTS_ALLOWED" />
<define name="DISCORD_ALLOWED" if="desktop" />
<define name="TRANSLATIONS_ALLOWED" />
<define name="COPYSTATE_ALLOWED" if="MODS_ALLOWED mobile"/>
<define name="IRIS_DEBUG"/>
<define name="WINDOWS_FUNCTIONS_ALLOWED" if="desktop" />
<define name="GDI_ENABLED" if="windows" />
<define name="MULTITHREADED_LOADING" if="cpp" /> <!-- UNCOMMENTING THIS LINE WILL ENABLE MULTITHREADED LOADING, WHICH IMPROVES LOADING TIMES, BUT WITH A LOW CHANCE FOR THE GAME FREEZE ON SONG LOAD -->
<define name="SHOW_LOADING_SCREEN" />
<define name="PSYCH_WATERMARKS"/> <!-- DELETE THIS TO REMOVE THE PSYCH LOGO FROM LOADING SCREEN -->
<define name="VIDEOS_ALLOWED" if="desktop || mobile" unless="32bits"/> <!-- Videos are now always enabled for desktop/mobile builds -->
<section if="officialBuild">
<define name="TITLE_SCREEN_EASTER_EGG"/>
<define name="BASE_GAME_FILES" />
</section>
<section if="dev">
<define name="DEV_BUILD"/>
</section>
<!-- ____________________________ Window Settings ___________________________ -->
<!--These window settings apply to all targets-->
<window width="1280" height="720" fps="60" background="#000000" hardware="true" vsync="false" allow-high-dpi="true" />
<!--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" resizable="false" vsync="true" allow-shaders="true" require-shaders="true" />
<!--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. __________________________ -->
<!-- Assets -->
<assets path="assets/fonts" />
<assets path="assets/shared" exclude="*.ogg" if="web"/>
<assets path="assets/shared" exclude="*.mp3" unless="web"/>
<assets path="assets/embed" exclude="*.ogg" if="web" embed="true"/>
<assets path="assets/embed" exclude="*.mp3" unless="web" embed="true"/>
<assets path="assets/videos" if="VIDEOS_ALLOWED"/>
<assets path="assets/songs" exclude="*.ogg" if="web"/>
<assets path="assets/songs" exclude="*.mp3" unless="web"/>
<assets path="assets/week_assets" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/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>
<section if="TRANSLATIONS_ALLOWED">
<assets path="assets/translations" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/translations" rename="assets" exclude="*.mp3" unless="web"/>
</section>
<!-- Spectral analysis libs - always enabled for visualizers like FreeplayState and ABotSpeaker -->
<haxelib name="grig.audio"/>
<haxelib name="funkin.vis"/>
<section if="BASE_GAME_FILES">
<assets path="assets/base_game" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/base_game" rename="assets" exclude="*.mp3" unless="web"/>
</section>
<define name="CHECK_FOR_UPDATES" if="officialBuild"/>
<section if="MODS_ALLOWED">
<assets path='example_mods' rename='mods' embed='false' />
<assets path='example_sm' rename='sm' embed='false' />
<assets path='list.txt' rename='modsList.txt' />
</section>
<assets path='art/readme.txt' rename='do NOT readme.txt' unless="mobile" />
<!-- OpenAL config -->
<section if="desktop">
<assets path="alsoft.txt" rename="plugins/alsoft.ini" type="text" if="windows"/>
<assets path="alsoft.txt" rename="plugins/alsoft.conf" type="text" unless="windows"/>
</section>
<!-- _______________________________ Libraries ______________________________ -->
<haxelib name="flixel"/>
<haxelib name="flixel-addons" />
<haxelib name="tjson" version="1.4.0"/>
<haxelib name="moonchart" unless="mac || ios"/>
<!--Psych stuff needed-->
<haxelib name="linc_luajit" if="LUA_ALLOWED"/>
<haxelib name="hscript-iris" if="HSCRIPT_ALLOWED"/>
<haxelib name="hxvlc" if="VIDEOS_ALLOWED"/>
<haxelib name="hxdiscord_rpc" if="DISCORD_ALLOWED"/>
<haxelib name="flxanimate"/>
<!-- haxelib name="extension-androidtools" if="android" is not necessary (already included in Lime) -->
<!-- Disable Discord IO Thread -->
<haxedef name="DISCORD_DISABLE_IO_THREAD" if="hxdiscord_rpc" />
<haxedef name="NO_PRECOMPILED_HEADERS" if="linux" />
<!-- Suppress warnings for Android compilation -->
<haxedef name="HXCPP_CFLAGS" value="-Wno-all -w" if="android" />
<!-- Force C99 standard for macOS/iOS to fix zlib compilation with Xcode 16.4 -->
<haxedef name="HXCPP_CFLAGS" value="-std=c99 -Wno-error=deprecated-non-prototype -Wno-deprecated-declarations -Wno-unused-command-line-argument -Wno-macro-redefined" if="macos || ios" />
<haxeflag name="-D" value="no-deprecation-warnings"/>
<!-- Android deprecation flags :v -->
<haxedef name="HXCPP_CFLAGS" value="-Wno-error=deprecated-non-prototype" if="android" />
<!-- Enables a terminal log prompt on debug builds -->
<haxelib name="hxcpp-debug-server" if="debug"/>
<haxedef name="HXC_LIBVLC_LOGGING" if="VIDEOS_ALLOWED debug" />
<haxedef name="HXVLC_NO_SHARE_DIRECTORY" if="VIDEOS_ALLOWED" />
<haxedef name="HXVLC_EXPERIMENTAL_WINDOWSARM" if="windows HXCPP_ARM64" />
<define name="x86_BUILD" if="32bits" />
<!-- ______________________________ 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" />
<haxeflag name="-D" value="HXCPP_GC_BIG_BLOCKS" />
<!--Used for crash handler-->
<section if="cpp">
<haxedef name="HXCPP_CHECK_POINTER" />
<haxedef name="HXCPP_STACK_LINE" />
<haxedef name="HXCPP_STACK_TRACE" />
<haxedef name="HXCPP_CATCH_SEGV" />
</section>
<!--Disable deprecated warnings-->
<haxedef name='no-deprecation-warnings' />
<!-- Haxe 4.3.0+: Enable pretty syntax errors and stuff. -->
<!-- pretty (haxeflixel default), indent, classic (haxe compiler default) -->
<haxedef name="message.reporting" value="pretty" />
<!-- Do whatever you want I'm tired uninstall and install everytime -->
<certificate path="key.keystore" password="plusengine" alias="plusengine" alias-password="plusengine" if="android" unless="debug" />
<!-- Category Type for Apple Systems -->
<config:ios category_type="public.app-category.music-games" />
<config:mac category_type="public.app-category.music-games" />
<!-- Allow Access to Engine Files in iOS -->
<haxedef name="SHARE_MOBILE_FILES" if="ios" />
<!-- iOS Deployment Target -->
<ios deployment="13.6" />
<!--Macro fixes-->
<haxeflag name="--macro" value="allowPackage('flash')" />
<haxeflag name="--macro" value="include('my.pack')" />
<haxedef name="hscriptPos" if="HSCRIPT_ALLOWED" />
<!-- Enable all classes compilation for hscript -->
<haxeflag name="--macro" value="include('flixel', true, [ 'flixel.addons.editors.spine.*', 'flixel.addons.nape.*', 'flixel.system.macros.*' ])" />
<!-- ____________________________ Modcharts? _______________________________ -->
<section if="MODCHARTS_NOTITG_ALLOWED">
<assets path="assets/modchart/arrowShape.csv" rename="modchart/arrowShape.csv" embed="true" />
<assets path="assets/modchart/eyeShape.csv" rename="modchart/eyeShape.csv" embed="true" />
<haxedef name="FM_ENGINE" value="PSYCH"/>
<haxedef name="FM_ENGINE_VERSION" value="1.0"/>
<haxeflag name="--macro" value="funkin.modding.modchart.backend.macros.Macro.includeFiles()"/>
<haxeflag name="source/extraParams.hxml" unless="ios"/>
<haxeflag name="--macro" value="addMetadata('@:build(funkin.modding.modchart.backend.macros.Macro.buildFlxCamera())', 'flixel.FlxCamera')" if="ios"/>
<haxeflag name="--macro" value="addMetadata('@:build(funkin.modding.modchart.backend.macros.Macro.buildFlxDrawTrianglesItem())', 'flixel.graphics.tile.FlxDrawTrianglesItem')" if="ios"/>
<haxeflag name="--macro" value="addMetadata('@:build(funkin.modding.modchart.backend.macros.Macro.addModchartStorage())', 'flixel.FlxBasic')" if="ios"/>
</section>
<!-- _________________________________ Custom _______________________________ -->
<assets path='art/icons/iconOG.png' rename='icon.png' if="linux || mac" />
<!-- Desktop and other platforms icons (excluding Android and iOS) -->
<icon path="art/icons/icon16.png" size='16' unless="android || ios"/>
<icon path="art/icons/icon32.png" size='32' unless="android || ios"/>
<icon path="art/icons/icon64.png" size='64' unless="android || ios"/>
<icon path="art/icons/iconOG.png" unless="android || ios"/>
<section if="android">
<assets path="art/icons/android/res" rename="app/src/main/res" type="template" />
<include path="source/kotlin/include_android.xml" />
</section>
<section if="ios">
<!-- iOS icons -->
<icon path="art/icons/ios/AppIcon.appiconset/Icon-App-60x60@2x.png" rename="AppIcon60x60@2x" size='120'/>
<icon path="art/icons/ios/AppIcon.appiconset/Icon-App-76x76@2x.png" rename="AppIcon76x76@2x~ipad" size='152'/>
</section>
</project>