Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 03e69f7

Browse files
committed
1.6.3 real
1 parent 1818dea commit 03e69f7

File tree

8 files changed

+231
-239
lines changed

8 files changed

+231
-239
lines changed

assets/preload/data/texts/inGameText.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ An engine powered--by a cat
1212
pls don't crash again
1313
a--aa
1414
HAH--you looked.
15-
Trace Log is useful to--debug / test your mods!
15+
Game Log is useful to--debug / test your mods!
1616
it's stable now--hehe
1717
i woke up in the new bugatti--:fire: :fire:
1818
Press F5 in any song to open Trace Log Window
1919
It is stable and less buggy :))
2020
boom--explode
2121
Don't forget to check the documentation--for more modding tips!
2222
burning sensation :fire:
23-
If the engine crashes and the Crash handler didn't show up--try to run the engine through your Terminal!
23+
https://discord.gg/w8sFmXsFpk

source/game/cdev/CDevPopUp.hx

Lines changed: 67 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package game.cdev;
22

3+
import flixel.addons.effects.chainable.FlxEffectSprite;
4+
import flixel.addons.effects.chainable.FlxOutlineEffect;
5+
import flixel.math.FlxMath;
36
import flixel.util.FlxSpriteUtil;
47
import flixel.text.FlxText;
58
import flixel.tweens.FlxEase;
@@ -20,15 +23,22 @@ class CDevPopUp extends MusicBeatSubstate
2023
var exitButt:FlxSprite;
2124
var bgBlack:FlxSprite;
2225

26+
var titleS:FlxSprite;
27+
var iconS:FlxSprite;
28+
var titleTextS:FlxText;
29+
2330
var buttons:Array<PopUpButton> = [];
2431
var titleT:String = "";
2532
var bodyT:String = "";
2633

2734
var _hideBG:Bool = false;
2835
var _hideCloseButton:Bool = false;
36+
var lastMouseWasVisible:Bool = false;
2937
public function new(title:String, body:String, buttons:Array<PopUpButton>, ?hideBG:Bool = false,?hideCloseButton:Bool = false)
3038
{
3139
super();
40+
lastMouseWasVisible = FlxG.mouse.visible;
41+
FlxG.mouse.visible = true;//nu
3242
this.buttons = buttons;
3343
titleT = title;
3444
bodyT = body;
@@ -41,53 +51,82 @@ class CDevPopUp extends MusicBeatSubstate
4151
bgBlack.scrollFactor.set();
4252
}
4353

54+
var tempbodyText = new FlxText(0,0, -1, bodyT, 18);
55+
tempbodyText.font = "VCR OSD Mono";
56+
tempbodyText.fieldWidth = FlxMath.bound(tempbodyText.fieldWidth,0,780);
57+
@:privateAccess tempbodyText.regenGraphic();
58+
tempbodyText.drawFrame(true);
59+
tempbodyText.scrollFactor.set();
4460

45-
box = new FlxSprite().makeGraphic(800, 400, FlxColor.BLACK);
46-
box.alpha = 0.7;
61+
var wee:Int = Std.int(tempbodyText.width +70);
62+
var hee:Int = Std.int(70 + tempbodyText.height+ 50);
63+
box = FlxSpriteUtil.drawRoundRect(new FlxSprite().makeGraphic(wee,hee, FlxColor.TRANSPARENT), 0, 0, wee, hee, 15, 15, FlxColor.BLACK);
4764
box.screenCenter();
48-
add(box);
4965
box.scrollFactor.set();
66+
box.alpha = 0;
67+
68+
//i tried FlxOutlineEffect, the results are ass
69+
var newEffect = FlxSpriteUtil.drawRoundRect(new FlxSprite().makeGraphic(wee+4,hee+4, FlxColor.TRANSPARENT), 0, 0, wee+4, hee+4, 15, 15, 0xFF006EFF);
70+
newEffect.setPosition(box.x-2,box.y-2);
71+
newEffect.antialiasing=CDevConfig.saveData.antialiasing;
72+
newEffect.alpha = 0;
73+
add(newEffect);
74+
newEffect.scrollFactor.set();
75+
add(box);
76+
77+
createBoxUI();
78+
79+
if (!hideBG){
80+
bgBlack.alpha = 0;
81+
FlxTween.tween(bgBlack, {alpha: 0.5},0.15,{ease: FlxEase.linear});
82+
}
5083

