Skip to content

Commit ebe7641

Browse files
authored
"Swap Event Sides" developer setting for Charter (#954)
1 parent 480fa6d commit ebe7641

8 files changed

Lines changed: 39 additions & 22 deletions

File tree

assets/languages/en/Options.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,9 @@
177177
<str id="editorSFX-name">Editor SFXs</str>
178178
<str id="editorSFX-desc">If checked, will play sound effects when working on editors (ex: will play sfxs when checking checkboxes...)</str>
179179

180+
<str id="charterSwapEventSides-name">Swap Event Sides</str>
181+
<str id="charterSwapEventSides-desc">If checked, global events will be on the left of the strumlines.</str>
182+
180183
<str id="editorCharterPrettyPrint-name">Chart Pretty Print</str>
181184
<str id="editorCharterPrettyPrint-desc">If checked, the saved files from the chart editor will be formatted to be easily viewable</str>
182185

assets/languages/es/Options.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117

118118
<str id="streamedMusic-name">Transmición de Música</str>
119119
<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>
120-
120+
121121
<str id="streamedVocals-name">Transmición de Vocales</str>
122122
<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>
123123
</group>
@@ -158,10 +158,13 @@
158158

159159
<str id="bypassEditorsResize-name">Desactivar Tamaño Mínimo</str>
160160
<str id="bypassEditorsResize-desc">Desactiva el tamaño mínimo de los editores (Editores Adaptables debe estar activado).</str>
161-
161+
162162
<str id="editorSFX-name">Sonidos del Editor</str>
163163
<str id="editorSFX-desc">Si está activado, habran sonidos en los editores (ej: al activar opciones...)</str>
164164

165+
<str id="charterSwapEventSides-name">Cambiar Lados de Eventos</str>
166+
<str id="charterSwapEventSides-desc">Si está activado, eventos globales estarán a la izquierda de las pistas.</str>
167+
165168
<str id="editorPrettyPrint-desc">Si está activado, los charts se guardarán de forma más legible (no aplica a XMLs)</str>
166169

167170
<str id="intensiveBlur-name">Difuminado Intensivo</str>

assets/languages/pt/Options.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,9 @@
177177
<str id="editorSFX-name">Sons de Editor</str>
178178
<str id="editorSFX-desc">Se marcado, tocará efeitos sonoros nos editores (ex: ao carregar em caixas...)</str>
179179

180+
<str id="charterSwapEventSides-name">Trocar Lados de Eventos</str>
181+
<str id="charterSwapEventSides-desc">Se marcado, eventos globais estarão no lado esquerdo das pistas.</str>
182+
180183
<str id="editorCharterPrettyPrint-name">Mapas Legíveis</str>
181184
<str id="editorCharterPrettyPrint-desc">Se marcado, os ficheiros guardados no editor de mapas serão formatados para serem fácilmente legíveis.</str>
182185

source/funkin/editors/charter/Charter.hx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -443,25 +443,26 @@ class Charter extends UIState {
443443
gridBackdrops = new CharterBackdropGroup(strumLines);
444444
gridBackdrops.notesGroup = this.notesGroup;
445445

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

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

452452
leftEventRowText.cameras = leftEventsBackdrop.cameras = leftEventsGroup.cameras = [charterCamera];
453-
leftEventsGroup.eventsBackdrop = leftEventsBackdrop;
454-
leftEventsGroup.eventsRowText = leftEventRowText;
455453

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

459457
rightEventsBackdrop = new EventBackdrop(true);
460458
rightEventsBackdrop.x = 0;
461459

462460
rightEventRowText.cameras = rightEventsBackdrop.cameras = rightEventsGroup.cameras = [charterCamera];
463-
rightEventsGroup.eventsBackdrop = rightEventsBackdrop;
464-
rightEventsGroup.eventsRowText = rightEventRowText;
461+
462+
leftEventsGroup.eventsBackdrop = Options.charterSwapEventSides ? rightEventsBackdrop : leftEventsBackdrop;
463+
leftEventsGroup.eventsRowText = Options.charterSwapEventSides ? rightEventRowText : leftEventRowText;
464+
rightEventsGroup.eventsBackdrop = Options.charterSwapEventSides ? leftEventsBackdrop : rightEventsBackdrop;
465+
rightEventsGroup.eventsRowText = Options.charterSwapEventSides ? leftEventRowText : rightEventRowText;
465466

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

540-
localAddEventSpr = new CharterEventAdd(false);
541+
localAddEventSpr = new CharterEventAdd(Options.charterSwapEventSides);
541542
localAddEventSpr.x -= localAddEventSpr.bWidth;
542543
localAddEventSpr.cameras = [charterCamera];
543544
localAddEventSpr.alpha = 0;
544545

545-
globalAddEventSpr = new CharterEventAdd(true);
546+
globalAddEventSpr = new CharterEventAdd(!Options.charterSwapEventSides);
546547
globalAddEventSpr.x = 0;
547548
globalAddEventSpr.cameras = [charterCamera];
548549
globalAddEventSpr.alpha = 0;
@@ -920,11 +921,12 @@ class Charter extends UIState {
920921
n.cursor = HAND;
921922
}, function (e:CharterEvent) {
922923
e.snappedToGrid = false;
923-
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);
924+
var isGlobal = e.global != Options.charterSwapEventSides;
925+
e.setPosition(e.eventsBackdrop.x + (isGlobal ? 0 : e.eventsBackdrop.width - e.bWidth) + (mousePos.x - dragStartPos.x), e.step * 40 + (mousePos.y - dragStartPos.y) - 17);
924926
e.y = CoolUtil.bound(e.y, -17, (__endStep*40)-17);
925927
e.cursor = HAND;
926928

927-
e.displayGlobal = e.x + (e.bWidth/2) > ((strumLines.totalKeyCount*40)/2);
929+
e.displayGlobal = e.x + (e.bWidth/2) > ((strumLines.totalKeyCount*40)/2) != Options.charterSwapEventSides;
928930
});
929931
currentCursor = HAND;
930932
} else {
@@ -1045,7 +1047,7 @@ class Charter extends UIState {
10451047
var e:CharterEvent = cast s;
10461048
var newEvent = new CharterEvent(e.step, [for (event in e.events) Reflect.copy(event)], e.global);
10471049
newEvent.refreshEventIcons();
1048-
(e.global ? rightEventsGroup : leftEventsGroup).add(newEvent);
1050+
((e.global != Options.charterSwapEventSides) ? rightEventsGroup : leftEventsGroup).add(newEvent);
10491051
newSelection.push(newEvent);
10501052
}
10511053
}
@@ -1123,11 +1125,12 @@ class Charter extends UIState {
11231125
// Event Spr
11241126
for (addEventSpr in [localAddEventSpr, globalAddEventSpr]) {
11251127
addEventSpr.incorporeal = true;
1126-
if ((!addEventSpr.global ? mousePos.x < 0 : mousePos.x > strumLines.totalKeyCount * 40) && gridActionType == NONE && inBoundsY) {
1128+
var onLeft:Bool = (!addEventSpr.global) != Options.charterSwapEventSides;
1129+
if ((onLeft ? mousePos.x < 0 : mousePos.x > strumLines.totalKeyCount * 40) && gridActionType == NONE && inBoundsY) {
11271130
var event = getHoveredEvent(mousePos.y, !addEventSpr.global ? leftEventsGroup : rightEventsGroup);
11281131
var hoveredWidth:Float = event != null ? 27 + 40 + event.bWidth : addEventSpr.bWidth;
11291132

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

11331136
if (event != null) addEventSpr.updateEdit(event);

source/funkin/editors/charter/CharterEvent.hx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {
5050

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

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

71-
flipX = displayGlobal;
71+
flipX = (displayGlobal != Options.charterSwapEventSides);
7272
}
7373

7474
@:noCompletion private inline function selectedColorTransform(transform:ColorTransform) {
@@ -411,7 +411,7 @@ class CharterEvent extends UISliceSprite implements ICharterSelectable {
411411
draggable = true;
412412

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

source/funkin/editors/charter/CharterEventAdd.hx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ class CharterEventAdd extends UISliceSprite {
1313
public function new(global:Bool) {
1414
super(0, 0, 100, 34, 'editors/charter/event-spr-add');
1515

16-
this.global = flipX = global;
16+
this.global = global;
17+
flipX = (global != Options.charterSwapEventSides);
1718

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

5152
if (FlxG.state.subState != null) return;
52-
text.follow(this, global ? bWidth - text.width - (text.text == TU.translate("charter.addEvent") ? 15 : 20) : 20, (bHeight - text.height) / 2);
53+
text.follow(this, (global != Options.charterSwapEventSides) ? bWidth - text.width - (text.text == TU.translate("charter.addEvent") ? 15 : 20) : 20, (bHeight - text.height) / 2);
5354
sideText.follow(this, (bWidth/2) - (sideText.fieldWidth/2), -(sideText.height + 2));
5455
alpha = sprAlpha * 0.75;
5556
text.alpha = sprAlpha;
@@ -64,7 +65,8 @@ class CharterEventAdd extends UISliceSprite {
6465
this.y = (step * 40) - (bHeight / 2);
6566
text.text = TU.translate("charter.addEvent");
6667
framesOffset = 0; bWidth = 37 + Math.ceil(text.width);
67-
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);
68+
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);
69+
sideText.text = TU.translate("charter.eventType-" + (global ? "global" : "local"));
6870
}
6971

7072
public function updateEdit(event:CharterEvent) {
@@ -73,6 +75,7 @@ class CharterEventAdd extends UISliceSprite {
7375
this.y = event.y;
7476
text.text = TU.translate("charter.editEvent");
7577
framesOffset = 9; bWidth = 27 + Math.ceil(text.width) + event.bWidth;
76-
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);
78+
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);
79+
sideText.text = TU.translate("charter.eventType-" + (event.global ? "global" : "local"));
7780
}
7881
}

source/funkin/options/Options.hx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class Options
5858
*/
5959
public static var intensiveBlur:Bool = true;
6060
public static var editorSFX:Bool = true;
61+
public static var charterSwapEventSides:Bool = false;
6162

6263
public static var editorCharterPrettyPrint:Bool = false;
6364
public static var editorCharacterPrettyPrint:Bool = true;

source/funkin/options/categories/DebugOptions.hx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class DebugOptions extends TreeMenuScreen {
1313
add(new Checkbox(getNameID("editorCharterPrettyPrint"), getDescID("editorCharterPrettyPrint"), "editorCharterPrettyPrint"));
1414
add(new Checkbox(getNameID("editorCharacterPrettyPrint"), getDescID("editorCharacterPrettyPrint"), "editorCharacterPrettyPrint"));
1515
add(new Checkbox(getNameID("editorStagePrettyPrint"), getDescID("editorStagePrettyPrint"), "editorStagePrettyPrint"));
16+
add(new Checkbox(getNameID("charterSwapEventSides"), getDescID("charterSwapEventSides"), "charterSwapEventSides"));
1617
add(new Checkbox(getNameID("intensiveBlur"), getDescID("intensiveBlur"), "intensiveBlur"));
1718
add(new Checkbox(getNameID("charterAutoSaves"), getDescID("charterAutoSaves"), "charterAutoSaves"));
1819
add(new NumOption(getNameID("charterAutoSaveTime"), getDescID("charterAutoSaveTime"), 60, 60*10, 1, "charterAutoSaveTime"));

0 commit comments

Comments
 (0)