Merge pull request #723 from KadeDev/master

merge development into stable
This commit is contained in:
Kade M authored and GitHub committed 2021-06-05 12:38:15 -07:00
commit e6afeeba25
42 files changed
+83 -46

No files matched your search

+1 -1
View File
@@ -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" />
-4
View File
@@ -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"/>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+1 -1
View File
@@ -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');
+1 -1
View File
@@ -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);
+6 -2
View File
@@ -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;
}
+2 -2
View File
@@ -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;
+52 -10
View File
@@ -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,6 +111,19 @@ 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)
{
@@ -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;
+6
View File
@@ -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();
+3 -14
View File
@@ -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});
+1 -1
View File
@@ -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";
+2
View File
@@ -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';
}
+5 -8
View File
@@ -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;
@@ -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')
{
+1 -1
View File
@@ -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)
+2 -1
View File
@@ -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