Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions assets/languages/en/Options.xml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,9 @@
<str id="editorSFX-name">Editor SFXs</str>
<str id="editorSFX-desc">If checked, will play sound effects when working on editors (ex: will play sfxs when checking checkboxes...)</str>

<str id="charterSwapEventSides-name">Swap Event Sides</str>
<str id="charterSwapEventSides-desc">If checked, global events will be on the left of the strumlines.</str>

<str id="editorCharterPrettyPrint-name">Chart Pretty Print</str>
<str id="editorCharterPrettyPrint-desc">If checked, the saved files from the chart editor will be formatted to be easily viewable</str>

Expand Down
7 changes: 5 additions & 2 deletions assets/languages/es/Options.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@

<str id="streamedMusic-name">Transmición de Música</str>
<str id="streamedMusic-desc">Si está activado, la música será transmitida en tiempo real, liberando un montón de RAM, aunque usará más CPU si hay mucho audio al mismo tiempo (EXPERIMENTAL). Desactivarlo consumirá más RAM, especialmente en canciones más largas. Si no estás seguro, déjalo activado.</str>

<str id="streamedVocals-name">Transmición de Vocales</str>
<str id="streamedVocals-desc">Si está activado, las vocales también serán transmitidas, impactará el rendimiento si hay muchas vocales (EXPERIMENTAL). Si no estás seguro, déjalo desactivade.</str>
</group>
Expand Down Expand Up @@ -158,10 +158,13 @@

<str id="bypassEditorsResize-name">Desactivar Tamaño Mínimo</str>
<str id="bypassEditorsResize-desc">Desactiva el tamaño mínimo de los editores (Editores Adaptables debe estar activado).</str>

<str id="editorSFX-name">Sonidos del Editor</str>
<str id="editorSFX-desc">Si está activado, habran sonidos en los editores (ej: al activar opciones...)</str>

<str id="charterSwapEventSides-name">Cambiar Lados de Eventos</str>
<str id="charterSwapEventSides-desc">Si está activado, eventos globales estarán a la izquierda de las pistas.</str>

<str id="editorPrettyPrint-desc">Si está activado, los charts se guardarán de forma más legible (no aplica a XMLs)</str>

<str id="intensiveBlur-name">Difuminado Intensivo</str>
Expand Down
3 changes: 3 additions & 0 deletions assets/languages/pt/Options.xml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,9 @@
<str id="editorSFX-name">Sons de Editor</str>
<str id="editorSFX-desc">Se marcado, tocará efeitos sonoros nos editores (ex: ao carregar em caixas...)</str>

<str id="charterSwapEventSides-name">Trocar Lados de Eventos</str>
<str id="charterSwapEventSides-desc">Se marcado, eventos globais estarão no lado esquerdo das pistas.</str>

<str id="editorCharterPrettyPrint-name">Mapas Legíveis</str>
<str id="editorCharterPrettyPrint-desc">Se marcado, os ficheiros guardados no editor de mapas serão formatados para serem fácilmente legíveis.</str>

