I added a lot idk

This commit is contained in:
KadeDev 2021-03-30 16:59:21 -07:00
parent 0875012c2f
commit b2330314b8
10 changed files with 734 additions and 422 deletions

View File

@ -224,8 +224,8 @@ class Alphabet extends FlxSpriteGroup
{ {
var scaledY = FlxMath.remapToRange(targetY, 0, 1, 0, 1.3); var scaledY = FlxMath.remapToRange(targetY, 0, 1, 0, 1.3);
y = FlxMath.lerp(y, (scaledY * 120) + (FlxG.height * 0.48), 0.16); y = FlxMath.lerp(y, (scaledY * 120) + (FlxG.height * 0.48), 0.30);
x = FlxMath.lerp(x, (targetY * 20) + 90, 0.16); x = FlxMath.lerp(x, (targetY * 20) + 90, 0.30);
} }
super.update(elapsed); super.update(elapsed);

View File

@ -1,3 +1,4 @@
import openfl.Lib;
import flixel.FlxG; import flixel.FlxG;
class KadeEngineData class KadeEngineData
@ -37,5 +38,19 @@ class KadeEngineData
FlxG.save.data.changedHitY = -1; FlxG.save.data.changedHitY = -1;
FlxG.save.data.changedHit = false; FlxG.save.data.changedHit = false;
} }
if (FlxG.save.data.fpsRain == null)
FlxG.save.data.fpsRain = false;
if (FlxG.save.data.fpsCap == null)
FlxG.save.data.fpsCap = 120;
if (FlxG.save.data.fpsCap > 285 || FlxG.save.data.fpsCap < 60)
FlxG.save.data.fpsCap = 120; // baby proof so you can't hard lock ur copy of kade engine
if (FlxG.save.data.scrollSpeed == null)
FlxG.save.data.scrollSpeed = 1;
(cast (Lib.current.getChildAt(0), Main)).setFPSCap(FlxG.save.data.fpsCap);
} }
} }

View File

@ -1,5 +1,9 @@
package; package;
import openfl.display.BlendMode;
import openfl.text.TextFormat;
import openfl.display.Application;
import flixel.util.FlxColor;
import flixel.FlxG; import flixel.FlxG;
import flixel.FlxGame; import flixel.FlxGame;
import flixel.FlxState; import flixel.FlxState;
@ -68,7 +72,9 @@ class Main extends Sprite
initialState = TitleState; initialState = TitleState;
#end #end
addChild(new FlxGame(gameWidth, gameHeight, initialState, zoom, framerate, framerate, skipSplash, startFullscreen)); game = new FlxGame(gameWidth, gameHeight, initialState, zoom, framerate, framerate, skipSplash, startFullscreen);
addChild(game);
#if !mobile #if !mobile
fpsCounter = new FPS(10, 3, 0xFFFFFF); fpsCounter = new FPS(10, 3, 0xFFFFFF);
@ -77,9 +83,31 @@ class Main extends Sprite
#end #end
} }
var game:FlxGame;
var fpsCounter:FPS; var fpsCounter:FPS;
public function toggleFPS(fpsEnabled:Bool):Void { public function toggleFPS(fpsEnabled:Bool):Void {
fpsCounter.visible = fpsEnabled; fpsCounter.visible = fpsEnabled;
} }
public function changeFPSColor(color:FlxColor)
{
fpsCounter.textColor = color;
}
public function setFPSCap(cap:Float)
{
openfl.Lib.current.stage.frameRate = cap;
}
public function getFPSCap():Float
{
return openfl.Lib.current.stage.frameRate;
}
public function getFPS():Float
{
return fpsCounter.currentFPS;
}
} }

View File

