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(); //everyStep();
var nextStep:Int = updateCurStep(); 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(); updateBeat();
stepHit(); stepHit();
} }

View File

@ -26,11 +26,21 @@ class MusicBeatSubstate extends FlxSubState
//everyStep(); //everyStep();
var nextStep = updateCurStep(); 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(); updateBeat();
stepHit(); stepHit();
} }

View File

@ -35,6 +35,8 @@ class Note extends FlxSprite
public var noteScore:Float = 1; public var noteScore:Float = 1;
public var noteYOff:Int = 0;
public static var swagWidth:Float = 160 * 0.7; public static var swagWidth:Float = 160 * 0.7;
public static var PURP_NOTE:Int = 0; public static var PURP_NOTE:Int = 0;
public static var GREEN_NOTE:Int = 2; public static var GREEN_NOTE:Int = 2;
@ -92,8 +94,6 @@ class Note extends FlxSprite
//defaults if no noteStyle was found in chart //defaults if no noteStyle was found in chart
var noteTypeCheck:String = 'normal'; var noteTypeCheck:String = 'normal';
if (PlayState.curStage.startsWith('school'))
noteTypeCheck = 'pixel';
if (inCharter) if (inCharter)
{ {
@ -185,6 +185,14 @@ class Note extends FlxSprite
x += width / 2; x += width / 2;
switch (noteTypeCheck)
{
case 'pixel':
noteYOff = -13;
default:
noteYOff = 0;
}
originColor = prevNote.originColor; originColor = prevNote.originColor;
animation.play(dataColor[originColor] + 'holdend'); // This works both for normal colors and quantization colors 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; x -= width / 2;
if (noteTypeCheck == 'pixel') //if (noteTypeCheck == 'pixel')
x += 30; // x += 30;
if (inCharter) if (inCharter)
x += 30; x += 30;
@ -202,10 +209,8 @@ class Note extends FlxSprite
{ {
prevNote.animation.play(dataColor[prevNote.originColor] + 'hold'); prevNote.animation.play(dataColor[prevNote.originColor] + 'hold');
if(FlxG.save.data.scrollSpeed != 1) prevNote.noteYOff = 0;
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed; 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
else
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
prevNote.updateHitbox(); prevNote.updateHitbox();
// prevNote.setGraphicSize(); // prevNote.setGraphicSize();
} }

View File

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

View File

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