forked from Psych-Slice/P-Slice
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathProject.xml
More file actions
343 lines (262 loc) · 14.4 KB
/
Project.xml
File metadata and controls
343 lines (262 loc) · 14.4 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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
<?xml version="1.0" encoding="utf-8"?>
<project
xmlns="http://lime.openfl.org/project/1.0.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://lime.openfl.org/project/1.0.4 http://lime.openfl.org/xsd/project-1.0.4.xsd">
<!-- _________________________ Application Settings _________________________ -->
<app unless="PROFILE_BUILD || mobile" title="Friday Night Funkin': H-Slice+JS (HRK Engine Redux)" file="H-Slice+JS" packageName="com.hrek.hexex.hslice" package="com.hrek.hexex.hslice" main="Main" version="0.2" company="hrek-hexex" />
<app if="PROFILE_BUILD" title="H-Slice+JS Engine Profiling build" file="H-Slice+JS" packageName="com.hrek.hexex.testHslice" package="com.hrek.hexex.testHslice" main="Main" version="0.2" company="hrek-hexex" />
<app if="mobile" unless="PROFILE_BUILD" title="H-Slice+JS Engine" file="H-Slice+JS" packageName="com.hrek.hexex.hslice" package="com.hrek.hexex.hslice" main="Main" version="0.2" company="hrek-hexex" />
<!--Switch Export with Unique ApplicationID and Icon-->
<set name="APP_ID" value="0x0100f6c013bbc000" />
<meta build-number="331"/>
<config type="android" gradle-version="8.10.2" gradle-plugin="8.8.0" ndkVersion="27.0" minimum-sdk-version="26" target-sdk-version="35" />
<!-- 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="mikolka.vslice.FunkinPreloader" />
<!-- Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2 -->
<set name="SWF_VERSION" value="11.8" />
<!-- ______________________ PSYCH ENGINE CUSTOMIZATION ______________________ -->
<!-- Compiles mod support for H-Slice. Feel free to disable if you're making a source mod -->
<define name="MODS_ALLOWED" if="desktop || mobile" />
<section unless="debug">
<!-- Adds the ability to use OpenFL asset lookup (defaults to sys if disabled) -->
<define name="OPENFL_LOOKUP"/>
<!-- Adds the ability to use NativeFileSystem on the computer to acsess files -->
<define name="NATIVE_LOOKUP" if="MODS_ALLOWED" />
</section>
<!-- Adds support for Psych's lua/HScript files -->
<define name="HSCRIPT_ALLOWED" if="desktop || mobile"/>
<define name="LUA_ALLOWED" if="cpp" />
<!-- Enables Discord's Rich Presence integration -->
<define name="DISCORD_ALLOWED" if="desktop" unless="hl"/>
<!-- Adds a Base game content to your build. Feel free to disable if you're making a source mod. -->
<define name="BASE_GAME_FILES" unless="NO_BASEGAME_FILES" />
<!-- Adds support for touchscreen devices (like mobiles) -->
<define name="TOUCH_CONTROLS_ALLOWED" if="mobile || web || debug" />
<!-- Do you want to check for P-Slice updates? -->
<define name="CHECK_FOR_UPDATES" unless="web || hl"/>
<!-- Do you want to support playing videos in your build? -->
<define name="VIDEOS_ALLOWED" if="desktop || mobile" unless="32bits || hl"/>
<!-- Do we want to use ATSC compression?-->
<!-- <define name="ATSC_SUPPORT" if="android"/> -->
<!-- Displays a "Touch here to play" screen-->
<define name="TOUCH_HERE_TO_PLAY" if="TOUCH_CONTROLS_ALLOWED debug"/>
<!-- Other stuff -->
<define name="ACHIEVEMENTS_ALLOWED" />
<!-- <define name="TRANSLATIONS_ALLOWED" unless="web" /> -->
<!-- Allows the game to display a loading screen when loading songs-->
<define name="SHOW_LOADING_SCREEN" />
<!-- Forces the game to unload UI assets before loading the song assets -->
<!-- <define name="STRICT_LOADING_SCREEN" /> -->
<define name="STRICT_LOADING_SCREEN" if="mobile SHOW_LOADING_SCREEN" />
<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="PSYCH_WATERMARKS"/> <!-- DELETE THIS TO REMOVE THE PSYCH LOGO FROM LOADING SCREEN -->
<define name="TITLE_SCREEN_EASTER_EGG"/>
<!-- Debug utilities (useful when testing the game) -->
<section if="debug">
<!-- For testing file access times -->
<define name="OPENFL_LOOKUP" />
<define name="NATIVE_LOOKUP" />
<define name="IRIS_DEBUG"/>
<define name="FEATURE_DEBUG_FUNCTIONS" />
<haxedef name="HXVLC_VERBOSE" value="2" />
<haxedef name="HXVLC_LOGGING" />
<!-- Pico will always kill the other (unless you skip the cutscene) -->
<define name="pico_always_kill" />
</section>
<!-- Flags for the profile builds (used for assessing performance and such) -->
<section if="PROFILE_BUILD">
<!-- Enables tracy -->
<define name="HXCPP_TRACY" />
<define name="HXCPP_TELEMETRY" />
<define name="HXCPP_TRACY_MEMORY" />
<define name="HXCPP_TRACY_ON_DEMAND" />
<define name="STRICT_LOADING_SCREEN" />
<!-- <define name="HXCPP_TRACY_INCLUDE_CALLSTACKS" /> -->
<!-- Pico will always kill the other (unless you skip the cutscene) -->
<define name="pico_always_kill" />
</section>
<!-- ____________________________ Window Settings ___________________________ -->
<!-- These window settings apply to all targets -->
<window width="1280" height="720" background="#000000" hardware="true" vsync="false" allow-high-dpi="true"/>
<!-- HTML5-specific -->
<window if="html5" resizable="true" fullscreen="true" />
<!-- Desktop-specific -->
<window if="desktop" orientation="landscape" fullscreen="false" resizable="false"/>
<!-- Mobile-specific -->
<window if="mobile" orientation="landscape" fullscreen="true" resizable="false" 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/tracy" if="HXCPP_TRACY" />
<set name="BUILD_DIR" value="export/release" unless="debug || HXCPP_TRACY" />
<set name="BUILD_DIR" value="export/32bit" if="32bits" />
<classpath name="source" />
<java if="android" path="source/mobile/external/android/java" />
<!-- __________________________ Game Assets & Etc. __________________________ -->
<!-- FNF is changing openAL config, because the default one is broken. lol. -->
<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>
<!-- Assets -->
<assets path="assets/fonts" />
<assets path="assets/mobile" rename="assets/shared/mobile" if="TOUCH_CONTROLS_ALLOWED" />
<assets path="assets/videos" if="VIDEOS_ALLOWED"/>
<assets path="assets/shared" unless="web"/>
<assets path="assets/shared" if="web"/>
<assets path="assets/embed" if="web" embed="true"/>
<assets path="assets/embed" unless="web || OPENFL_LOOKUP" embed="false"/>
<assets path="assets/embed" if="OPENFL_LOOKUP" unless="web" embed="true"/>
<assets path="assets/week_assets" rename="assets" if="web"/>
<assets path="assets/week_assets" rename="assets" 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" unless="web"/>
</section>
<section if="TRANSLATIONS_ALLOWED">
<assets path="assets/translations" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/translations" rename="assets" unless="web"/>
</section>
<assets path="assets/atsc_shared" rename="assets/shared" if="ATSC_SUPPORT" exclude="*.png"/>
<assets path="assets/atsc_shared" rename="assets/shared" exclude="*.astc" unless="ATSC_SUPPORT"/>
<section if="BASE_GAME_FILES">
<section if="ATSC_SUPPORT">
<assets path="assets/base_game/week_data" rename="assets" exclude="*.png"/>
<assets path="assets/base_game/week_data/week6" rename="assets/week6" include="*.png"/>
<assets path="assets/base_game/characters" rename="assets/shared/images/characters" exclude="*.png"/>
</section>
<section unless="ATSC_SUPPORT">
<assets path="assets/base_game/week_data" rename="assets" exclude="*.astc"/>
<assets path="assets/base_game/characters" rename="assets/shared/images/characters" exclude="*.astc"/>
</section>
<assets path="assets/base_game/shared" rename="assets/shared" />
<assets path="assets/base_game/characters_pixel" rename="assets/shared/images/characters" />
</section>
<section if="MODS_ALLOWED">
<assets path='example_mods' rename='mods' embed='false' />
</section>
<assets path='art/readme.txt' rename='do NOT readme.txt' unless="mobile" />
<!-- _______________________________ Haxe libs ______________________________ -->
<!-- <library name="songs" preload="false" /> -->
<!-- _______________________________ Libraries ______________________________ -->
<haxelib name="flixel"/>
<haxelib name="flixel-addons" version="3.3.2"/>
<haxelib name="hxcpp"/>
<haxelib name="extension-haptics" if="mobile"/>
<haxelib name="tjson" version="1.4.0"/>
<haxelib name="grig.audio" />
<haxelib name="funkin.vis" />
<!-- Psych stuff needed -->
<haxelib name="linc_luajit" if="LUA_ALLOWED"/>
<haxelib name="hscript-iris" if="HSCRIPT_ALLOWED" version="1.1.3"/>
<section if="VIDEOS_ALLOWED">
<haxelib name="hxCodec" if="linux"/>
<haxelib name="hxvlc" unless="linux"/>
</section>
<haxelib name="hxdiscord_rpc" if="DISCORD_ALLOWED"/>
<haxelib name="flxanimate"/>
<!-- Category Type for Apple Systems -->
<config:ios category_type="public.app-category.music-games" />
<config:mac category_type="public.app-category.music-games" />
<!-- Disable Discord IO Thread -->
<haxedef name="DISCORD_DISABLE_IO_THREAD" if="hxdiscord_rpc" />
<haxedef name="NO_PRECOMPILED_HEADERS" if="linux" />
<section if="debug">
<!-- These defines are mostly for testing (aren't required to be used) -->
<haxelib name="hxcpp-debug-server" />
<!-- <haxelib name="flixel-studio" /> -->
<haxelib name="hscript"/>
</section>
<define name="x86_BUILD" if="32bits" />
<!-- ______________________________ Haxedefines _____________________________ -->
<!-- Use C++11 Libraries on build -->
<haxedef name="HXCPP_CPP11" if="cpp" />
<!-- Allow working memory greater than 1 gigabyte -->
<haxedef name="HXCPP_GC_BIG_BLOCKS" if="cpp" />
<!-- Enable experimental generational garbage collector -->
<haxedef name="HXCPP_GC_GENERATIONAL" if="cpp" />
<!-- 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" />
<!-- Let user access P-Slice files-->
<haxedef name="SHARE_MOBILE_FILES" if="mobile" />
<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
<haxedef name="FLX_NO_DEBUG" unless="PROFILE_BUILD || debug" />
<haxedef name="analyzer-optimize" unless="debug" />
<!--Enable this for Nape release builds for a serious performance improvement-->
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
<!-- I hate you @superpowers04 for changing commits like that -->
<define name="SHUT_UP_LINC_LUAJIT" />
<!--Used for crash handler-->
<section if="cpp">
<haxedef name="HXCPP_CHECK_POINTER" />
<!-- <haxedef name="HXCPP_GC_MOVING" unless="HXCPP_TRACY_MEMORY"/> -->
<haxedef name="HXCPP_STACK_LINE" />
<haxedef name="HXCPP_STACK_TRACE" />
<haxedef name="HXCPP_CATCH_SEGV" />
</section>
<section if="ios">
<!-- Compile for ARM (hopefully should fix the sim screaming about libs)-->
<haxedef name="HXCPP_ARM64" />
</section>
<!-- Disable deprecated warnings -->
<haxedef name='no-deprecation-warnings' />
<!-- for lime to not recompile asset cache on every build-->
<haxedef name='lime_disable_assets_version' />
<!--Disable deprecated warnings-->
<haxedef name='no_ssl' if="hl" />
<!-- 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="hslice.keystore" password="hslice" alias="hslice" alias-password="hslice" if="android" unless="debug" />
<!-- Macro fixes -->
<haxeflag name="--macro" value="allowPackage('flash')" />
<haxeflag name="--macro" value="include('my.pack')" />
<!-- This macro allows addition of new functionality to existing Flixel. -->
<haxeflag name="--macro" value="addMetadata('@:build(mikolka.FlxMacro.buildFlxBasic())', 'flixel.FlxBasic')" />
<!-- more verbose HScript-->
<haxedef name="hscriptPos" if="HSCRIPT_ALLOWED" />
<!-- what is this -->
<define name="DISABLE_CHART_EDITOR" />
<!-- _________________________________ Custom _______________________________ -->
<section if="PROFILE_BUILD">
<assets path='art/desktop/icon16.png' rename='icon.png' if="linux" />
<icon path="art/desktop/icon16.png"/>
</section>
<section unless="PROFILE_BUILD">
<section if="mobile || mac">
<config type="android" pslice-mono-icon="art/mobile/iconMono.png" />
<config type="ios" pslice-icon-dir="art/mobile/PSlice.appiconset" />
<icon path="art/mobile/iconAdaptive.png" if="android" />
<icon path="art/mobile/iconMobile.png" unless="android" />
</section>
<section unless="mobile || mac">
<assets path='art/desktop/iconOG.png' rename='icon.png' if="linux" />
<icon path="art/desktop/icon16.png" size='16'/>
<icon path="art/desktop//icon32.png" size='32'/>
<icon path="art/desktop//icon64.png" size='64'/>
<icon path="art/desktop//iconOG.png" />
</section>
</section>
</project>