mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2025-03-23 02:19:46 +00:00
Merge pull request #103 from FunkinCrew/bugfix/formatting-cleanup
Formatting cleanup (whitespace only)
This commit is contained in:
commit
6c65a9ea78
190
.vscode/settings.json
vendored
190
.vscode/settings.json
vendored
|
@ -1,84 +1,120 @@
|
||||||
{
|
{
|
||||||
"[haxe]": {
|
"[haxe]": {
|
||||||
// Automatically keep Haxe files formatted.
|
// Automatically keep Haxe files formatted.
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.formatOnPaste": true,
|
"editor.formatOnPaste": true,
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
// Compilation server issues can cause auto-cleanup to remove valid imports.
|
// Compilation server issues can cause auto-cleanup to remove valid imports.
|
||||||
"source.organizeImports": false
|
"source.organizeImports": false
|
||||||
},
|
|
||||||
"editor.defaultFormatter": "nadako.vshaxe",
|
|
||||||
"editor.tabSize": 2
|
|
||||||
},
|
},
|
||||||
|
"editor.defaultFormatter": "nadako.vshaxe",
|
||||||
|
"editor.tabSize": 2
|
||||||
|
},
|
||||||
|
|
||||||
"[json]": {
|
"[json]": {
|
||||||
// Automatically keep JSON files formatted.
|
// Automatically keep JSON files formatted.
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.formatOnPaste": true,
|
"editor.formatOnPaste": true,
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"[jsonc]": {
|
||||||
|
// Automatically keep JSONC files formatted.
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"prettier.tabWidth": 2,
|
||||||
|
|
||||||
|
// XML formatting style configuration
|
||||||
|
"xml.format.enabled": true,
|
||||||
|
"xml.format.legacy": false,
|
||||||
|
"xml.format.emptyElements": "collapse",
|
||||||
|
"xml.preferences.quoteStyle": "double",
|
||||||
|
"xml.format.enforceQuoteStyle": "preferred",
|
||||||
|
"xml.format.preserveAttributeLineBreaks": false,
|
||||||
|
"xml.format.preservedNewlines": 0,
|
||||||
|
"xml.format.splitAttributes": false,
|
||||||
|
"xml.format.joinCDATALines": true,
|
||||||
|
"xml.format.preserveEmptyContent": false,
|
||||||
|
"xml.format.joinCommentLines": false,
|
||||||
|
"xml.format.joinContentLines": false,
|
||||||
|
"xml.format.spaceBeforeEmptyCloseTag": true,
|
||||||
|
"xml.format.xsiSchemaLocationSplit": "onPair",
|
||||||
|
"xml.format.splitAttributesIndentSize": 2,
|
||||||
|
"xml.format.closingBracketNewLine": false,
|
||||||
|
"xml.format.preserveSpace": [
|
||||||
|
"xsl:text",
|
||||||
|
"xsl:comment",
|
||||||
|
"xsl:processing-instruction",
|
||||||
|
"literallayout",
|
||||||
|
"programlisting",
|
||||||
|
"screen",
|
||||||
|
"synopsis",
|
||||||
|
"pre",
|
||||||
|
"xd:pre"
|
||||||
|
],
|
||||||
|
"xml.format.maxLineWidth": 0,
|
||||||
|
"xml.format.grammarAwareFormatting": true,
|
||||||
|
|
||||||
|
// Generic file formatting style configuration
|
||||||
|
"files.insertFinalNewline": true,
|
||||||
|
"files.trimFinalNewlines": false,
|
||||||
|
"files.trimTrailingWhitespace": true,
|
||||||
|
|
||||||
|
// Automatically detect indentation.
|
||||||
|
"editor.detectIndentation": true,
|
||||||
|
"editor.insertSpaces": true,
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
|
||||||
|
// Automatically enforce Linux style line endings.
|
||||||
|
"files.eol": "\n",
|
||||||
|
|
||||||
|
"haxe.displayPort": "auto",
|
||||||
|
"haxe.enableCompilationServer": true,
|
||||||
|
"haxe.displayServer": {
|
||||||
|
"arguments": ["-v"]
|
||||||
|
},
|
||||||
|
// Fix file associations for HScript.
|
||||||
|
"files.associations": {
|
||||||
|
"*.hxp": "haxe",
|
||||||
|
"*.hscript": "haxe",
|
||||||
|
"*.haxe": "haxe",
|
||||||
|
"*.hxs": "haxe",
|
||||||
|
"*.hxc": "haxe"
|
||||||
|
},
|
||||||
|
"projectManager.git.baseFolders": ["./"],
|
||||||
|
|
||||||
|
"haxecheckstyle.sourceFolders": ["src", "Source"],
|
||||||
|
"haxecheckstyle.externalSourceRoots": [],
|
||||||
|
"haxecheckstyle.configurationFile": "checkstyle.json",
|
||||||
|
"haxecheckstyle.codeSimilarityBufferSize": 100,
|
||||||
|
|
||||||
|
"lime.targetConfigurations": [
|
||||||
|
{
|
||||||
|
"label": "Windows / Debug",
|
||||||
|
"target": "windows",
|
||||||
|
"args": ["-debug"]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
"[jsonc]": {
|
"label": "Windows / Debug (DEBUG ASSETS)",
|
||||||
// Automatically keep JSONC files formatted.
|
"target": "windows",
|
||||||
"editor.formatOnSave": true,
|
"args": ["-debug", "-DDEBUG_ASSETS"]
|
||||||
"editor.formatOnPaste": true,
|
|
||||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
|
||||||
},
|
},
|
||||||
"prettier.tabWidth": 2,
|
{
|
||||||
|
"label": "Windows / Debug (ANIMATE)",
|
||||||
// Automatically detect indentation.
|
"target": "windows",
|
||||||
"editor.detectIndentation": true,
|
"args": ["-debug", "-DANIMATE"]
|
||||||
"editor.insertSpaces": true,
|
|
||||||
"editor.tabSize": 2,
|
|
||||||
|
|
||||||
// Automatically enforce Linux style line endings.
|
|
||||||
"files.eol": "\n",
|
|
||||||
|
|
||||||
"haxe.displayPort": "auto",
|
|
||||||
"haxe.enableCompilationServer": true,
|
|
||||||
"haxe.displayServer": {
|
|
||||||
"arguments": ["-v"]
|
|
||||||
},
|
},
|
||||||
// Fix file associations for HScript.
|
{
|
||||||
"files.associations": {
|
"label": "HTML5 / Debug",
|
||||||
"*.hxp": "haxe",
|
"target": "html5",
|
||||||
"*.hscript": "haxe",
|
"args": ["-debug"]
|
||||||
"*.haxe": "haxe",
|
|
||||||
"*.hxs": "haxe",
|
|
||||||
"*.hxc": "haxe"
|
|
||||||
},
|
},
|
||||||
"projectManager.git.baseFolders": ["./"],
|
{
|
||||||
|
"label": "HTML5 / Debug (Watch)",
|
||||||
"haxecheckstyle.sourceFolders": ["src", "Source"],
|
"target": "html5",
|
||||||
"haxecheckstyle.externalSourceRoots": [],
|
"args": ["-debug", "-watch"]
|
||||||
"haxecheckstyle.configurationFile": "checkstyle.json",
|
}
|
||||||
"haxecheckstyle.codeSimilarityBufferSize": 100,
|
]
|
||||||
|
}
|
||||||
"lime.targetConfigurations": [
|
|
||||||
{
|
|
||||||
"label": "Windows / Debug",
|
|
||||||
"target": "windows",
|
|
||||||
"args": ["-debug"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Windows / Debug (DEBUG ASSETS)",
|
|
||||||
"target": "windows",
|
|
||||||
"args": ["-debug", "-DDEBUG_ASSETS"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Windows / Debug (ANIMATE)",
|
|
||||||
"target": "windows",
|
|
||||||
"args": ["-debug", "-DANIMATE"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "HTML5 / Debug",
|
|
||||||
"target": "html5",
|
|
||||||
"args": ["-debug"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "HTML5 / Debug (Watch)",
|
|
||||||
"target": "html5",
|
|
||||||
"args": ["-debug", "-watch"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
83
Project.xml
83
Project.xml
|
@ -1,48 +1,33 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<project>
|
<project>
|
||||||
<!-- _________________________ Application Settings _________________________ -->
|
<!-- _________________________ 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" />
|
<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-->
|
<!--Switch Export with Unique ApplicationID and Icon-->
|
||||||
<set name="APP_ID" value="0x0100f6c013bbc000" />
|
<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
|
<!--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"-->
|
or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"-->
|
||||||
<!-- <app preloader="Preloader" resizable="true" /> -->
|
<!-- <app preloader="Preloader" resizable="true" /> -->
|
||||||
<app preloader="Preloader" />
|
<app preloader="Preloader" />
|
||||||
|
|
||||||
<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
|
<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
|
||||||
<set name="SWF_VERSION" value="11.8" />
|
<set name="SWF_VERSION" value="11.8" />
|
||||||
|
|
||||||
<!-- ____________________________ Window Settings ___________________________ -->
|
<!-- ____________________________ Window Settings ___________________________ -->
|
||||||
|
|
||||||
<!--These window settings apply to all targets-->
|
<!--These window settings apply to all targets-->
|
||||||
<window width="1280" height="720" fps="" background="#000000" hardware="true" vsync="false" />
|
<window width="1280" height="720" fps="" background="#000000" hardware="true" vsync="false" />
|
||||||
|
|
||||||
<!--HTML5-specific-->
|
<!--HTML5-specific-->
|
||||||
<window if="html5" resizable="true" />
|
<window if="html5" resizable="true" />
|
||||||
|
|
||||||
<!--Desktop-specific-->
|
<!--Desktop-specific-->
|
||||||
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false" />
|
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false" />
|
||||||
|
|
||||||
<!--Mobile-specific-->
|
<!--Mobile-specific-->
|
||||||
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false" />
|
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false" />
|
||||||
|
|
||||||
<!-- _____________________________ Path Settings ____________________________ -->
|
<!-- _____________________________ Path Settings ____________________________ -->
|
||||||
|
|
||||||
<set name="BUILD_DIR" value="export/debug" if="debug" />
|
<set name="BUILD_DIR" value="export/debug" if="debug" />
|
||||||
<set name="BUILD_DIR" value="export/release" unless="debug" />
|
<set name="BUILD_DIR" value="export/release" unless="debug" />
|
||||||
<set name="BUILD_DIR" value="export/32bit" if="32bit" />
|
<set name="BUILD_DIR" value="export/32bit" if="32bit" />
|
||||||
|
|
||||||
<classpath name="source" />
|
<classpath name="source" />
|
||||||
|
|
||||||
<assets path="assets/preload" rename="assets" exclude="*.ogg" if="web" />
|
<assets path="assets/preload" rename="assets" exclude="*.ogg" if="web" />
|
||||||
<assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web" />
|
<assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web" />
|
||||||
|
|
||||||
<define name="PRELOAD_ALL" unless="web" />
|
<define name="PRELOAD_ALL" unless="web" />
|
||||||
<define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL" />
|
<define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL" />
|
||||||
|
|
||||||
<section if="PRELOAD_ALL">
|
<section if="PRELOAD_ALL">
|
||||||
<library name="songs" preload="true" />
|
<library name="songs" preload="true" />
|
||||||
<library name="shared" preload="true" />
|
<library name="shared" preload="true" />
|
||||||
|
@ -56,7 +41,6 @@
|
||||||
<library name="week7" preload="true" />
|
<library name="week7" preload="true" />
|
||||||
<library name="weekend1" preload="true" />
|
<library name="weekend1" preload="true" />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section if="NO_PRELOAD_ALL">
|
<section if="NO_PRELOAD_ALL">
|
||||||
<library name="songs" preload="false" />
|
<library name="songs" preload="false" />
|
||||||
<library name="shared" preload="false" />
|
<library name="shared" preload="false" />
|
||||||
|
@ -70,7 +54,6 @@
|
||||||
<library name="week7" preload="false" />
|
<library name="week7" preload="false" />
|
||||||
<library name="weekend1" preload="false" />
|
<library name="weekend1" preload="false" />
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<assets path="assets/songs" library="songs" exclude="*.fla|*.ogg" if="web" />
|
<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/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|*.ogg" if="web" />
|
||||||
|
@ -93,9 +76,7 @@
|
||||||
<assets path="assets/week7" library="week7" exclude="*.fla|*.mp3" unless="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|*.ogg" if="web" />
|
||||||
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.mp3" unless="web" />
|
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.mp3" unless="web" />
|
||||||
|
|
||||||
<!-- <assets path='example_mods' rename='mods' embed='false'/> -->
|
<!-- <assets path='example_mods' rename='mods' embed='false'/> -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
AUTOMATICALLY MOVING EXAMPLE MODS INTO THE BUILD CAUSES ISSUES
|
AUTOMATICALLY MOVING EXAMPLE MODS INTO THE BUILD CAUSES ISSUES
|
||||||
Currently, this line will add the mod files to the library manifest,
|
Currently, this line will add the mod files to the library manifest,
|
||||||
|
@ -103,45 +84,35 @@
|
||||||
If we can exclude the `mods` folder from the manifest, we can re-enable this line.
|
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='example_mods' rename='mods' embed='false' exclude="*.md" />
|
||||||
-->
|
-->
|
||||||
<assets path='art/readme.txt' rename='do NOT readme.txt' />
|
<assets path="art/readme.txt" rename="do NOT readme.txt" />
|
||||||
|
<assets path="CHANGELOG.md" rename="changelog.txt" />
|
||||||
<assets path="CHANGELOG.md" rename='changelog.txt' />
|
|
||||||
|
|
||||||
<!-- NOTE FOR FUTURE SELF SINCE FONTS ARE ALWAYS FUCKY
|
<!-- NOTE FOR FUTURE SELF SINCE FONTS ARE ALWAYS FUCKY
|
||||||
TO FIX ONE OF THEM, I CONVERTED IT TO OTF. DUNNO IF YOU NEED TO
|
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!!!
|
THEN UHHH I USED THE NAME OF THE FONT WITH SETFORMAT() ON THE TEXT!!!
|
||||||
NOT USING A DIRECT THING TO THE ASSET!!!
|
NOT USING A DIRECT THING TO THE ASSET!!!
|
||||||
-->
|
-->
|
||||||
<assets path="assets/fonts" embed='true' />
|
<assets path="assets/fonts" embed="true" />
|
||||||
<!-- _______________________________ Libraries ______________________________ -->
|
<!-- _______________________________ Libraries ______________________________ -->
|
||||||
|
|
||||||
<haxelib name="lime" /> <!-- Game engine backend -->
|
<haxelib name="lime" /> <!-- Game engine backend -->
|
||||||
<haxelib name="openfl" /> <!-- Game engine backend -->
|
<haxelib name="openfl" /> <!-- Game engine backend -->
|
||||||
<haxelib name="flixel" /> <!-- Game engine -->
|
<haxelib name="flixel" /> <!-- Game engine -->
|
||||||
<haxedev set='webgl' />
|
<haxedev set="webgl" />
|
||||||
|
|
||||||
<!--In case you want to use the addons package-->
|
<!--In case you want to use the addons package-->
|
||||||
<haxelib name="flixel-addons" /> <!-- Additional utilities for Flixel -->
|
<haxelib name="flixel-addons" /> <!-- Additional utilities for Flixel -->
|
||||||
<haxelib name="hscript" /> <!-- Scripting -->
|
<haxelib name="hscript" /> <!-- Scripting -->
|
||||||
|
|
||||||
<haxelib name="flixel-ui" /> <!-- UI framework (deprecate this? -->
|
<haxelib name="flixel-ui" /> <!-- UI framework (deprecate this? -->
|
||||||
<haxelib name="haxeui-core"/> <!-- UI framework -->
|
<haxelib name="haxeui-core" /> <!-- UI framework -->
|
||||||
<haxelib name="haxeui-flixel"/> <!-- Integrate HaxeUI with Flixel -->
|
<haxelib name="haxeui-flixel" /> <!-- Integrate HaxeUI with Flixel -->
|
||||||
<haxelib name="polymod" /> <!-- Modding framework -->
|
<haxelib name="polymod" /> <!-- Modding framework -->
|
||||||
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
||||||
<!-- <haxelib name="hxcodec" /> Video playback -->
|
<!-- <haxelib name="hxcodec" /> Video playback -->
|
||||||
<haxelib name="json2object" /> <!-- JSON parsing -->
|
<haxelib name="json2object" /> <!-- JSON parsing -->
|
||||||
|
|
||||||
<haxelib name="thx.semver" />
|
<haxelib name="thx.semver" />
|
||||||
|
|
||||||
<haxelib name="hxcpp-debug-server" if="desktop debug" />
|
<haxelib name="hxcpp-debug-server" if="desktop debug" />
|
||||||
|
|
||||||
<!--Disable the Flixel core focus lost screen-->
|
<!--Disable the Flixel core focus lost screen-->
|
||||||
<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />
|
<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />
|
||||||
|
|
||||||
<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
|
<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
|
||||||
<haxedef name="FLX_NO_DEBUG" unless="debug" />
|
<haxedef name="FLX_NO_DEBUG" unless="debug" />
|
||||||
|
|
||||||
<!--Enable this for Nape release builds for a serious peformance improvement-->
|
<!--Enable this for Nape release builds for a serious peformance improvement-->
|
||||||
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
|
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
|
||||||
|
|
||||||
|
@ -155,85 +126,61 @@
|
||||||
<haxedef name="message-reporting" value="pretty" />
|
<haxedef name="message-reporting" value="pretty" />
|
||||||
|
|
||||||
<!-- _________________________________ Custom _______________________________ -->
|
<!-- _________________________________ Custom _______________________________ -->
|
||||||
|
|
||||||
<!-- Disable trace() calls in release builds to bump up performance. -->
|
<!-- Disable trace() calls in release builds to bump up performance. -->
|
||||||
<haxeflag name="--no-traces" unless="debug" />
|
<haxeflag name="--no-traces" unless="debug" />
|
||||||
|
|
||||||
<!-- HScript relies heavily on Reflection, which means we can't use DCE. -->
|
<!-- HScript relies heavily on Reflection, which means we can't use DCE. -->
|
||||||
<haxeflag name="-dce no" />
|
<haxeflag name="-dce no" />
|
||||||
|
|
||||||
<!-- Ensure all Funkin' classes are available at runtime. -->
|
<!-- Ensure all Funkin' classes are available at runtime. -->
|
||||||
<haxeflag name="--macro" value="include('funkin')" />
|
<haxeflag name="--macro" value="include('funkin')" />
|
||||||
|
|
||||||
<!-- Ensure all UI components are available at runtime. -->
|
<!-- Ensure all UI components are available at runtime. -->
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.backend.flixel.components')" />
|
<haxeflag name="--macro" value="include('haxe.ui.backend.flixel.components')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.containers.dialogs')" />
|
<haxeflag name="--macro" value="include('haxe.ui.containers.dialogs')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.containers.menus')" />
|
<haxeflag name="--macro" value="include('haxe.ui.containers.menus')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.containers.properties')" />
|
<haxeflag name="--macro" value="include('haxe.ui.containers.properties')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.core')" />
|
<haxeflag name="--macro" value="include('haxe.ui.core')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.components')" />
|
<haxeflag name="--macro" value="include('haxe.ui.components')" />
|
||||||
<haxeflag name="--macro" value="include('haxe.ui.containers')" />
|
<haxeflag name="--macro" value="include('haxe.ui.containers')" />
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Ensure additional class packages are available at runtime (some only really used by scripts).
|
Ensure additional class packages are available at runtime (some only really used by scripts).
|
||||||
Ignore packages we can't include.
|
Ignore packages we can't include.
|
||||||
-->
|
-->
|
||||||
<haxeflag name="--macro" value="include('flixel', true, [ 'flixel.addons.editors.spine.*', 'flixel.addons.nape.*', 'flixel.system.macros.*' ])" />
|
<haxeflag name="--macro" value="include('flixel', true, [ 'flixel.addons.editors.spine.*', 'flixel.addons.nape.*', 'flixel.system.macros.*' ])" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Necessary to provide stack traces for HScript. -->
|
<!-- Necessary to provide stack traces for HScript. -->
|
||||||
<haxedef name="hscriptPos" />
|
<haxedef name="hscriptPos" />
|
||||||
<haxedef name="HXCPP_CHECK_POINTER" />
|
<haxedef name="HXCPP_CHECK_POINTER" />
|
||||||
<haxedef name="HXCPP_STACK_LINE" />
|
<haxedef name="HXCPP_STACK_LINE" />
|
||||||
|
|
||||||
|
|
||||||
<!-- This macro allows addition of new functionality to existing Flixel. -->
|
<!-- This macro allows addition of new functionality to existing Flixel. -->
|
||||||
<haxeflag name="--macro" value="addMetadata('@:build(funkin.util.macro.FlxMacro.buildFlxBasic())', 'flixel.FlxBasic')" />
|
<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)-->
|
<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
|
||||||
|
<icon path="art/icon16.png" size="16" />
|
||||||
<icon path="art/icon16.png" size='16' />
|
<icon path="art/icon32.png" size="32" />
|
||||||
<icon path="art/icon32.png" size='32' />
|
<icon path="art/icon64.png" size="64" />
|
||||||
<icon path="art/icon64.png" size='64' />
|
|
||||||
<icon path="art/iconOG.png" />
|
<icon path="art/iconOG.png" />
|
||||||
|
|
||||||
<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
|
<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
|
||||||
|
|
||||||
<haxedef name="CAN_OPEN_LINKS" unless="switch" />
|
<haxedef name="CAN_OPEN_LINKS" unless="switch" />
|
||||||
<haxedef name="CAN_CHEAT" if="switch debug" />
|
<haxedef name="CAN_CHEAT" if="switch debug" />
|
||||||
<haxedef name="haxeui_no_mouse_reset" />
|
<haxedef name="haxeui_no_mouse_reset" />
|
||||||
|
|
||||||
<!-- Skip the Intro -->
|
<!-- Skip the Intro -->
|
||||||
<section if="debug">
|
<section if="debug">
|
||||||
<!-- Starts the game at the specified week, at the first song -->
|
<!-- Starts the game at the specified week, at the first song -->
|
||||||
<!-- <haxedef name="week" value="1" if="debug"/> -->
|
<!-- <haxedef name="week" value="1" if="debug"/> -->
|
||||||
|
|
||||||
<!-- Starts the game at the specified song -->
|
<!-- Starts the game at the specified song -->
|
||||||
<!-- <haxedef name="song" value="bopeebo" if="debug"/> -->
|
<!-- <haxedef name="song" value="bopeebo" if="debug"/> -->
|
||||||
|
|
||||||
<!-- Difficulty, only used for week or song, defaults to 1 -->
|
<!-- Difficulty, only used for week or song, defaults to 1 -->
|
||||||
<!-- <haxedef name="dif" value="2" if="debug"/> -->
|
<!-- <haxedef name="dif" value="2" if="debug"/> -->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- <haxedef name="CLEAR_INPUT_SAVE"/> -->
|
<!-- <haxedef name="CLEAR_INPUT_SAVE"/> -->
|
||||||
|
|
||||||
<section if="newgrounds">
|
<section if="newgrounds">
|
||||||
<!-- Enables Ng.core.verbose -->
|
<!-- Enables Ng.core.verbose -->
|
||||||
<!-- <haxedef name="NG_VERBOSE" /> -->
|
<!-- <haxedef name="NG_VERBOSE" /> -->
|
||||||
|
|
||||||
<!-- Enables a NG debug session, so medals don't permently unlock -->
|
<!-- Enables a NG debug session, so medals don't permently unlock -->
|
||||||
<!-- <haxedef name="NG_DEBUG" /> -->
|
<!-- <haxedef name="NG_DEBUG" /> -->
|
||||||
|
|
||||||
<!-- pretends that the saved session Id was expired, forcing the reconnect prompt -->
|
<!-- pretends that the saved session Id was expired, forcing the reconnect prompt -->
|
||||||
<!-- <haxedef name="NG_FORCE_EXPIRED_SESSION" if="debug" /> -->
|
<!-- <haxedef name="NG_FORCE_EXPIRED_SESSION" if="debug" /> -->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<!-- <prebuild haxe="trace('prebuilding');"/> -->
|
<!-- <prebuild haxe="trace('prebuilding');"/> -->
|
||||||
<!-- <postbuild haxe="art/Postbuild.hx"/> -->
|
<!-- <postbuild haxe="art/Postbuild.hx"/> -->
|
||||||
|
|
||||||
<!-- <config:ios allow-provisioning-updates="true" team-id="" /> -->
|
<!-- <config:ios allow-provisioning-updates="true" team-id="" /> -->
|
||||||
|
|
||||||
<!-- Options for Polymod -->
|
<!-- Options for Polymod -->
|
||||||
<section if="polymod">
|
<section if="polymod">
|
||||||
<!-- Turns on additional debug logging. -->
|
<!-- Turns on additional debug logging. -->
|
||||||
|
@ -253,13 +200,11 @@
|
||||||
<!-- Determines the file in the mod folder used for the icon. -->
|
<!-- Determines the file in the mod folder used for the icon. -->
|
||||||
<haxedef name="POLYMOD_MOD_ICON_FILE" value="_polymod_icon.png" />
|
<haxedef name="POLYMOD_MOD_ICON_FILE" value="_polymod_icon.png" />
|
||||||
</section>
|
</section>
|
||||||
|
<section if="TOOLS">
|
||||||
<section if='TOOLS'>
|
|
||||||
<!-- Compiles tool for old song conversion shit -->
|
<!-- Compiles tool for old song conversion shit -->
|
||||||
<!-- Assumes you use it on windows/desktop!!!! -->
|
<!-- Assumes you use it on windows/desktop!!!! -->
|
||||||
<postbuild command='haxe -main art/SongConverter.hx --cs export/songShit' />
|
<postbuild command="haxe -main art/SongConverter.hx --cs export/songShit" />
|
||||||
<assets path='export/songShit/bin/SongConverter.exe' rename='SongConverter.exe' />
|
<assets path="export/songShit/bin/SongConverter.exe" rename="SongConverter.exe" />
|
||||||
|
|
||||||
<!-- <postbuild command='ren export/songShit/bin export/songShit/tools '/> -->
|
<!-- <postbuild command='ren export/songShit/bin export/songShit/tools '/> -->
|
||||||
<!-- <postbuild command='move export/songShit/tools export/release/windows/bin'/> -->
|
<!-- <postbuild command='move export/songShit/tools export/release/windows/bin'/> -->
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{
|
{
|
||||||
"title": "Intro Mod",
|
"title": "Intro Mod",
|
||||||
"description": "An introductory mod.",
|
"description": "An introductory mod.",
|
||||||
"contributors": [{
|
"contributors": [
|
||||||
"name": "MasterEric"
|
{
|
||||||
}],
|
"name": "MasterEric"
|
||||||
|
}
|
||||||
|
],
|
||||||
"api_version": "0.1.0",
|
"api_version": "0.1.0",
|
||||||
"mod_version": "1.0.0",
|
"mod_version": "1.0.0",
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{
|
{
|
||||||
"title": "Testing123",
|
"title": "Testing123",
|
||||||
"description": "Newgrounds? More like OLDGROUNDS lol.",
|
"description": "Newgrounds? More like OLDGROUNDS lol.",
|
||||||
"contributors": [{
|
"contributors": [
|
||||||
"name": "MasterEric"
|
{
|
||||||
}],
|
"name": "MasterEric"
|
||||||
|
}
|
||||||
|
],
|
||||||
"api_version": "0.1.0",
|
"api_version": "0.1.0",
|
||||||
"mod_version": "1.0.0",
|
"mod_version": "1.0.0",
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
|
|
4
hmm.json
4
hmm.json
|
@ -68,7 +68,7 @@
|
||||||
"name": "hxcodec",
|
"name": "hxcodec",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"ref": "91adeec",
|
"ref": "c42ab99",
|
||||||
"url": "https://github.com/polybiusproxy/hxCodec"
|
"url": "https://github.com/polybiusproxy/hxCodec"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
"name": "lime",
|
"name": "lime",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"ref": "deecd6c",
|
"ref": "5634ad7",
|
||||||
"url": "https://github.com/openfl/lime"
|
"url": "https://github.com/openfl/lime"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -125,8 +125,7 @@ class Alphabet extends FlxSpriteGroup
|
||||||
var xPos:Float = 0;
|
var xPos:Float = 0;
|
||||||
var curRow:Int = 0;
|
var curRow:Int = 0;
|
||||||
|
|
||||||
new FlxTimer().start(0.05, function(tmr:FlxTimer)
|
new FlxTimer().start(0.05, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
// trace(_finalText.fastCodeAt(loopNum) + " " + _finalText.charAt(loopNum));
|
// trace(_finalText.fastCodeAt(loopNum) + " " + _finalText.charAt(loopNum));
|
||||||
if (_finalText.fastCodeAt(loopNum) == "\n".code)
|
if (_finalText.fastCodeAt(loopNum) == "\n".code)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,8 +27,7 @@ class ComboCounter extends FlxTypedSpriteGroup<FlxSprite>
|
||||||
effectStuff.animation.addByPrefix('funny', 'NOTE COMBO animation', 24, false);
|
effectStuff.animation.addByPrefix('funny', 'NOTE COMBO animation', 24, false);
|
||||||
effectStuff.animation.play('funny');
|
effectStuff.animation.play('funny');
|
||||||
effectStuff.antialiasing = true;
|
effectStuff.antialiasing = true;
|
||||||
effectStuff.animation.finishCallback = function(nameThing)
|
effectStuff.animation.finishCallback = function(nameThing) {
|
||||||
{
|
|
||||||
kill();
|
kill();
|
||||||
};
|
};
|
||||||
effectStuff.setGraphicSize(Std.int(effectStuff.width * 0.7));
|
effectStuff.setGraphicSize(Std.int(effectStuff.width * 0.7));
|
||||||
|
@ -42,8 +41,7 @@ class ComboCounter extends FlxTypedSpriteGroup<FlxSprite>
|
||||||
{
|
{
|
||||||
if (onScreenTime < 0.9)
|
if (onScreenTime < 0.9)
|
||||||
{
|
{
|
||||||
new FlxTimer().start((Conductor.crochet / 1000) * 0.25, function(tmr)
|
new FlxTimer().start((Conductor.crochet / 1000) * 0.25, function(tmr) {
|
||||||
{
|
|
||||||
forceFinish();
|
forceFinish();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -64,16 +62,14 @@ class ComboCounter extends FlxTypedSpriteGroup<FlxSprite>
|
||||||
|
|
||||||
if (effectStuff.animation.curAnim.curFrame == 18)
|
if (effectStuff.animation.curAnim.curFrame == 18)
|
||||||
{
|
{
|
||||||
grpNumbers.forEach(function(spr:ComboNumber)
|
grpNumbers.forEach(function(spr:ComboNumber) {
|
||||||
{
|
|
||||||
spr.animation.reset();
|
spr.animation.reset();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (effectStuff.animation.curAnim.curFrame == 20)
|
if (effectStuff.animation.curAnim.curFrame == 20)
|
||||||
{
|
{
|
||||||
grpNumbers.forEach(function(spr:ComboNumber)
|
grpNumbers.forEach(function(spr:ComboNumber) {
|
||||||
{
|
|
||||||
spr.kill();
|
spr.kill();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,8 +119,7 @@ class CoolUtil
|
||||||
FlxTween.tween(screenWipeShit, {daAlphaShit: 1}, time,
|
FlxTween.tween(screenWipeShit, {daAlphaShit: 1}, time,
|
||||||
{
|
{
|
||||||
ease: FlxEase.quadInOut,
|
ease: FlxEase.quadInOut,
|
||||||
onComplete: function(twn)
|
onComplete: function(twn) {
|
||||||
{
|
|
||||||
screenShit.destroy();
|
screenShit.destroy();
|
||||||
FlxG.switchState(new MainMenuState());
|
FlxG.switchState(new MainMenuState());
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,8 +52,7 @@ class CutsceneCharacter extends FlxTypedGroup<FlxSprite>
|
||||||
cutScene.animation.play('weed');
|
cutScene.animation.play('weed');
|
||||||
cutScene.antialiasing = true;
|
cutScene.antialiasing = true;
|
||||||
|
|
||||||
cutScene.animation.finishCallback = function(anim:String)
|
cutScene.animation.finishCallback = function(anim:String) {
|
||||||
{
|
|
||||||
cutScene.kill();
|
cutScene.kill();
|
||||||
cutScene.destroy();
|
cutScene.destroy();
|
||||||
cutScene = null;
|
cutScene = null;
|
||||||
|
|
|
@ -53,8 +53,7 @@ class DialogueBox extends FlxSpriteGroup
|
||||||
bgFade.alpha = 0;
|
bgFade.alpha = 0;
|
||||||
add(bgFade);
|
add(bgFade);
|
||||||
|
|
||||||
new FlxTimer().start(0.83, function(tmr:FlxTimer)
|
new FlxTimer().start(0.83, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
bgFade.alpha += (1 / 5) * 0.7;
|
bgFade.alpha += (1 / 5) * 0.7;
|
||||||
if (bgFade.alpha > 0.7) bgFade.alpha = 0.7;
|
if (bgFade.alpha > 0.7) bgFade.alpha = 0.7;
|
||||||
}, 5);
|
}, 5);
|
||||||
|
@ -192,8 +191,7 @@ class DialogueBox extends FlxSpriteGroup
|
||||||
if (PlayState.currentSong.song.toLowerCase() == 'senpai'
|
if (PlayState.currentSong.song.toLowerCase() == 'senpai'
|
||||||
|| PlayState.currentSong.song.toLowerCase() == 'thorns') FlxG.sound.music.fadeOut(2.2, 0);
|
|| PlayState.currentSong.song.toLowerCase() == 'thorns') FlxG.sound.music.fadeOut(2.2, 0);
|
||||||
|
|
||||||
new FlxTimer().start(0.2, function(tmr:FlxTimer)
|
new FlxTimer().start(0.2, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
box.alpha -= 1 / 5;
|
box.alpha -= 1 / 5;
|
||||||
bgFade.alpha -= 1 / 5 * 0.7;
|
bgFade.alpha -= 1 / 5 * 0.7;
|
||||||
portraitLeft.visible = false;
|
portraitLeft.visible = false;
|
||||||
|
@ -203,8 +201,7 @@ class DialogueBox extends FlxSpriteGroup
|
||||||
dropText.alpha = swagDialogue.alpha;
|
dropText.alpha = swagDialogue.alpha;
|
||||||
}, 5);
|
}, 5);
|
||||||
|
|
||||||
new FlxTimer().start(1.2, function(tmr:FlxTimer)
|
new FlxTimer().start(1.2, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
finishThing();
|
finishThing();
|
||||||
kill();
|
kill();
|
||||||
});
|
});
|
||||||
|
@ -233,8 +230,7 @@ class DialogueBox extends FlxSpriteGroup
|
||||||
// swagDialogue.text = ;
|
// swagDialogue.text = ;
|
||||||
swagDialogue.resetText(dialogueList[0]);
|
swagDialogue.resetText(dialogueList[0]);
|
||||||
swagDialogue.start(0.04);
|
swagDialogue.start(0.04);
|
||||||
swagDialogue.completeCallback = function()
|
swagDialogue.completeCallback = function() {
|
||||||
{
|
|
||||||
trace('dialogue finish');
|
trace('dialogue finish');
|
||||||
handSelect.visible = true;
|
handSelect.visible = true;
|
||||||
dialogueEnded = true;
|
dialogueEnded = true;
|
||||||
|
|
|
@ -58,8 +58,7 @@ class DiscordClient
|
||||||
|
|
||||||
public static function initialize()
|
public static function initialize()
|
||||||
{
|
{
|
||||||
var DiscordDaemon = sys.thread.Thread.create(() ->
|
var DiscordDaemon = sys.thread.Thread.create(() -> {
|
||||||
{
|
|
||||||
new DiscordClient();
|
new DiscordClient();
|
||||||
});
|
});
|
||||||
trace("Discord Client initialized");
|
trace("Discord Client initialized");
|
||||||
|
|
|
@ -50,8 +50,7 @@ class LoadingState extends MusicBeatState
|
||||||
loadBar.screenCenter(X);
|
loadBar.screenCenter(X);
|
||||||
add(loadBar);
|
add(loadBar);
|
||||||
|
|
||||||
initSongsManifest().onComplete(function(lib)
|
initSongsManifest().onComplete(function(lib) {
|
||||||
{
|
|
||||||
callbacks = new MultiCallback(onLoad);
|
callbacks = new MultiCallback(onLoad);
|
||||||
var introComplete = callbacks.add("introComplete");
|
var introComplete = callbacks.add("introComplete");
|
||||||
checkLoadSong(getSongPath());
|
checkLoadSong(getSongPath());
|
||||||
|
@ -89,8 +88,7 @@ class LoadingState extends MusicBeatState
|
||||||
// @:privateAccess
|
// @:privateAccess
|
||||||
// library.pathGroups.set(symbolPath, [library.__cacheBreak(symbolPath)]);
|
// library.pathGroups.set(symbolPath, [library.__cacheBreak(symbolPath)]);
|
||||||
var callback = callbacks.add("song:" + path);
|
var callback = callbacks.add("song:" + path);
|
||||||
Assets.loadSound(path).onComplete(function(_)
|
Assets.loadSound(path).onComplete(function(_) {
|
||||||
{
|
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -105,8 +103,7 @@ class LoadingState extends MusicBeatState
|
||||||
if (!LimeAssets.libraryPaths.exists(library)) throw "Missing library: " + library;
|
if (!LimeAssets.libraryPaths.exists(library)) throw "Missing library: " + library;
|
||||||
|
|
||||||
var callback = callbacks.add("library:" + library);
|
var callback = callbacks.add("library:" + library);
|
||||||
Assets.loadLibrary(library).onComplete(function(_)
|
Assets.loadLibrary(library).onComplete(function(_) {
|
||||||
{
|
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -259,8 +256,7 @@ class LoadingState extends MusicBeatState
|
||||||
path = LimeAssets.__cacheBreak(path);
|
path = LimeAssets.__cacheBreak(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetManifest.loadFromFile(path, rootPath).onComplete(function(manifest)
|
AssetManifest.loadFromFile(path, rootPath).onComplete(function(manifest) {
|
||||||
{
|
|
||||||
if (manifest == null)
|
if (manifest == null)
|
||||||
{
|
{
|
||||||
promise.error("Cannot parse asset manifest for library \"" + id + "\"");
|
promise.error("Cannot parse asset manifest for library \"" + id + "\"");
|
||||||
|
@ -280,9 +276,8 @@ class LoadingState extends MusicBeatState
|
||||||
library.onChange.add(LimeAssets.onChange.dispatch);
|
library.onChange.add(LimeAssets.onChange.dispatch);
|
||||||
promise.completeWith(Future.withValue(library));
|
promise.completeWith(Future.withValue(library));
|
||||||
}
|
}
|
||||||
}).onError(function(_)
|
}).onError(function(_) {
|
||||||
{
|
promise.error("There is no asset library with an ID of \"" + id + "\"");
|
||||||
promise.error("There is no asset library with an ID of \"" + id + "\"");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return promise.future;
|
return promise.future;
|
||||||
|
@ -311,8 +306,7 @@ class MultiCallback
|
||||||
length++;
|
length++;
|
||||||
numRemaining++;
|
numRemaining++;
|
||||||
var func:Void->Void = null;
|
var func:Void->Void = null;
|
||||||
func = function()
|
func = function() {
|
||||||
{
|
|
||||||
if (unfired.exists(id))
|
if (unfired.exists(id))
|
||||||
{
|
{
|
||||||
unfired.remove(id);
|
unfired.remove(id);
|
||||||
|
|
|
@ -24,8 +24,7 @@ class MemoryCounter extends TextField
|
||||||
text = "RAM: ";
|
text = "RAM: ";
|
||||||
|
|
||||||
#if flash
|
#if flash
|
||||||
addEventListener(Event.ENTER_FRAME, function(e)
|
addEventListener(Event.ENTER_FRAME, function(e) {
|
||||||
{
|
|
||||||
var time = Lib.getTimer();
|
var time = Lib.getTimer();
|
||||||
__enterFrame(time - currentTime);
|
__enterFrame(time - currentTime);
|
||||||
});
|
});
|
||||||
|
|
|
@ -49,8 +49,7 @@ class NGio
|
||||||
trace('checking NG.io version');
|
trace('checking NG.io version');
|
||||||
GAME_VER = "v" + Application.current.meta.get('version');
|
GAME_VER = "v" + Application.current.meta.get('version');
|
||||||
|
|
||||||
NG.core.calls.app.getCurrentVersion(GAME_VER).addDataHandler(function(response)
|
NG.core.calls.app.getCurrentVersion(GAME_VER).addDataHandler(function(response) {
|
||||||
{
|
|
||||||
GAME_VER = response.result.data.currentVersion;
|
GAME_VER = response.result.data.currentVersion;
|
||||||
trace('CURRENT NG VERSION: ' + GAME_VER);
|
trace('CURRENT NG VERSION: ' + GAME_VER);
|
||||||
callback(GAME_VER);
|
callback(GAME_VER);
|
||||||
|
@ -141,8 +140,7 @@ class NGio
|
||||||
var onCancel:Void->Void = null;
|
var onCancel:Void->Void = null;
|
||||||
if (onComplete != null)
|
if (onComplete != null)
|
||||||
{
|
{
|
||||||
onSuccess = function()
|
onSuccess = function() {
|
||||||
{
|
|
||||||
onNGLogin();
|
onNGLogin();
|
||||||
onComplete(Success);
|
onComplete(Success);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,8 +34,7 @@ class NoteSplash extends FlxSprite
|
||||||
|
|
||||||
animation.play('note' + noteData + '-' + FlxG.random.int(0, 1), true);
|
animation.play('note' + noteData + '-' + FlxG.random.int(0, 1), true);
|
||||||
animation.curAnim.frameRate = 24 + FlxG.random.int(-2, 2);
|
animation.curAnim.frameRate = 24 + FlxG.random.int(-2, 2);
|
||||||
animation.finishCallback = function(name)
|
animation.finishCallback = function(name) {
|
||||||
{
|
|
||||||
kill();
|
kill();
|
||||||
};
|
};
|
||||||
updateHitbox();
|
updateHitbox();
|
||||||
|
|
|
@ -84,8 +84,7 @@ class TitleState extends MusicBeatState
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// netConnection.addEventListener(MouseEvent.MOUSE_DOWN, overlay_onMouseDown);
|
// netConnection.addEventListener(MouseEvent.MOUSE_DOWN, overlay_onMouseDown);
|
||||||
new FlxTimer().start(1, function(tmr:FlxTimer)
|
new FlxTimer().start(1, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
startIntro();
|
startIntro();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -373,8 +372,7 @@ class TitleState extends MusicBeatState
|
||||||
#if newgrounds
|
#if newgrounds
|
||||||
if (!OutdatedSubState.leftState)
|
if (!OutdatedSubState.leftState)
|
||||||
{
|
{
|
||||||
NGio.checkVersion(function(version)
|
NGio.checkVersion(function(version) {
|
||||||
{
|
|
||||||
// Check if version is outdated
|
// Check if version is outdated
|
||||||
var localVersion:String = "v" + Application.current.meta.get('version');
|
var localVersion:String = "v" + Application.current.meta.get('version');
|
||||||
var onlineVersion = version.split(" ")[0].trim();
|
var onlineVersion = version.split(" ")[0].trim();
|
||||||
|
@ -391,8 +389,7 @@ class TitleState extends MusicBeatState
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
new FlxTimer().start(2, function(tmr:FlxTimer)
|
new FlxTimer().start(2, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
// These assets are very unlikely to be used for the rest of gameplay, so it unloads them from cache/memory
|
// These assets are very unlikely to be used for the rest of gameplay, so it unloads them from cache/memory
|
||||||
// Saves about 50mb of RAM or so???
|
// Saves about 50mb of RAM or so???
|
||||||
Assets.cache.clear(Paths.image('gfDanceTitle'));
|
Assets.cache.clear(Paths.image('gfDanceTitle'));
|
||||||
|
|
|
@ -36,14 +36,12 @@ class NgPrompt extends Prompt
|
||||||
#if web
|
#if web
|
||||||
prompt.buttons.getItem("yes").fireInstantly = true;
|
prompt.buttons.getItem("yes").fireInstantly = true;
|
||||||
#end
|
#end
|
||||||
prompt.onYes = function()
|
prompt.onYes = function() {
|
||||||
{
|
|
||||||
prompt.setText("Connecting..." #if web + "\n(check your popup blocker)" #end);
|
prompt.setText("Connecting..." #if web + "\n(check your popup blocker)" #end);
|
||||||
prompt.setButtons(None);
|
prompt.setButtons(None);
|
||||||
openPassportUrl();
|
openPassportUrl();
|
||||||
};
|
};
|
||||||
prompt.onNo = function()
|
prompt.onNo = function() {
|
||||||
{
|
|
||||||
prompt.close();
|
prompt.close();
|
||||||
prompt = null;
|
prompt = null;
|
||||||
NGio.cancelLogin();
|
NGio.cancelLogin();
|
||||||
|
@ -92,8 +90,7 @@ class NgPrompt extends Prompt
|
||||||
{
|
{
|
||||||
var user = io.newgrounds.NG.core.user.name;
|
var user = io.newgrounds.NG.core.user.name;
|
||||||
var prompt = new NgPrompt('Log out of $user?', Yes_No);
|
var prompt = new NgPrompt('Log out of $user?', Yes_No);
|
||||||
prompt.onYes = function()
|
prompt.onYes = function() {
|
||||||
{
|
|
||||||
NGio.logout();
|
NGio.logout();
|
||||||
prompt.close();
|
prompt.close();
|
||||||
};
|
};
|
||||||
|
|
|
@ -48,8 +48,7 @@ class BGScrollingText extends FlxSpriteGroup
|
||||||
|
|
||||||
function set_funnyColor(col:Int):Int
|
function set_funnyColor(col:Int):Int
|
||||||
{
|
{
|
||||||
grpTexts.forEach(function(txt)
|
grpTexts.forEach(function(txt) {
|
||||||
{
|
|
||||||
txt.color = col;
|
txt.color = col;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -85,8 +84,7 @@ class BGScrollingText extends FlxSpriteGroup
|
||||||
|
|
||||||
function sortTextShit():Void
|
function sortTextShit():Void
|
||||||
{
|
{
|
||||||
grpTexts.sort(function(Order:Int, Obj1:FlxObject, Obj2:FlxObject)
|
grpTexts.sort(function(Order:Int, Obj1:FlxObject, Obj2:FlxObject) {
|
||||||
{
|
|
||||||
return FlxSort.byValues(Order, Obj1.x, Obj2.x);
|
return FlxSort.byValues(Order, Obj1.x, Obj2.x);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,8 +123,7 @@ class Cursor
|
||||||
if (assetCursorDefault == null)
|
if (assetCursorDefault == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_DEFAULT_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_DEFAULT_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorDefault = bitmapData;
|
assetCursorDefault = bitmapData;
|
||||||
applyCursorParams(assetCursorDefault, CURSOR_DEFAULT_PARAMS);
|
applyCursorParams(assetCursorDefault, CURSOR_DEFAULT_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -138,8 +137,7 @@ class Cursor
|
||||||
if (assetCursorCross == null)
|
if (assetCursorCross == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_CROSS_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_CROSS_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorCross = bitmapData;
|
assetCursorCross = bitmapData;
|
||||||
applyCursorParams(assetCursorCross, CURSOR_CROSS_PARAMS);
|
applyCursorParams(assetCursorCross, CURSOR_CROSS_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -153,8 +151,7 @@ class Cursor
|
||||||
if (assetCursorEraser == null)
|
if (assetCursorEraser == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ERASER_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ERASER_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorEraser = bitmapData;
|
assetCursorEraser = bitmapData;
|
||||||
applyCursorParams(assetCursorEraser, CURSOR_ERASER_PARAMS);
|
applyCursorParams(assetCursorEraser, CURSOR_ERASER_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -168,8 +165,7 @@ class Cursor
|
||||||
if (assetCursorGrabbing == null)
|
if (assetCursorGrabbing == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_GRABBING_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_GRABBING_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorGrabbing = bitmapData;
|
assetCursorGrabbing = bitmapData;
|
||||||
applyCursorParams(assetCursorGrabbing, CURSOR_GRABBING_PARAMS);
|
applyCursorParams(assetCursorGrabbing, CURSOR_GRABBING_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -183,8 +179,7 @@ class Cursor
|
||||||
if (assetCursorHourglass == null)
|
if (assetCursorHourglass == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_HOURGLASS_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_HOURGLASS_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorHourglass = bitmapData;
|
assetCursorHourglass = bitmapData;
|
||||||
applyCursorParams(assetCursorHourglass, CURSOR_HOURGLASS_PARAMS);
|
applyCursorParams(assetCursorHourglass, CURSOR_HOURGLASS_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -198,8 +193,7 @@ class Cursor
|
||||||
if (assetCursorPointer == null)
|
if (assetCursorPointer == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_POINTER_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_POINTER_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorPointer = bitmapData;
|
assetCursorPointer = bitmapData;
|
||||||
applyCursorParams(assetCursorPointer, CURSOR_POINTER_PARAMS);
|
applyCursorParams(assetCursorPointer, CURSOR_POINTER_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -213,8 +207,7 @@ class Cursor
|
||||||
if (assetCursorText == null)
|
if (assetCursorText == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_TEXT_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_TEXT_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorText = bitmapData;
|
assetCursorText = bitmapData;
|
||||||
applyCursorParams(assetCursorText, CURSOR_TEXT_PARAMS);
|
applyCursorParams(assetCursorText, CURSOR_TEXT_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -228,8 +221,7 @@ class Cursor
|
||||||
if (assetCursorZoomIn == null)
|
if (assetCursorZoomIn == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ZOOM_IN_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ZOOM_IN_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorZoomIn = bitmapData;
|
assetCursorZoomIn = bitmapData;
|
||||||
applyCursorParams(assetCursorZoomIn, CURSOR_ZOOM_IN_PARAMS);
|
applyCursorParams(assetCursorZoomIn, CURSOR_ZOOM_IN_PARAMS);
|
||||||
});
|
});
|
||||||
|
@ -243,8 +235,7 @@ class Cursor
|
||||||
if (assetCursorZoomOut == null)
|
if (assetCursorZoomOut == null)
|
||||||
{
|
{
|
||||||
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ZOOM_OUT_PARAMS.graphic);
|
var future:Future<BitmapData> = Assets.loadBitmapData(CURSOR_ZOOM_OUT_PARAMS.graphic);
|
||||||
future.onComplete(function(bitmapData:BitmapData)
|
future.onComplete(function(bitmapData:BitmapData) {
|
||||||
{
|
|
||||||
assetCursorZoomOut = bitmapData;
|
assetCursorZoomOut = bitmapData;
|
||||||
applyCursorParams(assetCursorZoomOut, CURSOR_ZOOM_OUT_PARAMS);
|
applyCursorParams(assetCursorZoomOut, CURSOR_ZOOM_OUT_PARAMS);
|
||||||
});
|
});
|
||||||
|
|
|
@ -66,8 +66,7 @@ class ModuleHandler
|
||||||
{
|
{
|
||||||
modulePriorityOrder = moduleCache.keys().array();
|
modulePriorityOrder = moduleCache.keys().array();
|
||||||
|
|
||||||
modulePriorityOrder.sort(function(a:String, b:String):Int
|
modulePriorityOrder.sort(function(a:String, b:String):Int {
|
||||||
{
|
|
||||||
var aModule:Module = moduleCache.get(a);
|
var aModule:Module = moduleCache.get(a);
|
||||||
var bModule:Module = moduleCache.get(b);
|
var bModule:Module = moduleCache.get(b);
|
||||||
|
|
||||||
|
|
|
@ -46,8 +46,7 @@ class Countdown
|
||||||
// The timer function gets called based on the beat of the song.
|
// The timer function gets called based on the beat of the song.
|
||||||
countdownTimer = new FlxTimer();
|
countdownTimer = new FlxTimer();
|
||||||
|
|
||||||
countdownTimer.start(Conductor.crochet / 1000, function(tmr:FlxTimer)
|
countdownTimer.start(Conductor.crochet / 1000, function(tmr:FlxTimer) {
|
||||||
{
|
|
||||||
countdownStep = decrement(countdownStep);
|
countdownStep = decrement(countdownStep);
|
||||||
|
|
||||||
// Handle onBeatHit events manually
|
// Handle onBeatHit events manually
|
||||||
|
@ -216,8 +215,7 @@ class Countdown
|
||||||
FlxTween.tween(countdownSprite, {y: countdownSprite.y += 100, alpha: 0}, Conductor.crochet / 1000,
|
FlxTween.tween(countdownSprite, {y: countdownSprite.y += 100, alpha: 0}, Conductor.crochet / 1000,
|
||||||
{
|
{
|
||||||
ease: FlxEase.cubeInOut,
|
ease: FlxEase.cubeInOut,
|
||||||
onComplete: function(twn:FlxTween)
|
onComplete: function(twn:FlxTween) {
|
||||||
{
|
|
||||||
countdownSprite.destroy();
|
countdownSprite.destroy();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -184,8 +184,7 @@ class SongEventParser
|
||||||
*/
|
*/
|
||||||
public static function queryEvents(events:Array<SongEventData>, currentTime:Float):Array<SongEventData>
|
public static function queryEvents(events:Array<SongEventData>, currentTime:Float):Array<SongEventData>
|
||||||
{
|
{
|
||||||
return events.filter(function(event:SongEventData):Bool
|
return events.filter(function(event:SongEventData):Bool {
|
||||||
{
|
|
||||||
// If the event is already activated, don't activate it again.
|
// If the event is already activated, don't activate it again.
|
||||||
if (event.activated) return false;
|
if (event.activated) return false;
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function offsetSongNoteData(notes:Array<SongNoteData>, offset:Int):Array<SongNoteData>
|
public static function offsetSongNoteData(notes:Array<SongNoteData>, offset:Int):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
return notes.map(function(note:SongNoteData):SongNoteData
|
return notes.map(function(note:SongNoteData):SongNoteData {
|
||||||
{
|
|
||||||
return new SongNoteData(note.time + offset, note.data, note.length, note.kind);
|
return new SongNoteData(note.time + offset, note.data, note.length, note.kind);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -36,8 +35,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function offsetSongEventData(events:Array<SongEventData>, offset:Int):Array<SongEventData>
|
public static function offsetSongEventData(events:Array<SongEventData>, offset:Int):Array<SongEventData>
|
||||||
{
|
{
|
||||||
return events.map(function(event:SongEventData):SongEventData
|
return events.map(function(event:SongEventData):SongEventData {
|
||||||
{
|
|
||||||
return new SongEventData(event.time + offset, event.event, event.value);
|
return new SongEventData(event.time + offset, event.event, event.value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -53,8 +51,7 @@ class SongDataUtils
|
||||||
{
|
{
|
||||||
if (notes.length == 0 || subtrahend.length == 0) return notes;
|
if (notes.length == 0 || subtrahend.length == 0) return notes;
|
||||||
|
|
||||||
var result = notes.filter(function(note:SongNoteData):Bool
|
var result = notes.filter(function(note:SongNoteData):Bool {
|
||||||
{
|
|
||||||
for (x in subtrahend)
|
for (x in subtrahend)
|
||||||
// SongNoteData's == operation has been overridden so that this will work.
|
// SongNoteData's == operation has been overridden so that this will work.
|
||||||
if (x == note) return false;
|
if (x == note) return false;
|
||||||
|
@ -76,8 +73,7 @@ class SongDataUtils
|
||||||
{
|
{
|
||||||
if (events.length == 0 || subtrahend.length == 0) return events;
|
if (events.length == 0 || subtrahend.length == 0) return events;
|
||||||
|
|
||||||
return events.filter(function(event:SongEventData):Bool
|
return events.filter(function(event:SongEventData):Bool {
|
||||||
{
|
|
||||||
// SongEventData's == operation has been overridden so that this will work.
|
// SongEventData's == operation has been overridden so that this will work.
|
||||||
return !subtrahend.has(event);
|
return !subtrahend.has(event);
|
||||||
});
|
});
|
||||||
|
@ -89,8 +85,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function flipNotes(notes:Array<SongNoteData>, ?strumlineSize:Int = 4):Array<SongNoteData>
|
public static function flipNotes(notes:Array<SongNoteData>, ?strumlineSize:Int = 4):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
return notes.map(function(note:SongNoteData):SongNoteData
|
return notes.map(function(note:SongNoteData):SongNoteData {
|
||||||
{
|
|
||||||
var newData = note.data;
|
var newData = note.data;
|
||||||
|
|
||||||
if (newData < strumlineSize) newData += strumlineSize;
|
if (newData < strumlineSize) newData += strumlineSize;
|
||||||
|
@ -127,8 +122,7 @@ class SongDataUtils
|
||||||
public static function sortNotes(notes:Array<SongNoteData>, ?desc:Bool = false):Array<SongNoteData>
|
public static function sortNotes(notes:Array<SongNoteData>, ?desc:Bool = false):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
// TODO: Modifies the array in place. Is this okay?
|
// TODO: Modifies the array in place. Is this okay?
|
||||||
notes.sort(function(a:SongNoteData, b:SongNoteData):Int
|
notes.sort(function(a:SongNoteData, b:SongNoteData):Int {
|
||||||
{
|
|
||||||
return FlxSort.byValues(desc ? FlxSort.DESCENDING : FlxSort.ASCENDING, a.time, b.time);
|
return FlxSort.byValues(desc ? FlxSort.DESCENDING : FlxSort.ASCENDING, a.time, b.time);
|
||||||
});
|
});
|
||||||
return notes;
|
return notes;
|
||||||
|
@ -140,8 +134,7 @@ class SongDataUtils
|
||||||
public static function sortEvents(events:Array<SongEventData>, ?desc:Bool = false):Array<SongEventData>
|
public static function sortEvents(events:Array<SongEventData>, ?desc:Bool = false):Array<SongEventData>
|
||||||
{
|
{
|
||||||
// TODO: Modifies the array in place. Is this okay?
|
// TODO: Modifies the array in place. Is this okay?
|
||||||
events.sort(function(a:SongEventData, b:SongEventData):Int
|
events.sort(function(a:SongEventData, b:SongEventData):Int {
|
||||||
{
|
|
||||||
return FlxSort.byValues(desc ? FlxSort.DESCENDING : FlxSort.ASCENDING, a.time, b.time);
|
return FlxSort.byValues(desc ? FlxSort.DESCENDING : FlxSort.ASCENDING, a.time, b.time);
|
||||||
});
|
});
|
||||||
return events;
|
return events;
|
||||||
|
@ -192,8 +185,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function getNotesInTimeRange(notes:Array<SongNoteData>, start:Float, end:Float):Array<SongNoteData>
|
public static function getNotesInTimeRange(notes:Array<SongNoteData>, start:Float, end:Float):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
return notes.filter(function(note:SongNoteData):Bool
|
return notes.filter(function(note:SongNoteData):Bool {
|
||||||
{
|
|
||||||
return note.time >= start && note.time <= end;
|
return note.time >= start && note.time <= end;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -203,8 +195,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function getEventsInTimeRange(events:Array<SongEventData>, start:Float, end:Float):Array<SongEventData>
|
public static function getEventsInTimeRange(events:Array<SongEventData>, start:Float, end:Float):Array<SongEventData>
|
||||||
{
|
{
|
||||||
return events.filter(function(event:SongEventData):Bool
|
return events.filter(function(event:SongEventData):Bool {
|
||||||
{
|
|
||||||
return event.time >= start && event.time <= end;
|
return event.time >= start && event.time <= end;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -214,8 +205,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function getNotesInDataRange(notes:Array<SongNoteData>, start:Int, end:Int):Array<SongNoteData>
|
public static function getNotesInDataRange(notes:Array<SongNoteData>, start:Int, end:Int):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
return notes.filter(function(note:SongNoteData):Bool
|
return notes.filter(function(note:SongNoteData):Bool {
|
||||||
{
|
|
||||||
return note.data >= start && note.data <= end;
|
return note.data >= start && note.data <= end;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -225,8 +215,7 @@ class SongDataUtils
|
||||||
*/
|
*/
|
||||||
public static function getNotesWithData(notes:Array<SongNoteData>, data:Array<Int>):Array<SongNoteData>
|
public static function getNotesWithData(notes:Array<SongNoteData>, data:Array<Int>):Array<SongNoteData>
|
||||||
{
|
{
|
||||||
return notes.filter(function(note:SongNoteData):Bool
|
return notes.filter(function(note:SongNoteData):Bool {
|
||||||
{
|
|
||||||
return data.indexOf(note.data) != -1;
|
return data.indexOf(note.data) != -1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,8 +50,7 @@ class SongSerializer
|
||||||
*/
|
*/
|
||||||
public static function importSongChartDataAsync(callback:SongChartData->Void):Void
|
public static function importSongChartDataAsync(callback:SongChartData->Void):Void
|
||||||
{
|
{
|
||||||
browseFileReference(function(fileReference:FileReference)
|
browseFileReference(function(fileReference:FileReference) {
|
||||||
{
|
|
||||||
var data = fileReference.data.toString();
|
var data = fileReference.data.toString();
|
||||||
|
|
||||||
if (data == null) return;
|
if (data == null) return;
|
||||||
|
@ -68,8 +67,7 @@ class SongSerializer
|
||||||
*/
|
*/
|
||||||
public static function importSongMetadataAsync(callback:SongMetadata->Void):Void
|
public static function importSongMetadataAsync(callback:SongMetadata->Void):Void
|
||||||
{
|
{
|
||||||
browseFileReference(function(fileReference:FileReference)
|
browseFileReference(function(fileReference:FileReference) {
|
||||||
{
|
|
||||||
var data = fileReference.data.toString();
|
var data = fileReference.data.toString();
|
||||||
|
|
||||||
if (data == null) return;
|
if (data == null) return;
|
||||||
|
@ -170,12 +168,10 @@ class SongSerializer
|
||||||
{
|
{
|
||||||
var file = new FileReference();
|
var file = new FileReference();
|
||||||
|
|
||||||
file.addEventListener(Event.SELECT, function(e)
|
file.addEventListener(Event.SELECT, function(e) {
|
||||||
{
|
|
||||||
var selectedFileRef:FileReference = e.target;
|
var selectedFileRef:FileReference = e.target;
|
||||||
trace('Selected file: ' + selectedFileRef.name);
|
trace('Selected file: ' + selectedFileRef.name);
|
||||||
selectedFileRef.addEventListener(Event.COMPLETE, function(e)
|
selectedFileRef.addEventListener(Event.COMPLETE, function(e) {
|
||||||
{
|
|
||||||
var loadedFileRef:FileReference = e.target;
|
var loadedFileRef:FileReference = e.target;
|
||||||
trace('Loaded file: ' + loadedFileRef.name);
|
trace('Loaded file: ' + loadedFileRef.name);
|
||||||
callback(loadedFileRef);
|
callback(loadedFileRef);
|
||||||
|
@ -192,16 +188,13 @@ class SongSerializer
|
||||||
static function writeFileReference(path:String, data:String)
|
static function writeFileReference(path:String, data:String)
|
||||||
{
|
{
|
||||||
var file = new FileReference();
|
var file = new FileReference();
|
||||||
file.addEventListener(Event.COMPLETE, function(e:Event)
|
file.addEventListener(Event.COMPLETE, function(e:Event) {
|
||||||
{
|
|
||||||
trace('Successfully wrote file.');
|
trace('Successfully wrote file.');
|
||||||
});
|
});
|
||||||
file.addEventListener(Event.CANCEL, function(e:Event)
|
file.addEventListener(Event.CANCEL, function(e:Event) {
|
||||||
{
|
|
||||||
trace('Cancelled writing file.');
|
trace('Cancelled writing file.');
|
||||||
});
|
});
|
||||||
file.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent)
|
file.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent) {
|
||||||
{
|
|
||||||
trace('IO error writing file.');
|
trace('IO error writing file.');
|
||||||
});
|
});
|
||||||
file.save(data, path);
|
file.save(data, path);
|
||||||
|
|
|
@ -68,8 +68,7 @@ class StageDataParser
|
||||||
// UNSCRIPTED STAGES
|
// UNSCRIPTED STAGES
|
||||||
//
|
//
|
||||||
var stageIdList:Array<String> = DataAssets.listDataFilesInPath('stages/');
|
var stageIdList:Array<String> = DataAssets.listDataFilesInPath('stages/');
|
||||||
var unscriptedStageIds:Array<String> = stageIdList.filter(function(stageId:String):Bool
|
var unscriptedStageIds:Array<String> = stageIdList.filter(function(stageId:String):Bool {
|
||||||
{
|
|
||||||
return !stageCache.exists(stageId);
|
return !stageCache.exists(stageId);
|
||||||
});
|
});
|
||||||
trace(' Instantiating ${unscriptedStageIds.length} non-scripted stages...');
|
trace(' Instantiating ${unscriptedStageIds.length} non-scripted stages...');
|
||||||
|
|
|
@ -121,8 +121,7 @@ class ControlsMenu extends funkin.ui.OptionsState.Page
|
||||||
var margin = 100;
|
var margin = 100;
|
||||||
menuCamera.deadzone.set(0, margin, menuCamera.width, menuCamera.height - margin * 2);
|
menuCamera.deadzone.set(0, margin, menuCamera.width, menuCamera.height - margin * 2);
|
||||||
menuCamera.minScrollY = 0;
|
menuCamera.minScrollY = 0;
|
||||||
controlGrid.onChange.add(function(selected)
|
controlGrid.onChange.add(function(selected) {
|
||||||
{
|
|
||||||
camFollow.y = selected.y;
|
camFollow.y = selected.y;
|
||||||
|
|
||||||
labels.forEach((label) -> label.alpha = 0.6);
|
labels.forEach((label) -> label.alpha = 0.6);
|
||||||
|
|
|
@ -164,8 +164,7 @@ class MenuTypedList<T:MenuItem> extends FlxTypedGroup<T>
|
||||||
{
|
{
|
||||||
busy = true;
|
busy = true;
|
||||||
FlxG.sound.play(Paths.sound('confirmMenu'));
|
FlxG.sound.play(Paths.sound('confirmMenu'));
|
||||||
FlxFlicker.flicker(selected, 1, 0.06, true, false, function(_)
|
FlxFlicker.flicker(selected, 1, 0.06, true, false, function(_) {
|
||||||
{
|
|
||||||
busy = false;
|
busy = false;
|
||||||
selected.callback();
|
selected.callback();
|
||||||
});
|
});
|
||||||
|
|
|
@ -36,14 +36,12 @@ class NgPrompt extends Prompt
|
||||||
#if web
|
#if web
|
||||||
prompt.buttons.getItem("yes").fireInstantly = true;
|
prompt.buttons.getItem("yes").fireInstantly = true;
|
||||||
#end
|
#end
|
||||||
prompt.onYes = function()
|
prompt.onYes = function() {
|
||||||
{
|
|
||||||
prompt.setText("Connecting..." #if web + "\n(check your popup blocker)" #end);
|
prompt.setText("Connecting..." #if web + "\n(check your popup blocker)" #end);
|
||||||
prompt.setButtons(None);
|
prompt.setButtons(None);
|
||||||
openPassportUrl();
|
openPassportUrl();
|
||||||
};
|
};
|
||||||
prompt.onNo = function()
|
prompt.onNo = function() {
|
||||||
{
|
|
||||||
prompt.close();
|
prompt.close();
|
||||||
prompt = null;
|
prompt = null;
|
||||||
NGio.cancelLogin();
|
NGio.cancelLogin();
|
||||||
|
@ -92,8 +90,7 @@ class NgPrompt extends Prompt
|
||||||
{
|
{
|
||||||
var user = io.newgrounds.NG.core.user.name;
|
var user = io.newgrounds.NG.core.user.name;
|
||||||
var prompt = new NgPrompt('Log out of $user?', Yes_No);
|
var prompt = new NgPrompt('Log out of $user?', Yes_No);
|
||||||
prompt.onYes = function()
|
prompt.onYes = function() {
|
||||||
{
|
|
||||||
NGio.logout();
|
NGio.logout();
|
||||||
prompt.close();
|
prompt.close();
|
||||||
};
|
};
|
||||||
|
|
|
@ -145,8 +145,7 @@ class Page extends FlxGroup
|
||||||
function openPrompt(prompt:Prompt, onClose:Void->Void)
|
function openPrompt(prompt:Prompt, onClose:Void->Void)
|
||||||
{
|
{
|
||||||
enabled = false;
|
enabled = false;
|
||||||
prompt.closeCallback = function()
|
prompt.closeCallback = function() {
|
||||||
{
|
|
||||||
enabled = true;
|
enabled = true;
|
||||||
if (onClose != null) onClose();
|
if (onClose != null) onClose();
|
||||||
}
|
}
|
||||||
|
@ -225,8 +224,7 @@ class OptionsMenu extends Page
|
||||||
var onPromptClose = checkLoginStatus;
|
var onPromptClose = checkLoginStatus;
|
||||||
if (onClose != null)
|
if (onClose != null)
|
||||||
{
|
{
|
||||||
onPromptClose = function()
|
onPromptClose = function() {
|
||||||
{
|
|
||||||
checkLoginStatus();
|
checkLoginStatus();
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,8 +55,7 @@ class PopUpStuff extends FlxTypedGroup<FlxSprite>
|
||||||
|
|
||||||
FlxTween.tween(rating, {alpha: 0}, 0.2,
|
FlxTween.tween(rating, {alpha: 0}, 0.2,
|
||||||
{
|
{
|
||||||
onComplete: function(tween:FlxTween)
|
onComplete: function(tween:FlxTween) {
|
||||||
{
|
|
||||||
remove(rating, true);
|
remove(rating, true);
|
||||||
rating.destroy();
|
rating.destroy();
|
||||||
},
|
},
|
||||||
|
@ -106,8 +105,7 @@ class PopUpStuff extends FlxTypedGroup<FlxSprite>
|
||||||
|
|
||||||
FlxTween.tween(comboSpr, {alpha: 0}, 0.2,
|
FlxTween.tween(comboSpr, {alpha: 0}, 0.2,
|
||||||
{
|
{
|
||||||
onComplete: function(tween:FlxTween)
|
onComplete: function(tween:FlxTween) {
|
||||||
{
|
|
||||||
remove(comboSpr, true);
|
remove(comboSpr, true);
|
||||||
comboSpr.destroy();
|
comboSpr.destroy();
|
||||||
},
|
},
|
||||||
|
@ -153,8 +151,7 @@ class PopUpStuff extends FlxTypedGroup<FlxSprite>
|
||||||
|
|
||||||
FlxTween.tween(numScore, {alpha: 0}, 0.2,
|
FlxTween.tween(numScore, {alpha: 0}, 0.2,
|
||||||
{
|
{
|
||||||
onComplete: function(tween:FlxTween)
|
onComplete: function(tween:FlxTween) {
|
||||||
{
|
|
||||||
remove(numScore, true);
|
remove(numScore, true);
|
||||||
numScore.destroy();
|
numScore.destroy();
|
||||||
},
|
},
|
||||||
|
|
|
@ -43,8 +43,7 @@ class PreferencesMenu extends Page
|
||||||
menuCamera.deadzone.set(0, margin, menuCamera.width, 40);
|
menuCamera.deadzone.set(0, margin, menuCamera.width, 40);
|
||||||
menuCamera.minScrollY = 0;
|
menuCamera.minScrollY = 0;
|
||||||
|
|
||||||
items.onChange.add(function(selected)
|
items.onChange.add(function(selected) {
|
||||||
{
|
|
||||||
camFollow.y = selected.y;
|
camFollow.y = selected.y;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -82,8 +81,7 @@ class PreferencesMenu extends Page
|
||||||
|
|
||||||
function createPrefItem(prefName:String, prefString:String, prefValue:Dynamic):Void
|
function createPrefItem(prefName:String, prefString:String, prefValue:Dynamic):Void
|
||||||
{
|
{
|
||||||
items.createItem(120, (120 * items.length) + 30, prefName, AtlasFont.BOLD, function()
|
items.createItem(120, (120 * items.length) + 30, prefName, AtlasFont.BOLD, function() {
|
||||||
{
|
|
||||||
preferenceCheck(prefString, prefValue);
|
preferenceCheck(prefString, prefValue);
|
||||||
|
|
||||||
switch (Type.typeof(prefValue).getName())
|
switch (Type.typeof(prefValue).getName())
|
||||||
|
@ -145,8 +143,7 @@ class PreferencesMenu extends Page
|
||||||
|
|
||||||
// menuCamera.followLerp = CoolUtil.camLerpShit(0.05);
|
// menuCamera.followLerp = CoolUtil.camLerpShit(0.05);
|
||||||
|
|
||||||
items.forEach(function(daItem:TextMenuItem)
|
items.forEach(function(daItem:TextMenuItem) {
|
||||||
{
|
|
||||||
if (items.selectedItem == daItem) daItem.x = 150;
|
if (items.selectedItem == daItem) daItem.x = 150;
|
||||||
else
|
else
|
||||||
daItem.x = 120;
|
daItem.x = 120;
|
||||||
|
|
|
@ -133,8 +133,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 50;
|
toolbox.x = 50;
|
||||||
toolbox.y = 50;
|
toolbox.y = 50;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxTools', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxTools', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,8 +141,7 @@ class ChartEditorToolboxHandler
|
||||||
|
|
||||||
if (toolsGroup == null) return null;
|
if (toolsGroup == null) return null;
|
||||||
|
|
||||||
toolsGroup.onChange = (event:UIEvent) ->
|
toolsGroup.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
switch (event.target.id)
|
switch (event.target.id)
|
||||||
{
|
{
|
||||||
case 'toolboxToolsGroupSelect':
|
case 'toolboxToolsGroupSelect':
|
||||||
|
@ -168,8 +166,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 75;
|
toolbox.x = 75;
|
||||||
toolbox.y = 100;
|
toolbox.y = 100;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxNotes', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxNotes', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -177,8 +174,7 @@ class ChartEditorToolboxHandler
|
||||||
var toolboxNotesCustomKindLabel:Label = toolbox.findComponent("toolboxNotesCustomKindLabel", Label);
|
var toolboxNotesCustomKindLabel:Label = toolbox.findComponent("toolboxNotesCustomKindLabel", Label);
|
||||||
var toolboxNotesCustomKind:TextField = toolbox.findComponent("toolboxNotesCustomKind", TextField);
|
var toolboxNotesCustomKind:TextField = toolbox.findComponent("toolboxNotesCustomKind", TextField);
|
||||||
|
|
||||||
toolboxNotesNoteKind.onChange = (event:UIEvent) ->
|
toolboxNotesNoteKind.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var isCustom = (event.data.id == '~CUSTOM~');
|
var isCustom = (event.data.id == '~CUSTOM~');
|
||||||
|
|
||||||
if (isCustom)
|
if (isCustom)
|
||||||
|
@ -197,8 +193,7 @@ class ChartEditorToolboxHandler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
toolboxNotesCustomKind.onChange = (event:UIEvent) ->
|
toolboxNotesCustomKind.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
state.selectedNoteKind = toolboxNotesCustomKind.text;
|
state.selectedNoteKind = toolboxNotesCustomKind.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,8 +210,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 100;
|
toolbox.x = 100;
|
||||||
toolbox.y = 150;
|
toolbox.y = 150;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxEvents', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxEvents', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,8 +226,7 @@ class ChartEditorToolboxHandler
|
||||||
toolboxEventsEventKind.dataSource.add({text: event.getTitle(), value: event.id});
|
toolboxEventsEventKind.dataSource.add({text: event.getTitle(), value: event.id});
|
||||||
}
|
}
|
||||||
|
|
||||||
toolboxEventsEventKind.onChange = (event:UIEvent) ->
|
toolboxEventsEventKind.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var eventType:String = event.data.value;
|
var eventType:String = event.data.value;
|
||||||
|
|
||||||
trace('ChartEditorToolboxHandler.buildToolboxEventDataLayout() - Event type changed: $eventType');
|
trace('ChartEditorToolboxHandler.buildToolboxEventDataLayout() - Event type changed: $eventType');
|
||||||
|
@ -320,8 +313,7 @@ class ChartEditorToolboxHandler
|
||||||
|
|
||||||
target.addComponent(input);
|
target.addComponent(input);
|
||||||
|
|
||||||
input.onChange = (event:UIEvent) ->
|
input.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
trace('ChartEditorToolboxHandler.buildEventDataFormFromSchema() - ${event.target.id} = ${event.target.value}');
|
trace('ChartEditorToolboxHandler.buildEventDataFormFromSchema() - ${event.target.id} = ${event.target.value}');
|
||||||
|
|
||||||
if (event.target.value == null) state.selectedEventData.remove(event.target.id);
|
if (event.target.value == null) state.selectedEventData.remove(event.target.id);
|
||||||
|
@ -341,8 +333,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 125;
|
toolbox.x = 125;
|
||||||
toolbox.y = 200;
|
toolbox.y = 200;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxDifficulty', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxDifficulty', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,35 +343,28 @@ class ChartEditorToolboxHandler
|
||||||
var difficultyToolboxLoadMetadata:Button = toolbox.findComponent("difficultyToolboxLoadMetadata", Button);
|
var difficultyToolboxLoadMetadata:Button = toolbox.findComponent("difficultyToolboxLoadMetadata", Button);
|
||||||
var difficultyToolboxLoadChart:Button = toolbox.findComponent("difficultyToolboxLoadChart", Button);
|
var difficultyToolboxLoadChart:Button = toolbox.findComponent("difficultyToolboxLoadChart", Button);
|
||||||
|
|
||||||
difficultyToolboxSaveMetadata.onClick = (event:UIEvent) ->
|
difficultyToolboxSaveMetadata.onClick = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
SongSerializer.exportSongMetadata(state.currentSongMetadata);
|
SongSerializer.exportSongMetadata(state.currentSongMetadata);
|
||||||
};
|
};
|
||||||
|
|
||||||
difficultyToolboxSaveChart.onClick = (event:UIEvent) ->
|
difficultyToolboxSaveChart.onClick = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
SongSerializer.exportSongChartData(state.currentSongChartData);
|
SongSerializer.exportSongChartData(state.currentSongChartData);
|
||||||
};
|
};
|
||||||
|
|
||||||
difficultyToolboxSaveAll.onClick = (event:UIEvent) ->
|
difficultyToolboxSaveAll.onClick = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
state.exportAllSongData();
|
state.exportAllSongData();
|
||||||
};
|
};
|
||||||
|
|
||||||
difficultyToolboxLoadMetadata.onClick = (event:UIEvent) ->
|
difficultyToolboxLoadMetadata.onClick = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
// Replace metadata for current variation.
|
// Replace metadata for current variation.
|
||||||
SongSerializer.importSongMetadataAsync(function(songMetadata)
|
SongSerializer.importSongMetadataAsync(function(songMetadata) {
|
||||||
{
|
|
||||||
state.currentSongMetadata = songMetadata;
|
state.currentSongMetadata = songMetadata;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
difficultyToolboxLoadChart.onClick = (event:UIEvent) ->
|
difficultyToolboxLoadChart.onClick = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
// Replace chart data for current variation.
|
// Replace chart data for current variation.
|
||||||
SongSerializer.importSongChartDataAsync(function(songChartData)
|
SongSerializer.importSongChartDataAsync(function(songChartData) {
|
||||||
{
|
|
||||||
state.currentSongChartData = songChartData;
|
state.currentSongChartData = songChartData;
|
||||||
state.noteDisplayDirty = true;
|
state.noteDisplayDirty = true;
|
||||||
});
|
});
|
||||||
|
@ -401,14 +385,12 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 150;
|
toolbox.x = 150;
|
||||||
toolbox.y = 250;
|
toolbox.y = 250;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxMetadata', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxMetadata', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
var inputSongName:TextField = toolbox.findComponent('inputSongName', TextField);
|
var inputSongName:TextField = toolbox.findComponent('inputSongName', TextField);
|
||||||
inputSongName.onChange = (event:UIEvent) ->
|
inputSongName.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var valid = event.target.text != null && event.target.text != "";
|
var valid = event.target.text != null && event.target.text != "";
|
||||||
|
|
||||||
if (valid)
|
if (valid)
|
||||||
|
@ -423,8 +405,7 @@ class ChartEditorToolboxHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
var inputSongArtist:TextField = toolbox.findComponent('inputSongArtist', TextField);
|
var inputSongArtist:TextField = toolbox.findComponent('inputSongArtist', TextField);
|
||||||
inputSongArtist.onChange = (event:UIEvent) ->
|
inputSongArtist.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var valid = event.target.text != null && event.target.text != "";
|
var valid = event.target.text != null && event.target.text != "";
|
||||||
|
|
||||||
if (valid)
|
if (valid)
|
||||||
|
@ -439,8 +420,7 @@ class ChartEditorToolboxHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
var inputStage:DropDown = toolbox.findComponent('inputStage', DropDown);
|
var inputStage:DropDown = toolbox.findComponent('inputStage', DropDown);
|
||||||
inputStage.onChange = (event:UIEvent) ->
|
inputStage.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var valid = event.data != null && event.data.id != null;
|
var valid = event.data != null && event.data.id != null;
|
||||||
|
|
||||||
if (valid)
|
if (valid)
|
||||||
|
@ -450,15 +430,13 @@ class ChartEditorToolboxHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
var inputNoteSkin:DropDown = toolbox.findComponent('inputNoteSkin', DropDown);
|
var inputNoteSkin:DropDown = toolbox.findComponent('inputNoteSkin', DropDown);
|
||||||
inputNoteSkin.onChange = (event:UIEvent) ->
|
inputNoteSkin.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
if (event.data.id == null) return;
|
if (event.data.id == null) return;
|
||||||
state.currentSongMetadata.playData.noteSkin = event.data.id;
|
state.currentSongMetadata.playData.noteSkin = event.data.id;
|
||||||
};
|
};
|
||||||
|
|
||||||
var inputBPM:NumberStepper = toolbox.findComponent('inputBPM', NumberStepper);
|
var inputBPM:NumberStepper = toolbox.findComponent('inputBPM', NumberStepper);
|
||||||
inputBPM.onChange = (event:UIEvent) ->
|
inputBPM.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
if (event.value == null || event.value <= 0) return;
|
if (event.value == null || event.value <= 0) return;
|
||||||
|
|
||||||
var timeChanges = state.currentSongMetadata.timeChanges;
|
var timeChanges = state.currentSongMetadata.timeChanges;
|
||||||
|
@ -477,8 +455,7 @@ class ChartEditorToolboxHandler
|
||||||
};
|
};
|
||||||
|
|
||||||
var inputScrollSpeed:Slider = toolbox.findComponent('inputScrollSpeed', Slider);
|
var inputScrollSpeed:Slider = toolbox.findComponent('inputScrollSpeed', Slider);
|
||||||
inputScrollSpeed.onChange = (event:UIEvent) ->
|
inputScrollSpeed.onChange = (event:UIEvent) -> {
|
||||||
{
|
|
||||||
var valid = event.target.value != null && event.target.value > 0;
|
var valid = event.target.value != null && event.target.value > 0;
|
||||||
|
|
||||||
if (valid)
|
if (valid)
|
||||||
|
@ -505,8 +482,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 175;
|
toolbox.x = 175;
|
||||||
toolbox.y = 300;
|
toolbox.y = 300;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxCharacters', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxCharacters', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,8 +499,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 200;
|
toolbox.x = 200;
|
||||||
toolbox.y = 350;
|
toolbox.y = 350;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxPlayerPreview', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxPlayerPreview', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -548,8 +523,7 @@ class ChartEditorToolboxHandler
|
||||||
toolbox.x = 200;
|
toolbox.x = 200;
|
||||||
toolbox.y = 350;
|
toolbox.y = 350;
|
||||||
|
|
||||||
toolbox.onDialogClosed = (event:DialogEvent) ->
|
toolbox.onDialogClosed = (event:DialogEvent) -> {
|
||||||
{
|
|
||||||
state.setUICheckboxSelected('menubarItemToggleToolboxOpponentPreview', false);
|
state.setUICheckboxSelected('menubarItemToggleToolboxOpponentPreview', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -119,14 +119,12 @@ class CharacterPlayer extends Box
|
||||||
character.scale.x *= _scale;
|
character.scale.x *= _scale;
|
||||||
character.scale.y *= _scale;
|
character.scale.y *= _scale;
|
||||||
|
|
||||||
character.animation.callback = function(name:String = "", frameNumber:Int = -1, frameIndex:Int = -1)
|
character.animation.callback = function(name:String = "", frameNumber:Int = -1, frameIndex:Int = -1) {
|
||||||
{
|
|
||||||
@:privateAccess
|
@:privateAccess
|
||||||
character.onAnimationFrame(name, frameNumber, frameIndex);
|
character.onAnimationFrame(name, frameNumber, frameIndex);
|
||||||
dispatch(new AnimationEvent(AnimationEvent.FRAME));
|
dispatch(new AnimationEvent(AnimationEvent.FRAME));
|
||||||
};
|
};
|
||||||
character.animation.finishCallback = function(name:String = "")
|
character.animation.finishCallback = function(name:String = "") {
|
||||||
{
|
|
||||||
@:privateAccess
|
@:privateAccess
|
||||||
character.onAnimationFinished(name);
|
character.onAnimationFinished(name);
|
||||||
dispatch(new AnimationEvent(AnimationEvent.END));
|
dispatch(new AnimationEvent(AnimationEvent.END));
|
||||||
|
|
|
@ -44,8 +44,7 @@ class Notifbar extends SideBar
|
||||||
this.action.text = actionText;
|
this.action.text = actionText;
|
||||||
this.action.visible = true;
|
this.action.visible = true;
|
||||||
this.action.disabled = false;
|
this.action.disabled = false;
|
||||||
this.action.onClick = (_) ->
|
this.action.onClick = (_) -> {
|
||||||
{
|
|
||||||
actionCallback();
|
actionCallback();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -98,8 +97,7 @@ class Notifbar extends SideBar
|
||||||
action = outerContainer.findComponent('notifbarAction', Button);
|
action = outerContainer.findComponent('notifbarAction', Button);
|
||||||
dismiss = outerContainer.findComponent('notifbarDismiss', Button);
|
dismiss = outerContainer.findComponent('notifbarDismiss', Button);
|
||||||
|
|
||||||
dismiss.onClick = (_) ->
|
dismiss.onClick = (_) -> {
|
||||||
{
|
|
||||||
dismissNotification();
|
dismissNotification();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,11 +18,9 @@ class SprStage extends FlxSprite
|
||||||
{
|
{
|
||||||
super(x, y);
|
super(x, y);
|
||||||
|
|
||||||
FlxMouseEvent.add(this, dragShitFunc, null, function(spr:SprStage)
|
FlxMouseEvent.add(this, dragShitFunc, null, function(spr:SprStage) {
|
||||||
{
|
|
||||||
if (isSelected() || StageBuilderState.curTool == SELECT) alpha = 0.5;
|
if (isSelected() || StageBuilderState.curTool == SELECT) alpha = 0.5;
|
||||||
}, function(spr:SprStage)
|
}, function(spr:SprStage) {
|
||||||
{
|
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
}, false, true, true);
|
}, false, true, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,8 +94,7 @@ class StageBuilderState extends MusicBeatState
|
||||||
hudGrp.add(saveSceneBtn);
|
hudGrp.add(saveSceneBtn);
|
||||||
|
|
||||||
#if desktop
|
#if desktop
|
||||||
FlxG.stage.window.onDropFile.add(function(path:String)
|
FlxG.stage.window.onDropFile.add(function(path:String) {
|
||||||
{
|
|
||||||
trace("DROPPED FILE FROM: " + Std.string(path));
|
trace("DROPPED FILE FROM: " + Std.string(path));
|
||||||
|
|
||||||
var fileName:String = path.split('\\').pop();
|
var fileName:String = path.split('\\').pop();
|
||||||
|
@ -113,8 +112,7 @@ class StageBuilderState extends MusicBeatState
|
||||||
|
|
||||||
fo.write(sys.io.File.getBytes(path));
|
fo.write(sys.io.File.getBytes(path));
|
||||||
|
|
||||||
new FlxTimer().start(0.2, function(tmr)
|
new FlxTimer().start(0.2, function(tmr) {
|
||||||
{
|
|
||||||
var awesomeImg:SprStage = new SprStage(FlxG.mouse.x, FlxG.mouse.y, sprDragShitFunc);
|
var awesomeImg:SprStage = new SprStage(FlxG.mouse.x, FlxG.mouse.y, sprDragShitFunc);
|
||||||
awesomeImg.loadGraphic(Paths.image('stageBuild/stageTempImg'), false, 0, 0, true);
|
awesomeImg.loadGraphic(Paths.image('stageBuild/stageTempImg'), false, 0, 0, true);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ class FlxMacro
|
||||||
{
|
{
|
||||||
name: "zIndex", // Field name.
|
name: "zIndex", // Field name.
|
||||||
access: [haxe.macro.Expr.Access.APublic], // Access level
|
access: [haxe.macro.Expr.Access.APublic], // Access level
|
||||||
kind: haxe.macro.Expr.FieldType.FVar(macro:Int, macro $v{0}), // Variable type and default value
|
kind: haxe.macro.Expr.FieldType.FVar(macro :Int, macro $v{0}), // Variable type and default value
|
||||||
pos: pos, // The field's position in code.
|
pos: pos, // The field's position in code.
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<module>
|
<module>
|
||||||
<!-- A module provides additional behavior and configuration for HaxeUI. -->
|
<!-- A module provides additional behavior and configuration for HaxeUI. -->
|
||||||
<components>
|
<components>
|
||||||
|
@ -14,7 +14,6 @@
|
||||||
<class package="haxe.ui.containers.properties" loadAll="true" />
|
<class package="haxe.ui.containers.properties" loadAll="true" />
|
||||||
<class package="haxe.ui.containers" loadAll="true" />
|
<class package="haxe.ui.containers" loadAll="true" />
|
||||||
<class package="haxe.ui.core" loadAll="true" />
|
<class package="haxe.ui.core" loadAll="true" />
|
||||||
|
|
||||||
<!-- Custom components. -->
|
<!-- Custom components. -->
|
||||||
<class package="funkin.ui.haxeui.components" loadAll="true" />
|
<class package="funkin.ui.haxeui.components" loadAll="true" />
|
||||||
</components>
|
</components>
|
||||||
|
|
Loading…
Reference in a new issue