Add files via upload
This commit is contained in:
parent
fdc4c82fb5
commit
abacebae2a
@ -90,6 +90,9 @@ class ChartingState extends MusicBeatState
|
||||
|
||||
private var lastNote:Note;
|
||||
|
||||
var player1Icon:String;
|
||||
var player2Icon:String;
|
||||
|
||||
|
||||
override function create()
|
||||
{
|
||||
@ -98,20 +101,6 @@ class ChartingState extends MusicBeatState
|
||||
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16);
|
||||
add(gridBG);
|
||||
|
||||
leftIcon = new HealthIcon('bf');
|
||||
rightIcon = new HealthIcon('dad');
|
||||
leftIcon.scrollFactor.set(1, 1);
|
||||
rightIcon.scrollFactor.set(1, 1);
|
||||
|
||||
leftIcon.setGraphicSize(0, 45);
|
||||
rightIcon.setGraphicSize(0, 45);
|
||||
|
||||
add(leftIcon);
|
||||
add(rightIcon);
|
||||
|
||||
leftIcon.setPosition(0, -100);
|
||||
rightIcon.setPosition(gridBG.width / 2, -100);
|
||||
|
||||
gridBlackLine = new FlxSprite(gridBG.x + gridBG.width / 2).makeGraphic(2, Std.int(gridBG.height), FlxColor.BLACK);
|
||||
add(gridBlackLine);
|
||||
|
||||
@ -134,6 +123,23 @@ class ChartingState extends MusicBeatState
|
||||
};
|
||||
}
|
||||
|
||||
player1Icon = _song.player1;
|
||||
player2Icon = _song.player2;
|
||||
|
||||
leftIcon = new HealthIcon(_song.player1);
|
||||
rightIcon = new HealthIcon(_song.player2);
|
||||
leftIcon.scrollFactor.set(1, 1);
|
||||
rightIcon.scrollFactor.set(1, 1);
|
||||
|
||||
leftIcon.setGraphicSize(0, 45);
|
||||
rightIcon.setGraphicSize(0, 45);
|
||||
|
||||
add(leftIcon);
|
||||
add(rightIcon);
|
||||
|
||||
leftIcon.setPosition(0, -100);
|
||||
rightIcon.setPosition(gridBG.width / 2, -100);
|
||||
|
||||
FlxG.mouse.visible = true;
|
||||
FlxG.save.bind('funkin', 'ninjamuffin99');
|
||||
|
||||
@ -527,6 +533,8 @@ class ChartingState extends MusicBeatState
|
||||
{
|
||||
curStep = recalculateSteps();
|
||||
|
||||
changeIcon();
|
||||
|
||||
if (FlxG.keys.justPressed.ALT && UI_box.selected_tab == 0)
|
||||
{
|
||||
writingNotes = !writingNotes;
|
||||
@ -1011,7 +1019,7 @@ class ChartingState extends MusicBeatState
|
||||
{
|
||||
remove(gridBG);
|
||||
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * _song.notes[curSection].lengthInSteps);
|
||||
add(gridBG);
|
||||
add(gridBG);
|
||||
|
||||
remove(gridBlackLine);
|
||||
gridBlackLine = new FlxSprite(gridBG.x + gridBG.width / 2).makeGraphic(2, Std.int(gridBG.height), FlxColor.BLACK);
|
||||
@ -1119,6 +1127,38 @@ class ChartingState extends MusicBeatState
|
||||
updateNoteUI();
|
||||
}
|
||||
|
||||
function changeIcon():Void
|
||||
{
|
||||
if (_song.player1 != player1Icon)
|
||||
{
|
||||
remove(leftIcon);
|
||||
|
||||
player1Icon = _song.player1;
|
||||
leftIcon = new HealthIcon(player1Icon);
|
||||
leftIcon.scrollFactor.set(1, 1);
|
||||
|
||||
leftIcon.setGraphicSize(0, 45);
|
||||
|
||||
add(leftIcon);
|
||||
|
||||
leftIcon.setPosition(0, -100);
|
||||
}
|
||||
|
||||
if (_song.player2 != player2Icon)
|
||||
{
|
||||
remove(rightIcon);
|
||||
|
||||
player2Icon = _song.player2;
|
||||
rightIcon = new HealthIcon(player2Icon);
|
||||
rightIcon.scrollFactor.set(1, 1);
|
||||
|
||||
rightIcon.setGraphicSize(0, 45);
|
||||
|
||||
add(rightIcon);
|
||||
|
||||
rightIcon.setPosition(gridBG.width / 2, -100);
|
||||
}
|
||||
}
|
||||
|
||||
function deleteNote(note:Note):Void
|
||||
{
|
||||
|
@ -8,6 +8,9 @@ import flixel.group.FlxGroup.FlxTypedGroup;
|
||||
import flixel.math.FlxMath;
|
||||
import flixel.text.FlxText;
|
||||
import flixel.util.FlxColor;
|
||||
import flixel.util.FlxTimer;
|
||||
import flixel.tweens.FlxEase;
|
||||
import flixel.tweens.FlxTween;
|
||||
import lime.utils.Assets;
|
||||
|
||||
|
||||
@ -35,6 +38,8 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
private var iconArray:Array<HealthIcon> = [];
|
||||
|
||||
var bg:FlxSprite;
|
||||
|
||||
override function create()
|
||||
{
|
||||
var initSonglist = CoolUtil.coolTextFile(Paths.txt('freeplaySonglist'));
|
||||
@ -68,7 +73,7 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
// LOAD CHARACTERS
|
||||
|
||||
var bg:FlxSprite = new FlxSprite().loadGraphic(Paths.image('menuBGBlue'));
|
||||
bg = new FlxSprite().loadGraphic(Paths.image('menuDesat'));
|
||||
add(bg);
|
||||
|
||||
grpSongs = new FlxTypedGroup<Alphabet>();
|
||||
@ -161,6 +166,8 @@ class FreeplayState extends MusicBeatState
|
||||
}
|
||||
}
|
||||
|
||||
var lockedIn:Bool = false;
|
||||
|
||||
override function update(elapsed:Float)
|
||||
{
|
||||
super.update(elapsed);
|
||||
@ -206,6 +213,8 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
trace(poop);
|
||||
|
||||
lockedIn = true;
|
||||
|
||||
PlayState.SONG = Song.loadFromJson(poop, songs[curSelected].songName.toLowerCase());
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = curDifficulty;
|
||||
@ -250,6 +259,7 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
curSelected += change;
|
||||
|
||||
|
||||
if (curSelected < 0)
|
||||
curSelected = songs.length - 1;
|
||||
if (curSelected >= songs.length)
|
||||
@ -257,24 +267,57 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
// selector.y = (70 * curSelected) + 30;
|
||||
|
||||
#if !switch
|
||||
intendedScore = Highscore.getScore(songs[curSelected].songName, curDifficulty);
|
||||
// lerpScore = 0;
|
||||
#end
|
||||
|
||||
#if PRELOAD_ALL
|
||||
FlxG.sound.playMusic(Paths.inst(songs[curSelected].songName), 0);
|
||||
#end
|
||||
|
||||
var bullShit:Int = 0;
|
||||
|
||||
for (i in 0...iconArray.length)
|
||||
{
|
||||
iconArray[i].alpha = 0.6;
|
||||
}
|
||||
|
||||
|
||||
var bullShit:Int = 0;
|
||||
|
||||
|
||||
iconArray[curSelected].alpha = 1;
|
||||
|
||||
if (curSelected >= 0)
|
||||
{
|
||||
if (curSelected >= 4)
|
||||
{
|
||||
if (curSelected >= 7)
|
||||
{
|
||||
if (curSelected >= 10)
|
||||
{
|
||||
if (curSelected >= 13)
|
||||
{
|
||||
if (curSelected >= 16)
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(219, 101, 217));
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(161, 212, 230));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(230, 129, 221));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(99, 12, 22));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(39, 46, 66));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxTween.color(bg, 0.5, bg.color, FlxColor.fromRGB(96, 66, 245));
|
||||
}
|
||||
}
|
||||
|
||||
for (item in grpSongs.members)
|
||||
{
|
||||
item.targetY = bullShit - curSelected;
|
||||
@ -289,6 +332,23 @@ class FreeplayState extends MusicBeatState
|
||||
// item.setGraphicSize(Std.int(item.width));
|
||||
}
|
||||
}
|
||||
|
||||
var temp:Int = curSelected;
|
||||
|
||||
new FlxTimer().start(FlxG.random.float(0.7), function(tmr:FlxTimer)
|
||||
{
|
||||
if (curSelected == temp && !lockedIn)
|
||||
{
|
||||
#if !switch
|
||||
intendedScore = Highscore.getScore(songs[curSelected].songName, curDifficulty);
|
||||
// lerpScore = 0;
|
||||
#end
|
||||
|
||||
#if PRELOAD_ALL
|
||||
FlxG.sound.playMusic(Paths.inst(songs[curSelected].songName), 0);
|
||||
#end
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,6 +74,27 @@ using StringTools;
|
||||
|
||||
class PlayState extends MusicBeatState
|
||||
{
|
||||
var characterCol:Array<String> = CoolUtil.coolTextFile(Paths.txt('characterList'));
|
||||
var col:Array<FlxColor> = [
|
||||
0xFF51d8fb, // BF
|
||||
0xFFc885e5, // DAD
|
||||
0xFFca1f6f, // GF
|
||||
0xFFf9a326, // SPOOKY
|
||||
0xFFceec75, // PICO
|
||||
0xFFec7aac, // MOM
|
||||
0xFFec7aac, // MOM-CAR
|
||||
0xFF51d8fb, // BF-CAR
|
||||
0xFFffffff, // PARENTS-CHRISTMAS
|
||||
0xFFf5ff8a, // MONSTER-CHRISTMAS
|
||||
0xFF51d8fb, // BF-CHRISTMAS
|
||||
0xFFca1f6f, // GF-CHRISTMAS
|
||||
0xFFf5ff8a, // MONSTER
|
||||
0xFF9fe6ff, // BF-PIXEL
|
||||
0xFFffaa6f, // SENPAI
|
||||
0xFFffaa6f, // SENPAI-ANGRY
|
||||
0xFFff5d87 // SPIRIT
|
||||
];
|
||||
|
||||
public static var curStage:String = '';
|
||||
public static var SONG:SwagSong;
|
||||
public static var isStoryMode:Bool = false;
|
||||
@ -125,6 +146,9 @@ class PlayState extends MusicBeatState
|
||||
|
||||
private var strumLineNotes:FlxTypedGroup<FlxSprite>;
|
||||
private var playerStrums:FlxTypedGroup<FlxSprite>;
|
||||
private var player2Strums:FlxTypedGroup<FlxSprite>;
|
||||
|
||||
private var strumming2:Array<Bool> = [false, false, false, false];
|
||||
|
||||
private var camZooming:Bool = false;
|
||||
private var curSong:String = "";
|
||||
@ -998,6 +1022,7 @@ class PlayState extends MusicBeatState
|
||||
add(strumLineNotes);
|
||||
|
||||
playerStrums = new FlxTypedGroup<FlxSprite>();
|
||||
player2Strums = new FlxTypedGroup<FlxSprite>();
|
||||
|
||||
// startCountdown();
|
||||
|
||||
@ -1027,28 +1052,29 @@ class PlayState extends MusicBeatState
|
||||
FlxG.fixedTimestep = false;
|
||||
|
||||
if (FlxG.save.data.songPosition) // I dont wanna talk about this code :(
|
||||
{
|
||||
songPosBG = new FlxSprite(0, 10).loadGraphic(Paths.image('healthBar'));
|
||||
if (FlxG.save.data.downscroll)
|
||||
songPosBG.y = FlxG.height * 0.9 + 45;
|
||||
songPosBG.screenCenter(X);
|
||||
songPosBG.scrollFactor.set();
|
||||
add(songPosBG);
|
||||
|
||||
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
||||
'songPositionBar', 0, 90000);
|
||||
songPosBar.scrollFactor.set();
|
||||
songPosBar.createFilledBar(FlxColor.GRAY, FlxColor.LIME);
|
||||
add(songPosBar);
|
||||
|
||||
var songName = new FlxText(songPosBG.x + (songPosBG.width / 2) - 20,songPosBG.y,0,SONG.song, 16);
|
||||
if (FlxG.save.data.downscroll)
|
||||
songName.y -= 3;
|
||||
songName.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||
songName.scrollFactor.set();
|
||||
add(songName);
|
||||
songName.cameras = [camHUD];
|
||||
}
|
||||
{
|
||||
songPosBG = new FlxSprite(0, 10).loadGraphic(Paths.image('healthBar'));
|
||||
if (FlxG.save.data.downscroll)
|
||||
songPosBG.y = FlxG.height * 0.9 + 45;
|
||||
songPosBG.screenCenter(X);
|
||||
songPosBG.scrollFactor.set();
|
||||
add(songPosBG);
|
||||
|
||||
songPosBar = new FlxBar(songPosBG.x + 4, songPosBG.y + 4, LEFT_TO_RIGHT, Std.int(songPosBG.width - 8), Std.int(songPosBG.height - 8), this,
|
||||
'songPositionBar', 0, 90000);
|
||||
songPosBar.scrollFactor.set();
|
||||
songPosBar.createFilledBar(FlxColor.GRAY, FlxColor.LIME);
|
||||
add(songPosBar);
|
||||
|
||||
var songName = new FlxText(songPosBG.x + (songPosBG.width / 2) - 20,songPosBG.y,0,SONG.song, 16);
|
||||
if (FlxG.save.data.downscroll)
|
||||
songName.y -= 3;
|
||||
songName.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||
songName.scrollFactor.set();
|
||||
add(songName);
|
||||
songName.cameras = [camHUD];
|
||||
}
|
||||
|
||||
|
||||
healthBarBG = new FlxSprite(0, FlxG.height * 0.9).loadGraphic(Paths.image('healthBar'));
|
||||
if (FlxG.save.data.downscroll)
|
||||
@ -1060,10 +1086,15 @@ class PlayState extends MusicBeatState
|
||||
healthBar = new FlxBar(healthBarBG.x + 4, healthBarBG.y + 4, RIGHT_TO_LEFT, Std.int(healthBarBG.width - 8), Std.int(healthBarBG.height - 8), this,
|
||||
'health', 0, 2);
|
||||
healthBar.scrollFactor.set();
|
||||
healthBar.createFilledBar(0xFFFF0000, 0xFF66FF33);
|
||||
var curcol:FlxColor = col[characterCol.indexOf(dad.curCharacter)]; // Dad Icon
|
||||
var curcol2:FlxColor = col[characterCol.indexOf(boyfriend.curCharacter)]; // Bf Icon
|
||||
healthBar.createFilledBar(curcol, curcol2); // Use those colors
|
||||
// healthBar
|
||||
add(healthBar);
|
||||
|
||||
|
||||
|
||||
|
||||
// Add Kade Engine watermark
|
||||
kadeEngineWatermark = new FlxText(4,healthBarBG.y + 50,0,SONG.song + " " + (storyDifficulty == 2 ? "Hard" : storyDifficulty == 1 ? "Normal" : "Easy") + (Main.watermarks ? " - KE " + MainMenuState.kadeEngineVer : ""), 16);
|
||||
kadeEngineWatermark.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE,FlxColor.BLACK);
|
||||
@ -2031,6 +2062,10 @@ class PlayState extends MusicBeatState
|
||||
{
|
||||
playerStrums.add(babyArrow);
|
||||
}
|
||||
else
|
||||
{
|
||||
player2Strums.add(babyArrow);
|
||||
}
|
||||
|
||||
babyArrow.animation.play('static');
|
||||
babyArrow.x += 50;
|
||||
@ -2620,6 +2655,15 @@ class PlayState extends MusicBeatState
|
||||
case 0:
|
||||
dad.playAnim('singLEFT' + altAnim, true);
|
||||
}
|
||||
|
||||
player2Strums.forEach(function(spr:FlxSprite)
|
||||
{
|
||||
if (Math.abs(daNote.noteData) == spr.ID)
|
||||
{
|
||||
spr.animation.play('confirm');
|
||||
sustainplayer2(spr.ID, spr, daNote);
|
||||
}
|
||||
});
|
||||
|
||||
#if cpp
|
||||
if (lua != null)
|
||||
@ -2637,6 +2681,23 @@ class PlayState extends MusicBeatState
|
||||
notes.remove(daNote, true);
|
||||
daNote.destroy();
|
||||
}
|
||||
|
||||
player2Strums.forEach(function(spr:FlxSprite)
|
||||
{
|
||||
if (strumming2[spr.ID])
|
||||
{
|
||||
spr.animation.play("confirm");
|
||||
}
|
||||
|
||||
if (spr.animation.curAnim.name == 'confirm' && !curStage.startsWith('school'))
|
||||
{
|
||||
spr.centerOffsets();
|
||||
spr.offset.x -= 13;
|
||||
spr.offset.y -= 13;
|
||||
}
|
||||
else
|
||||
spr.centerOffsets();
|
||||
});
|
||||
|
||||
if (!daNote.modifiedByLua)
|
||||
{
|
||||
@ -2710,6 +2771,34 @@ class PlayState extends MusicBeatState
|
||||
#end
|
||||
}
|
||||
|
||||
function sustainplayer2(strum:Int, spr:FlxSprite, note:Note):Void
|
||||
{
|
||||
var length:Float = note.sustainLength;
|
||||
var tempo:Float = Conductor.bpm / 60;
|
||||
var temp:Float = 1 / tempo;
|
||||
|
||||
if (length > 0)
|
||||
{
|
||||
strumming2[strum] = true;
|
||||
}
|
||||
|
||||
if (!note.isSustainNote)
|
||||
{
|
||||
new FlxTimer().start(length == 0 ? 0.2 : (length / Conductor.crochet * temp) + 0.1, function(tmr:FlxTimer)
|
||||
{
|
||||
if (!strumming2[strum])
|
||||
{
|
||||
spr.animation.play("static", true);
|
||||
}
|
||||
else if (length > 0)
|
||||
{
|
||||
strumming2[strum] = false;
|
||||
spr.animation.play("static", true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function endSong():Void
|
||||
{
|
||||
if (!loadRep)
|
||||
@ -3881,16 +3970,18 @@ class PlayState extends MusicBeatState
|
||||
// Conductor.changeBPM(SONG.bpm);
|
||||
|
||||
// Dad doesnt interupt his own notes
|
||||
|
||||
// Commented out until a reason to bring this back arises in the future
|
||||
/* if (SONG.notes[Math.floor(curStep / 16)].mustHitSection)
|
||||
dad.dance(); */
|
||||
|
||||
if(dad.animation.curAnim.name.startsWith('sing'))
|
||||
if(dad.animation.finished)
|
||||
if (dad.animation.curAnim.name.startsWith('sing'))
|
||||
{
|
||||
if (dad.animation.finished)
|
||||
{
|
||||
dad.dance();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dad.dance();
|
||||
}
|
||||
}
|
||||
// FlxG.log.add('change bpm' + SONG.notes[Std.int(curStep / 16)].changeBPM);
|
||||
wiggleShit.update(Conductor.crochet);
|
||||
|
@ -305,6 +305,10 @@ class StoryMenuState extends MusicBeatState
|
||||
LoadingState.loadAndSwitchState(new PlayState(), true);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxG.camera.shake(0.02, 0.02);
|
||||
}
|
||||
}
|
||||
|
||||
function changeDifficulty(change:Int = 0):Void
|
||||
|
Loading…
x
Reference in New Issue
Block a user