diff --git a/assets/data/bopeebo/section1.png b/assets/data/bopeebo/bopeebo_section1.png
similarity index 100%
rename from assets/data/bopeebo/section1.png
rename to assets/data/bopeebo/bopeebo_section1.png
diff --git a/assets/data/bopeebo/section10.png b/assets/data/bopeebo/bopeebo_section10.png
similarity index 100%
rename from assets/data/bopeebo/section10.png
rename to assets/data/bopeebo/bopeebo_section10.png
diff --git a/assets/data/bopeebo/section11.png b/assets/data/bopeebo/bopeebo_section11.png
similarity index 100%
rename from assets/data/bopeebo/section11.png
rename to assets/data/bopeebo/bopeebo_section11.png
diff --git a/assets/data/bopeebo/section12.png b/assets/data/bopeebo/bopeebo_section12.png
similarity index 100%
rename from assets/data/bopeebo/section12.png
rename to assets/data/bopeebo/bopeebo_section12.png
diff --git a/assets/data/bopeebo/section13.png b/assets/data/bopeebo/bopeebo_section13.png
similarity index 100%
rename from assets/data/bopeebo/section13.png
rename to assets/data/bopeebo/bopeebo_section13.png
diff --git a/assets/data/bopeebo/section14.png b/assets/data/bopeebo/bopeebo_section14.png
similarity index 100%
rename from assets/data/bopeebo/section14.png
rename to assets/data/bopeebo/bopeebo_section14.png
diff --git a/assets/data/bopeebo/section15.png b/assets/data/bopeebo/bopeebo_section15.png
similarity index 100%
rename from assets/data/bopeebo/section15.png
rename to assets/data/bopeebo/bopeebo_section15.png
diff --git a/assets/data/bopeebo/section2.png b/assets/data/bopeebo/bopeebo_section2.png
similarity index 100%
rename from assets/data/bopeebo/section2.png
rename to assets/data/bopeebo/bopeebo_section2.png
diff --git a/assets/data/bopeebo/section3.png b/assets/data/bopeebo/bopeebo_section3.png
similarity index 100%
rename from assets/data/bopeebo/section3.png
rename to assets/data/bopeebo/bopeebo_section3.png
diff --git a/assets/data/bopeebo/section4.png b/assets/data/bopeebo/bopeebo_section4.png
similarity index 100%
rename from assets/data/bopeebo/section4.png
rename to assets/data/bopeebo/bopeebo_section4.png
diff --git a/assets/data/bopeebo/section5.png b/assets/data/bopeebo/bopeebo_section5.png
similarity index 100%
rename from assets/data/bopeebo/section5.png
rename to assets/data/bopeebo/bopeebo_section5.png
diff --git a/assets/data/bopeebo/section6.png b/assets/data/bopeebo/bopeebo_section6.png
similarity index 100%
rename from assets/data/bopeebo/section6.png
rename to assets/data/bopeebo/bopeebo_section6.png
diff --git a/assets/data/bopeebo/section7.png b/assets/data/bopeebo/bopeebo_section7.png
similarity index 100%
rename from assets/data/bopeebo/section7.png
rename to assets/data/bopeebo/bopeebo_section7.png
diff --git a/assets/data/bopeebo/section8.png b/assets/data/bopeebo/bopeebo_section8.png
similarity index 100%
rename from assets/data/bopeebo/section8.png
rename to assets/data/bopeebo/bopeebo_section8.png
diff --git a/assets/data/bopeebo/section9.png b/assets/data/bopeebo/bopeebo_section9.png
similarity index 100%
rename from assets/data/bopeebo/section9.png
rename to assets/data/bopeebo/bopeebo_section9.png
diff --git a/assets/data/fresh/fresh.json b/assets/data/fresh/fresh.json
new file mode 100644
index 0000000..a8ef07d
--- /dev/null
+++ b/assets/data/fresh/fresh.json
@@ -0,0 +1,5 @@
+{
+ "song": "Fresh",
+ "bpm": 120,
+ "sections": 8
+}
\ No newline at end of file
diff --git a/assets/data/fresh/fresh_section1.png b/assets/data/fresh/fresh_section1.png
new file mode 100644
index 0000000..aa2f82b
Binary files /dev/null and b/assets/data/fresh/fresh_section1.png differ
diff --git a/assets/data/fresh/fresh_section2.png b/assets/data/fresh/fresh_section2.png
new file mode 100644
index 0000000..1e9c205
Binary files /dev/null and b/assets/data/fresh/fresh_section2.png differ
diff --git a/assets/data/fresh/fresh_section3.png b/assets/data/fresh/fresh_section3.png
new file mode 100644
index 0000000..bc5b667
Binary files /dev/null and b/assets/data/fresh/fresh_section3.png differ
diff --git a/assets/data/fresh/fresh_section4.png b/assets/data/fresh/fresh_section4.png
new file mode 100644
index 0000000..2c8b0b5
Binary files /dev/null and b/assets/data/fresh/fresh_section4.png differ
diff --git a/assets/data/fresh/fresh_section5.png b/assets/data/fresh/fresh_section5.png
new file mode 100644
index 0000000..fb5b868
Binary files /dev/null and b/assets/data/fresh/fresh_section5.png differ
diff --git a/assets/data/fresh/fresh_section6.png b/assets/data/fresh/fresh_section6.png
new file mode 100644
index 0000000..9e0a555
Binary files /dev/null and b/assets/data/fresh/fresh_section6.png differ
diff --git a/assets/data/fresh/fresh_section7.png b/assets/data/fresh/fresh_section7.png
new file mode 100644
index 0000000..820079b
Binary files /dev/null and b/assets/data/fresh/fresh_section7.png differ
diff --git a/assets/data/fresh/fresh_section8.png b/assets/data/fresh/fresh_section8.png
new file mode 100644
index 0000000..575497f
Binary files /dev/null and b/assets/data/fresh/fresh_section8.png differ
diff --git a/assets/images/DADDY_DEAREST.png b/assets/images/DADDY_DEAREST.png
index 7d93cbb..6acb600 100644
Binary files a/assets/images/DADDY_DEAREST.png and b/assets/images/DADDY_DEAREST.png differ
diff --git a/assets/images/DADDY_DEAREST.xml b/assets/images/DADDY_DEAREST.xml
index 2cb7619..eaa7594 100644
--- a/assets/images/DADDY_DEAREST.xml
+++ b/assets/images/DADDY_DEAREST.xml
@@ -2,21 +2,49 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/music/Fresh.mp3 b/assets/music/Fresh.mp3
new file mode 100644
index 0000000..14a91b8
Binary files /dev/null and b/assets/music/Fresh.mp3 differ
diff --git a/assets/music/Fresh_Inst.mp3 b/assets/music/Fresh_Inst.mp3
new file mode 100644
index 0000000..cb5d71a
Binary files /dev/null and b/assets/music/Fresh_Inst.mp3 differ
diff --git a/assets/music/Fresh_Voices.mp3 b/assets/music/Fresh_Voices.mp3
new file mode 100644
index 0000000..1573174
Binary files /dev/null and b/assets/music/Fresh_Voices.mp3 differ
diff --git a/assets/music/Jammer2.mp3 b/assets/music/Jammer2.mp3
deleted file mode 100644
index ab58375..0000000
Binary files a/assets/music/Jammer2.mp3 and /dev/null differ
diff --git a/source/Boyfriend.hx b/source/Boyfriend.hx
index 0dc9c72..51af857 100644
--- a/source/Boyfriend.hx
+++ b/source/Boyfriend.hx
@@ -20,16 +20,11 @@ class Boyfriend extends Character
animation.addByPrefix('hey', 'BF HEY', 24, false);
playAnim('idle');
- addOffset('idle');
- addOffset("singUP", -28, 27);
+ addOffset('idle', -5);
+ addOffset("singUP", -29, 27);
addOffset("singRIGHT", -38, -7);
addOffset("singLEFT", 12, -6);
- addOffset("singDOWN", -14, -50);
- addOffset("hey", 1, 6);
- }
-
- override function update(elapsed:Float)
- {
- super.update(elapsed);
+ addOffset("singDOWN", -10, -50);
+ addOffset("hey", 7, 4);
}
}
diff --git a/source/ChartParser.hx b/source/ChartParser.hx
index 46b1574..e6161da 100644
--- a/source/ChartParser.hx
+++ b/source/ChartParser.hx
@@ -11,7 +11,7 @@ class ChartParser
var IMG_WIDTH:Int = 8;
var regex:EReg = new EReg("[ \t]*((\r\n)|\r|\n)[ \t]*", "g");
- var csvData = FlxStringUtil.imageToCSV('assets/data/' + songName + '/section' + section + '.png');
+ var csvData = FlxStringUtil.imageToCSV('assets/data/' + songName + '/' + songName + '_section' + section + '.png');
var lines:Array = regex.split(csvData);
var rows:Array = lines.filter(function(line) return line != "");
diff --git a/source/Charting.hx b/source/Charting.hx
index 9aad403..a637847 100644
--- a/source/Charting.hx
+++ b/source/Charting.hx
@@ -7,6 +7,7 @@ import flixel.FlxState;
import flixel.addons.display.FlxGridOverlay;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.text.FlxText;
+import flixel.util.FlxColor;
/**
*DEBUG MODE
@@ -83,6 +84,7 @@ class Charting extends FlxState
{
var text:FlxText = new FlxText(10, 20 + (18 * daLoop), 0, anim + ": " + offsets, 15);
text.scrollFactor.set();
+ text.color = FlxColor.BLUE;
dumbTexts.add(text);
if (pushList)
diff --git a/source/Conductor.hx b/source/Conductor.hx
index c0e2eb8..f1e3d4c 100644
--- a/source/Conductor.hx
+++ b/source/Conductor.hx
@@ -16,4 +16,12 @@ class Conductor
public static var safeZoneOffset:Float = (safeFrames / 60) * 1000; // is calculated in create(), is safeFrames in milliseconds
public function new() {}
+
+ public static function changeBPM(newBpm:Int)
+ {
+ bpm = newBpm;
+
+ crochet = ((60 / bpm) * 1000);
+ stepCrochet = crochet / 4;
+ }
}
diff --git a/source/Dad.hx b/source/Dad.hx
index 2564183..d6351d9 100644
--- a/source/Dad.hx
+++ b/source/Dad.hx
@@ -11,14 +11,14 @@ class Dad extends Character
frames = dadTex;
animation.addByPrefix('idle', 'Dad idle dance', 24);
animation.addByPrefix('singUP', 'Dad Sing Note UP', 24);
- animation.addByPrefix('singRIGHT', 'Dad Sing Note UP', 24);
+ animation.addByPrefix('singRIGHT', 'Dad Sing Note RIGHT', 24);
animation.addByPrefix('singDOWN', 'Dad Sing Note DOWN', 24);
- animation.addByPrefix('singLEFT', 'Dad Sing Note RIGHT', 24);
+ animation.addByPrefix('singLEFT', 'Dad Sing Note LEFT', 24);
playAnim('idle');
addOffset('idle');
addOffset("singUP", -6, 50);
- addOffset("singRIGHT", -6, 50);
+ addOffset("singRIGHT", 0, 27);
addOffset("singLEFT", -10, 10);
addOffset("singDOWN", 0, -30);
}
diff --git a/source/PlayState.hx b/source/PlayState.hx
index d190e8e..9ee2e09 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -42,6 +42,7 @@ class PlayState extends FlxState
private var curSection:Int = 0;
private var sectionScores:Array = [[], []];
+ private var sectionLengths:Array = [];
private var camFollow:FlxObject;
private var strumLineNotes:FlxTypedGroup;
@@ -68,7 +69,7 @@ class PlayState extends FlxState
playerStrums = new FlxTypedGroup();
- generateSong('assets/data/bopeebo/bopeebo.json');
+ generateSong('assets/data/fresh/fresh.json');
canHitText = new FlxText(10, 10, 0, "weed");
@@ -98,6 +99,7 @@ class PlayState extends FlxState
generateStaticArrows(1);
var songData = Json.parse(Assets.getText(dataPath));
+ Conductor.changeBPM(songData.bpm);
FlxG.sound.playMusic("assets/music/" + songData.song + "_Inst.mp3");
vocals = new FlxSound().loadEmbedded("assets/music/" + songData.song + "_Voices.mp3");
@@ -119,21 +121,32 @@ class PlayState extends FlxState
while (playerCounter < 2)
{
var daBeats:Int = 0; // Not exactly representative of 'daBeats' lol, just how much it has looped
+ var totalLength:Int = 0; // Total length of the song, in beats;
for (section in noteData)
{
var dumbassSection:Array = section;
var daStep:Int = 0;
+ var coolSection:Int = Std.int(section.length / 4);
+
+ if (coolSection <= 4) // FIX SINCE MOST THE SHIT I MADE WERE ONLY 3 HTINGS LONG LOl
+ coolSection = 4;
+ else if (coolSection <= 8)
+ coolSection = 8;
for (songNotes in dumbassSection)
{
sectionScores[0].push(0);
sectionScores[1].push(0);
+ trace('SECTON');
+ trace(daBeats);
+ trace(totalLength);
+
if (songNotes != 0)
{
- var daStrumTime:Float = (((daStep * Conductor.stepCrochet) + (Conductor.crochet * 8 * daBeats))
- + ((Conductor.crochet * 4) * playerCounter));
+ var daStrumTime:Float = ((daStep * Conductor.stepCrochet) + (Conductor.crochet * 8 * totalLength))
+ + ((Conductor.crochet * coolSection) * playerCounter);
var swagNote:Note = new Note(daStrumTime, songNotes);
swagNote.scrollFactor.set(0, 0);
@@ -160,11 +173,16 @@ class PlayState extends FlxState
daStep += 1;
}
+ // only need to do it once
+ if (playerCounter == 0)
+ sectionLengths.push(Math.round(coolSection / 4));
+ totalLength += Math.round(coolSection / 4);
daBeats += 1;
}
playerCounter += 1;
}
+ trace(sectionLengths);
}
private function generateStaticArrows(player:Int):Void
@@ -237,9 +255,9 @@ class PlayState extends FlxState
FlxG.switchState(new Charting(true));
Conductor.songPosition = FlxG.sound.music.time;
- var playerTurn:Int = totalBeats % 8;
+ var playerTurn:Int = totalBeats % (sectionLengths[curSection] * 8);
- if (playerTurn == 7 && !sectionScored)
+ if (playerTurn == (sectionLengths[curSection] * 8) - 1 && !sectionScored)
{
popUpScore();
sectionScored = true;
@@ -251,7 +269,7 @@ class PlayState extends FlxState
vocals.volume = 1;
}
- if (playerTurn == 4)
+ if (playerTurn == Std.int((sectionLengths[curSection] * 8) / 2))
{
camFollow.setPosition(boyfriend.getGraphicMidpoint().x - 100, boyfriend.getGraphicMidpoint().y - 100);
}