1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-11-16 11:53:45 +00:00

BPM BULLSHIT

This commit is contained in:
Cameron Taylor 2020-10-29 20:06:52 -07:00
parent ed40720ca6
commit 0c1fd3013c
18 changed files with 205 additions and 23 deletions

View file

@ -92,5 +92,5 @@
<!--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/icon.png"/> <icon path="art/icon.png"/>
<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> --> <haxedef name="SKIP_TO_PLAYSTATE" if="debug" />
</project> </project>

BIN
art/Monster_Assets.fla Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View file

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="Monster_Assets.png">
<!-- Created with Adobe Animate version 20.0.0.17400 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="Monster Right note0000" x="0" y="0" width="375" height="674" frameX="-4" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0001" x="0" y="0" width="375" height="674" frameX="-4" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0002" x="385" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0003" x="385" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0004" x="776" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0005" x="776" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0006" x="1167" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0007" x="1167" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0008" x="1558" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0009" x="1558" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0010" x="1949" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0011" x="1949" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0012" x="2340" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0013" x="2340" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster Right note0014" x="385" y="0" width="381" height="671" frameX="0" frameY="0" frameWidth="381" frameHeight="674"/>
<SubTexture name="Monster left note0000" x="2731" y="0" width="460" height="671" frameX="-15" frameY="0" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0001" x="2731" y="0" width="460" height="671" frameX="-15" frameY="0" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0002" x="3201" y="0" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0003" x="3201" y="0" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0004" x="0" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0005" x="0" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0006" x="481" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0007" x="481" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0008" x="962" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0009" x="962" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0010" x="1443" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0011" x="1443" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0012" x="1924" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0013" x="1924" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0014" x="3201" y="0" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0015" x="3201" y="0" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0016" x="0" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0017" x="0" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0018" x="481" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="Monster left note0019" x="481" y="684" width="471" height="668" frameX="0" frameY="-5" frameWidth="475" frameHeight="673"/>
<SubTexture name="monster down0000" x="2405" y="684" width="428" height="599" frameX="-12" frameY="-35" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0001" x="2405" y="684" width="428" height="599" frameX="-12" frameY="-35" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0002" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0003" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0004" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0005" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0006" x="0" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0007" x="0" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0008" x="444" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0009" x="444" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0010" x="888" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0011" x="888" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0012" x="1332" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0013" x="1332" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0014" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0015" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0016" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0017" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0018" x="0" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0019" x="0" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0020" x="444" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0021" x="444" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0022" x="888" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0023" x="888" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0024" x="1332" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0025" x="1332" y="1362" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0026" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0027" x="2843" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0028" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster down0029" x="3287" y="684" width="434" height="633" frameX="0" frameY="0" frameWidth="440" frameHeight="634"/>
<SubTexture name="monster idle0000" x="1776" y="1362" width="424" height="604" frameX="-46" frameY="-73" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0001" x="1776" y="1362" width="424" height="604" frameX="-46" frameY="-73" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0002" x="2210" y="1362" width="422" height="605" frameX="-49" frameY="-69" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0003" x="2210" y="1362" width="422" height="605" frameX="-49" frameY="-69" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0004" x="2642" y="1362" width="439" height="610" frameX="-38" frameY="-61" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0005" x="3091" y="1362" width="439" height="630" frameX="-38" frameY="-41" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0006" x="3540" y="1362" width="481" height="661" frameX="-3" frameY="-11" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0007" x="3540" y="1362" width="481" height="661" frameX="-3" frameY="-11" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0008" x="0" y="2033" width="484" height="670" frameX="0" frameY="-3" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0009" x="0" y="2033" width="484" height="670" frameX="0" frameY="-3" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0010" x="494" y="2033" width="484" height="673" frameX="0" frameY="0" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0011" x="494" y="2033" width="484" height="673" frameX="0" frameY="0" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0012" x="988" y="2033" width="484" height="673" frameX="0" frameY="0" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0013" x="988" y="2033" width="484" height="673" frameX="0" frameY="0" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster idle0014" x="1482" y="2033" width="484" height="673" frameX="0" frameY="0" frameWidth="484" frameHeight="677"/>
<SubTexture name="monster up note0000" x="1976" y="2033" width="410" height="714" frameX="-7" frameY="0" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0001" x="1976" y="2033" width="410" height="714" frameX="-7" frameY="0" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0002" x="2396" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0003" x="2396" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0004" x="2824" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0005" x="2824" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0006" x="3252" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0007" x="3252" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0008" x="0" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0009" x="0" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0010" x="428" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0011" x="428" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0012" x="856" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0013" x="856" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0014" x="2396" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0015" x="2396" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0016" x="2824" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0017" x="2824" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0018" x="3252" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0019" x="3252" y="2033" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0020" x="0" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0021" x="0" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0022" x="428" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
<SubTexture name="monster up note0023" x="428" y="2757" width="418" height="711" frameX="0" frameY="-9" frameWidth="418" frameHeight="720"/>
</TextureAtlas>