Expand Down
29 changes: 16 additions & 13 deletions source/funkin/editors/charter/Charter.hx
Original file line number Diff line number Diff line change
Expand Up @@ -443,25 +443,26 @@ class Charter extends UIState {
gridBackdrops = new CharterBackdropGroup(strumLines);
gridBackdrops.notesGroup = this.notesGroup;

leftEventRowText = new UIText(0, -40, 0, translate("info.localEvents"), 12);
leftEventRowText = new UIText(0, -40, 0, translate("info." + (Options.charterSwapEventSides ? "globalEvents" : "localEvents")), 12);
leftEventRowText.alignment = "center"; leftEventRowText.alpha = 0.75;

leftEventsBackdrop = new EventBackdrop(false);
leftEventsBackdrop.x = -leftEventsBackdrop.width;

leftEventRowText.cameras = leftEventsBackdrop.cameras = leftEventsGroup.cameras = [charterCamera];
leftEventsGroup.eventsBackdrop = leftEventsBackdrop;
leftEventsGroup.eventsRowText = leftEventRowText;

rightEventRowText = new UIText(0, -40, 0, translate("info.globalEvents"), 12);
rightEventRowText = new UIText(0, -40, 0, translate("info." + (Options.charterSwapEventSides ? "localEvents" : "globalEvents")), 12);
rightEventRowText.alignment = "center"; rightEventRowText.alpha = 0.75;

rightEventsBackdrop = new EventBackdrop(true);
rightEventsBackdrop.x = 0;

rightEventRowText.cameras = rightEventsBackdrop.cameras = rightEventsGroup.cameras = [charterCamera];
rightEventsGroup.eventsBackdrop = rightEventsBackdrop;
rightEventsGroup.eventsRowText = rightEventRowText;

leftEventsGroup.eventsBackdrop = Options.charterSwapEventSides ? rightEventsBackdrop : leftEventsBackdrop;
leftEventsGroup.eventsRowText = Options.charterSwapEventSides ? rightEventRowText : leftEventRowText;
rightEventsGroup.eventsBackdrop = Options.charterSwapEventSides ? leftEventsBackdrop : rightEventsBackdrop;
rightEventsGroup.eventsRowText = Options.charterSwapEventSides ? leftEventRowText : rightEventRowText;

// thank you neo for pointing out im stupid -lunar
// this is future lunar i completely forgot what neo pointed out but hes awesome go follow him on twitter
Expand Down Expand Up @@ -537,12 +538,12 @@ class Charter extends UIState {
strumlineInfoBG.cameras = [charterCamera];
strumLines.cameras = [charterCamera];

localAddEventSpr = new CharterEventAdd(false);
localAddEventSpr = new CharterEventAdd(Options.charterSwapEventSides);
localAddEventSpr.x -= localAddEventSpr.bWidth;
localAddEventSpr.cameras = [charterCamera];
localAddEventSpr.alpha = 0;

globalAddEventSpr = new CharterEventAdd(true);
globalAddEventSpr = new CharterEventAdd(!Options.charterSwapEventSides);
globalAddEventSpr.x = 0;
globalAddEventSpr.cameras = [charterCamera];
globalAddEventSpr.alpha = 0;
Expand Down Expand Up @@ -920,11 +921,12 @@ class Charter extends UIState {
n.cursor = HAND;
}, function (e:CharterEvent) {
e.snappedToGrid = false;
e.setPosition(e.eventsBackdrop.x + (e.global ? 0 : e.eventsBackdrop.width - e.bWidth) + (mousePos.x - dragStartPos.x), e.step * 40 + (mousePos.y - dragStartPos.y) - 17);
var isGlobal = e.global != Options.charterSwapEventSides;
e.setPosition(e.eventsBackdrop.x + (isGlobal ? 0 : e.eventsBackdrop.width - e.bWidth) + (mousePos.x - dragStartPos.x), e.step * 40 + (mousePos.y - dragStartPos.y) - 17);
e.y = CoolUtil.bound(e.y, -17, (__endStep*40)-17);
e.cursor = HAND;

e.displayGlobal = e.x + (e.bWidth/2) > ((strumLines.totalKeyCount*40)/2);
e.displayGlobal = e.x + (e.bWidth/2) > ((strumLines.totalKeyCount*40)/2) != Options.charterSwapEventSides;
});
currentCursor = HAND;
} else {
Expand Down Expand Up @@ -1045,7 +1047,7 @@ class Charter extends UIState {
var e:CharterEvent = cast s;
var newEvent = new CharterEvent(e.step, [for (event in e.events) Reflect.copy(event)], e.global);
newEvent.refreshEventIcons();
(e.global ? rightEventsGroup : leftEventsGroup).add(newEvent);
((e.global != Options.charterSwapEventSides) ? rightEventsGroup : leftEventsGroup).add(newEvent);
newSelection.push(newEvent);
}
}
Expand Down Expand Up @@ -1123,11 +1125,12 @@ class Charter extends UIState {
// Event Spr
for (addEventSpr in [localAddEventSpr, globalAddEventSpr]) {
addEventSpr.incorporeal = true;
if ((!addEventSpr.global ? mousePos.x < 0 : mousePos.x > strumLines.totalKeyCount * 40) && gridActionType == NONE && inBoundsY) {
var onLeft:Bool = (!addEventSpr.global) != Options.charterSwapEventSides;
if ((onLeft ? mousePos.x < 0 : mousePos.x > strumLines.totalKeyCount * 40) && gridActionType == NONE && inBoundsY) {
var event = getHoveredEvent(mousePos.y, !addEventSpr.global ? leftEventsGroup : rightEventsGroup);
var hoveredWidth:Float = event != null ? 27 + 40 + event.bWidth : addEventSpr.bWidth;

if ((!addEventSpr.global ? mousePos.x > -hoveredWidth : mousePos.x < strumLines.totalKeyCount * 40 + hoveredWidth)) {
if ((onLeft ? mousePos.x > -hoveredWidth : mousePos.x < strumLines.totalKeyCount * 40 + hoveredWidth)) {
addEventSpr.incorporeal = false;

if (event != null) addEventSpr.updateEdit(event);
Expand Down
10 changes: 5 additions & 5 deletions source/funkin/editors/charter/CharterEvent.hx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {

if (snappedToGrid && eventsBackdrop != null) {
bWidth = 37 + (icons.length * 22);
x = eventsBackdrop.x + (global ? 0 : eventsBackdrop.width - bWidth);
x = eventsBackdrop.x + ((global != Options.charterSwapEventSides) ? 0 : eventsBackdrop.width - bWidth);
}

for(k=>i in icons) {
Expand All @@ -68,7 +68,7 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {
selectedColorTransform(sprite.colorTransform);
}

flipX = displayGlobal;
flipX = (displayGlobal != Options.charterSwapEventSides);
}

@:noCompletion private inline function selectedColorTransform(transform:ColorTransform) {
Expand Down Expand Up @@ -282,9 +282,9 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {
shouldDoArrow = event.params[1] && event.params[3] != "CLASSIC"; // is Tweened and isnt Lerped
icon = getIconFromStrumline(event.params[0]); // camera movement, use health icon
}

if (icon == null) icon = generateDefaultIcon(event.name);

if(event.params != null && shouldDoArrow && !inMenu) {
var group = new EventIconGroup();
group.add(icon);
Expand Down Expand Up @@ -412,7 +412,7 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {
draggable = true;

bWidth = 37 + (icons.length * 22);
x = (snappedToGrid && eventsBackdrop != null && global ? eventsBackdrop.x - bWidth : (global ? 0 : -bWidth));
x = (snappedToGrid && eventsBackdrop != null && (global != Options.charterSwapEventSides) ? eventsBackdrop.x - bWidth : ((global != Options.charterSwapEventSides) ? 0 : -bWidth));
}
}

Expand Down
11 changes: 7 additions & 4 deletions source/funkin/editors/charter/CharterEventAdd.hx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ class CharterEventAdd extends UISliceSprite {
public function new(global:Bool) {
super(0, 0, 100, 34, 'editors/charter/event-spr-add');

this.global = flipX = global;
this.global = global;
flipX = (global != Options.charterSwapEventSides);

sideText = new UIText(0, -40, 0, TU.translate("charter.eventType-" + (global ? "global" : "local")), 12);
sideText.alignment = "center"; sideText.alpha = 0.75;
Expand Down Expand Up @@ -49,7 +50,7 @@ class CharterEventAdd extends UISliceSprite {
super.update(elapsed);

if (FlxG.state.subState != null) return;
text.follow(this, global ? bWidth - text.width - (text.text == TU.translate("charter.addEvent") ? 15 : 20) : 20, (bHeight - text.height) / 2);
text.follow(this, (global != Options.charterSwapEventSides) ? bWidth - text.width - (text.text == TU.translate("charter.addEvent") ? 15 : 20) : 20, (bHeight - text.height) / 2);
sideText.follow(this, (bWidth/2) - (sideText.fieldWidth/2), -(sideText.height + 2));
alpha = sprAlpha * 0.75;
text.alpha = sprAlpha;
Expand All @@ -64,7 +65,8 @@ class CharterEventAdd extends UISliceSprite {
this.y = (step * 40) - (bHeight / 2);
text.text = TU.translate("charter.addEvent");
framesOffset = 0; bWidth = 37 + Math.ceil(text.width);
x = global ? Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].x + (40*Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].keyCount) : -(bWidth);
x = (global != Options.charterSwapEventSides) ? Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].x + (40*Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].keyCount) : -(bWidth);
sideText.text = TU.translate("charter.eventType-" + (global ? "global" : "local"));
}

public function updateEdit(event:CharterEvent) {
Expand All @@ -73,6 +75,7 @@ class CharterEventAdd extends UISliceSprite {
this.y = event.y;
text.text = TU.translate("charter.editEvent");
framesOffset = 9; bWidth = 27 + Math.ceil(text.width) + event.bWidth;
x = global ? Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].x + (40*Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].keyCount) : -(bWidth);
x = (event.global != Options.charterSwapEventSides) ? Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].x + (40*Charter.instance.strumLines.members[Charter.instance.strumLines.members.length-1].keyCount) : -(bWidth);
sideText.text = TU.translate("charter.eventType-" + (event.global ? "global" : "local"));
}
}
1 change: 1 addition & 0 deletions source/funkin/options/Options.hx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class Options
*/
public static var intensiveBlur:Bool = true;
public static var editorSFX:Bool = true;
public static var charterSwapEventSides:Bool = false;

public static var editorCharterPrettyPrint:Bool = false;
public static var editorCharacterPrettyPrint:Bool = true;
Expand Down
1 change: 1 addition & 0 deletions source/funkin/options/categories/DebugOptions.hx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class DebugOptions extends TreeMenuScreen {
add(new Checkbox(getNameID("editorCharterPrettyPrint"), getDescID("editorCharterPrettyPrint"), "editorCharterPrettyPrint"));
add(new Checkbox(getNameID("editorCharacterPrettyPrint"), getDescID("editorCharacterPrettyPrint"), "editorCharacterPrettyPrint"));
add(new Checkbox(getNameID("editorStagePrettyPrint"), getDescID("editorStagePrettyPrint"), "editorStagePrettyPrint"));
add(new Checkbox(getNameID("charterSwapEventSides"), getDescID("charterSwapEventSides"), "charterSwapEventSides"));
add(new Checkbox(getNameID("intensiveBlur"), getDescID("intensiveBlur"), "intensiveBlur"));
add(new Checkbox(getNameID("charterAutoSaves"), getDescID("charterAutoSaves"), "charterAutoSaves"));
add(new NumOption(getNameID("charterAutoSaveTime"), getDescID("charterAutoSaveTime"), 60, 60*10, 1, "charterAutoSaveTime"));
Expand Down