Skip to content

Commit

Permalink
Fix some issues in EffectSpeedCheck.
Browse files Browse the repository at this point in the history
The Skip button would immediately restart because the end() event was set to restart upon completion. Rebuilding would mess up the MSDF shader somehow; this was fixed by calling resizeDistanceField() with the current viewport size and the current viewport when we recreate the label. There also weren't enough lines in the window or the Layout to show all effects!
  • Loading branch information
tommyettinger committed Jan 10, 2025
1 parent 5c3e02e commit 32bdeab
Showing 1 changed file with 42 additions and 43 deletions.
85 changes: 42 additions & 43 deletions src/test/java/com/github/tommyettinger/textra/EffectSpeedCheck.java
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ public void clicked(InputEvent event, float x, float y) {
Cell<TypingLabel> labelCell = table.getCell(label);
label = createTypingLabel();
labelCell.setActor(label);
label.font.resizeDistanceField(stage.getViewport().getWorldWidth(), stage.getViewport().getWorldHeight(), stage.getViewport());
}
});

Expand Down Expand Up @@ -131,49 +132,48 @@ public TypingLabel createTypingLabel() {
// CANNON, EASE, HANG, SHRINK, SLAM, SLIDE, SPIN, ZIPPER (already uses it)
// NEW EFFECTS THAT SHOULD HAVE CODE CHANGED TO MATCH:
// MEET (should use extent)
String text =
// "CANNON=1;10 {CANNON=1;10}This effect has a high value!{RESET}\n" +
// "CANNON=1;0.1 {CANNON=1;0.1}This effect has a low value!{RESET}\n" +
// "CROWD=15;10 {CROWD=15;10}This effect has a high value!{RESET}\n" +
// "CROWD=15;0.1 {CROWD=15;0.1}This effect has a low value!{RESET}\n" +
// "EASE=2;10 {EASE=2;10}This effect has a high value!{RESET}\n" +
// "EASE=2;0.1 {EASE=2;0.1}This effect has a low value!{RESET}\n" +
// "EMERGE=10 {EMERGE=10}This effect has a high value!{RESET}\n" +
// "EMERGE=0.1 {EMERGE=0.1}This effect has a low value!{RESET}\n" +
// "HANG=1;10 {HANG=1;10}This effect has a high value!{RESET}\n" +
// "HANG=1;0.1 {HANG=1;0.1}This effect has a low value!{RESET}\n" +
// "JOLT=1;10 {JOLT=1;10}This effect has a high value!{RESET}\n" +
// "JOLT=1;0.1 {JOLT=1;0.1}This effect has a low value!{RESET}\n" +
// "JUMP=1;1;10 {JUMP=1;1;10}This effect has a high value!{RESET}\n" +
// "JUMP=1;1;0.1 {JUMP=1;1;0.1}This effect has a low value!{RESET}\n" +
// "MEET=2;10 {MEET=2;10}This effect has a high value!{RESET}\n" +
// "MEET=2;0.1 {MEET=2;0.1}This effect has a low value!{RESET}\n" +
// "SHAKE=1;10 {SHAKE=1;10}This effect has a high value!{RESET}\n" +
// "SHAKE=1;0.1 {SHAKE=1;0.1}This effect has a low value!{RESET}\n" +
// "SHRINK=1;10 {SHRINK=1;10}This effect has a high value!{RESET}\n" +
// "SHRINK=1;0.1 {SHRINK=1;0.1}This effect has a low value!{RESET}\n" +
// "SICK=1;10 {SICK=1;10}This effect has a high value!{RESET}\n" +
// "SICK=1;0.1 {SICK=1;0.1}This effect has a low value!{RESET}\n" +
// "SLAM=0.3;10 {SLAM=0.3;10}This effect has a high value!{RESET}\n" +
// "SLAM=0.3;0.1 {SLAM=0.3;0.1}This effect has a low value!{RESET}\n" +
// "SLIDE=1;10 {SLIDE=1;10}This effect has a high value!{RESET}\n" +
// "SLIDE=1;0.1 {SLIDE=1;0.1}This effect has a low value!{RESET}\n" +
// "SPIN=10;5 {SPIN=10;5}This effect has a high value!{RESET}\n" +
// "SPIN=0.1;5 {SPIN=0.1;5}This effect has a low value!{RESET}\n" +

String text = " \n" +
"CANNON=1;10 {CANNON=1;10}This effect has a high value!{RESET}\n" +
"CANNON=1;0.1 {CANNON=1;0.1}This effect has a low value!{RESET}\n" +
"CROWD=15;10 {CROWD=15;10}This effect has a high value!{RESET}\n" +
"CROWD=15;0.1 {CROWD=15;0.1}This effect has a low value!{RESET}\n" +
"EASE=2;10 {EASE=2;10}This effect has a high value!{RESET}\n" +
"EASE=2;0.1 {EASE=2;0.1}This effect has a low value!{RESET}\n" +
"EMERGE=10 {EMERGE=10}This effect has a high value!{RESET}\n" +
"EMERGE=0.1 {EMERGE=0.1}This effect has a low value!{RESET}\n" +
"HANG=1;10 {HANG=1;10}This effect has a high value!{RESET}\n" +
"HANG=1;0.1 {HANG=1;0.1}This effect has a low value!{RESET}\n" +
"HEARTBEAT=1;10;5 {HEARTBEAT=1;10;5}This effect has a high value!{RESET}\n" +
"HEARTBEAT=1;0.1;5 {HEARTBEAT=1;0.1;5}This effect has a low value!{RESET}\n" +

// "SPIRAL=1;10 {SPIRAL=1;10}This effect has a high value!{RESET}\n" +
// "SPIRAL=1;0.1 {SPIRAL=1;0.1}This effect has a low value!{RESET}\n" +
// "SPUTTER=0.3;0.3;10 {SPUTTER=0.3;0.3;10}This effect has a high value!{RESET}\n" +
// "SPUTTER=0.3;0.3;0.1 {SPUTTER=0.3;0.3;0.1}This effect has a low value!{RESET}\n" +
"JOLT=1;10 {JOLT=1;10}This effect has a high value!{RESET}\n" +
"JOLT=1;0.1 {JOLT=1;0.1}This effect has a low value!{RESET}\n" +
"JUMP=1;1;10 {JUMP=1;1;10}This effect has a high value!{RESET}\n" +
"JUMP=1;1;0.1 {JUMP=1;1;0.1}This effect has a low value!{RESET}\n" +
"MEET=2;10 {MEET=2;10}This effect has a high value!{RESET}\n" +
"MEET=2;0.1 {MEET=2;0.1}This effect has a low value!{RESET}\n" +
"SHAKE=1;10 {SHAKE=1;10}This effect has a high value!{RESET}\n" +
"SHAKE=1;0.1 {SHAKE=1;0.1}This effect has a low value!{RESET}\n" +
"SHRINK=1;10 {SHRINK=1;10}This effect has a high value!{RESET}\n" +
"SHRINK=1;0.1 {SHRINK=1;0.1}This effect has a low value!{RESET}\n" +
"SICK=1;10 {SICK=1;10}This effect has a high value!{RESET}\n" +
"SICK=1;0.1 {SICK=1;0.1}This effect has a low value!{RESET}\n" +
"SLAM=0.3;10 {SLAM=0.3;10}This effect has a high value!{RESET}\n" +
"SLAM=0.3;0.1 {SLAM=0.3;0.1}This effect has a low value!{RESET}\n" +
"SLIDE=1;10 {SLIDE=1;10}This effect has a high value!{RESET}\n" +
"SLIDE=1;0.1 {SLIDE=1;0.1}This effect has a low value!{RESET}\n" +
"SPIN=10;5 {SPIN=10;5}This effect has a high value!{RESET}\n" +
"SPIN=0.1;5 {SPIN=0.1;5}This effect has a low value!{RESET}\n" +

"SPIRAL=1;10 {SPIRAL=1;10}This effect has a high value!{RESET}\n" +
"SPIRAL=1;0.1 {SPIRAL=1;0.1}This effect has a low value!{RESET}\n" +
"SPUTTER=0.3;0.3;10 {SPUTTER=0.3;0.3;10}This effect has a high value!{RESET}\n" +
"SPUTTER=0.3;0.3;0.1 {SPUTTER=0.3;0.3;0.1}This effect has a low value!{RESET}\n" +
"SQUASH=10 {SQUASH=10}This effect has a high value!{RESET}\n" +
"SQUASH=0.1 {SQUASH=0.1}This effect has a low value!{RESET}\n" +
// "WAVE=1;1;10 {WAVE=1;1;10}This effect has a high value!{RESET}\n" +
// "WAVE=1;1;0.1 {WAVE=1;1;0.1}This effect has a low value!{RESET}\n" +
// "ZIPPER=2;10 {ZIPPER=2;10}This effect has a high value!{RESET}\n" +
// "ZIPPER=2;0.1 {ZIPPER=2;0.1}This effect has a low value!{RESET}\n" +
"WAVE=1;1;10 {WAVE=1;1;10}This effect has a high value!{RESET}\n" +
"WAVE=1;1;0.1 {WAVE=1;1;0.1}This effect has a low value!{RESET}\n" +
"ZIPPER=2;10 {ZIPPER=2;10}This effect has a high value!{RESET}\n" +
"ZIPPER=2;0.1 {ZIPPER=2;0.1}This effect has a low value!{RESET}\n" +
"{WAIT=5}That's all, folks!"
;
StringBuilder sb = new StringBuilder("{SPEED=SLOWER}").append(text);
Expand All @@ -188,7 +188,7 @@ public TypingLabel createTypingLabel() {

// Make the label wrap to new lines, respecting the table's layout.
label.wrap = true;
label.setMaxLines(20);
label.setMaxLines(Integer.MAX_VALUE);
label.layout.setTargetWidth(Gdx.graphics.getBackBufferWidth() - 100);

// Set an event listener for when the {EVENT} token is reached and for the char progression ends.
Expand All @@ -197,10 +197,9 @@ public TypingLabel createTypingLabel() {
public void event(String event) {
System.out.println("Event: " + event);
}

@Override
public void end() {
label.restart();
System.out.println(label);
}
});

Expand Down Expand Up @@ -237,7 +236,7 @@ public void dispose() {
public static void main(String[] arg) {
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setTitle("TypingLabel Test");
config.setWindowedMode(720, 600);
config.setWindowedMode(720, 940);
config.setResizable(false);
config.setForegroundFPS(60);
config.useVsync(true);
Expand Down

0 comments on commit 32bdeab

Please sign in to comment.