BIN
assets/music/Monster.mp3 Normal file

Binary file not shown.

BIN
assets/music/Monster.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -21,7 +21,7 @@ class AnimationDebug extends FlxState
var dumbTexts:FlxTypedGroup<FlxText>; var dumbTexts:FlxTypedGroup<FlxText>;
var animList:Array<String> = []; var animList:Array<String> = [];
var curAnim:Int = 0; var curAnim:Int = 0;
var isDad:Bool = false; var isDad:Bool = true;
var daAnim:String = 'spooky'; var daAnim:String = 'spooky';
var camFollow:FlxObject; var camFollow:FlxObject;
@ -39,6 +39,9 @@ class AnimationDebug extends FlxState
gridBG.scrollFactor.set(0.5, 0.5); gridBG.scrollFactor.set(0.5, 0.5);
add(gridBG); add(gridBG);
if (daAnim == 'bf')
isDad = false;
if (isDad) if (isDad)
{ {
dad = new Character(0, 0, daAnim); dad = new Character(0, 0, daAnim);

View file

@ -85,6 +85,21 @@ class Character extends FlxSprite
addOffset("singDOWN", -50, -130); addOffset("singDOWN", -50, -130);
playAnim('danceRight'); playAnim('danceRight');
case 'monster':
tex = FlxAtlasFrames.fromSparrow(AssetPaths.Monster_Assets__png, AssetPaths.Monster_Assets__xml);
frames = tex;
animation.addByPrefix('idle', 'monster idle', 24);
animation.addByPrefix('singUP', 'monster up note', 24, false);
animation.addByPrefix('singDOWN', 'monster down', 24, false);
animation.addByPrefix('singLEFT', 'Monster left note', 24, false);
animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false);
addOffset('idle');
addOffset("singUP", -20, 50);
addOffset("singRIGHT", -51);
addOffset("singLEFT", -30);
addOffset("singDOWN", -30, -40);
playAnim('idle');
} }
} }
@ -113,6 +128,8 @@ class Character extends FlxSprite
playAnim('danceLeft'); playAnim('danceLeft');
case 'dad': case 'dad':
playAnim('idle'); playAnim('idle');
case 'monster':
playAnim('idle');
} }
} }

View file

