Merge branch 'main' into translations-system

This commit is contained in:
Ralty
2025-07-23 02:30:16 +07:00
24 changed files with 48 additions and 37 deletions
+2 -3
View File
@@ -263,8 +263,9 @@ class FlxSound extends FlxBasic {
*/
public function reset():Void {
if (_source != null) stop();
x = y = 0;
onFinish.removeAll();
x = y = 0;
muted = false;
looped = false;
loopTime = 0;
@@ -297,8 +298,6 @@ class FlxSound extends FlxBasic {
_lastTime = null;
if (destroySound) {
onFinish.removeAll();
if (group != null) group.remove(this);
if (_channel != null) {
+10 -14
View File
@@ -484,7 +484,7 @@ final class CoolUtil
*/
@:noUsing public static function playMusic(path:String, Persist:Bool = false, Volume:Float = 1, Looped:Bool = true, DefaultBPM:Float = 102, ?Group:FlxSoundGroup) {
Conductor.reset();
if (FlxG.sound.music == null) FlxG.sound.music = new FlxSound();
if (FlxG.sound.music == null || !FlxG.sound.music.exists) FlxG.sound.music = new FlxSound();
else if (FlxG.sound.music.active) FlxG.sound.music.stop();
FlxG.sound.music.loadEmbedded(path, Looped);
FlxG.sound.music.volume = Volume;
@@ -520,14 +520,14 @@ final class CoolUtil
* @param volume At which volume it should play
*/
@:noUsing public static inline function playMenuSFX(menuSFX:CoolSfx = SCROLL, volume:Float = 1) {
FlxG.sound.play(Paths.sound(switch(menuSFX) {
case CONFIRM: 'menu/confirm';
case CANCEL: 'menu/cancel';
case SCROLL: 'menu/scroll';
case CHECKED: 'menu/checkboxChecked';
case UNCHECKED: 'menu/checkboxUnchecked';
case WARNING: 'menu/warningMenu';
default: 'menu/scroll';
FlxG.sound.play(Paths.sound('menu/' + switch(menuSFX) {
case CONFIRM: 'confirm';
case CANCEL: 'cancel';
case SCROLL: 'scroll';
case CHECKED: 'checkboxChecked';
case UNCHECKED: 'checkboxUnchecked';
case WARNING: 'warningMenu';
default: 'scroll';
}), volume);
}
@@ -891,11 +891,7 @@ final class CoolUtil
* Stops a sound, set its time to 0 then play it again.
* @param sound Sound to replay.
*/
public static inline function replay(sound:FlxSound) {
sound.stop();
sound.time = 0;
sound.play();
}
public static inline function replay(sound:FlxSound) sound.play(true, 0);
/**
* Equivalent of `Math.max`, except doesn't require a Int -> Float -> Int conversion.
+5 -1
View File
@@ -950,6 +950,7 @@ class Charter extends UIState {
notesGroup.add(note);
selection = [note];
undos.addToUndo(CCreateSelection([note]));
FlxG.sound.play(Paths.sound('editors/charter/notePlace'));
}
isSelecting = false;
}
@@ -1014,7 +1015,10 @@ class Charter extends UIState {
});
if (FlxG.mouse.justReleasedRight) {
if (deletedNotes.length > 0) undos.addToUndo(CDeleteSelection(deletedNotes.copy()));
if (deletedNotes.length > 0) {
undos.addToUndo(CDeleteSelection(deletedNotes.copy()));
FlxG.sound.play(Paths.sound('editors/charter/noteDelete'));
}
else if (noteDeleteAnims.garbageIcon.alpha <= .5) {
var mousePos = FlxG.mouse.getScreenPosition(uiCamera);
closeCurrentContextMenu();
@@ -82,6 +82,8 @@ class CharterAutoSaveUI extends UISliceSprite {
icon.animation.curAnim.curFrame = 1;
for (member in [this, progressBar, progressBarBack, autosavingText]) member.color = 0xFFA3EC95;
FlxG.sound.play(Paths.sound("editors/autosave"));
(new FlxTimer()).start(1, (_) -> {disappearAnimation();});
});
}
@@ -135,8 +135,16 @@ class CharterStrumline extends UISprite {
healthIcons.add(healthIcon);
}
vocals = null;
vocals = strumLine.vocalsSuffix.length > 0 ? FlxG.sound.load(Paths.voices(PlayState.SONG.meta.name, PlayState.difficulty, strumLine.vocalsSuffix)) : new FlxSound();
var asset = strumLine.vocalsSuffix.length > 0 ? Assets.getSound(Paths.voices(PlayState.SONG.meta.name, PlayState.difficulty, strumLine.vocalsSuffix)) : null;
if (vocals == null) FlxG.sound.list.add(vocals = new FlxSound());
if (asset != null) {
vocals.reset();
vocals.loadEmbedded(asset);
}
else {
vocals.destroy();
}
vocals.group = FlxG.sound.defaultMusicGroup;
}
}
@@ -98,7 +98,7 @@ class UIWarningSubstate extends MusicBeatSubstate {
add(sprIcon);
messageSpr.x = sprIcon.x + 70 + 16 + 20;
messageSpr.y = sprIcon.y + 16;
messageSpr.y = sprIcon.y;
add(messageSpr);
var xPos = (FlxG.width - (30 + (170 * buttons.length))) / 2;