aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2026-01-25 21:05:54 -0800
committerElizabeth Hunt <me@liz.coffee>2026-01-25 21:05:54 -0800
commit2e3d0963650d5f01163ffca1049a9886aa7489fa (patch)
tree5dd3cca8818c59141fccdddb1b7fd2978cb854dc
parent83cb0653209f3300e220e76d3f57a000ef4219a6 (diff)
downloadthe-abstraction-engine-v2-2e3d0963650d5f01163ffca1049a9886aa7489fa.tar.gz
the-abstraction-engine-v2-2e3d0963650d5f01163ffca1049a9886aa7489fa.zip
Adds a skip intro flag
-rw-r--r--core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java2
-rw-r--r--core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java6
-rw-r--r--core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java5
-rw-r--r--core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java3
4 files changed, 15 insertions, 1 deletions
diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java b/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java
index afb9c09..097eabb 100644
--- a/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java
+++ b/core/src/main/java/coffee/liz/abstractionengine/app/AbstractionEngineGame.java
@@ -22,7 +22,7 @@ public class AbstractionEngineGame extends Game {
public BitmapFont font;
public FitViewport viewport;
public ShapeRenderer shapeRenderer;
- public SettingsInstruction settings;
+ public SettingsInstruction settings = SettingsInstruction.builder().build();
/**
* Game initialization hook.
diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java b/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java
index 0bab310..6f499a6 100644
--- a/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java
+++ b/core/src/main/java/coffee/liz/abstractionengine/app/life/EntropyAudioSystem.java
@@ -63,6 +63,12 @@ public class EntropyAudioSystem implements System<LifeInput>, Disposable {
@Override
public void update(final World<LifeInput> world, final LifeInput state, final Duration dt) {
+ if (!state.getGameInstructions().isPlayMusic()) {
+ running = false;
+ return;
+ }
+ running = true;
+
final LifeSystem lifeSystem = world.getSystem(LifeSystem.class);
final Vec2<Integer> gridDimensions = lifeSystem.getDimensions();
final List<List<Set<Entity>>> rows = lifeSystem.getRows();
diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java b/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java
index ab2aa5e..610bb4e 100644
--- a/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java
+++ b/core/src/main/java/coffee/liz/abstractionengine/app/screen/ScrollLogo.java
@@ -86,6 +86,11 @@ public class ScrollLogo implements Screen {
public void render(final float delta) {
game.viewport.apply();
ScreenUtils.clear(Theme.BG);
+ if (game.settings.isSkipIntro()) {
+ requestTransition();
+ return;
+ }
+
stage.act(delta);
stage.draw();
}
diff --git a/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java b/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java
index baaee84..6fe9d88 100644
--- a/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java
+++ b/core/src/main/java/coffee/liz/abstractionengine/app/settings/SettingsInstruction.java
@@ -8,6 +8,9 @@ import lombok.Getter;
@AllArgsConstructor
@Getter
public class SettingsInstruction {
+ @Builder.Default
+ private boolean skipIntro = true;
+
@Builder.Default
private boolean playMusic = true;
}