1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-03-23 02:19:46 +00:00

Merge branch 'master' into bugfix/character-data

This commit is contained in:
EliteMasterEric 2023-06-09 15:34:56 -04:00
commit 2d04b1c5f1
86 changed files with 408 additions and 489 deletions

36
.vscode/settings.json vendored
View file

@ -26,6 +26,42 @@
}, },
"prettier.tabWidth": 2, "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. // Automatically detect indentation.
"editor.detectIndentation": true, "editor.detectIndentation": true,
"editor.insertSpaces": true, "editor.insertSpaces": true,

View file

@ -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,27 +84,22 @@
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 -->
@ -131,17 +107,12 @@
<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,16 +126,12 @@
<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')" />
@ -173,67 +140,47 @@
<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>

View file

@ -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"

View file

@ -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"

View file

@ -68,7 +68,7 @@
"name": "hxCodec", "name": "hxCodec",
"type": "git", "type": "git",
"dir": null, "dir": null,
"ref": "166ff82", "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"
}, },
{ {

View file

@ -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)
{ {

View file

@ -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();
}); });
} }

View file

@ -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");

View file

@ -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);
}); });

View file

@ -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);
} }

View file

@ -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();

View file

@ -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();
}; };

View file

@ -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);
}); });
} }

View file

@ -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);
}); });

View file

@ -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);

View file

@ -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;
}); });
} }

View file

@ -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);

View file

@ -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...');

View file

@ -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);

View file

@ -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();
}); });

View file

@ -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();
}; };

View file

@ -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();
} }

View file

@ -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();
}, },

View file

@ -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;

View file

@ -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));

View file

@ -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();
}; };
} }

View file

@ -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);
} }

View file

@ -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);

View file

@ -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>