Merge branch 'Time-Signature-Changes' into new-conductor
# Conflicts: # .gitignore # source/funkin/backend/FunkinSprite.hx # source/funkin/backend/chart/ChartData.hx # source/funkin/backend/chart/EventsData.hx # source/funkin/backend/system/Conductor.hx # source/funkin/backend/utils/CoolUtil.hx # source/funkin/editors/charter/Charter.hx # source/funkin/editors/charter/CharterEvent.hx # source/funkin/editors/charter/CharterEventScreen.hx # source/funkin/editors/charter/CharterMetaDataScreen.hx # source/funkin/editors/charter/SongCreationScreen.hx # source/funkin/game/PlayState.hx
This commit is contained in:
@@ -173,13 +173,14 @@ class Character extends FunkinSprite implements IBeatReceiver implements IOffset
|
||||
}
|
||||
|
||||
/**
|
||||
* Whenever the character should dance on beat or not. Set to false for `gf`, since the dance animation is automatically handled by PlayState.
|
||||
* Whenever the character should dance on beat or not.
|
||||
*/
|
||||
public var danceOnBeat:Bool = true;
|
||||
public override function beatHit(curBeat:Int) {
|
||||
scripts.call("beatHit", [curBeat]);
|
||||
|
||||
if (danceOnBeat && (curBeat + beatOffset) % beatInterval == 0 && !__lockAnimThisFrame)
|
||||
if (skipNegativeBeats && curBeat < 0) return;
|
||||
if (danceOnBeat && (curBeat + beatOffset) % (beatInterval * CoolUtil.maxInt(Math.floor(4 / Conductor.stepsPerBeat), 1)) == 0 && !__lockAnimThisFrame)
|
||||
tryDance();
|
||||
}
|
||||
|
||||
|
||||
@@ -1064,7 +1064,13 @@ class PlayState extends MusicBeatState
|
||||
executeEvent(e);
|
||||
break;
|
||||
}
|
||||
];
|
||||
|
||||
if (!foundSigs) {
|
||||
camZoomingInterval = 4;
|
||||
camZoomingEvery = BEAT;
|
||||
}
|
||||
|
||||
events.sort(function(p1, p2) {
|
||||
return FlxSort.byValues(FlxSort.DESCENDING, p1.time, p2.time);
|
||||
});
|
||||
@@ -1319,6 +1325,15 @@ class PlayState extends MusicBeatState
|
||||
if (canAccessDebugMenus && chartingMode && controls.DEV_ACCESS)
|
||||
FlxG.switchState(new funkin.editors.charter.Charter(SONG.meta.name, difficulty, false));
|
||||
|
||||
if (Options.camZoomOnBeat && camZooming && FlxG.camera.zoom < maxCamZoom) {
|
||||
var beat = Conductor.getBeats(camZoomingEvery, camZoomingInterval, camZoomingOffset);
|
||||
if (camZoomingLastBeat != beat) {
|
||||
camZoomingLastBeat = beat;
|
||||
FlxG.camera.zoom += 0.015 * camZoomingStrength;
|
||||
camHUD.zoom += 0.03 * camZoomingStrength;
|
||||
}
|
||||
}
|
||||
|
||||
if (doIconBop)
|
||||
for (icon in iconArray)
|
||||
if (icon.updateBump != null)
|
||||
@@ -1540,6 +1555,12 @@ class PlayState extends MusicBeatState
|
||||
case "Camera Modulo Change":
|
||||
camZoomingInterval = event.params[0];
|
||||
camZoomingStrength = event.params[1];
|
||||
if (event.params[2] != null) camZoomingEvery = switch (event.params[2].toUpperCase()) {
|
||||
case "STEP": STEP;
|
||||
case "MEASURE": MEASURE;
|
||||
default: BEAT;
|
||||
}
|
||||
if (event.params[3] != null) camZoomingOffset = event.params[3];
|
||||
case "Camera Flash":
|
||||
var camera:FlxCamera = event.params[3] == "camHUD" ? camHUD : camGame;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user