1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-12-23 21:56:46 +00:00

BPM BULLSHIT

This commit is contained in:
Cameron Taylor 2020-10-29 20:06:52 -07:00
parent 805fb23ef0
commit 4cbab4f531
7 changed files with 95 additions and 22 deletions

View file

@ -92,5 +92,5 @@
<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
<icon path="art/icon.png"/>
<!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
<haxedef name="SKIP_TO_PLAYSTATE" if="debug" />
</project>

View file

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

View file

@ -85,6 +85,21 @@ class Character extends FlxSprite
addOffset("singDOWN", -50, -130);
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');
case 'dad':
playAnim('idle');
case 'monster':
playAnim('idle');
}
}

View file

@ -1,5 +1,6 @@
package;
import Section.SwagSection;
import Song.SwagSong;
import flixel.FlxG;
import flixel.FlxSprite;
@ -68,6 +69,8 @@ class ChartingState extends MusicBeatState
**/
var curSelectedNote:Array<Dynamic>;
var tempBpm:Int = 0;
override function create()
{
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();
// sections = _song.notes;
@ -172,7 +177,7 @@ class ChartingState extends MusicBeatState
stepperBPM.value = Conductor.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)
{
@ -208,6 +213,8 @@ class ChartingState extends MusicBeatState
var stepperLength:FlxUINumericStepper;
var check_mustHitSection:FlxUICheckBox;
var check_changeBPM:FlxUICheckBox;
var stepperSectionBPM:FlxUINumericStepper;
function addSectionUI():Void
{
@ -218,6 +225,10 @@ class ChartingState extends MusicBeatState
stepperLength.value = _song.notes[curSection].lengthInSteps;
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 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.checked = true;
// _song.needsVoices = check_mustHit.checked;
check_mustHitSection.callback = function()
{
// _song.needsVoices = check_mustHit.checked;
trace('CHECKED!');
};
check_changeBPM = new FlxUICheckBox(10, 60, null, null, 'Change BPM', 100);
check_changeBPM.name = 'check_changeBPM';
tab_group_section.add(stepperLength);
tab_group_section.add(stepperSectionBPM);
tab_group_section.add(stepperCopy);
tab_group_section.add(check_mustHitSection);
tab_group_section.add(check_changeBPM);
tab_group_section.add(copyButton);
UI_box.addGroup(tab_group_section);
@ -305,6 +316,8 @@ class ChartingState extends MusicBeatState
{
case 'Must hit section':
_song.notes[curSection].mustHitSection = check.checked;
case 'Change BPM':
_song.notes[curSection].changeBPM = check.checked;
}
}
else if (id == FlxUINumericStepper.CHANGE_EVENT && (sender is FlxUINumericStepper))
@ -323,6 +336,7 @@ class ChartingState extends MusicBeatState
}
else if (wname == 'song_bpm')
{
tempBpm = Std.int(nums.value);
Conductor.changeBPM(Std.int(nums.value));
}
else if (wname == 'note_susLength')
@ -330,6 +344,11 @@ class ChartingState extends MusicBeatState
curSelectedNote[2] = nums.value;
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);
@ -448,12 +467,12 @@ class ChartingState extends MusicBeatState
}
}
_song.bpm = Conductor.bpm;
_song.bpm = tempBpm;
if (FlxG.keys.justPressed.UP)
Conductor.changeBPM(Conductor.bpm + 1);
if (FlxG.keys.justPressed.DOWN)
Conductor.changeBPM(Conductor.bpm - 1);
/* if (FlxG.keys.justPressed.UP)
Conductor.changeBPM(Conductor.bpm + 1);
if (FlxG.keys.justPressed.DOWN)
Conductor.changeBPM(Conductor.bpm - 1); */
if (FlxG.keys.justPressed.RIGHT)
changeSection(curSection + 1);
@ -471,7 +490,6 @@ class ChartingState extends MusicBeatState
if (_song.notes[sec] != null)
{
curSection = sec;
updateGrid();
if (updateMusic)
{
@ -489,6 +507,7 @@ class ChartingState extends MusicBeatState
updateCurStep();
}
updateGrid();
updateSectionUI();
}
}
@ -514,6 +533,8 @@ class ChartingState extends MusicBeatState
stepperLength.value = sec.lengthInSteps;
check_mustHitSection.checked = sec.mustHitSection;
check_changeBPM.checked = sec.changeBPM;
stepperSectionBPM.value = sec.bpm;
}
function updateNoteUI():Void
@ -535,6 +556,15 @@ class ChartingState extends MusicBeatState
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
for (sec in 0..._song.notes.length)
{
@ -567,8 +597,7 @@ class ChartingState extends MusicBeatState
if (daSus > 0)
{
var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2),
note.y + getYfromStrum(note.strumTime + Conductor.stepCrochet)).makeGraphic(8,
Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
note.y + GRID_SIZE).makeGraphic(8, Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
curRenderedSustains.add(sustainVis);
}
}
@ -576,7 +605,16 @@ class ChartingState extends MusicBeatState
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
@ -648,7 +686,7 @@ class ChartingState extends MusicBeatState
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;

View file

@ -7,7 +7,7 @@ import flixel.text.FlxText;
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 curSelected:Int = 0;

View file

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

View file

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