Fix beat code and pixel sustain ends

This commit is contained in:
CuckyDev 2021-07-12 01:43:05 -04:00
parent d48a72fca9
commit 11c76edd93
5 changed files with 50 additions and 23 deletions

View File

@ -53,11 +53,21 @@ class MusicBeatState extends FlxUIState
//everyStep();
var nextStep:Int = updateCurStep();
if (nextStep > curStep && curStep >= 0)
if (nextStep >= 0)
{
for (i in curStep...nextStep)
if (nextStep > curStep)
{
curStep++;
for (i in curStep...nextStep)
{
curStep++;
updateBeat();
stepHit();
}
}
else if (nextStep < curStep)
{
//Song reset?
curStep = nextStep;
updateBeat();
stepHit();
}

View File

@ -26,11 +26,21 @@ class MusicBeatSubstate extends FlxSubState
//everyStep();
var nextStep = updateCurStep();
if (nextStep > curStep && curStep >= 0)
if (nextStep >= 0)
{
for (i in curStep...nextStep)
if (nextStep > curStep)
{
curStep++;
for (i in curStep...nextStep)
{
curStep++;
updateBeat();
stepHit();
}
}
else if (nextStep < curStep)
{
//Song reset?
curStep = nextStep;
updateBeat();
stepHit();
}

View File

@ -35,6 +35,8 @@ class Note extends FlxSprite
public var noteScore:Float = 1;
public var noteYOff:Int = 0;
public static var swagWidth:Float = 160 * 0.7;
public static var PURP_NOTE:Int = 0;
public static var GREEN_NOTE:Int = 2;
@ -92,8 +94,6 @@ class Note extends FlxSprite
//defaults if no noteStyle was found in chart
var noteTypeCheck:String = 'normal';
if (PlayState.curStage.startsWith('school'))
noteTypeCheck = 'pixel';
if (inCharter)
{
@ -185,6 +185,14 @@ class Note extends FlxSprite
x += width / 2;
switch (noteTypeCheck)
{
case 'pixel':
noteYOff = -13;
default:
noteYOff = 0;
}
originColor = prevNote.originColor;
animation.play(dataColor[originColor] + 'holdend'); // This works both for normal colors and quantization colors
@ -192,9 +200,8 @@ class Note extends FlxSprite
x -= width / 2;
if (noteTypeCheck == 'pixel')
x += 30;
//if (noteTypeCheck == 'pixel')
// x += 30;
if (inCharter)
x += 30;
@ -202,10 +209,8 @@ class Note extends FlxSprite
{
prevNote.animation.play(dataColor[prevNote.originColor] + 'hold');
if(FlxG.save.data.scrollSpeed != 1)
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed;
else
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
prevNote.noteYOff = 0;
prevNote.scale.y *= (0.45 * Conductor.stepCrochet * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? PlayState.SONG.speed : PlayStateChangeables.scrollSpeed, 2)) / prevNote.height * 1.01; //The 1.01 is so that there aren't odd 1 pixel gaps as the notes scroll
prevNote.updateHitbox();
// prevNote.setGraphicSize();
}

View File

@ -2640,6 +2640,8 @@ class PlayState extends MusicBeatState
if (generatedMusic)
{
var holdArray:Array<Bool> = [controls.LEFT, controls.DOWN, controls.UP, controls.RIGHT];
notes.forEachAlive(function(daNote:Note)
{
// instead of doing stupid y > FlxG.height
@ -2661,14 +2663,12 @@ class PlayState extends MusicBeatState
{
if (daNote.mustPress)
daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y
+
0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2));
+ 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2)) - daNote.noteYOff;
else
daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y
+
0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2));
+ 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2)) - daNote.noteYOff;
if (daNote.isSustainNote)
{
// Remember = minus makes notes go up, plus makes them go down
@ -2710,11 +2710,11 @@ class PlayState extends MusicBeatState
if (daNote.mustPress)
daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y
- 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2));
2)) + daNote.noteYOff;
else
daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y
- 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
2));
2)) + daNote.noteYOff;
if (daNote.isSustainNote)
{
daNote.y -= daNote.height / 2;

View File

@ -364,6 +364,8 @@ class TitleState extends MusicBeatState
switch (curBeat)
{
case 0:
deleteCoolText();
case 1:
createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']);
// credTextShit.visible = true;