Merge pull request #723 from KadeDev/master
merge development into stable
This commit is contained in:
commit
e6afeeba25
@ -2,7 +2,7 @@
|
||||
<project>
|
||||
<!-- _________________________ Application Settings _________________________ -->
|
||||
|
||||
<app title="Friday Night Funkin' Kade Engine" file="Kade Engine" packageName="com.ninjamuffin99.funkin" package="com.ninjamuffin99.funkin" main="Main" version="0.2.7.1" company="ninjamuffin99" />
|
||||
<app title="Friday Night Funkin': Kade Engine" file="Kade Engine" packageName="com.kadedev.kadeengine" package="com.kadedev.kadeengine" main="Main" version="0.2.7.1" company="kadedev" />
|
||||
|
||||
<!--Switch Export with Unique ApplicationID and Icon-->
|
||||
<set name="APP_ID" value="0x0100f6c013bbc000" />
|
||||
|
@ -14,10 +14,6 @@
|
||||
<SubTexture name="%0001" x="673" y="202" width="46" height="52"/>
|
||||
<SubTexture name="%0002" x="850" y="243" width="45" height="52" frameX="0" frameY="0" frameWidth="46" frameHeight="52"/>
|
||||
<SubTexture name="%0003" x="850" y="243" width="45" height="52" frameX="0" frameY="0" frameWidth="46" frameHeight="52"/>
|
||||
<SubTexture name="&0000" x="410" y="307" width="36" height="58" pivotX="0" pivotY="0"/>
|
||||
<SubTexture name="&0001" x="410" y="307" width="36" height="58"/>
|
||||
<SubTexture name="&0002" x="563" y="307" width="36" height="58"/>
|
||||
<SubTexture name="&0003" x="563" y="307" width="36" height="58"/>
|
||||
<SubTexture name="(0000" x="554" y="196" width="26" height="57" pivotX="0" pivotY="0.15"/>
|
||||
<SubTexture name="(0001" x="554" y="196" width="26" height="57"/>
|
||||
<SubTexture name="(0002" x="254" y="202" width="26" height="56" frameX="0" frameY="0" frameWidth="26" frameHeight="57"/>
|
||||
|
@ -9,7 +9,7 @@ class BackgroundDancer extends FlxSprite
|
||||
{
|
||||
super(x, y);
|
||||
|
||||
frames = Paths.getSparrowAtlas("limo/limoDancer");
|
||||
frames = Paths.getSparrowAtlas("limo/limoDancer",'week4');
|
||||
animation.addByIndices('danceLeft', 'bg dancer sketch PINK', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false);
|
||||
animation.addByIndices('danceRight', 'bg dancer sketch PINK', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false);
|
||||
animation.play('danceLeft');
|
||||
|
@ -10,7 +10,7 @@ class BackgroundGirls extends FlxSprite
|
||||
super(x, y);
|
||||
|
||||
// BG fangirls dissuaded
|
||||
frames = Paths.getSparrowAtlas('weeb/bgFreaks');
|
||||
frames = Paths.getSparrowAtlas('weeb/bgFreaks','week6');
|
||||
|
||||
animation.addByIndices('danceLeft', 'BG girls group', CoolUtil.numberArray(14), "", 24, false);
|
||||
animation.addByIndices('danceRight', 'BG girls group', CoolUtil.numberArray(30, 15), "", 24, false);
|
||||
|
@ -124,7 +124,7 @@ class Character extends FlxSprite
|
||||
|
||||
case 'dad':
|
||||
// DAD ANIMATION LOADING CODE
|
||||
tex = Paths.getSparrowAtlas('characters/DADDY_DEAREST');
|
||||
tex = Paths.getSparrowAtlas('characters/DADDY_DEAREST', 'shared');
|
||||
frames = tex;
|
||||
animation.addByPrefix('idle', 'Dad idle dance', 24);
|
||||
animation.addByPrefix('singUP', 'Dad Sing Note UP', 24);
|
||||
@ -267,8 +267,11 @@ class Character extends FlxSprite
|
||||
flipX = true;
|
||||
|
||||
case 'bf':
|
||||
var tex = Paths.getSparrowAtlas('characters/BOYFRIEND');
|
||||
var tex = Paths.getSparrowAtlas('characters/BOYFRIEND', 'shared');
|
||||
frames = tex;
|
||||
|
||||
trace(tex.frames.length);
|
||||
|
||||
animation.addByPrefix('idle', 'BF idle dance', 24, false);
|
||||
animation.addByPrefix('singUP', 'BF NOTE UP0', 24, false);
|
||||
animation.addByPrefix('singLEFT', 'BF NOTE LEFT0', 24, false);
|
||||
@ -537,6 +540,7 @@ class Character extends FlxSprite
|
||||
dadVar = 6.1;
|
||||
if (holdTimer >= Conductor.stepCrochet * dadVar * 0.001)
|
||||
{
|
||||
trace('dance');
|
||||
dance();
|
||||
holdTimer = 0;
|
||||
}
|
||||
|
@ -202,11 +202,11 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
if (accepted)
|
||||
{
|
||||
var poop:String = Highscore.formatSong(songs[curSelected].songName.toLowerCase(), curDifficulty);
|
||||
var poop:String = Highscore.formatSong(StringTools.replace(songs[curSelected].songName," ", "-").toLowerCase(), curDifficulty);
|
||||
|
||||
trace(poop);
|
||||
|
||||
PlayState.SONG = Song.loadFromJson(poop, songs[curSelected].songName.toLowerCase());
|
||||
PlayState.SONG = Song.loadFromJson(poop, StringTools.replace(songs[curSelected].songName," ", "-").toLowerCase());
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = curDifficulty;
|
||||
PlayState.storyWeek = songs[curSelected].week;
|
||||
|
@ -1,3 +1,7 @@
|
||||
import flixel.tweens.FlxEase;
|
||||
import flixel.tweens.FlxTween;
|
||||
import flixel.util.FlxColor;
|
||||
import flixel.text.FlxText;
|
||||
import flixel.math.FlxMath;
|
||||
import flixel.FlxCamera;
|
||||
import flixel.math.FlxPoint;
|
||||
@ -18,13 +22,16 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
var defaultX:Float = FlxG.width * 0.55 - 135;
|
||||
var defaultY:Float = FlxG.height / 2 - 50;
|
||||
|
||||
var background:FlxSprite = new FlxSprite(-600, -200).loadGraphic(Paths.image('stageback','shared'));
|
||||
var curt:FlxSprite = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains','shared'));
|
||||
var front:FlxSprite = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront','shared'));
|
||||
var background:FlxSprite;
|
||||
var curt:FlxSprite;
|
||||
var front:FlxSprite;
|
||||
|
||||
var sick:FlxSprite = new FlxSprite().loadGraphic(Paths.image('sick','shared'));
|
||||
var sick:FlxSprite;
|
||||
|
||||
var bf:Boyfriend = new Boyfriend(770, 450, 'bf');
|
||||
var text:FlxText;
|
||||
var blackBorder:FlxSprite;
|
||||
|
||||
var bf:Boyfriend;
|
||||
var dad:Character;
|
||||
|
||||
var strumLine:FlxSprite;
|
||||
@ -38,6 +45,12 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
DiscordClient.changePresence("Customizing Gameplay", null);
|
||||
#end
|
||||
|
||||
sick = new FlxSprite().loadGraphic(Paths.image('sick','shared'));
|
||||
sick.scrollFactor.set();
|
||||
background = new FlxSprite(-600, -200).loadGraphic(Paths.image('stageback','shared'));
|
||||
curt = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains','shared'));
|
||||
front = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront','shared'));
|
||||
|
||||
Conductor.changeBPM(102);
|
||||
persistentUpdate = true;
|
||||
|
||||
@ -59,6 +72,8 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
|
||||
dad = new Character(100, 100, 'dad');
|
||||
|
||||
bf = new Boyfriend(770, 450, 'bf');
|
||||
|
||||
var camPos:FlxPoint = new FlxPoint(dad.getGraphicMidpoint().x + 400, dad.getGraphicMidpoint().y);
|
||||
|
||||
camFollow.setPosition(camPos.x, camPos.y);
|
||||
@ -75,8 +90,11 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
FlxG.camera.zoom = 0.9;
|
||||
FlxG.camera.focusOn(camFollow.getPosition());
|
||||
|
||||
strumLine = new FlxSprite(0, 25).makeGraphic(FlxG.width, 10);
|
||||
strumLine = new FlxSprite(0, FlxG.save.data.strumline).makeGraphic(FlxG.width, 14);
|
||||
strumLine.scrollFactor.set();
|
||||
strumLine.alpha = 0.4;
|
||||
|
||||
add(strumLine);
|
||||
|
||||
if (FlxG.save.data.downscroll)
|
||||
strumLine.y = FlxG.height - 165;
|
||||
@ -93,7 +111,20 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
generateStaticArrows(0);
|
||||
generateStaticArrows(1);
|
||||
|
||||
text = new FlxText(5, FlxG.height + 40, 0, "Drag around gameplay elements, R to reset, Escape to go back.", 12);
|
||||
text.scrollFactor.set();
|
||||
text.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
|
||||
|
||||
blackBorder = new FlxSprite(-30,FlxG.height + 40).makeGraphic((Std.int(text.width + 900)),Std.int(text.height + 600),FlxColor.BLACK);
|
||||
blackBorder.alpha = 0.5;
|
||||
|
||||
add(blackBorder);
|
||||
|
||||
add(text);
|
||||
|
||||
FlxTween.tween(text,{y: FlxG.height - 18},2,{ease: FlxEase.elasticInOut});
|
||||
FlxTween.tween(blackBorder,{y: FlxG.height - 18},2, {ease: FlxEase.elasticInOut});
|
||||
|
||||
if (!FlxG.save.data.changedHit)
|
||||
{
|
||||
FlxG.save.data.changedHitX = defaultX;
|
||||
@ -103,7 +134,6 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
sick.x = FlxG.save.data.changedHitX;
|
||||
sick.y = FlxG.save.data.changedHitY;
|
||||
|
||||
sick.updateHitbox();
|
||||
|
||||
FlxG.mouse.visible = true;
|
||||
|
||||
@ -121,9 +151,14 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
if (FlxG.mouse.overlaps(sick) && FlxG.mouse.pressed)
|
||||
{
|
||||
sick.x = FlxG.mouse.x - sick.width / 2;
|
||||
sick.y = FlxG.mouse.y - sick.height / 2;
|
||||
sick.y = FlxG.mouse.y - sick.height;
|
||||
}
|
||||
|
||||
for (i in playerStrums)
|
||||
i.y = strumLine.y;
|
||||
for (i in strumLineNotes)
|
||||
i.y = strumLine.y;
|
||||
|
||||
if (FlxG.mouse.overlaps(sick) && FlxG.mouse.justReleased)
|
||||
{
|
||||
FlxG.save.data.changedHitX = sick.x;
|
||||
@ -131,6 +166,15 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
FlxG.save.data.changedHit = true;
|
||||
}
|
||||
|
||||
if (FlxG.keys.justPressed.R)
|
||||
{
|
||||
sick.x = defaultX;
|
||||
sick.y = defaultY;
|
||||
FlxG.save.data.changedHitX = sick.x;
|
||||
FlxG.save.data.changedHitY = sick.y;
|
||||
FlxG.save.data.changedHit = false;
|
||||
}
|
||||
|
||||
if (controls.BACK)
|
||||
{
|
||||
FlxG.mouse.visible = false;
|
||||
@ -199,9 +243,7 @@ class GameplayCustomizeState extends MusicBeatState
|
||||
babyArrow.ID = i;
|
||||
|
||||
if (player == 1)
|
||||
{
|
||||
playerStrums.add(babyArrow);
|
||||
}
|
||||
|
||||
babyArrow.animation.play('static');
|
||||
babyArrow.x += 50;
|
||||
|
@ -75,6 +75,12 @@ class KadeEngineData
|
||||
if (FlxG.save.data.cpuStrums == null)
|
||||
FlxG.save.data.cpuStrums = false;
|
||||
|
||||
if (FlxG.save.data.strumline == null)
|
||||
FlxG.save.data.strumline = false;
|
||||
|
||||
if (FlxG.save.data.customStrumLine == null)
|
||||
FlxG.save.data.customStrumLine = 0;
|
||||
|
||||
Conductor.recalculateTimings();
|
||||
PlayerSettings.player1.controls.loadKeyBinds();
|
||||
KeyBinds.keyCheck();
|
||||
|
@ -223,21 +223,8 @@ class KeyBindMenu extends FlxSubState
|
||||
|
||||
var notAllowed:Array<String> = [];
|
||||
|
||||
for(x in keys){
|
||||
if(x != tempKey){notAllowed.push(x);}
|
||||
}
|
||||
|
||||
for(x in blacklist){notAllowed.push(x);}
|
||||
|
||||
if(curSelected != 4){
|
||||
|
||||
for(x in keyText){
|
||||
if(x != keyText[curSelected]){notAllowed.push(x);}
|
||||
}
|
||||
|
||||
}
|
||||
else {for(x in keyText){notAllowed.push(x);}}
|
||||
|
||||
trace(notAllowed);
|
||||
|
||||
for(x in 0...keys.length)
|
||||
@ -245,6 +232,8 @@ class KeyBindMenu extends FlxSubState
|
||||
var oK = keys[x];
|
||||
if(oK == r)
|
||||
keys[x] = null;
|
||||
if (notAllowed.contains(oK))
|
||||
return;
|
||||
}
|
||||
|
||||
if(shouldReturn){
|
||||
@ -253,7 +242,7 @@ class KeyBindMenu extends FlxSubState
|
||||
}
|
||||
else{
|
||||
keys[curSelected] = tempKey;
|
||||
FlxG.sound.play(Paths.sound('confirmMenu'));
|
||||
FlxG.sound.play(Paths.sound('scrollMenu'));
|
||||
keyWarning.alpha = 1;
|
||||
warningTween.cancel();
|
||||
warningTween = FlxTween.tween(keyWarning, {alpha: 0}, 0.5, {ease: FlxEase.circOut, startDelay: 2});
|
||||
|
@ -37,7 +37,7 @@ class MainMenuState extends MusicBeatState
|
||||
var newGaming2:FlxText;
|
||||
public static var firstStart:Bool = true;
|
||||
|
||||
public static var nightly:String = "";
|
||||
public static var nightly:String = "-nightly-development";
|
||||
|
||||
public static var kadeEngineVer:String = "1.5" + nightly;
|
||||
public static var gameVer:String = "0.2.7.1";
|
||||
|
@ -97,11 +97,13 @@ class Paths
|
||||
|
||||
inline static public function voices(song:String)
|
||||
{
|
||||
song = StringTools.replace(song," ", "-");
|
||||
return 'songs:assets/songs/${song.toLowerCase()}/Voices.$SOUND_EXT';
|
||||
}
|
||||
|
||||
inline static public function inst(song:String)
|
||||
{
|
||||
song = StringTools.replace(song," ", "-");
|
||||
return 'songs:assets/songs/${song.toLowerCase()}/Inst.$SOUND_EXT';
|
||||
}
|
||||
|
||||
|
@ -1786,6 +1786,9 @@ class PlayState extends MusicBeatState
|
||||
super.update(elapsed);
|
||||
|
||||
scoreTxt.text = Ratings.CalculateRanking(songScore,songScoreDef,nps,maxNPS,accuracy);
|
||||
if (!FlxG.save.data.accuracyDisplay)
|
||||
scoreTxt.text = "Score: " + songScore;
|
||||
|
||||
if (FlxG.keys.justPressed.ENTER && startedCountdown && canPause)
|
||||
{
|
||||
persistentUpdate = false;
|
||||
@ -3252,9 +3255,9 @@ class PlayState extends MusicBeatState
|
||||
function trainStart():Void
|
||||
{
|
||||
if(FlxG.save.data.distractions){
|
||||
trainMoving = true;
|
||||
if (!trainSound.playing)
|
||||
trainSound.play(true);
|
||||
trainMoving = true;
|
||||
if (!trainSound.playing)
|
||||
trainSound.play(true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3315,6 +3318,8 @@ class PlayState extends MusicBeatState
|
||||
gf.playAnim('scared', true);
|
||||
}
|
||||
|
||||
var danced:Bool = false;
|
||||
|
||||
override function stepHit()
|
||||
{
|
||||
super.stepHit();
|
||||
@ -3331,10 +3336,6 @@ class PlayState extends MusicBeatState
|
||||
}
|
||||
#end
|
||||
|
||||
if (dad.curCharacter == 'spooky' && curStep % 4 == 2)
|
||||
{
|
||||
// dad.dance();
|
||||
}
|
||||
|
||||
|
||||
// yes this updates every step.
|
||||
@ -3423,10 +3424,6 @@ class PlayState extends MusicBeatState
|
||||
boyfriend.playAnim('idle');
|
||||
}
|
||||
|
||||
if (!dad.animation.curAnim.name.startsWith("sing"))
|
||||
{
|
||||
dad.dance();
|
||||
}
|
||||
|
||||
if (curBeat % 8 == 7 && curSong == 'Bopeebo')
|
||||
{
|
||||
|
@ -297,7 +297,7 @@ class StoryMenuState extends MusicBeatState
|
||||
|
||||
PlayState.storyDifficulty = curDifficulty;
|
||||
|
||||
PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + diffic, PlayState.storyPlaylist[0].toLowerCase());
|
||||
PlayState.SONG = Song.loadFromJson(StringTools.replace(PlayState.storyPlaylist[0]," ", "-").toLowerCase() + diffic, StringTools.replace(PlayState.storyPlaylist[0]," ", "-").toLowerCase());
|
||||
PlayState.storyWeek = curWeek;
|
||||
PlayState.campaignScore = 0;
|
||||
new FlxTimer().start(1, function(tmr:FlxTimer)
|
||||
|
@ -1,4 +1,5 @@
|
||||
1.5;
|
||||
1.5.1;
|
||||
- 1.5.1: Bug Fixes
|
||||
- Added toggle for ghost tapping
|
||||
- Officially support macOS (and add macOS requirements to docs)
|
||||
- Autoplay
|
||||
|
Loading…
x
Reference in New Issue
Block a user