@ -1,5 +1,6 @@
package; package;
import Section.SwagSection;
import Song.SwagSong; import Song.SwagSong;
import flixel.FlxG; import flixel.FlxG;
import flixel.FlxSprite; import flixel.FlxSprite;
@ -68,6 +69,8 @@ class ChartingState extends MusicBeatState
**/ **/
var curSelectedNote:Array<Dynamic>; var curSelectedNote:Array<Dynamic>;
var tempBpm:Int = 0;
override function create() override function create()
{ {
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16); gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16);
@ -93,6 +96,8 @@ class ChartingState extends MusicBeatState
}; };
} }
tempBpm = _song.bpm;
addSection(); addSection();
// sections = _song.notes; // sections = _song.notes;
@ -172,7 +177,7 @@ class ChartingState extends MusicBeatState
stepperBPM.value = Conductor.bpm; stepperBPM.value = Conductor.bpm;
stepperBPM.name = 'song_bpm'; stepperBPM.name = 'song_bpm';
var characters:Array<String> = ["bf", 'dad', 'gf', 'spooky']; var characters:Array<String> = ["bf", 'dad', 'gf', 'spooky', 'monster'];
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String) var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{ {
@ -208,6 +213,8 @@ class ChartingState extends MusicBeatState
var stepperLength:FlxUINumericStepper; var stepperLength:FlxUINumericStepper;
var check_mustHitSection:FlxUICheckBox; var check_mustHitSection:FlxUICheckBox;
var check_changeBPM:FlxUICheckBox;
var stepperSectionBPM:FlxUINumericStepper;
function addSectionUI():Void function addSectionUI():Void
{ {
@ -218,6 +225,10 @@ class ChartingState extends MusicBeatState
stepperLength.value = _song.notes[curSection].lengthInSteps; stepperLength.value = _song.notes[curSection].lengthInSteps;
stepperLength.name = "section_length"; stepperLength.name = "section_length";
stepperSectionBPM = new FlxUINumericStepper(10, 80, 1, Conductor.bpm, 0, 999, 0);
stepperSectionBPM.value = Conductor.bpm;
stepperSectionBPM.name = 'section_bpm';
var stepperCopy:FlxUINumericStepper = new FlxUINumericStepper(110, 30, 1, 1, -999, 999, 0); var stepperCopy:FlxUINumericStepper = new FlxUINumericStepper(110, 30, 1, 1, -999, 999, 0);
var copyButton:FlxButton = new FlxButton(110, 8, "Copy last section", function() var copyButton:FlxButton = new FlxButton(110, 8, "Copy last section", function()
@ -229,15 +240,15 @@ class ChartingState extends MusicBeatState
check_mustHitSection.name = 'check_mustHit'; check_mustHitSection.name = 'check_mustHit';
check_mustHitSection.checked = true; check_mustHitSection.checked = true;
// _song.needsVoices = check_mustHit.checked; // _song.needsVoices = check_mustHit.checked;
check_mustHitSection.callback = function()
{ check_changeBPM = new FlxUICheckBox(10, 60, null, null, 'Change BPM', 100);
// _song.needsVoices = check_mustHit.checked; check_changeBPM.name = 'check_changeBPM';
trace('CHECKED!');
};
tab_group_section.add(stepperLength); tab_group_section.add(stepperLength);
tab_group_section.add(stepperSectionBPM);
tab_group_section.add(stepperCopy); tab_group_section.add(stepperCopy);
tab_group_section.add(check_mustHitSection); tab_group_section.add(check_mustHitSection);
tab_group_section.add(check_changeBPM);
tab_group_section.add(copyButton); tab_group_section.add(copyButton);
UI_box.addGroup(tab_group_section); UI_box.addGroup(tab_group_section);
@ -305,6 +316,8 @@ class ChartingState extends MusicBeatState
{ {
case 'Must hit section': case 'Must hit section':
_song.notes[curSection].mustHitSection = check.checked; _song.notes[curSection].mustHitSection = check.checked;
case 'Change BPM':
_song.notes[curSection].changeBPM = check.checked;
} }
} }
else if (id == FlxUINumericStepper.CHANGE_EVENT && (sender is FlxUINumericStepper)) else if (id == FlxUINumericStepper.CHANGE_EVENT && (sender is FlxUINumericStepper))
@ -323,6 +336,7 @@ class ChartingState extends MusicBeatState
} }
else if (wname == 'song_bpm') else if (wname == 'song_bpm')
{ {
tempBpm = Std.int(nums.value);
Conductor.changeBPM(Std.int(nums.value)); Conductor.changeBPM(Std.int(nums.value));
} }
else if (wname == 'note_susLength') else if (wname == 'note_susLength')
@ -330,6 +344,11 @@ class ChartingState extends MusicBeatState
curSelectedNote[2] = nums.value; curSelectedNote[2] = nums.value;
updateGrid(); updateGrid();
} }
else if (wname == 'section_bpm')
{
_song.notes[curSection].bpm = Std.int(nums.value);
updateGrid();
}
} }
// FlxG.log.add(id + " WEED " + sender + " WEED " + data + " WEED " + params); // FlxG.log.add(id + " WEED " + sender + " WEED " + data + " WEED " + params);
@ -448,12 +467,12 @@ class ChartingState extends MusicBeatState
} }
} }
_song.bpm = Conductor.bpm; _song.bpm = tempBpm;
if (FlxG.keys.justPressed.UP) /* if (FlxG.keys.justPressed.UP)
Conductor.changeBPM(Conductor.bpm + 1); Conductor.changeBPM(Conductor.bpm + 1);
if (FlxG.keys.justPressed.DOWN) if (FlxG.keys.justPressed.DOWN)
Conductor.changeBPM(Conductor.bpm - 1); Conductor.changeBPM(Conductor.bpm - 1); */
if (FlxG.keys.justPressed.RIGHT) if (FlxG.keys.justPressed.RIGHT)
changeSection(curSection + 1); changeSection(curSection + 1);
@ -471,7 +490,6 @@ class ChartingState extends MusicBeatState
if (_song.notes[sec] != null) if (_song.notes[sec] != null)
{ {
curSection = sec; curSection = sec;
updateGrid();
if (updateMusic) if (updateMusic)
{ {
@ -489,6 +507,7 @@ class ChartingState extends MusicBeatState
updateCurStep(); updateCurStep();
} }
updateGrid();
updateSectionUI(); updateSectionUI();
} }
} }
@ -514,6 +533,8 @@ class ChartingState extends MusicBeatState
stepperLength.value = sec.lengthInSteps; stepperLength.value = sec.lengthInSteps;
check_mustHitSection.checked = sec.mustHitSection; check_mustHitSection.checked = sec.mustHitSection;
check_changeBPM.checked = sec.changeBPM;
stepperSectionBPM.value = sec.bpm;
} }
function updateNoteUI():Void function updateNoteUI():Void
@ -535,6 +556,15 @@ class ChartingState extends MusicBeatState
var sectionInfo:Array<Dynamic> = _song.notes[curSection].sectionNotes; var sectionInfo:Array<Dynamic> = _song.notes[curSection].sectionNotes;
if (_song.notes[curSection].changeBPM && _song.notes[curSection].bpm > 0)
{
Conductor.changeBPM(_song.notes[curSection].bpm);
}
else
{
Conductor.changeBPM(tempBpm);
}
/* // PORT BULLSHIT, INCASE THERE'S NO SUSTAIN DATA FOR A NOTE /* // PORT BULLSHIT, INCASE THERE'S NO SUSTAIN DATA FOR A NOTE
for (sec in 0..._song.notes.length) for (sec in 0..._song.notes.length)
{ {
@ -567,8 +597,7 @@ class ChartingState extends MusicBeatState
if (daSus > 0) if (daSus > 0)
{ {
var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2), var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2),
note.y + getYfromStrum(note.strumTime + Conductor.stepCrochet)).makeGraphic(8, note.y + GRID_SIZE).makeGraphic(8, Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
curRenderedSustains.add(sustainVis); curRenderedSustains.add(sustainVis);
} }
} }
@ -576,7 +605,16 @@ class ChartingState extends MusicBeatState
private function addSection(lengthInSteps:Int = 16):Void private function addSection(lengthInSteps:Int = 16):Void
{ {
_song.notes.push(new Section(lengthInSteps)); var sec:SwagSection = {
lengthInSteps: lengthInSteps,
bpm: _song.bpm,
changeBPM: false,
mustHitSection: true,
sectionNotes: [],
typeOfSection: 0
};
_song.notes.push(sec);
} }
function selectNote(note:Note):Void function selectNote(note:Note):Void
@ -648,7 +686,7 @@ class ChartingState extends MusicBeatState
return FlxMath.remapToRange(strumTime, 0, 16 * Conductor.stepCrochet, gridBG.y, gridBG.y + gridBG.height); return FlxMath.remapToRange(strumTime, 0, 16 * Conductor.stepCrochet, gridBG.y, gridBG.y + gridBG.height);
} }
function calculateSectionLengths(?sec:Section):Int function calculateSectionLengths(?sec:SwagSection):Int
{ {
var daLength:Int = 0; var daLength:Int = 0;

View file

@ -7,7 +7,7 @@ import flixel.text.FlxText;
class FreeplayState extends MusicBeatState class FreeplayState extends MusicBeatState
{ {
var songs:Array<String> = ["Bopeebo", "Dadbattle", "Fresh", "Tutorial", "Spookeez", "South"]; var songs:Array<String> = ["Bopeebo", "Dadbattle", "Fresh", "Tutorial", "Spookeez", "South", "Monster"];
var selector:FlxText; var selector:FlxText;
var curSelected:Int = 0; var curSelected:Int = 0;

View file

@ -125,6 +125,8 @@ class PlayState extends MusicBeatState
gf.visible = false; gf.visible = false;
case "spooky": case "spooky":
dad.y += 200; dad.y += 200;
case "monster":
dad.y += 100;
} }
boyfriend = new Boyfriend(770, 450); boyfriend = new Boyfriend(770, 450);
@ -188,8 +190,8 @@ class PlayState extends MusicBeatState
healthBarBG.cameras = [camHUD]; healthBarBG.cameras = [camHUD];
healthHeads.cameras = [camHUD]; healthHeads.cameras = [camHUD];
if (SONG.song == 'South') // if (SONG.song == 'South')
FlxG.camera.alpha = 0.7; // FlxG.camera.alpha = 0.7;
// UI_camera.zoom = 1; // UI_camera.zoom = 1;
// cameras = [FlxG.cameras.list[1]]; // cameras = [FlxG.cameras.list[1]];
@ -542,7 +544,7 @@ class PlayState extends MusicBeatState
/* if (FlxG.keys.justPressed.NINE) /* if (FlxG.keys.justPressed.NINE)
FlxG.switchState(new Charting()); */ FlxG.switchState(new Charting()); */
if (FlxG.keys.justPressed.EIGHT) if (FlxG.keys.justPressed.EIGHT)
FlxG.switchState(new AnimationDebug(SONG.player1)); FlxG.switchState(new AnimationDebug(SONG.player2));
if (startingSong) if (startingSong)
{ {
@ -700,6 +702,9 @@ class PlayState extends MusicBeatState
dad.playAnim('singLEFT'); dad.playAnim('singLEFT');
} }
if (SONG.needsVoices)
vocals.volume = 1;
daNote.kill(); daNote.kill();
notes.remove(daNote, true); notes.remove(daNote, true);
daNote.destroy(); daNote.destroy();
@ -1145,6 +1150,14 @@ class PlayState extends MusicBeatState
if (generatedMusic) if (generatedMusic)
{ {
notes.sort(FlxSort.byY, FlxSort.DESCENDING); notes.sort(FlxSort.byY, FlxSort.DESCENDING);
if (SONG.notes[curSection].changeBPM != null)
{
if (SONG.notes[curSection].changeBPM)
{
Conductor.changeBPM(SONG.notes[curSection].bpm);
}
}
} }
if (camZooming && FlxG.camera.zoom < 1.35 && totalBeats % 4 == 0) if (camZooming && FlxG.camera.zoom < 1.35 && totalBeats % 4 == 0)

View file

@ -6,6 +6,8 @@ typedef SwagSection =
var lengthInSteps:Int; var lengthInSteps:Int;
var typeOfSection:Int; var typeOfSection:Int;
var mustHitSection:Bool; var mustHitSection:Bool;
var bpm:Int;
var changeBPM:Bool;
} }
class Section class Section