5184
if (!hideCloseButton){
5285
exitButt = new FlxSprite().makeGraphic(30, 20, FlxColor.RED);
5386
exitButt.alpha = 0.7;
5487
exitButt.x = ((box.x + box.width) - 30) - 10;
55-
exitButt.y = (box.y + 20) - 10;
88+
exitButt.y = box.y+9;
5689
add(exitButt);
5790
exitButt.scrollFactor.set();
5891
}
59-
60-
61-
createBoxUI();
62-
63-
if (!hideBG){
64-
bgBlack.alpha = 0;
65-
FlxTween.tween(bgBlack, {alpha: 0.5},0.3,{ease: FlxEase.linear});
66-
}
67-
68-
box.alpha = 0;
69-
70-
FlxSpriteUtil.drawRoundRect(box,0,0,800,400,50,50, FlxColor.BLACK);
71-
box.alpha = 0;
72-
FlxTween.tween(box, {alpha: 0.7},0.3,{ease: FlxEase.linear});
92+
93+
FlxTween.tween(box, {alpha: 1},0.15,{ease: FlxEase.linear});
94+
FlxTween.tween(newEffect, {alpha: 0.2},0.15,{ease: FlxEase.linear});
7395
if (!hideCloseButton){
7496
exitButt.alpha = 0;
75-
FlxTween.tween(exitButt, {alpha: 0.7},0.3,{ease: FlxEase.linear});
97+
FlxTween.tween(exitButt, {alpha: 0.7},0.15,{ease: FlxEase.linear});
7698
}
7799
}
78100

79101
var bodyText:FlxText;
80102
var buttonsCrap:Array<CDevPopUpButton> = [];
81103
function createBoxUI()
82104
{
83-
var header:FlxText = new FlxText(box.x, box.y + 10, 800, titleT, 40);
84-
header.setFormat("VCR OSD Mono", 24, FlxColor.WHITE, CENTER, OUTLINE, FlxColor.BLACK);
85-
add(header);
86-
header.scrollFactor.set();
87-
bodyText = new FlxText(box.x+30, box.y + 40, 680, bodyT, 18);
105+
titleS = FlxSpriteUtil.drawRoundRectComplex(new FlxSprite().makeGraphic(Std.int(box.width), 32, FlxColor.TRANSPARENT), 0, 0, Std.int(box.width), 32, 5,
106+
5, 0, 0, FlxColor.fromRGB(64, 62, 60, 255));
107+
titleS.setPosition(box.x, box.y);
108+
titleS.alpha = 0.9;
109+
add(titleS);
110+
111+
iconS = new FlxSprite().loadGraphic(Paths.image("icon16", "shared"));
112+
iconS.setPosition(titleS.x + 9, titleS.y + 9);
113+
add(iconS);
114+
115+
titleTextS = new FlxText(iconS.x + iconS.width + 8, 0, -1, titleT, 14);
116+
titleTextS.setFormat("VCR OSD Mono", 14, FlxColor.WHITE);
117+
titleTextS.y = iconS.y + ((iconS.width / 2) - (titleTextS.height / 2));
118+
add(titleTextS);
119+
120+
titleS.scrollFactor.set();
121+
iconS.scrollFactor.set();
122+
titleTextS.scrollFactor.set();
123+
124+
bodyText = new FlxText(box.x+30, box.y + 50, -1, bodyT, 18);
125+
bodyText.fieldWidth = FlxMath.bound(bodyText.fieldWidth,0,780);
88126
bodyText.font = "VCR OSD Mono";
89127
add(bodyText);
90128
bodyText.scrollFactor.set();
129+
91130

92131
for (i in 0...buttons.length){
93132
var button:CDevPopUpButton = new CDevPopUpButton(0,0,buttons[i].text, buttons[i].callback);
@@ -99,7 +138,9 @@ class CDevPopUp extends MusicBeatSubstate
99138
}
100139

101140
for (i in 0...buttonsCrap.length){
102-
buttonsCrap[i].x = (box.x+(box.width / 2)-(buttonsCrap[i].bWidth/2))-20-(buttonsCrap[i].bWidth*i);
141+
//(box.x+(box.width / 2)-(buttonsCrap[i].bWidth/2))-20-(buttonsCrap[i].bWidth*i);
142+
var oldButtWidth = (buttonsCrap[i-1] == null ? 0 : buttonsCrap[i-1].bWidth);
143+
buttonsCrap[i].x = box.x + ((box.width-(buttonsCrap[i].bWidth + (oldButtWidth + 20))));
103144
buttonsCrap[i].y = (box.y+box.height - buttonsCrap[i].bHeight) - 20;
104145
}
105146
}
@@ -140,7 +181,7 @@ class CDevPopUpButton extends FlxSpriteGroup{
140181
txt.font = "VCR OSD Mono";
141182
txt.alignment = CENTER;
142183
add(txt);
143-
buttBG.setGraphicSize(Std.int(txt.width+20), Std.int(txt.height+20));
184+
buttBG.setGraphicSize(Std.int(txt.width+20), Std.int(txt.height+12));
144185
bWidth = Std.int(buttBG.width);
145186
bHeight = Std.int(buttBG.height);
146187

source/game/settings/keybinds/RebindControls.hx

Lines changed: 54 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -230,15 +230,16 @@ class RebindControls extends meta.substates.MusicBeatSubstate
230230
}
231231
if (FlxG.keys.justPressed.ESCAPE)
232232
{
233-
if (camTween != null) camTween.cancel();
233+
if (camTween != null)
234+
camTween.cancel();
234235
var camHUD = FlxG.cameras.list[FlxG.cameras.list.length - 1];
235236
camHUD.scroll.y = 0;
236237
FlxG.sound.play(Paths.sound('cancelMenu'));
237238
tweenCam(false);
238-
new FlxTimer().start(1, (ea)->{
239+
new FlxTimer().start(1, (ea) ->
240+
{
239241
close();
240242
});
241-
242243
}
243244
case 'input':
244245
canNext = false;
@@ -342,17 +343,25 @@ class RebindControls extends meta.substates.MusicBeatSubstate
342343
FlxG.sound.play(Paths.sound('scrollMenu'));
343344
}
344345
}
345-
} else{
346+
}
347+
else
348+
{
346349
n.alpha = 1;
347350
}
348351
});
349352

