This commit is contained in:
KadeDev 2021-04-29 15:07:56 -07:00
commit bac824bf13
57 changed files with 236 additions and 22389 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,4 @@
gf
gf-car
gf-christmas
gf-pixel

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
normal
pixel

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
stage
halloween
philly
limo
mall
mallEvil
school
schoolEvil

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -88,6 +88,9 @@ class ChartingState extends MusicBeatState
var leftIcon:HealthIcon;
var rightIcon:HealthIcon;
var leftIconChar:String;
var rightIconChar:String;
private var lastNote:Note;
@ -95,11 +98,31 @@ class ChartingState extends MusicBeatState
{
curSection = lastSection;
if (PlayState.SONG != null)
_song = PlayState.SONG;
else
{
_song = {
song: 'Test',
notes: [],
bpm: 150,
needsVoices: true,
player1: 'bf',
player2: 'dad',
gfVersion: 'gf',
noteStyle: 'normal',
stage: 'stage',
speed: 1,
validScore: false
};
}
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16);
add(gridBG);
leftIcon = new HealthIcon('bf');
rightIcon = new HealthIcon('dad');
leftIconChar = _song.player1;
rightIconChar = _song.player2;
leftIcon = new HealthIcon(leftIconChar);
rightIcon = new HealthIcon(rightIconChar);
leftIcon.scrollFactor.set(1, 1);
rightIcon.scrollFactor.set(1, 1);
@ -118,22 +141,6 @@ class ChartingState extends MusicBeatState
curRenderedNotes = new FlxTypedGroup<Note>();
curRenderedSustains = new FlxTypedGroup<FlxSprite>();
if (PlayState.SONG != null)
_song = PlayState.SONG;
else
{
_song = {
song: 'Test',
notes: [],
bpm: 150,
needsVoices: true,
player1: 'bf',
player2: 'dad',
speed: 1,
validScore: false
};
}
FlxG.mouse.visible = true;
FlxG.save.bind('funkin', 'ninjamuffin99');
@ -162,7 +169,8 @@ class ChartingState extends MusicBeatState
var tabs = [
{name: "Song", label: 'Song'},
{name: "Section", label: 'Section'},
{name: "Note", label: 'Note'}
{name: "Note", label: 'Note'},
{name: "Assets", label: 'Assets'}
];
UI_box = new FlxUITabMenu(null, tabs, true);
@ -247,6 +255,9 @@ class ChartingState extends MusicBeatState
stepperBPM.name = 'song_bpm';
var characters:Array<String> = CoolUtil.coolTextFile(Paths.txt('characterList'));
var gfVersions:Array<String> = CoolUtil.coolTextFile(Paths.txt('gfVersionList'));
var stages:Array<String> = CoolUtil.coolTextFile(Paths.txt('stageList'));
var noteStyles:Array<String> = CoolUtil.coolTextFile(Paths.txt('noteStyleList'));
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{
@ -261,6 +272,24 @@ class ChartingState extends MusicBeatState
player2DropDown.selectedLabel = _song.player2;
var gfVersionDropDown = new FlxUIDropDownMenu(10, 200, FlxUIDropDownMenu.makeStrIdLabelArray(gfVersions, true), function(gfVersion:String)
{
_song.gfVersion = gfVersions[Std.parseInt(gfVersion)];
});
gfVersionDropDown.selectedLabel = _song.gfVersion;
var stageDropDown = new FlxUIDropDownMenu(140, 200, FlxUIDropDownMenu.makeStrIdLabelArray(stages, true), function(stage:String)
{
_song.stage = stages[Std.parseInt(stage)];
});
stageDropDown.selectedLabel = _song.stage;
var noteStyleDropDown = new FlxUIDropDownMenu(10, 300, FlxUIDropDownMenu.makeStrIdLabelArray(noteStyles, true), function(noteStyle:String)
{
_song.noteStyle = noteStyles[Std.parseInt(noteStyle)];
});
noteStyleDropDown.selectedLabel = _song.noteStyle;
var tab_group_song = new FlxUI(null, UI_box);
tab_group_song.name = "Song";
tab_group_song.add(UI_songTitle);
@ -273,10 +302,20 @@ class ChartingState extends MusicBeatState
tab_group_song.add(loadAutosaveBtn);
tab_group_song.add(stepperBPM);
tab_group_song.add(stepperSpeed);
tab_group_song.add(player1DropDown);
tab_group_song.add(player2DropDown);
var tab_group_assets = new FlxUI(null, UI_box);
tab_group_assets.name = "Assets";
tab_group_assets.add(player1DropDown);
tab_group_assets.add(player2DropDown);
tab_group_assets.add(gfVersionDropDown);
tab_group_assets.add(stageDropDown);
tab_group_assets.add(noteStyleDropDown);
UI_box.addGroup(tab_group_song);
UI_box.addGroup(tab_group_assets);
UI_box.scrollFactor.set();
FlxG.camera.follow(strumLine);
@ -991,13 +1030,13 @@ class ChartingState extends MusicBeatState
{
if (check_mustHitSection.checked)
{
leftIcon.animation.play('bf');
rightIcon.animation.play('dad');
leftIcon.animation.play(leftIconChar);
rightIcon.animation.play(rightIconChar);
}
else
{
leftIcon.animation.play('dad');
rightIcon.animation.play('bf');
leftIcon.animation.play(rightIconChar);
rightIcon.animation.play(leftIconChar);
}
}

View File

@ -9,6 +9,7 @@ import flixel.util.FlxColor;
#if polymod
import polymod.format.ParseRules.TargetSignatureElement;
#end
import PlayState;
using StringTools;
@ -58,9 +59,9 @@ class Note extends FlxSprite
var daStage:String = PlayState.curStage;
switch (daStage)
switch (PlayState.SONG.noteStyle)
{
case 'school' | 'schoolEvil':
case 'pixel':
loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels'), true, 17, 17);
animation.add('greenScroll', [6]);
@ -86,6 +87,28 @@ class Note extends FlxSprite
setGraphicSize(Std.int(width * PlayState.daPixelZoom));
updateHitbox();
case 'normal':
frames = Paths.getSparrowAtlas('NOTE_assets');
animation.addByPrefix('greenScroll', 'green0');
animation.addByPrefix('redScroll', 'red0');
animation.addByPrefix('blueScroll', 'blue0');
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('greenhold', 'green hold piece');
animation.addByPrefix('redhold', 'red hold piece');
animation.addByPrefix('bluehold', 'blue hold piece');
setGraphicSize(Std.int(width * 0.7));
updateHitbox();
antialiasing = true;
default:
frames = Paths.getSparrowAtlas('NOTE_assets');

View File

@ -32,12 +32,12 @@ class OptionsMenu extends MusicBeatState
// new OffsetMenu("Get a note offset based off of your inputs!"),
new CustomizeGameplay("Drag'n'Drop Gameplay Modules around to your preference")
]),
new OptionCatagory("Appearence", [
new OptionCatagory("Appearance", [
new SongPositionOption("Show the songs current position (as a bar)"),
new DownscrollOption("Change the layout of the strumline."),
new DistractionsAndEffectsOption("Toggle stage distractions that can hinder your gameplay."),
#if desktop
new RainbowFPSOption("Make the FPS Counter Rainbow (Only works with the FPS Counter toggeled on)"),
new RainbowFPSOption("Make the FPS Counter Rainbow (Only works with the FPS Counter toggled on)"),
#end
new AccuracyOption("Display accuracy information."),
new NPSDisplayOption("Shows your current Notes Per Second.")

View File

@ -328,9 +328,9 @@ class PlayState extends MusicBeatState
dialogue = CoolUtil.coolTextFile(Paths.txt('thorns/thornsDialogue'));
}
switch(SONG.song.toLowerCase())
switch(SONG.stage)
{
case 'spookeez' | 'monster' | 'south':
case 'halloween':
{
curStage = 'spooky';
halloweenLevel = true;
@ -347,7 +347,7 @@ class PlayState extends MusicBeatState
isHalloween = true;
}
case 'pico' | 'blammed' | 'philly':
case 'philly':
{
curStage = 'philly';
@ -393,7 +393,7 @@ class PlayState extends MusicBeatState
var street:FlxSprite = new FlxSprite(-40, streetBehind.y).loadGraphic(Paths.image('philly/street'));
add(street);
}
case 'milf' | 'satin-panties' | 'high':
case 'limo':
{
curStage = 'limo';
defaultCamZoom = 0.90;
@ -441,7 +441,7 @@ class PlayState extends MusicBeatState
fastCar = new FlxSprite(-300, 160).loadGraphic(Paths.image('limo/fastCarLol'));
// add(limo);
}
case 'cocoa' | 'eggnog':
case 'mall':
{
curStage = 'mall';
@ -505,7 +505,7 @@ class PlayState extends MusicBeatState
add(santa);
}
}
case 'winter-horrorland':
case 'mallEvil':
{
curStage = 'mallEvil';
var bg:FlxSprite = new FlxSprite(-400, -500).loadGraphic(Paths.image('christmas/evilBG'));
@ -525,7 +525,7 @@ class PlayState extends MusicBeatState
evilSnow.antialiasing = true;
add(evilSnow);
}
case 'senpai' | 'roses':
case 'school':
{
curStage = 'school';
@ -596,7 +596,7 @@ class PlayState extends MusicBeatState
add(bgGirls);
}
}
case 'thorns':
case 'schoolEvil':
{
curStage = 'schoolEvil';
@ -652,6 +652,33 @@ class PlayState extends MusicBeatState
add(waveSpriteFG);
*/
}
case 'stage':
{
defaultCamZoom = 0.9;
curStage = 'stage';
var bg:FlxSprite = new FlxSprite(-600, -200).loadGraphic(Paths.image('stageback'));
bg.antialiasing = true;
bg.scrollFactor.set(0.9, 0.9);
bg.active = false;
add(bg);
var stageFront:FlxSprite = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront'));
stageFront.setGraphicSize(Std.int(stageFront.width * 1.1));
stageFront.updateHitbox();
stageFront.antialiasing = true;
stageFront.scrollFactor.set(0.9, 0.9);
stageFront.active = false;
add(stageFront);
var stageCurtains:FlxSprite = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains'));
stageCurtains.setGraphicSize(Std.int(stageCurtains.width * 0.9));
stageCurtains.updateHitbox();
stageCurtains.antialiasing = true;
stageCurtains.scrollFactor.set(1.3, 1.3);
stageCurtains.active = false;
add(stageCurtains);
}
default:
{
defaultCamZoom = 0.9;
@ -682,21 +709,20 @@ class PlayState extends MusicBeatState
}
var gfVersion:String = 'gf';
switch (curStage)
switch (SONG.gfVersion)
{
case 'limo':
case 'gf-car':
gfVersion = 'gf-car';
case 'mall' | 'mallEvil':
case 'gf-christmas':
gfVersion = 'gf-christmas';
case 'school':
gfVersion = 'gf-pixel';
case 'schoolEvil':
case 'gf-pixel':
gfVersion = 'gf-pixel';
case 'gf':
gfVersion = 'gf';
default:
gfVersion = 'gf';
}
if (curStage == 'limo')
gfVersion = 'gf-car';
gf = new Character(400, 130, gfVersion);
gf.scrollFactor.set(0.95, 0.95);
@ -1408,9 +1434,9 @@ class PlayState extends MusicBeatState
// FlxG.log.add(i);
var babyArrow:FlxSprite = new FlxSprite(0, strumLine.y);
switch (curStage)
switch (SONG.noteStyle)
{
case 'school' | 'schoolEvil':
case 'pixel':
babyArrow.loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels'), true, 17, 17);
babyArrow.animation.add('green', [6]);
babyArrow.animation.add('red', [7]);
@ -1444,6 +1470,40 @@ class PlayState extends MusicBeatState
babyArrow.animation.add('pressed', [7, 11], 12, false);
babyArrow.animation.add('confirm', [15, 19], 24, false);
}
case 'normal':
babyArrow.frames = Paths.getSparrowAtlas('NOTE_assets');
babyArrow.animation.addByPrefix('green', 'arrowUP');
babyArrow.animation.addByPrefix('blue', 'arrowDOWN');
babyArrow.animation.addByPrefix('purple', 'arrowLEFT');
babyArrow.animation.addByPrefix('red', 'arrowRIGHT');
babyArrow.antialiasing = true;
babyArrow.setGraphicSize(Std.int(babyArrow.width * 0.7));
switch (Math.abs(i))
{
case 0:
babyArrow.x += Note.swagWidth * 0;
babyArrow.animation.addByPrefix('static', 'arrowLEFT');
babyArrow.animation.addByPrefix('pressed', 'left press', 24, false);
babyArrow.animation.addByPrefix('confirm', 'left confirm', 24, false);
case 1:
babyArrow.x += Note.swagWidth * 1;
babyArrow.animation.addByPrefix('static', 'arrowDOWN');
babyArrow.animation.addByPrefix('pressed', 'down press', 24, false);
babyArrow.animation.addByPrefix('confirm', 'down confirm', 24, false);
case 2:
babyArrow.x += Note.swagWidth * 2;
babyArrow.animation.addByPrefix('static', 'arrowUP');
babyArrow.animation.addByPrefix('pressed', 'up press', 24, false);
babyArrow.animation.addByPrefix('confirm', 'up confirm', 24, false);
case 3:
babyArrow.x += Note.swagWidth * 3;
babyArrow.animation.addByPrefix('static', 'arrowRIGHT');
babyArrow.animation.addByPrefix('pressed', 'right press', 24, false);
babyArrow.animation.addByPrefix('confirm', 'right confirm', 24, false);
}
default:
babyArrow.frames = Paths.getSparrowAtlas('NOTE_assets');

View File

@ -17,6 +17,9 @@ typedef SwagSong =
var player1:String;
var player2:String;
var gfVersion:String;
var noteStyle:String;
var stage:String;
var validScore:Bool;
}
@ -30,6 +33,9 @@ class Song
public var player1:String = 'bf';
public var player2:String = 'dad';
public var gfVersion:String = 'gf';
public var noteStyle:String = 'normal';
public var stage:String = 'stage';
public function new(song, notes, bpm)
{