Fixed Note Speed
This commit is contained in:
parent
fc36958af9
commit
0cb23f7972
@ -40,8 +40,9 @@ class Note extends FlxSprite
|
|||||||
if (prevNote == null)
|
if (prevNote == null)
|
||||||
prevNote = this;
|
prevNote = this;
|
||||||
|
|
||||||
if (FlxG.save.data.downscroll)
|
// And have up and down arrows flipped too? Nop
|
||||||
flipY = true;
|
/* if (FlxG.save.data.downscroll)
|
||||||
|
flipY = true; */
|
||||||
|
|
||||||
this.prevNote = prevNote;
|
this.prevNote = prevNote;
|
||||||
isSustainNote = sustainNote;
|
isSustainNote = sustainNote;
|
||||||
@ -49,6 +50,7 @@ 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 + FlxG.save.data.offset;
|
this.strumTime = strumTime + FlxG.save.data.offset;
|
||||||
|
|
||||||
this.noteData = noteData;
|
this.noteData = noteData;
|
||||||
@ -65,19 +67,29 @@ class Note extends FlxSprite
|
|||||||
animation.add('blueScroll', [5]);
|
animation.add('blueScroll', [5]);
|
||||||
animation.add('purpleScroll', [4]);
|
animation.add('purpleScroll', [4]);
|
||||||
|
|
||||||
|
// Hold piece
|
||||||
|
animation.add('purplehold', [0]);
|
||||||
|
animation.add('greenhold', [2]);
|
||||||
|
animation.add('redhold', [3]);
|
||||||
|
animation.add('bluehold', [1]);
|
||||||
|
|
||||||
if (isSustainNote)
|
if (isSustainNote)
|
||||||
{
|
{
|
||||||
loadGraphic(Paths.image('weeb/pixelUI/arrowEnds'), true, 7, 6);
|
loadGraphic(Paths.image('weeb/pixelUI/arrowEnds'), true, 7, 6);
|
||||||
|
|
||||||
animation.add('purpleholdend', [4]);
|
if(!FlxG.save.data.downscroll)
|
||||||
animation.add('greenholdend', [6]);
|
{
|
||||||
animation.add('redholdend', [7]);
|
// Trail end
|
||||||
animation.add('blueholdend', [5]);
|
animation.add('purpleholdend', [4]);
|
||||||
|
animation.add('greenholdend', [6]);
|
||||||
animation.add('purplehold', [0]);
|
animation.add('redholdend', [7]);
|
||||||
animation.add('greenhold', [2]);
|
animation.add('blueholdend', [5]);
|
||||||
animation.add('redhold', [3]);
|
}else {
|
||||||
animation.add('bluehold', [1]);
|
animation.add('purpleholdend', [4], 0, false, false, true);
|
||||||
|
animation.add('greenholdend', [6], 0, false, false, true);
|
||||||
|
animation.add('redholdend', [7], 0, false, false, true);
|
||||||
|
animation.add('blueholdend', [5], 0, false, false, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setGraphicSize(Std.int(width * PlayState.daPixelZoom));
|
setGraphicSize(Std.int(width * PlayState.daPixelZoom));
|
||||||
@ -91,16 +103,24 @@ class Note extends FlxSprite
|
|||||||
animation.addByPrefix('blueScroll', 'blue0');
|
animation.addByPrefix('blueScroll', 'blue0');
|
||||||
animation.addByPrefix('purpleScroll', 'purple0');
|
animation.addByPrefix('purpleScroll', 'purple0');
|
||||||
|
|
||||||
animation.addByPrefix('purpleholdend', 'pruple end hold');
|
|
||||||
animation.addByPrefix('greenholdend', 'green hold end');
|
|
||||||
animation.addByPrefix('redholdend', 'red hold end');
|
|
||||||
animation.addByPrefix('blueholdend', 'blue hold end');
|
|
||||||
|
|
||||||
animation.addByPrefix('purplehold', 'purple hold piece');
|
animation.addByPrefix('purplehold', 'purple hold piece');
|
||||||
animation.addByPrefix('greenhold', 'green hold piece');
|
animation.addByPrefix('greenhold', 'green hold piece');
|
||||||
animation.addByPrefix('redhold', 'red hold piece');
|
animation.addByPrefix('redhold', 'red hold piece');
|
||||||
animation.addByPrefix('bluehold', 'blue hold piece');
|
animation.addByPrefix('bluehold', 'blue hold piece');
|
||||||
|
|
||||||
|
if(!FlxG.save.data.downscroll)
|
||||||
|
{
|
||||||
|
animation.addByPrefix('purpleholdend', 'pruple end hold');
|
||||||
|
animation.addByPrefix('greenholdend', 'green hold end');
|
||||||
|
animation.addByPrefix('redholdend', 'red hold end');
|
||||||
|
animation.addByPrefix('blueholdend', 'blue hold end');
|
||||||
|
}else {
|
||||||
|
animation.addByPrefix('purpleholdend', 'pruple end hold', 0, false, false, true);
|
||||||
|
animation.addByPrefix('greenholdend', 'green hold end', 0, false, false, true);
|
||||||
|
animation.addByPrefix('redholdend', 'red hold end', 0, false, false, true);
|
||||||
|
animation.addByPrefix('blueholdend', 'blue hold end', 0, false, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
setGraphicSize(Std.int(width * 0.7));
|
setGraphicSize(Std.int(width * 0.7));
|
||||||
updateHitbox();
|
updateHitbox();
|
||||||
antialiasing = true;
|
antialiasing = true;
|
||||||
@ -164,7 +184,7 @@ class Note extends FlxSprite
|
|||||||
prevNote.animation.play('redhold');
|
prevNote.animation.play('redhold');
|
||||||
}
|
}
|
||||||
|
|
||||||
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed;
|
prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.noteSpeed;
|
||||||
prevNote.updateHitbox();
|
prevNote.updateHitbox();
|
||||||
// prevNote.setGraphicSize();
|
// prevNote.setGraphicSize();
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@ class OptionsMenu extends MusicBeatState
|
|||||||
{
|
{
|
||||||
var selector:FlxText;
|
var selector:FlxText;
|
||||||
var curSelected:Int = 0;
|
var curSelected:Int = 0;
|
||||||
|
var chartSpeed:FlxText;
|
||||||
|
var speedState:String;
|
||||||
|
|
||||||
var controlsStrings:Array<String> = [];
|
var controlsStrings:Array<String> = [];
|
||||||
|
|
||||||
@ -31,6 +33,7 @@ class OptionsMenu extends MusicBeatState
|
|||||||
"\n" + (FlxG.save.data.downscroll ? 'Downscroll' : 'Upscroll') +
|
"\n" + (FlxG.save.data.downscroll ? 'Downscroll' : 'Upscroll') +
|
||||||
"\nAccuracy " + (!FlxG.save.data.accuracyDisplay ? "off" : "on") +
|
"\nAccuracy " + (!FlxG.save.data.accuracyDisplay ? "off" : "on") +
|
||||||
"\nSong Position " + (!FlxG.save.data.songPosition ? "off" : "on") +
|
"\nSong Position " + (!FlxG.save.data.songPosition ? "off" : "on") +
|
||||||
|
"\nNote Speed" +
|
||||||
"\nEtterna Mode " + (!FlxG.save.data.etternaMode ? "off" : "on") +
|
"\nEtterna Mode " + (!FlxG.save.data.etternaMode ? "off" : "on") +
|
||||||
"\nLoad replays");
|
"\nLoad replays");
|
||||||
|
|
||||||
@ -61,6 +64,20 @@ class OptionsMenu extends MusicBeatState
|
|||||||
versionShit.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
|
versionShit.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
|
||||||
add(versionShit);
|
add(versionShit);
|
||||||
|
|
||||||
|
var tmp_Speed:Float = FlxG.save.data.noteSpeed;
|
||||||
|
|
||||||
|
chartSpeed = new FlxText(FlxG.width - 387, FlxG.height - 18, 0, "Note Speed (Hover, then Left and Right): " + tmp_Speed, 12);
|
||||||
|
chartSpeed.scrollFactor.set();
|
||||||
|
chartSpeed.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
|
||||||
|
|
||||||
|
if(tmp_Speed == -1) chartSpeed.x = FlxG.width - 470;
|
||||||
|
else if(tmp_Speed == 1.5 || tmp_Speed == 2.5 || tmp_Speed == 3.5) chartSpeed.x = FlxG.width - 405;
|
||||||
|
else chartSpeed.x = FlxG.width - 387;
|
||||||
|
|
||||||
|
if(FlxG.save.data.noteSpeed > 0) chartSpeed.text = "Note Speed (Hover, then Left and Right): " + FlxG.save.data.noteSpeed.toString();
|
||||||
|
else chartSpeed.text = "Note Speed (Hover, then Left and Right): Song Based";
|
||||||
|
add(chartSpeed);
|
||||||
|
|
||||||
super.create();
|
super.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,21 +94,72 @@ class OptionsMenu extends MusicBeatState
|
|||||||
|
|
||||||
if (controls.RIGHT_R)
|
if (controls.RIGHT_R)
|
||||||
{
|
{
|
||||||
FlxG.save.data.offset++;
|
if(curSelected != 5)
|
||||||
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset;
|
{
|
||||||
|
FlxG.save.data.offset++;
|
||||||
|
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset;
|
||||||
|
}else {
|
||||||
|
if(FlxG.save.data.noteSpeed < 4.0)
|
||||||
|
if(FlxG.save.data.noteSpeed == -1) FlxG.save.data.noteSpeed = 1.0;
|
||||||
|
else FlxG.save.data.noteSpeed += 0.5;
|
||||||
|
|
||||||
|
grpControls.remove(grpControls.members[curSelected]);
|
||||||
|
var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, "Note Speed", true, false);
|
||||||
|
ctrl.isMenuItem = true;
|
||||||
|
ctrl.targetY = curSelected - 5;
|
||||||
|
grpControls.add(ctrl);
|
||||||
|
|
||||||
|
if(FlxG.save.data.noteSpeed > 0) speedState = FlxG.save.data.noteSpeed.toString();
|
||||||
|
else speedState = "Song Based";
|
||||||
|
|
||||||
|
chartSpeed.text = "Note Speed (Hover, then Left and Right): " + speedState;
|
||||||
|
|
||||||
|
trace(FlxG.save.data.noteSpeed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (controls.LEFT_R)
|
if (controls.LEFT_R)
|
||||||
|
{
|
||||||
|
if(curSelected != 5)
|
||||||
{
|
{
|
||||||
FlxG.save.data.offset--;
|
FlxG.save.data.offset--;
|
||||||
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset;
|
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset;
|
||||||
}
|
}else {
|
||||||
|
if(FlxG.save.data.noteSpeed > 1.0) FlxG.save.data.noteSpeed -= 0.5;
|
||||||
|
else FlxG.save.data.noteSpeed = -1;
|
||||||
|
|
||||||
|
trace(FlxG.save.data.noteSpeed);
|
||||||
|
var speedState = "";
|
||||||
|
|
||||||
|
if(FlxG.save.data.noteSpeed > 0) speedState = FlxG.save.data.noteSpeed.toString();
|
||||||
|
else speedState = "Song Based";
|
||||||
|
|
||||||
|
chartSpeed.text = "Note Speed (Hover, then Left and Right): " + speedState;
|
||||||
|
|
||||||
|
grpControls.remove(grpControls.members[curSelected]);
|
||||||
|
var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, "Note Speed", true, false);
|
||||||
|
ctrl.isMenuItem = true;
|
||||||
|
ctrl.targetY = curSelected - 5;
|
||||||
|
grpControls.add(ctrl);
|
||||||
|
|
||||||
|
trace(FlxG.save.data.noteSpeed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(controls.LEFT_R && curSelected == 5 || controls.RIGHT_R && curSelected == 5 )
|
||||||
|
{
|
||||||
|
var tmp_Speed:Float = FlxG.save.data.noteSpeed;
|
||||||
|
|
||||||
|
if(tmp_Speed == -1) chartSpeed.x = FlxG.width - 470;
|
||||||
|
else if(tmp_Speed == 1.5 || tmp_Speed == 2.5 || tmp_Speed == 3.5) chartSpeed.x = FlxG.width - 405;
|
||||||
|
else chartSpeed.x = FlxG.width - 387;
|
||||||
|
}
|
||||||
|
|
||||||
if (controls.ACCEPT)
|
if (controls.ACCEPT)
|
||||||
{
|
{
|
||||||
if (curSelected != 6)
|
if (curSelected != 7 && curSelected != 5)
|
||||||
grpControls.remove(grpControls.members[curSelected]);
|
grpControls.remove(grpControls.members[curSelected]);
|
||||||
|
|
||||||
switch(curSelected)
|
switch(curSelected)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -129,13 +197,13 @@ class OptionsMenu extends MusicBeatState
|
|||||||
ctrl.isMenuItem = true;
|
ctrl.isMenuItem = true;
|
||||||
ctrl.targetY = curSelected - 4;
|
ctrl.targetY = curSelected - 4;
|
||||||
grpControls.add(ctrl);
|
grpControls.add(ctrl);
|
||||||
case 5:
|
case 6:
|
||||||
FlxG.save.data.etternaMode = !FlxG.save.data.etternaMode;
|
FlxG.save.data.etternaMode = !FlxG.save.data.etternaMode;
|
||||||
var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, "Etterna Mode " + (!FlxG.save.data.etternaMode ? "off" : "on"), true, false);
|
var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, "Etterna Mode " + (!FlxG.save.data.etternaMode ? "off" : "on"), true, false);
|
||||||
ctrl.isMenuItem = true;
|
ctrl.isMenuItem = true;
|
||||||
ctrl.targetY = curSelected - 5;
|
ctrl.targetY = curSelected - 6;
|
||||||
grpControls.add(ctrl);
|
grpControls.add(ctrl);
|
||||||
case 6:
|
case 7:
|
||||||
trace('switch');
|
trace('switch');
|
||||||
FlxG.switchState(new LoadReplayState());
|
FlxG.switchState(new LoadReplayState());
|
||||||
}
|
}
|
||||||
|
@ -1878,9 +1878,14 @@ class PlayState extends MusicBeatState
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (FlxG.save.data.downscroll)
|
if (FlxG.save.data.downscroll)
|
||||||
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (-0.45 * FlxMath.roundDecimal(SONG.speed, 2)));
|
if(FlxG.save.data.noteSpeed != -1)
|
||||||
|
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (-0.45 * FlxMath.roundDecimal(FlxG.save.data.noteSpeed, 2)));
|
||||||
|
else daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (-0.45 * FlxMath.roundDecimal(SONG.speed, 2)));
|
||||||
else
|
else
|
||||||
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SONG.speed, 2)));
|
if(FlxG.save.data.noteSpeed != -1)
|
||||||
|
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(FlxG.save.data.noteSpeed, 2)));
|
||||||
|
else daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SONG.speed, 2)));
|
||||||
|
|
||||||
//trace(daNote.y);
|
//trace(daNote.y);
|
||||||
// WIP interpolation shit? Need to fix the pause issue
|
// WIP interpolation shit? Need to fix the pause issue
|
||||||
// daNote.y = (strumLine.y - (songTime - daNote.strumTime) * (0.45 * PlayState.SONG.speed));
|
// daNote.y = (strumLine.y - (songTime - daNote.strumTime) * (0.45 * PlayState.SONG.speed));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user