Merge pull request #1276 from cuckydev/fix-note-draw

Fix sustain note drawing
This commit is contained in:
Kade M 2021-07-11 23:15:21 -07:00 committed by GitHub
commit 4ed6331113
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 53 additions and 24 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)
{
@ -192,22 +192,29 @@ class Note extends FlxSprite
x -= width / 2;
if (noteTypeCheck == 'pixel')
x += 30;
//if (noteTypeCheck == 'pixel')
// x += 30;
if (inCharter)
x += 30;
if (prevNote.isSustainNote)
{
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.updateHitbox();
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();
switch (noteTypeCheck)
{
case 'pixel':
noteYOff = -13;
default:
noteYOff = -23;
}
}
}
}

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;