350353
if (FlxG.keys.justPressed.ESCAPE)
351354
{
355+
if (camTween != null)
356+
camTween.cancel();
352357
var camHUD = FlxG.cameras.list[FlxG.cameras.list.length - 1];
353358
camHUD.scroll.y = 0;
354359
FlxG.sound.play(Paths.sound('cancelMenu'));
355-
close();
360+
tweenCam(false);
361+
new FlxTimer().start(1, (ea) ->
362+
{
363+
close();
364+
});
356365
}
357366
case 'input':
358367
canNext = false;
@@ -371,17 +380,6 @@ class RebindControls extends meta.substates.MusicBeatSubstate
371380

372381
case 'wait':
373382
/*if (FlxG.keys.justPressed.ESCAPE)
374-
{
375-
status = "select";
376-
FlxG.sound.play(Paths.sound('confirmMenu'));
377-
for (i in otherUI.members)
378-
{
379-
i.changeSel(0);
380-
}
381-
}
382-
else if (FlxG.keys.justPressed.ENTER)
383-
{
384-
if (allowedToPress)
385383
{
386384
status = "select";
387385
FlxG.sound.play(Paths.sound('confirmMenu'));
@@ -390,8 +388,20 @@ class RebindControls extends meta.substates.MusicBeatSubstate
390388
i.changeSel(0);
391389
}
392390
}
393-
}
394-
else */if (FlxG.keys.justPressed.ANY)
391+
else if (FlxG.keys.justPressed.ENTER)
392+
{
393+
if (allowedToPress)
394+
{
395+
status = "select";
396+
FlxG.sound.play(Paths.sound('confirmMenu'));
397+
for (i in otherUI.members)
398+
{
399+
i.changeSel(0);
400+
}
401+
}
402+
}
403+
else */
404+
if (FlxG.keys.justPressed.ANY)
395405
{
396406
FlxG.sound.play(Paths.sound('confirmMenu'));
397407
addKey(FlxG.keys.getIsDown()[0].ID.toString(), true);
@@ -517,11 +527,14 @@ class RebindControls extends meta.substates.MusicBeatSubstate
517527
var parent:RebindText = otherUI.members[curSelected];
518528

519529
if (allowBlackList)
520-
for (x in blacklist) notAllowed.push(x);
530+
for (x in blacklist)
531+
notAllowed.push(x);
521532

522-
for (x in 0...dataList.length){
533+
for (x in 0...dataList.length)
534+
{
523535
var oK = dataList[x];
524-
if (oK == r){
536+
if (oK == r)
537+
{
525538
swapKey = x;
526539
dataList[x] = null;
527540
}
@@ -534,19 +547,25 @@ class RebindControls extends meta.substates.MusicBeatSubstate
534547
}
535548
}
536549

537-
if (allowBlackList) if (notAllowed.contains(r)){
538-
dataList[parent.curSelected] = tempBind;
539-
lastKey = r;
540-
return;
541-
}
550+
if (allowBlackList)
551+
if (notAllowed.contains(r))
552+
{
553+
dataList[parent.curSelected] = tempBind;
554+
lastKey = r;
555+
return;
556+
}
542557

543558
lastKey = "";
544559

545-
if (shouldReturn){
546-
if (swapKey != -1) dataList[swapKey] = tempBind;
560+
if (shouldReturn)
561+
{
562+
if (swapKey != -1)
563+
dataList[swapKey] = tempBind;
547564
dataList[parent.curSelected] = r;
548565
FlxG.sound.play(Paths.sound('scrollMenu'));
549-
} else{
566+
}
567+
else
568+
{
550569
dataList[parent.curSelected] = tempBind;
551570
lastKey = r;
552571
}
@@ -574,7 +593,8 @@ class RebindControls extends meta.substates.MusicBeatSubstate
574593
if (curSelected >= otherKeyBinds.length)
575594
curSelected = 0;
576595

577-
if (otherUI.members[curSelected].isTitle) {
596+
if (otherUI.members[curSelected].isTitle)
597+
{
578598
changeItem(_amount);
579599
trace("skipped " + curSelected);
580600
}
@@ -715,7 +735,8 @@ class RebindText extends FlxSpriteGroup
715735
t.kill();
716736
});
717737

718-
if (isTitle) return;
738+
if (isTitle)
739+
return;
719740

720741
for (d in 0...data.length)
721742
{
@@ -746,7 +767,8 @@ class RebindText extends FlxSpriteGroup
746767

747768
public function changeSel(add:Int = 0)
748769
{
749-
if (isTitle) return;
770+
if (isTitle)
771+
return;
750772
curSelected += add;
751773

752774
if (curSelected < 0)

source/meta/modding/chart_editor/ChartingState.hx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,14 +289,18 @@ class ChartingState extends MusicBeatState
289289
\nCTRL + Left Click - Select an arrow.
290290
\n[R] - Reset current section arrows.
291291
\nALT + [R] - Clear all notes in this chart.
292-
\nALT + SHIFT + [R] - Clear all events in this chart.";
292+
\nALT + SHIFT + [R] - Clear all events in this chart.
293+
\nHold CTRL + LMB - Toggle selection box
294+
\nClick & Drag LMB - Change note sustain.
295+
\n[DELETE] - Remove selected notes.
296+
\nClick & Move Mouse - Rearrange selected notes.";
293297

294298
var splittedTextArray:Array<String> = daTipsText.split('\n');
295299
for (i in 0...splittedTextArray.length)
296300
{
297301
var tipsTxt:FlxText = new FlxText(20, UI_box.y + UI_box.height + -30, 0, splittedTextArray[i], 16);
298-
tipsTxt.y += i * 12;
299-
tipsTxt.setFormat('VCR OSD Mono', 16, FlxColor.WHITE, LEFT, OUTLINE, FlxColor.BLACK);
302+
tipsTxt.y += i * 8;
303+
tipsTxt.setFormat('VCR OSD Mono', 12, FlxColor.WHITE, LEFT, OUTLINE, FlxColor.BLACK);
300304
tipsTxt.scrollFactor.set();
301305
tipsTxt.borderSize = 2;
302306
add(tipsTxt);

source/meta/modding/stage_editor/Better_StageEditor.hx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1298,7 +1298,7 @@ class Better_StageEditor extends MusicBeatState
12981298
try
12991299
{
13001300
File.saveContent('$path.json', Json.stringify(__STAGE_JSON));
1301-
var t = new CDevPopUp("Info", "File saved sucessfully on:\n" + path + ".json", [
1301+
var t = new CDevPopUp("Info", "File saved sucessfully under your mod's /data/stages/ folder.", [
13021302
{
13031303
text: "OK",
13041304
callback: function()

0 commit comments

Comments
 (0)