mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-26 17:46:08 -05:00
Merge branch 'rewrite/master' into cutscene-updates
This commit is contained in:
commit
12f5904aa5
11 changed files with 36 additions and 19 deletions
0
.github/hooks/post-checkout
vendored
Normal file → Executable file
0
.github/hooks/post-checkout
vendored
Normal file → Executable file
0
.github/hooks/post-merge
vendored
Normal file → Executable file
0
.github/hooks/post-merge
vendored
Normal file → Executable file
0
.github/hooks/pre-push
vendored
Normal file → Executable file
0
.github/hooks/pre-push
vendored
Normal file → Executable file
|
@ -124,7 +124,7 @@
|
||||||
<haxelib name="polymod" /> <!-- Modding framework -->
|
<haxelib name="polymod" /> <!-- Modding framework -->
|
||||||
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
||||||
<haxelib name="hxCodec" if="desktop" unless="hl" /> <!-- Video playback -->
|
<haxelib name="hxCodec" if="desktop" unless="hl" /> <!-- Video playback -->
|
||||||
<haxelib name="funkVis"/>
|
<haxelib name="funkin.vis"/>
|
||||||
|
|
||||||
|
|
||||||
<haxelib name="json2object" /> <!-- JSON parsing -->
|
<haxelib name="json2object" /> <!-- JSON parsing -->
|
||||||
|
|
4
hmm.json
4
hmm.json
|
@ -46,10 +46,10 @@
|
||||||
"version": "3.5.0"
|
"version": "3.5.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "funkVis",
|
"name": "funkin.vis",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"dir": null,
|
"dir": null,
|
||||||
"ref": "7fc9901553fbe9b8fcf6e2e84bc86eabeaf29701",
|
"ref": "98c9db09f0bbfedfe67a84538a5814aaef80bdea",
|
||||||
"url": "https://github.com/FunkinCrew/funkVis"
|
"url": "https://github.com/FunkinCrew/funkVis"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,8 +8,8 @@ import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
|
||||||
import flixel.math.FlxMath;
|
import flixel.math.FlxMath;
|
||||||
import flixel.sound.FlxSound;
|
import flixel.sound.FlxSound;
|
||||||
import funkin.util.MathUtil;
|
import funkin.util.MathUtil;
|
||||||
import funkVis.dsp.SpectralAnalyzer;
|
import funkin.vis.dsp.SpectralAnalyzer;
|
||||||
import funkVis.audioclip.frontends.LimeAudioClip;
|
import funkin.vis.audioclip.frontends.LimeAudioClip;
|
||||||
|
|
||||||
using Lambda;
|
using Lambda;
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ class ABotVis extends FlxTypedSpriteGroup<FlxSprite>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TJW funkVis based visualizer! updateFFT() is the old nasty shit that dont worky!
|
* TJW funkin.vis based visualizer! updateFFT() is the old nasty shit that dont worky!
|
||||||
*/
|
*/
|
||||||
function drawFFT():Void
|
function drawFFT():Void
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,7 @@ class PopUpStuff extends FlxTypedGroup<FlxSprite>
|
||||||
|
|
||||||
if (PlayState.instance.currentStageId.startsWith('school'))
|
if (PlayState.instance.currentStageId.startsWith('school'))
|
||||||
{
|
{
|
||||||
rating.setGraphicSize(Std.int(rating.width * Constants.PIXEL_ART_SCALE * 0.65));
|
rating.setGraphicSize(Std.int(rating.width * Constants.PIXEL_ART_SCALE * 0.7));
|
||||||
rating.antialiasing = false;
|
rating.antialiasing = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -133,7 +133,7 @@ class PopUpStuff extends FlxTypedGroup<FlxSprite>
|
||||||
|
|
||||||
if (PlayState.instance.currentStageId.startsWith('school'))
|
if (PlayState.instance.currentStageId.startsWith('school'))
|
||||||
{
|
{
|
||||||
numScore.setGraphicSize(Std.int(numScore.width * Constants.PIXEL_ART_SCALE));
|
numScore.setGraphicSize(Std.int(numScore.width * Constants.PIXEL_ART_SCALE * 0.7));
|
||||||
numScore.antialiasing = false;
|
numScore.antialiasing = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -127,7 +127,7 @@ class FocusCameraSongEvent extends SongEvent
|
||||||
switch (ease)
|
switch (ease)
|
||||||
{
|
{
|
||||||
case 'CLASSIC': // Old-school. No ease. Just set follow point.
|
case 'CLASSIC': // Old-school. No ease. Just set follow point.
|
||||||
PlayState.instance.resetCamera();
|
PlayState.instance.resetCamera(false, true);
|
||||||
PlayState.instance.cameraFollowPoint.setPosition(targetX, targetY);
|
PlayState.instance.cameraFollowPoint.setPosition(targetX, targetY);
|
||||||
case 'INSTANT': // Instant ease. Duration is automatically 0.
|
case 'INSTANT': // Instant ease. Duration is automatically 0.
|
||||||
PlayState.instance.tweenCameraToPosition(targetX, targetY, 0);
|
PlayState.instance.tweenCameraToPosition(targetX, targetY, 0);
|
||||||
|
|
|
@ -456,6 +456,14 @@ class FreeplayState extends MusicBeatSubState
|
||||||
default:
|
default:
|
||||||
generateSongList({filterType: REGEXP, filterData: str}, true);
|
generateSongList({filterType: REGEXP, filterData: str}, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We want to land on the first song of the group, rather than random song when changing letter sorts
|
||||||
|
// that is, only if there's more than one song in the group!
|
||||||
|
if (grpCapsules.members.length > 0)
|
||||||
|
{
|
||||||
|
curSelected = 1;
|
||||||
|
changeSelection();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exitMovers.set([fp, txtCompletion, fnfHighscoreSpr],
|
exitMovers.set([fp, txtCompletion, fnfHighscoreSpr],
|
||||||
|
|
|
@ -20,6 +20,7 @@ class FunkinSoundTray extends FlxSoundTray
|
||||||
{
|
{
|
||||||
var graphicScale:Float = 0.30;
|
var graphicScale:Float = 0.30;
|
||||||
var lerpYPos:Float = 0;
|
var lerpYPos:Float = 0;
|
||||||
|
var alphaTarget:Float = 0;
|
||||||
|
|
||||||
var volumeMaxSound:String;
|
var volumeMaxSound:String;
|
||||||
|
|
||||||
|
@ -40,7 +41,7 @@ class FunkinSoundTray extends FlxSoundTray
|
||||||
|
|
||||||
// makes an alpha'd version of all the bars (bar_10.png)
|
// makes an alpha'd version of all the bars (bar_10.png)
|
||||||
var backingBar:Bitmap = new Bitmap(Assets.getBitmapData(Paths.image("soundtray/bars_10")));
|
var backingBar:Bitmap = new Bitmap(Assets.getBitmapData(Paths.image("soundtray/bars_10")));
|
||||||
backingBar.x = 10;
|
backingBar.x = 9;
|
||||||
backingBar.y = 5;
|
backingBar.y = 5;
|
||||||
backingBar.scaleX = graphicScale;
|
backingBar.scaleX = graphicScale;
|
||||||
backingBar.scaleY = graphicScale;
|
backingBar.scaleY = graphicScale;
|
||||||
|
@ -56,7 +57,7 @@ class FunkinSoundTray extends FlxSoundTray
|
||||||
for (i in 1...11)
|
for (i in 1...11)
|
||||||
{
|
{
|
||||||
var bar:Bitmap = new Bitmap(Assets.getBitmapData(Paths.image("soundtray/bars_" + i)));
|
var bar:Bitmap = new Bitmap(Assets.getBitmapData(Paths.image("soundtray/bars_" + i)));
|
||||||
bar.x = 10;
|
bar.x = 9;
|
||||||
bar.y = 5;
|
bar.y = 5;
|
||||||
bar.scaleX = graphicScale;
|
bar.scaleX = graphicScale;
|
||||||
bar.scaleY = graphicScale;
|
bar.scaleY = graphicScale;
|
||||||
|
@ -77,15 +78,18 @@ class FunkinSoundTray extends FlxSoundTray
|
||||||
override public function update(MS:Float):Void
|
override public function update(MS:Float):Void
|
||||||
{
|
{
|
||||||
y = MathUtil.coolLerp(y, lerpYPos, 0.1);
|
y = MathUtil.coolLerp(y, lerpYPos, 0.1);
|
||||||
|
alpha = MathUtil.coolLerp(alpha, alphaTarget, 0.25);
|
||||||
|
|
||||||
// Animate sound tray thing
|
// Animate sound tray thing
|
||||||
if (_timer > 0)
|
if (_timer > 0)
|
||||||
{
|
{
|
||||||
_timer -= (MS / 1000);
|
_timer -= (MS / 1000);
|
||||||
|
alphaTarget = 1;
|
||||||
}
|
}
|
||||||
else if (y > -height)
|
else if (y > -height)
|
||||||
{
|
{
|
||||||
lerpYPos = -height - 10;
|
lerpYPos = -height - 10;
|
||||||
|
alphaTarget = 0;
|
||||||
|
|
||||||
if (y <= -height)
|
if (y <= -height)
|
||||||
{
|
{
|
||||||
|
|
|
@ -326,15 +326,20 @@ class LoadingState extends MusicBeatSubState
|
||||||
// I will fix this properly later I swear -eric
|
// I will fix this properly later I swear -eric
|
||||||
if (!path.endsWith('.png')) continue;
|
if (!path.endsWith('.png')) continue;
|
||||||
|
|
||||||
FunkinSprite.cacheTexture(path);
|
new Future<String>(function() {
|
||||||
|
FunkinSprite.cacheTexture(path);
|
||||||
|
// Another dumb hack: FlxAnimate fetches from OpenFL's BitmapData cache directly and skips the FlxGraphic cache.
|
||||||
|
// Since FlxGraphic tells OpenFL to not cache it, we have to do it manually.
|
||||||
|
if (path.endsWith('spritemap1.png'))
|
||||||
|
{
|
||||||
|
trace('Preloading FlxAnimate asset: ${path}');
|
||||||
|
openfl.Assets.getBitmapData(path, true);
|
||||||
|
}
|
||||||
|
return 'Done precaching ${path}';
|
||||||
|
}, true);
|
||||||
|
|
||||||
// Another dumb hack: FlxAnimate fetches from OpenFL's BitmapData cache directly and skips the FlxGraphic cache.
|
trace("Queued ${path} for precaching");
|
||||||
// Since FlxGraphic tells OpenFL to not cache it, we have to do it manually.
|
// FunkinSprite.cacheTexture(path);
|
||||||
if (path.endsWith('spritemap1.png'))
|
|
||||||
{
|
|
||||||
trace('Preloading FlxAnimate asset: ${path}');
|
|
||||||
openfl.Assets.getBitmapData(path, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// FunkinSprite.cacheAllNoteStyleTextures(noteStyle) // This will replace the stuff above!
|
// FunkinSprite.cacheAllNoteStyleTextures(noteStyle) // This will replace the stuff above!
|
||||||
|
|
Loading…
Reference in a new issue