Merge pull request #723 from KadeDev/master
merge development into stable
This commit is contained in:
42 files changed
+86
-49
No files matched your search
+1
-1
@@ -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" />
|
||||
|
||||
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.
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.
@@ -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.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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);
|
||||
|
||||
+6
-2
@@ -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,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;
|
||||
|
||||
@@ -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
@@ -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';
|
||||
}
|
||||
|
||||
|
||||
+8
-11
@@ -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)
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
Reference in new issue
Block a user