diff --git a/Project.xml b/Project.xml
index e8abec2e7..329a7ab82 100644
--- a/Project.xml
+++ b/Project.xml
@@ -42,6 +42,7 @@
+
@@ -68,6 +69,7 @@
+
diff --git a/assets/mods/introMod/_append/data/introText.txt b/assets/mods/introMod/_append/data/introText.txt
new file mode 100644
index 000000000..45e0c08ab
--- /dev/null
+++ b/assets/mods/introMod/_append/data/introText.txt
@@ -0,0 +1 @@
+swagshit--moneymoney
\ No newline at end of file
diff --git a/source/Alphabet.hx b/source/Alphabet.hx
index ba5c75141..f9bfe23d7 100644
--- a/source/Alphabet.hx
+++ b/source/Alphabet.hx
@@ -245,7 +245,7 @@ class AlphaCharacter extends FlxSprite
public function new(x:Float, y:Float)
{
super(x, y);
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.alphabet__png, AssetPaths.alphabet__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/alphabet.png', 'assets/images/alphabet.xml');
frames = tex;
antialiasing = true;
diff --git a/source/AssetPaths.hx b/source/AssetPaths.hx
deleted file mode 100644
index db7ef4445..000000000
--- a/source/AssetPaths.hx
+++ /dev/null
@@ -1,4 +0,0 @@
-package;
-
-@:build(flixel.system.FlxAssets.buildFileReferences("assets", true))
-class AssetPaths {}
diff --git a/source/BackgroundDancer.hx b/source/BackgroundDancer.hx
index 2a4645086..e88c01905 100644
--- a/source/BackgroundDancer.hx
+++ b/source/BackgroundDancer.hx
@@ -9,7 +9,7 @@ class BackgroundDancer extends FlxSprite
{
super(x, y);
- frames = FlxAtlasFrames.fromSparrow(AssetPaths.limoDancer__png, AssetPaths.limoDancer__xml);
+ frames = FlxAtlasFrames.fromSparrow("assets/images/limo/limoDancer.png", "assets/images/limo/limoDancer.xml");
animation.addByIndices('danceLeft', 'bg dancer sketch PINK', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false);
animation.addByIndices('danceRight', 'bg dancer sketch PINK', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false);
animation.play('danceLeft');
diff --git a/source/Character.hx b/source/Character.hx
index 8565945e4..255fcdc3a 100644
--- a/source/Character.hx
+++ b/source/Character.hx
@@ -31,7 +31,7 @@ class Character extends FlxSprite
{
case 'gf':
// GIRLFRIEND CODE
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.GF_assets__png, AssetPaths.GF_assets__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/GF_assets.png', 'assets/images/GF_assets.xml');
frames = tex;
animation.addByPrefix('cheer', 'GF Cheer', 24, false);
animation.addByPrefix('singLEFT', 'GF left note', 24, false);
@@ -63,7 +63,7 @@ class Character extends FlxSprite
case 'dad':
// DAD ANIMATION LOADING CODE
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.DADDY_DEAREST__png, AssetPaths.DADDY_DEAREST__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/DADDY_DEAREST.png', 'assets/images/DADDY_DEAREST.xml');
frames = tex;
animation.addByPrefix('idle', 'Dad idle dance', 24);
animation.addByPrefix('singUP', 'Dad Sing Note UP', 24);
@@ -78,7 +78,7 @@ class Character extends FlxSprite
addOffset("singLEFT", -10, 10);
addOffset("singDOWN", 0, -30);
case 'spooky':
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.spooky_kids_assets__png, AssetPaths.spooky_kids_assets__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/spooky_kids_assets.png', 'assets/images/spooky_kids_assets.xml');
frames = tex;
animation.addByPrefix('singUP', 'spooky UP NOTE', 24, false);
animation.addByPrefix('singDOWN', 'spooky DOWN note', 24, false);
@@ -97,7 +97,7 @@ class Character extends FlxSprite
playAnim('danceRight');
case 'mom':
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.Mom_Assets__png, AssetPaths.Mom_Assets__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/Mom_Assets.png', 'assets/images/Mom_Assets.xml');
frames = tex;
animation.addByPrefix('idle', "Mom Idle", 24, false);
@@ -116,7 +116,7 @@ class Character extends FlxSprite
addOffset("singLEFT", 250, -23);
addOffset("singDOWN", 20, -160);
case 'monster':
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.Monster_Assets__png, AssetPaths.Monster_Assets__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/Monster_Assets.png', 'assets/images/Monster_Assets.xml');
frames = tex;
animation.addByPrefix('idle', 'monster idle', 24);
animation.addByPrefix('singUP', 'monster up note', 24, false);
@@ -131,7 +131,7 @@ class Character extends FlxSprite
addOffset("singDOWN", -30, -40);
playAnim('idle');
case 'pico':
- tex = FlxAtlasFrames.fromSparrow(AssetPaths.Pico_FNF_assetss__png, AssetPaths.Pico_FNF_assetss__xml);
+ tex = FlxAtlasFrames.fromSparrow('assets/images/.Pico_FNF_assetss.png', 'assets/images/Pico_FNF_assetss.xml');
frames = tex;
animation.addByPrefix('idle', "Pico Idle Dance", 24);
animation.addByPrefix('singUP', 'pico Up note0', 24, false);
@@ -170,7 +170,7 @@ class Character extends FlxSprite
flipX = true;
case 'bf':
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.BOYFRIEND__png, AssetPaths.BOYFRIEND__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/BOYFRIEND.png', 'assets/images/BOYFRIEND.xml');
frames = tex;
animation.addByPrefix('idle', 'BF idle dance', 24, false);
animation.addByPrefix('singUP', 'BF NOTE UP0', 24, false);
diff --git a/source/ChartingState.hx b/source/ChartingState.hx
index 3f8f8c190..db4c6b338 100644
--- a/source/ChartingState.hx
+++ b/source/ChartingState.hx
@@ -24,6 +24,7 @@ import flixel.ui.FlxButton;
import flixel.ui.FlxSpriteButton;
import flixel.util.FlxColor;
import haxe.Json;
+import lime.utils.Assets;
import openfl.events.Event;
import openfl.events.IOErrorEvent;
import openfl.events.IOErrorEvent;
@@ -190,6 +191,11 @@ class ChartingState extends MusicBeatState
var characters:Array = ["bf", 'dad', 'gf', 'spooky', 'monster', 'pico', 'mom'];
+ for (i in Assets.getText('assets/images/custom_chars/charlist.txt').split('\n'))
+ {
+ characters.push(i);
+ }
+
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{
_song.player1 = characters[Std.parseInt(character)];
diff --git a/source/DialogueBox.hx b/source/DialogueBox.hx
index 488fe35fd..17f3d616d 100644
--- a/source/DialogueBox.hx
+++ b/source/DialogueBox.hx
@@ -20,7 +20,7 @@ class DialogueBox extends FlxSpriteGroup
super();
box = new FlxSprite(40);
- box.frames = FlxAtlasFrames.fromSparrow(AssetPaths.speech_bubble_talking__png, AssetPaths.speech_bubble_talking__xml);
+ box.frames = FlxAtlasFrames.fromSparrow('assets/images/speech_bubble_talking.png', 'assets/images/speech_bubble_talking.xml');
box.animation.addByPrefix('normalOpen', 'Speech Bubble Normal Open', 24, false);
box.animation.addByPrefix('normal', 'speech bubble normal', 24);
box.animation.play('normalOpen');
diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx
index 13742f687..e20858def 100644
--- a/source/FreeplayState.hx
+++ b/source/FreeplayState.hx
@@ -66,7 +66,7 @@ class FreeplayState extends MusicBeatState
// LOAD CHARACTERS
- var bg:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.menuBGBlue__png);
+ var bg:FlxSprite = new FlxSprite().loadGraphic('assets/images/menuBGBlue.png');
add(bg);
grpSongs = new FlxTypedGroup();
diff --git a/source/GameOverState.hx b/source/GameOverState.hx
index 064325478..ba7cb3472 100644
--- a/source/GameOverState.hx
+++ b/source/GameOverState.hx
@@ -24,7 +24,7 @@ class GameOverState extends FlxTransitionableState
override function create()
{
/* var loser:FlxSprite = new FlxSprite(100, 100);
- var loseTex = FlxAtlasFrames.fromSparrow(AssetPaths.lose__png, AssetPaths.lose__xml);
+ var loseTex = FlxAtlasFrames.fromSparrow(AssetPaths.lose.png, AssetPaths.lose.xml);
loser.frames = loseTex;
loser.animation.addByPrefix('lose', 'lose', 24, false);
loser.animation.play('lose');
@@ -37,7 +37,7 @@ class GameOverState extends FlxTransitionableState
FlxG.camera.follow(bf, LOCKON, 0.001);
/*
- var restart:FlxSprite = new FlxSprite(500, 50).loadGraphic(AssetPaths.restart__png);
+ var restart:FlxSprite = new FlxSprite(500, 50).loadGraphic(AssetPaths.restart.png);
restart.setGraphicSize(Std.int(restart.width * 0.6));
restart.updateHitbox();
restart.alpha = 0;
diff --git a/source/HealthIcon.hx b/source/HealthIcon.hx
index 683a27114..99f0e32ae 100644
--- a/source/HealthIcon.hx
+++ b/source/HealthIcon.hx
@@ -8,7 +8,7 @@ class HealthIcon extends FlxSprite
{
super();
- loadGraphic(AssetPaths.iconGrid__png, true, 150, 150);
+ loadGraphic('assets/images/iconGrid.png', true, 150, 150);
antialiasing = true;
animation.add('bf', [0, 1], 0, false, isPlayer);
diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx
index 5b1afb628..1c470084f 100644
--- a/source/MainMenuState.hx
+++ b/source/MainMenuState.hx
@@ -39,7 +39,7 @@ class MainMenuState extends MusicBeatState
persistentUpdate = persistentDraw = true;
- var bg:FlxSprite = new FlxSprite(-80).loadGraphic(AssetPaths.menuBG__png);
+ var bg:FlxSprite = new FlxSprite(-80).loadGraphic('assets/images/menuBG.png');
bg.scrollFactor.x = 0;
bg.scrollFactor.y = 0.18;
bg.setGraphicSize(Std.int(bg.width * 1.1));
@@ -51,7 +51,7 @@ class MainMenuState extends MusicBeatState
camFollow = new FlxObject(0, 0, 1, 1);
add(camFollow);
- magenta = new FlxSprite(-80).loadGraphic(AssetPaths.menuDesat__png);
+ magenta = new FlxSprite(-80).loadGraphic('assets/images/menuDesat.png');
magenta.scrollFactor.x = 0;
magenta.scrollFactor.y = 0.18;
magenta.setGraphicSize(Std.int(magenta.width * 1.1));
@@ -66,7 +66,7 @@ class MainMenuState extends MusicBeatState
menuItems = new FlxTypedGroup();
add(menuItems);
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.FNF_main_menu_assets__png, AssetPaths.FNF_main_menu_assets__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/FNF_main_menu_assets.png', 'assets/images/FNF_main_menu_assets.xml');
for (i in 0...optionShit.length)
{
diff --git a/source/MenuCharacter.hx b/source/MenuCharacter.hx
index 361aede1f..a621409a0 100644
--- a/source/MenuCharacter.hx
+++ b/source/MenuCharacter.hx
@@ -13,7 +13,7 @@ class MenuCharacter extends FlxSprite
this.character = character;
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.campaign_menu_UI_characters__png, AssetPaths.campaign_menu_UI_characters__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/campaign_menu_UI_characters.png', 'assets/images/campaign_menu_UI_characters.xml');
frames = tex;
animation.addByPrefix('bf', "BF idle dance white", 24);
diff --git a/source/MenuItem.hx b/source/MenuItem.hx
index 17a5f6305..e35e26a1f 100644
--- a/source/MenuItem.hx
+++ b/source/MenuItem.hx
@@ -14,7 +14,7 @@ class MenuItem extends FlxSpriteGroup
{
super(x, y);
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.campaign_menu_UI_assets__png, AssetPaths.campaign_menu_UI_assets__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/campaign_menu_UI_assets.png', 'assets/images/campaign_menu_UI_assets.xml');
week = new FlxSprite();
week.frames = tex;
diff --git a/source/Note.hx b/source/Note.hx
index 06825e717..adbe6d984 100644
--- a/source/Note.hx
+++ b/source/Note.hx
@@ -43,7 +43,7 @@ class Note extends FlxSprite
this.noteData = noteData;
- var tex = FlxAtlasFrames.fromSparrow(AssetPaths.NOTE_assets__png, AssetPaths.NOTE_assets__xml);
+ var tex = FlxAtlasFrames.fromSparrow('assets/images/NOTE_assets.png', 'assets/images/NOTE_assets.xml');
frames = tex;
animation.addByPrefix('greenScroll', 'green0');
animation.addByPrefix('redScroll', 'red0');
diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx
index c79c3ec70..9e9f35408 100644
--- a/source/OptionsMenu.hx
+++ b/source/OptionsMenu.hx
@@ -8,7 +8,7 @@ class OptionsMenu extends MusicBeatState
{
override function create()
{
- var menuBG:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.menuDesat__png);
+ var menuBG:FlxSprite = new FlxSprite().loadGraphic('assets/images/menuDesat.png');
menuBG.color = 0xFFea71fd;
menuBG.setGraphicSize(Std.int(menuBG.width * 1.1));
menuBG.updateHitbox();
diff --git a/source/PlayState.hx b/source/PlayState.hx
index ecc649316..7dc9a5f32 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -147,7 +147,7 @@ class PlayState extends MusicBeatState
curStage = "spooky";
halloweenLevel = true;
- var hallowTex = FlxAtlasFrames.fromSparrow(AssetPaths.halloween_bg__png, AssetPaths.halloween_bg__xml);
+ var hallowTex = FlxAtlasFrames.fromSparrow('assets/images/halloween_bg.png', 'assets/images/halloween_bg.xml');
halloweenBG = new FlxSprite(-200, -100);
halloweenBG.frames = hallowTex;
@@ -163,11 +163,11 @@ class PlayState extends MusicBeatState
{
curStage = 'philly';
- var bg:FlxSprite = new FlxSprite(-100).loadGraphic(AssetPaths.sky__png);
+ var bg:FlxSprite = new FlxSprite(-100).loadGraphic('assets/images/sky.png');
bg.scrollFactor.set(0.1, 0.1);
add(bg);
- var city:FlxSprite = new FlxSprite(-10).loadGraphic(AssetPaths.city__png);
+ var city:FlxSprite = new FlxSprite(-10).loadGraphic('assets/images/city.png');
city.scrollFactor.set(0.3, 0.3);
city.setGraphicSize(Std.int(city.width * 0.85));
city.updateHitbox();
@@ -186,18 +186,18 @@ class PlayState extends MusicBeatState
phillyCityLights.add(light);
}
- var streetBehind:FlxSprite = new FlxSprite(-40, 50).loadGraphic(AssetPaths.behindTrain__png);
+ var streetBehind:FlxSprite = new FlxSprite(-40, 50).loadGraphic('assets/images/behindTrain.png');
add(streetBehind);
- phillyTrain = new FlxSprite(2000, 360).loadGraphic(AssetPaths.train__png);
+ phillyTrain = new FlxSprite(2000, 360).loadGraphic('assets/images/train.png');
add(phillyTrain);
trainSound = new FlxSound().loadEmbedded('assets/sounds/train_passes' + TitleState.soundExt);
FlxG.sound.list.add(trainSound);
- // var cityLights:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.win0__png);
+ // var cityLights:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.win0.png);
- var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(AssetPaths.street__png);
+ var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic('assets/images/street.png');
add(street);
}
else if (SONG.song.toLowerCase() == 'milf' || SONG.song.toLowerCase() == 'satin-panties' || SONG.song.toLowerCase() == 'high')
@@ -205,12 +205,12 @@ class PlayState extends MusicBeatState
curStage = 'limo';
defaultCamZoom = 0.90;
- var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic(AssetPaths.limoSunset__png);
+ var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic('assets/images/limo/limoSunset.png');
skyBG.scrollFactor.set(0.1, 0.1);
add(skyBG);
var bgLimo:FlxSprite = new FlxSprite(-200, 480);
- bgLimo.frames = FlxAtlasFrames.fromSparrow(AssetPaths.bgLimo__png, AssetPaths.bgLimo__xml);
+ bgLimo.frames = FlxAtlasFrames.fromSparrow('assets/images/limo/bgLimo.png', 'assets/images/limo/bgLimo.xml');
bgLimo.animation.addByPrefix('drive', "background limo pink", 24);
bgLimo.animation.play('drive');
bgLimo.scrollFactor.set(0.4, 0.4);
@@ -226,7 +226,7 @@ class PlayState extends MusicBeatState
grpLimoDancers.add(dancer);
}
- var overlayShit:FlxSprite = new FlxSprite(-500, -600).loadGraphic(AssetPaths.limoOverlay__png);
+ var overlayShit:FlxSprite = new FlxSprite(-500, -600).loadGraphic('assets/images/limo/limoOverlay.png');
overlayShit.alpha = 0.5;
// add(overlayShit);
@@ -236,7 +236,7 @@ class PlayState extends MusicBeatState
// overlayShit.shader = shaderBullshit;
- var limoTex = FlxAtlasFrames.fromSparrow(AssetPaths.limoDrive__png, AssetPaths.limoDrive__xml);
+ var limoTex = FlxAtlasFrames.fromSparrow('assets/images/limo/limoDrive.png', 'assets/images/limo/limoDrive.xml');
limo = new FlxSprite(-120, 550);
limo.frames = limoTex;
@@ -244,13 +244,13 @@ class PlayState extends MusicBeatState
limo.animation.play('drive');
limo.antialiasing = true;
- fastCar = new FlxSprite(-300, 160).loadGraphic(AssetPaths.fastCarLol__png);
+ fastCar = new FlxSprite(-300, 160).loadGraphic('assets/images/limo/fastCarLol.png');
// add(limo);
}
else
{
curStage = 'stage';
- var bg:FlxSprite = new FlxSprite(-600, -200).loadGraphic(AssetPaths.stageback__png);
+ var bg:FlxSprite = new FlxSprite(-600, -200).loadGraphic('assets/images/stageback.png');
// bg.setGraphicSize(Std.int(bg.width * 2.5));
// bg.updateHitbox();
bg.antialiasing = true;
@@ -258,7 +258,7 @@ class PlayState extends MusicBeatState
bg.active = false;
add(bg);
- var stageFront:FlxSprite = new FlxSprite(-650, 600).loadGraphic(AssetPaths.stagefront__png);
+ var stageFront:FlxSprite = new FlxSprite(-650, 600).loadGraphic('assets/images/stagefront.png');
stageFront.setGraphicSize(Std.int(stageFront.width * 1.1));
stageFront.updateHitbox();
stageFront.antialiasing = true;
@@ -266,7 +266,7 @@ class PlayState extends MusicBeatState
stageFront.active = false;
add(stageFront);
- var stageCurtains:FlxSprite = new FlxSprite(-500, -300).loadGraphic(AssetPaths.stagecurtains__png);
+ var stageCurtains:FlxSprite = new FlxSprite(-500, -300).loadGraphic('assets/images/stagecurtains.png');
stageCurtains.setGraphicSize(Std.int(stageCurtains.width * 0.9));
stageCurtains.updateHitbox();
stageCurtains.antialiasing = true;
@@ -365,7 +365,7 @@ class PlayState extends MusicBeatState
FlxG.fixedTimestep = false;
- healthBarBG = new FlxSprite(0, FlxG.height * 0.9).loadGraphic(AssetPaths.healthBar__png);
+ healthBarBG = new FlxSprite(0, FlxG.height * 0.9).loadGraphic('assets/images/healthBar.png');
healthBarBG.screenCenter(X);
healthBarBG.scrollFactor.set();
add(healthBarBG);
@@ -618,7 +618,7 @@ class PlayState extends MusicBeatState
{
FlxG.log.add(i);
var babyArrow:FlxSprite = new FlxSprite(0, strumLine.y);
- var arrTex = FlxAtlasFrames.fromSparrow(AssetPaths.NOTE_assets__png, AssetPaths.NOTE_assets__xml);
+ var arrTex = FlxAtlasFrames.fromSparrow('assets/images/NOTE_assets.png', 'assets/images/NOTE_assets.xml');
babyArrow.frames = arrTex;
babyArrow.animation.addByPrefix('green', 'arrowUP');
babyArrow.animation.addByPrefix('blue', 'arrowDOWN');
@@ -1141,7 +1141,7 @@ class PlayState extends MusicBeatState
rating.antialiasing = true;
rating.velocity.x -= FlxG.random.int(0, 10);
- var comboSpr:FlxSprite = new FlxSprite().loadGraphic(AssetPaths.combo__png);
+ var comboSpr:FlxSprite = new FlxSprite().loadGraphic('assets/images/combo.png');
comboSpr.screenCenter();
comboSpr.x = coolText.x;
comboSpr.acceleration.y = 600;
diff --git a/source/StoryMenuState.hx b/source/StoryMenuState.hx
index 7c3129f96..ad6aefa8b 100644
--- a/source/StoryMenuState.hx
+++ b/source/StoryMenuState.hx
@@ -69,7 +69,7 @@ class StoryMenuState extends MusicBeatState
rankText.size = scoreText.size;
rankText.screenCenter(X);
- var ui_tex = FlxAtlasFrames.fromSparrow(AssetPaths.campaign_menu_UI_assets__png, AssetPaths.campaign_menu_UI_assets__xml);
+ var ui_tex = FlxAtlasFrames.fromSparrow('assets/images/campaign_menu_UI_assets.png', 'assets/images/campaign_menu_UI_assets.xml');
var yellowBG:FlxSprite = new FlxSprite(0, 56).makeGraphic(FlxG.width, 400, 0xFFF9CF51);
grpWeekText = new FlxTypedGroup