This commit is contained in:
Detoria 2021-06-04 21:59:02 -03:00 committed by GitHub
parent 10972a68c3
commit a314d2aa29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 887 additions and 853 deletions

View File

@ -50,7 +50,9 @@ class Note extends FlxSprite
x += 50; x += 50;
// MAKE SURE ITS DEFINITELY OFF SCREEN? // MAKE SURE ITS DEFINITELY OFF SCREEN?
y -= 2000; y -= 2000;
this.strumTime = strumTime;
// Take half the sprite's height to compensate for the offset down below
this.strumTime = strumTime - frameHeight / 2;
if (this.strumTime < 0 ) if (this.strumTime < 0 )
this.strumTime = 0; this.strumTime = 0;
@ -125,14 +127,6 @@ class Note extends FlxSprite
animation.play('redScroll'); animation.play('redScroll');
} }
// trace(prevNote);
// we make sure its downscroll and its a SUSTAIN NOTE (aka a trail, not a note)
// and flip it so it doesn't look weird.
// THIS DOESN'T FUCKING FLIP THE NOTE, CONTRIBUTERS DON'T JUST COMMENT THIS OUT JESUS
if (FlxG.save.data.downscroll && sustainNote)
flipY = true;
if (isSustainNote && prevNote != null) if (isSustainNote && prevNote != null)
{ {
noteScore * 0.2; noteScore * 0.2;
@ -140,6 +134,10 @@ class Note extends FlxSprite
x += width / 2; x += width / 2;
flipY = true;
offset.y = frameHeight;
switch (noteData) switch (noteData)
{ {
case 2: case 2:
@ -161,6 +159,8 @@ class Note extends FlxSprite
if (prevNote.isSustainNote) if (prevNote.isSustainNote)
{ {
if(!FlxG.save.data.downscroll) flipY = false;
switch (prevNote.noteData) switch (prevNote.noteData)
{ {
case 0: case 0:
@ -178,6 +178,7 @@ class Note extends FlxSprite
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed; prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed;
else else
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed; prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
prevNote.updateHitbox(); prevNote.updateHitbox();
// prevNote.setGraphicSize(); // prevNote.setGraphicSize();
} }
@ -193,6 +194,7 @@ class Note extends FlxSprite
// ass // ass
if (isSustainNote) if (isSustainNote)
{ {
trace('sustain note');
if (strumTime > Conductor.songPosition - (Conductor.safeZoneOffset * 1.5) if (strumTime > Conductor.songPosition - (Conductor.safeZoneOffset * 1.5)
&& strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5)) && strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
canBeHit = true; canBeHit = true;

View File

@ -416,8 +416,8 @@ class ScrollSpeedOption extends Option
if (FlxG.save.data.scrollSpeed < 1) if (FlxG.save.data.scrollSpeed < 1)
FlxG.save.data.scrollSpeed = 1; FlxG.save.data.scrollSpeed = 1;
if (FlxG.save.data.scrollSpeed > 10) if (FlxG.save.data.scrollSpeed > 4)
FlxG.save.data.scrollSpeed = 10; FlxG.save.data.scrollSpeed = 4;
return true; return true;
} }
@ -431,8 +431,8 @@ class ScrollSpeedOption extends Option
if (FlxG.save.data.scrollSpeed < 1) if (FlxG.save.data.scrollSpeed < 1)
FlxG.save.data.scrollSpeed = 1; FlxG.save.data.scrollSpeed = 1;
if (FlxG.save.data.scrollSpeed > 10) if (FlxG.save.data.scrollSpeed > 4)
FlxG.save.data.scrollSpeed = 10; FlxG.save.data.scrollSpeed = 4;
return true; return true;
} }

View File

@ -2202,13 +2202,18 @@ class PlayState extends MusicBeatState
daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2)); daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2));
else else
daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2)); daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2));
if(daNote.isSustainNote) if(daNote.isSustainNote)
{ {
// Remember = minus makes notes go up, plus makes them go down daNote.y += daNote.frameHeight / 2;
if(daNote.animation.curAnim.name.endsWith('end') && daNote.prevNote != null)
daNote.y += daNote.prevNote.height; if(daNote.animation.curAnim.name.endsWith('holdend'))
else {
daNote.y += daNote.height / 2; daNote.y = daNote.prevNote.y - daNote.offset.y * 2;
if(SONG.noteStyle == 'pixel')
daNote.y += daNote.offset.y * 2;
}
// If not in botplay, only clip sustain notes when properly hit, botplay gets to clip it everytime // If not in botplay, only clip sustain notes when properly hit, botplay gets to clip it everytime
if(!FlxG.save.data.botplay) if(!FlxG.save.data.botplay)
@ -2216,14 +2221,14 @@ class PlayState extends MusicBeatState
if((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) && daNote.y - daNote.offset.y * daNote.scale.y + daNote.height >= (strumLine.y + Note.swagWidth / 2)) if((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) && daNote.y - daNote.offset.y * daNote.scale.y + daNote.height >= (strumLine.y + Note.swagWidth / 2))
{ {
// Clip to strumline // Clip to strumline
var swagRect = new FlxRect(0, 0, daNote.frameWidth * 2, daNote.frameHeight * 2); var swagRect = new FlxRect(0, 0, daNote.frameWidth * 2, daNote.frameHeight * 4);
swagRect.height = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + Note.swagWidth / 2 - daNote.y) / daNote.scale.y; swagRect.height = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + Note.swagWidth / 2 - daNote.y) / daNote.scale.y;
swagRect.y = daNote.frameHeight - swagRect.height; swagRect.y = daNote.frameHeight - swagRect.height;
daNote.clipRect = swagRect; daNote.clipRect = swagRect;
} }
}else { }else {
var swagRect = new FlxRect(0, 0, daNote.frameWidth * 2, daNote.frameHeight * 2); var swagRect = new FlxRect(0, 0, daNote.frameWidth * 2, daNote.frameHeight * 4);
swagRect.height = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + Note.swagWidth / 2 - daNote.y) / daNote.scale.y; swagRect.height = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y + Note.swagWidth / 2 - daNote.y) / daNote.scale.y;
swagRect.y = daNote.frameHeight - swagRect.height; swagRect.y = daNote.frameHeight - swagRect.height;
@ -2236,10 +2241,27 @@ class PlayState extends MusicBeatState
daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2)); daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2));
else else
daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2)); daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2));
if(daNote.isSustainNote) if(daNote.isSustainNote)
{ {
// Don't look at this goofy ass shit, my hatred for upscroll knows no bounds
daNote.y += daNote.frameHeight + daNote.frameHeight / 2;
daNote.offset.y = daNote.frameHeight;
if(SONG.noteStyle == 'pixel')
daNote.y += daNote.height / 2;
daNote.y -= daNote.height / 2; daNote.y -= daNote.height / 2;
if(daNote.animation.curAnim.name.endsWith('holdend'))
{
daNote.y = daNote.prevNote.y + daNote.prevNote.height / 2 + daNote.frameHeight / 6;
if(SONG.noteStyle == 'pixel')
daNote.y += daNote.offset.y / 2;
}
if(!FlxG.save.data.botplay) if(!FlxG.save.data.botplay)
{ {
if((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) && daNote.y + daNote.offset.y * daNote.scale.y <= (strumLine.y + Note.swagWidth / 2)) if((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) && daNote.y + daNote.offset.y * daNote.scale.y <= (strumLine.y + Note.swagWidth / 2))
@ -2262,6 +2284,16 @@ class PlayState extends MusicBeatState
} }
} }
if(daNote.prevNote.wasGoodHit && daNote.animation.curAnim.name.endsWith('holdend'))
{
daNote.active = false;
daNote.visible = false;
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
}
if (!daNote.mustPress && daNote.wasGoodHit) if (!daNote.mustPress && daNote.wasGoodHit)
{ {
if (SONG.song != 'Tutorial') if (SONG.song != 'Tutorial')