@ -36,7 +36,7 @@ class MainMenuState extends MusicBeatState
var newGaming2:FlxText; var newGaming2:FlxText;
var newInput:Bool = true; var newInput:Bool = true;
public static var nightly:String = "-Nightly.1"; public static var nightly:String = "-Nightly.2";
public static var kadeEngineVer:String = "1.3.1" + nightly; public static var kadeEngineVer:String = "1.3.1" + nightly;
public static var gameVer:String = "0.2.7.1"; public static var gameVer:String = "0.2.7.1";
@ -101,7 +101,7 @@ class MainMenuState extends MusicBeatState
menuItem.antialiasing = true; menuItem.antialiasing = true;
} }
FlxG.camera.follow(camFollow, null, 0.06); FlxG.camera.follow(camFollow, null, 0.60 * (60 / FlxG.save.data.fpsCap));
var versionShit:FlxText = new FlxText(5, FlxG.height - 18, 0, gameVer + " FNF - " + kadeEngineVer + " Kade Engine", 12); var versionShit:FlxText = new FlxText(5, FlxG.height - 18, 0, gameVer + " FNF - " + kadeEngineVer + " Kade Engine", 12);
versionShit.scrollFactor.set(); versionShit.scrollFactor.set();

View File

@ -36,7 +36,7 @@ class MenuItem extends FlxSpriteGroup
override function update(elapsed:Float) override function update(elapsed:Float)
{ {
super.update(elapsed); super.update(elapsed);
y = FlxMath.lerp(y, (targetY * 120) + 480, 0.17); y = FlxMath.lerp(y, (targetY * 120) + 480, 0.17 * (60 / FlxG.save.data.fpsCap));
if (isFlashing) if (isFlashing)
flashingInt += 1; flashingInt += 1;

View File

@ -1,5 +1,8 @@
package; package;
import flixel.tweens.FlxTween;
import flixel.util.FlxColor;
import openfl.Lib;
import Conductor.BPMChangeEvent; import Conductor.BPMChangeEvent;
import flixel.FlxG; import flixel.FlxG;
import flixel.addons.transition.FlxTransitionableState; import flixel.addons.transition.FlxTransitionableState;
@ -27,6 +30,18 @@ class MusicBeatState extends FlxUIState
super.create(); super.create();
} }
var array:Array<FlxColor> = [
FlxColor.fromRGB(148, 0, 211),
FlxColor.fromRGB(75, 0, 130),
FlxColor.fromRGB(0, 0, 255),
FlxColor.fromRGB(0, 255, 0),
FlxColor.fromRGB(255, 255, 0),
FlxColor.fromRGB(255, 127, 0),
FlxColor.fromRGB(255, 0 , 0)
];
var skippedFrames = 0;
override function update(elapsed:Float) override function update(elapsed:Float)
{ {
//everyStep(); //everyStep();
@ -38,6 +53,17 @@ class MusicBeatState extends FlxUIState
if (oldStep != curStep && curStep > 0) if (oldStep != curStep && curStep > 0)
stepHit(); stepHit();
if (FlxG.save.data.fpsRain && skippedFrames >= 6)
{
if (currentColor >= array.length)
currentColor = 0;
(cast (Lib.current.getChildAt(0), Main)).changeFPSColor(array[currentColor]);
currentColor++;
skippedFrames = 0;
}
else
skippedFrames++;
super.update(elapsed); super.update(elapsed);
} }
@ -46,6 +72,8 @@ class MusicBeatState extends FlxUIState
curBeat = Math.floor(curStep / 4); curBeat = Math.floor(curStep / 4);
} }
public static var currentColor = 0;
private function updateCurStep():Void private function updateCurStep():Void
{ {
var lastChange:BPMChangeEvent = { var lastChange:BPMChangeEvent = {
@ -64,6 +92,7 @@ class MusicBeatState extends FlxUIState
public function stepHit():Void public function stepHit():Void
{ {
if (curStep % 4 == 0) if (curStep % 4 == 0)
beatHit(); beatHit();
} }

View File

@ -64,11 +64,6 @@ class Note extends FlxSprite
animation.add('blueScroll', [5]); animation.add('blueScroll', [5]);
animation.add('purpleScroll', [4]); animation.add('purpleScroll', [4]);
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);
@ -77,6 +72,11 @@ class Note extends FlxSprite
animation.add('greenholdend', [6]); animation.add('greenholdend', [6]);
animation.add('redholdend', [7]); animation.add('redholdend', [7]);
animation.add('blueholdend', [5]); animation.add('blueholdend', [5]);
animation.add('purplehold', [0]);
animation.add('greenhold', [2]);
animation.add('redhold', [3]);
animation.add('bluehold', [1]);
} }
setGraphicSize(Std.int(width * PlayState.daPixelZoom)); setGraphicSize(Std.int(width * PlayState.daPixelZoom));
@ -90,16 +90,16 @@ class Note extends FlxSprite
animation.addByPrefix('blueScroll', 'blue0'); animation.addByPrefix('blueScroll', 'blue0');
animation.addByPrefix('purpleScroll', 'purple0'); animation.addByPrefix('purpleScroll', 'purple0');
animation.addByPrefix('purplehold', 'purple hold piece');
animation.addByPrefix('greenhold', 'green hold piece');
animation.addByPrefix('redhold', 'red hold piece');
animation.addByPrefix('bluehold', 'blue hold piece');
animation.addByPrefix('purpleholdend', 'pruple end hold'); animation.addByPrefix('purpleholdend', 'pruple end hold');
animation.addByPrefix('greenholdend', 'green hold end'); animation.addByPrefix('greenholdend', 'green hold end');
animation.addByPrefix('redholdend', 'red hold end'); animation.addByPrefix('redholdend', 'red hold end');
animation.addByPrefix('blueholdend', 'blue hold end'); animation.addByPrefix('blueholdend', 'blue hold end');
animation.addByPrefix('purplehold', 'purple hold piece');
animation.addByPrefix('greenhold', 'green hold piece');
animation.addByPrefix('redhold', 'red hold piece');
animation.addByPrefix('bluehold', 'blue hold piece');
setGraphicSize(Std.int(width * 0.7)); setGraphicSize(Std.int(width * 0.7));
updateHitbox(); updateHitbox();
antialiasing = true; antialiasing = true;
@ -127,6 +127,7 @@ class Note extends FlxSprite
if (FlxG.save.data.downscroll && sustainNote) if (FlxG.save.data.downscroll && sustainNote)
flipY = true; flipY = true;
if (isSustainNote && prevNote != null) if (isSustainNote && prevNote != null)
{ {
noteScore * 0.2; noteScore * 0.2;
@ -190,17 +191,17 @@ class Note extends FlxSprite
if (canBeHit) if (canBeHit)
{ {
if (noteDiff > Conductor.safeZoneOffset * 0.95) if (noteDiff > Conductor.safeZoneOffset * 0.75)
rating = "shit"; rating = "shit";
else if (noteDiff < Conductor.safeZoneOffset * -0.95)
rating = "shit";
else if (noteDiff > Conductor.safeZoneOffset * 0.70)
rating = "bad";
else if (noteDiff < Conductor.safeZoneOffset * -0.75) else if (noteDiff < Conductor.safeZoneOffset * -0.75)
rating = "shit";
else if (noteDiff > Conductor.safeZoneOffset * 0.50)
rating = "bad"; rating = "bad";
else if (noteDiff > Conductor.safeZoneOffset * 0.45) else if (noteDiff < Conductor.safeZoneOffset * -0.50)
rating = "bad";
else if (noteDiff > Conductor.safeZoneOffset * 0.35)
rating = "good"; rating = "good";
else if (noteDiff < Conductor.safeZoneOffset * -0.45) else if (noteDiff < Conductor.safeZoneOffset * -0.35)
rating = "good"; rating = "good";
else else
rating = "sick"; rating = "sick";

View File

@ -1,23 +1,60 @@
package; package;
import flixel.util.FlxColor;
import Controls.KeyboardScheme; import Controls.KeyboardScheme;
import flixel.FlxG; import flixel.FlxG;
import openfl.display.FPS; import openfl.display.FPS;
import openfl.Lib; import openfl.Lib;
class OptionCatagory
{
private var _options:Array<Option> = new Array<Option>();
public final function getOptions():Array<Option>
{
return _options;
}
public final function addOption(opt:Option)
{
_options.push(opt);
}
public final function removeOption(opt:Option)
{
_options.remove(opt);
}
private var _name:String = "New Catagory";
public final function getName() {
return _name;
}
public function new (catName:String, options:Array<Option>)
{
_name = catName;
_options = options;
}
}
class Option class Option
{ {
public function new() public function new()
{ {
display = updateDisplay(); display = updateDisplay();
} }
private var description:String = "";
private var display:String; private var display:String;
public final function getDisplay():String public final function getDisplay():String
{ {
return display; return display;
} }
public final function getDescription():String
{
return description;
}
// Returns whether the label is to be updated. // Returns whether the label is to be updated.
public function press():Bool { return throw "stub!"; } public function press():Bool { return throw "stub!"; }
private function updateDisplay():String { return throw "stub!"; } private function updateDisplay():String { return throw "stub!"; }
@ -54,6 +91,12 @@ class DFJKOption extends Option
class DownscrollOption extends Option class DownscrollOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
FlxG.save.data.downscroll = !FlxG.save.data.downscroll; FlxG.save.data.downscroll = !FlxG.save.data.downscroll;
@ -69,6 +112,11 @@ class DownscrollOption extends Option
class AccuracyOption extends Option class AccuracyOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
FlxG.save.data.accuracyDisplay = !FlxG.save.data.accuracyDisplay; FlxG.save.data.accuracyDisplay = !FlxG.save.data.accuracyDisplay;
@ -84,6 +132,11 @@ class AccuracyOption extends Option
class SongPositionOption extends Option class SongPositionOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
FlxG.save.data.songPosition = !FlxG.save.data.songPosition; FlxG.save.data.songPosition = !FlxG.save.data.songPosition;
@ -99,6 +152,12 @@ class SongPositionOption extends Option
class EtternaModeOption extends Option class EtternaModeOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
FlxG.save.data.etternaMode = !FlxG.save.data.etternaMode; FlxG.save.data.etternaMode = !FlxG.save.data.etternaMode;
@ -114,6 +173,12 @@ class EtternaModeOption extends Option
class FPSOption extends Option class FPSOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
FlxG.save.data.fps = !FlxG.save.data.fps; FlxG.save.data.fps = !FlxG.save.data.fps;
@ -128,8 +193,76 @@ class FPSOption extends Option
} }
} }
class FPSCapOption extends Option
{
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool
{
return false;
}
private override function updateDisplay():String
{
return "FPS Cap";
}
}
class ScrollSpeedOption extends Option
{
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool
{
return false;
}
private override function updateDisplay():String
{
return "Scroll Speed";
}
}
class RainbowFPSOption extends Option
{
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool
{
FlxG.save.data.fpsRain = !FlxG.save.data.fpsRain;
(cast (Lib.current.getChildAt(0), Main)).changeFPSColor(FlxColor.WHITE);
display = updateDisplay();
return true;
}
private override function updateDisplay():String
{
return "FPS Rainbow " + (!FlxG.save.data.fpsRain ? "off" : "on");
}
}
class ReplayOption extends Option class ReplayOption extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
trace("switch"); trace("switch");
@ -145,6 +278,12 @@ class ReplayOption extends Option
class CustomizeGameplay extends Option class CustomizeGameplay extends Option
{ {
public function new(desc:String)
{
super();
description = desc;
}
public override function press():Bool public override function press():Bool
{ {
trace("switch"); trace("switch");

View File

@ -1,5 +1,6 @@
package; package;
import openfl.Lib;
import Options; import Options;
import Controls.Control; import Controls.Control;
import flash.text.TextField; import flash.text.TextField;
@ -18,21 +19,34 @@ class OptionsMenu extends MusicBeatState
var selector:FlxText; var selector:FlxText;
var curSelected:Int = 0; var curSelected:Int = 0;
var options:Array<Option> = [ var options:Array<OptionCatagory> = [
new OptionCatagory("Gameplay", [
new DFJKOption(controls), new DFJKOption(controls),
new DownscrollOption(), new FPSCapOption("Cap your FPS (Left for -10, Right for -10)"),
new AccuracyOption(), new CustomizeGameplay("Drag'n'Drop Gameplay Modules around to your preference"),
new SongPositionOption(), new ScrollSpeedOption("Change your scroll speed (Left for -0.1, right for +0.1. If its at 1, it will be chart dependent)")
]),
new OptionCatagory("Appearence", [
new SongPositionOption("Show the songs current position (as a bar)"),
new DownscrollOption("Change the layout of the strumline."),
new RainbowFPSOption("Make the FPS Counter Rainbow (Only works with the FPS Counter toggeled on)"),
new AccuracyOption("Display accuracy information.")
]),
new OptionCatagory("Misc", [
new EtternaModeOption("Harder Hit Windows and a different scoring system."),
#if !mobile #if !mobile
new FPSOption(), new FPSOption("Toggle the FPS Counter"),
#end #end
new EtternaModeOption(), new ReplayOption("View replays")
new CustomizeGameplay(), ])
new ReplayOption()
]; ];
private var currentDescription:String = "";
private var grpControls:FlxTypedGroup<Alphabet>; private var grpControls:FlxTypedGroup<Alphabet>;
var versionShit:FlxText; var versionShit:FlxText;
var currentSelectedCat:OptionCatagory;
override function create() override function create()
{ {
var menuBG:FlxSprite = new FlxSprite().loadGraphic(Paths.image("menuDesat")); var menuBG:FlxSprite = new FlxSprite().loadGraphic(Paths.image("menuDesat"));
@ -49,15 +63,16 @@ class OptionsMenu extends MusicBeatState
for (i in 0...options.length) for (i in 0...options.length)
{ {
var controlLabel:Alphabet = new Alphabet(0, (70 * i) + 30, options[i].getDisplay(), true, false); var controlLabel:Alphabet = new Alphabet(0, (70 * i) + 30, options[i].getName(), true, false);
controlLabel.isMenuItem = true; controlLabel.isMenuItem = true;
controlLabel.targetY = i; controlLabel.targetY = i;
grpControls.add(controlLabel); grpControls.add(controlLabel);
// DONT PUT X IN THE FIRST PARAMETER OF new ALPHABET() !! // DONT PUT X IN THE FIRST PARAMETER OF new ALPHABET() !!
} }
currentDescription = "none";
versionShit = new FlxText(5, FlxG.height - 18, 0, "Offset (Left, Right): " + FlxG.save.data.offset, 12); versionShit = new FlxText(5, FlxG.height - 18, 0, "Offset (Left, Right): " + FlxG.save.data.offset + " - Description - " + currentDescription, 12);
versionShit.scrollFactor.set(); versionShit.scrollFactor.set();
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);
@ -65,39 +80,120 @@ class OptionsMenu extends MusicBeatState
super.create(); super.create();
} }
var isCat:Bool = false;
override function update(elapsed:Float) override function update(elapsed:Float)
{ {
super.update(elapsed); super.update(elapsed);
if (controls.BACK) if (controls.BACK && !isCat)
FlxG.switchState(new MainMenuState()); FlxG.switchState(new MainMenuState());
else if (controls.BACK)
{
isCat = false;
grpControls.clear();
for (i in 0...options.length)
{
var controlLabel:Alphabet = new Alphabet(0, (70 * i) + 30, options[i].getName(), true, false);
controlLabel.isMenuItem = true;
controlLabel.targetY = i;
grpControls.add(controlLabel);
// DONT PUT X IN THE FIRST PARAMETER OF new ALPHABET() !!
}
curSelected = 0;
}
if (controls.UP_P) if (controls.UP_P)
changeSelection(-1); changeSelection(-1);
if (controls.DOWN_P) if (controls.DOWN_P)
changeSelection(1); changeSelection(1);
if (controls.RIGHT_R) if (isCat)
{ {
FlxG.save.data.offset++; switch(currentSelectedCat.getOptions()[curSelected].getDisplay())
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset; {
case 'FPS Cap':
var fps = (cast (Lib.current.getChildAt(0), Main)).getFPSCap();
if (FlxG.keys.pressed.RIGHT && fps < 285) // actual cap is 285
{
(cast (Lib.current.getChildAt(0), Main)).setFPSCap(fps + 10);
FlxG.save.data.fpsCap = fps + 10;
} }
if (controls.LEFT_R) if (FlxG.keys.pressed.LEFT && fps > 60)
{ {
(cast (Lib.current.getChildAt(0), Main)).setFPSCap(fps - 10);
FlxG.save.data.fpsCap = fps - 10;
}
versionShit.text = "Current FPS Cap: " + fps + " - Description - " + currentDescription;
case 'Scroll Speed':
if (FlxG.keys.justPressed.RIGHT)
FlxG.save.data.scrollSpeed+=0.1;
if (FlxG.keys.justPressed.LEFT)
FlxG.save.data.scrollSpeed-=0.1;
// caps
if (FlxG.save.data.scrollSpeed < 0)
FlxG.save.data.scrollSpeed = 0.1;
if (FlxG.save.data.scrollSpeed > 10)
FlxG.save.data.scrollSpeed = 10;
versionShit.text = "Current Scroll Speed: " + FlxG.save.data.scrollSpeed + " - Description - " + currentDescription;
default:
if (FlxG.keys.pressed.RIGHT)
FlxG.save.data.offset++;
if (FlxG.keys.pressed.LEFT)
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 + " - Description - " + currentDescription;
}
}
else
{
if (FlxG.keys.pressed.RIGHT)
FlxG.save.data.offset++;
if (FlxG.keys.pressed.LEFT)
FlxG.save.data.offset--;
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset + " - Description - " + currentDescription;
} }
if (controls.ACCEPT) if (controls.ACCEPT)
{ {
if (options[curSelected].press()) { if (isCat)
{
if (currentSelectedCat.getOptions()[curSelected].press()) {
grpControls.remove(grpControls.members[curSelected]); grpControls.remove(grpControls.members[curSelected]);
var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, options[curSelected].getDisplay(), true, false); var ctrl:Alphabet = new Alphabet(0, (70 * curSelected) + 30, currentSelectedCat.getOptions()[curSelected].getDisplay(), true, false);
ctrl.isMenuItem = true; ctrl.isMenuItem = true;
grpControls.add(ctrl); grpControls.add(ctrl);
} }
} }
else
{
currentSelectedCat = options[curSelected];
isCat = true;
grpControls.clear();
for (i in 0...currentSelectedCat.getOptions().length)
{
var controlLabel:Alphabet = new Alphabet(0, (70 * i) + 30, currentSelectedCat.getOptions()[i].getDisplay(), true, false);
controlLabel.isMenuItem = true;
controlLabel.targetY = i;
grpControls.add(controlLabel);
// DONT PUT X IN THE FIRST PARAMETER OF new ALPHABET() !!
}
curSelected = 0;
}
}
FlxG.save.flush(); FlxG.save.flush();
} }
@ -118,6 +214,12 @@ class OptionsMenu extends MusicBeatState
if (curSelected >= grpControls.length) if (curSelected >= grpControls.length)
curSelected = 0; curSelected = 0;
if (isCat)
currentDescription = currentSelectedCat.getOptions()[curSelected].getDescription();
else
currentDescription = "Please select a catagory";
versionShit.text = "Offset (Left, Right): " + FlxG.save.data.offset + " - Description - " + currentDescription;
// selector.y = (70 * curSelected) + 30; // selector.y = (70 * curSelected) + 30;
var bullShit:Int = 0; var bullShit:Int = 0;

View File

@ -1,5 +1,6 @@
package; package;
import openfl.Lib;
import Section.SwagSection; import Section.SwagSection;
import Song.SwagSong; import Song.SwagSong;
import WiggleEffect.WiggleEffectType; import WiggleEffect.WiggleEffectType;
@ -275,9 +276,11 @@ class PlayState extends MusicBeatState
dialogue = CoolUtil.coolTextFile(Paths.txt('thorns/thornsDialogue')); dialogue = CoolUtil.coolTextFile(Paths.txt('thorns/thornsDialogue'));
} }
if (SONG.song.toLowerCase() == 'spookeez' || SONG.song.toLowerCase() == 'monster' || SONG.song.toLowerCase() == 'south') switch(SONG.song.toLowerCase())
{ {
curStage = "spooky"; case 'spookeez' | 'monster' | 'south':
{
curStage = 'spooky';
halloweenLevel = true; halloweenLevel = true;
var hallowTex = Paths.getSparrowAtlas('halloween_bg'); var hallowTex = Paths.getSparrowAtlas('halloween_bg');
@ -292,7 +295,7 @@ class PlayState extends MusicBeatState
isHalloween = true; isHalloween = true;
} }
else if (SONG.song.toLowerCase() == 'pico' || SONG.song.toLowerCase() == 'blammed' || SONG.song.toLowerCase() == 'philly') case 'pico' | 'blammed' | 'philly':
{ {
curStage = 'philly'; curStage = 'philly';
@ -334,7 +337,7 @@ class PlayState extends MusicBeatState
var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(Paths.image('philly/street')); var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(Paths.image('philly/street'));
add(street); add(street);
} }
else if (SONG.song.toLowerCase() == 'milf' || SONG.song.toLowerCase() == 'satin-panties' || SONG.song.toLowerCase() == 'high') case 'milf' | 'satin-panties' | 'high':
{ {
curStage = 'limo'; curStage = 'limo';
defaultCamZoom = 0.90; defaultCamZoom = 0.90;
@ -381,7 +384,7 @@ class PlayState extends MusicBeatState
fastCar = new FlxSprite(-300, 160).loadGraphic(Paths.image('limo/fastCarLol')); fastCar = new FlxSprite(-300, 160).loadGraphic(Paths.image('limo/fastCarLol'));
// add(limo); // add(limo);
} }
else if (SONG.song.toLowerCase() == 'cocoa' || SONG.song.toLowerCase() == 'eggnog') case 'cocoa' | 'eggnog':
{ {
curStage = 'mall'; curStage = 'mall';
@ -437,7 +440,7 @@ class PlayState extends MusicBeatState
santa.antialiasing = true; santa.antialiasing = true;
add(santa); add(santa);
} }
else if (SONG.song.toLowerCase() == 'winter-horrorland') case 'winter-horrorland':
{ {
curStage = 'mallEvil'; curStage = 'mallEvil';
var bg:FlxSprite = new FlxSprite(-400, -500).loadGraphic(Paths.image('christmas/evilBG')); var bg:FlxSprite = new FlxSprite(-400, -500).loadGraphic(Paths.image('christmas/evilBG'));
@ -457,7 +460,7 @@ class PlayState extends MusicBeatState
evilSnow.antialiasing = true; evilSnow.antialiasing = true;
add(evilSnow); add(evilSnow);
} }
else if (SONG.song.toLowerCase() == 'senpai' || SONG.song.toLowerCase() == 'roses') case 'senpai' | 'roses':
{ {
curStage = 'school'; curStage = 'school';
@ -524,7 +527,7 @@ class PlayState extends MusicBeatState
bgGirls.updateHitbox(); bgGirls.updateHitbox();
add(bgGirls); add(bgGirls);
} }
else if (SONG.song.toLowerCase() == 'thorns') case 'thorns':
{ {
curStage = 'schoolEvil'; curStage = 'schoolEvil';
@ -548,13 +551,11 @@ class PlayState extends MusicBeatState
// bg.setGraphicSize(Std.int(bg.width * 6)); // bg.setGraphicSize(Std.int(bg.width * 6));
// bg.updateHitbox(); // bg.updateHitbox();
add(bg); add(bg);
var fg:FlxSprite = new FlxSprite(posX, posY).loadGraphic(Paths.image('weeb/evilSchoolFG')); var fg:FlxSprite = new FlxSprite(posX, posY).loadGraphic(Paths.image('weeb/evilSchoolFG'));
fg.scale.set(6, 6); fg.scale.set(6, 6);
// fg.setGraphicSize(Std.int(fg.width * 6)); // fg.setGraphicSize(Std.int(fg.width * 6));
// fg.updateHitbox(); // fg.updateHitbox();
add(fg); add(fg);
wiggleShit.effectType = WiggleEffectType.DREAMY; wiggleShit.effectType = WiggleEffectType.DREAMY;
wiggleShit.waveAmplitude = 0.01; wiggleShit.waveAmplitude = 0.01;
wiggleShit.waveFrequency = 60; wiggleShit.waveFrequency = 60;
@ -567,26 +568,22 @@ class PlayState extends MusicBeatState
/* /*
var waveSprite = new FlxEffectSprite(bg, [waveEffectBG]); var waveSprite = new FlxEffectSprite(bg, [waveEffectBG]);
var waveSpriteFG = new FlxEffectSprite(fg, [waveEffectFG]); var waveSpriteFG = new FlxEffectSprite(fg, [waveEffectFG]);
// Using scale since setGraphicSize() doesnt work??? // Using scale since setGraphicSize() doesnt work???
waveSprite.scale.set(6, 6); waveSprite.scale.set(6, 6);
waveSpriteFG.scale.set(6, 6); waveSpriteFG.scale.set(6, 6);
waveSprite.setPosition(posX, posY); waveSprite.setPosition(posX, posY);
waveSpriteFG.setPosition(posX, posY); waveSpriteFG.setPosition(posX, posY);
waveSprite.scrollFactor.set(0.7, 0.8); waveSprite.scrollFactor.set(0.7, 0.8);
waveSpriteFG.scrollFactor.set(0.9, 0.8); waveSpriteFG.scrollFactor.set(0.9, 0.8);
// waveSprite.setGraphicSize(Std.int(waveSprite.width * 6)); // waveSprite.setGraphicSize(Std.int(waveSprite.width * 6));
// waveSprite.updateHitbox(); // waveSprite.updateHitbox();
// waveSpriteFG.setGraphicSize(Std.int(fg.width * 6)); // waveSpriteFG.setGraphicSize(Std.int(fg.width * 6));
// waveSpriteFG.updateHitbox(); // waveSpriteFG.updateHitbox();
add(waveSprite); add(waveSprite);
add(waveSpriteFG); add(waveSpriteFG);
*/ */
} }
else default:
{ {
defaultCamZoom = 0.9; defaultCamZoom = 0.9;
curStage = 'stage'; curStage = 'stage';
@ -613,7 +610,7 @@ class PlayState extends MusicBeatState
add(stageCurtains); add(stageCurtains);
} }
}
var gfVersion:String = 'gf'; var gfVersion:String = 'gf';
switch (curStage) switch (curStage)
@ -763,7 +760,7 @@ class PlayState extends MusicBeatState
add(camFollow); add(camFollow);
FlxG.camera.follow(camFollow, LOCKON, 0.01); FlxG.camera.follow(camFollow, LOCKON, 0.04 * (30 / (cast (Lib.current.getChildAt(0), Main)).getFPS()));
// FlxG.camera.setScrollBounds(0, FlxG.width, 0, FlxG.height); // FlxG.camera.setScrollBounds(0, FlxG.width, 0, FlxG.height);
FlxG.camera.zoom = defaultCamZoom; FlxG.camera.zoom = defaultCamZoom;
FlxG.camera.focusOn(camFollow.getPosition()); FlxG.camera.focusOn(camFollow.getPosition());
@ -1882,9 +1879,9 @@ 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))); daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (-0.45 * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 2)));
else else
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SONG.speed, 2))); daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(FlxG.save.data.scrollSpeed == 1 ? SONG.speed : FlxG.save.data.scrollSpeed, 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));
@ -2982,11 +2979,12 @@ class PlayState extends MusicBeatState
if (curBeat % 8 == 7 && curSong == 'Bopeebo') if (curBeat % 8 == 7 && curSong == 'Bopeebo')
{ {
boyfriend.playAnim('hey', true); boyfriend.playAnim('hey', true);
if (SONG.song == 'Tutorial' && dad.curCharacter == 'gf')
{
dad.playAnim('cheer', true);
} }
if (curBeat % 16 == 15 && SONG.song == 'Tutorial' && dad.curCharacter == 'gf' && curBeat > 16 && curBeat < 48)
{
boyfriend.playAnim('hey', true);
dad.playAnim('cheer', true);
} }
switch (curStage) switch (curStage)