From 82d933058a1aef377193e04f9f9bae8f85c21cbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Thu, 27 Feb 2020 18:11:12 +0100 Subject: [PATCH] Prepare for: v3.0.2 with music and inkmanager fixes. --- .../src/main/resources/versions.properties | 2 +- .../com/bladecoder/engine/ink/InkManager.java | 2 + .../bladecoder/engine/model/MusicManager.java | 4 +- .../bladecoder/engine/ui/CreditsScreen.java | 71 +++++++++++-------- gradle.properties | 2 +- 5 files changed, 49 insertions(+), 32 deletions(-) diff --git a/adventure-editor/src/main/resources/versions.properties b/adventure-editor/src/main/resources/versions.properties index f30a80184..2fd0f351e 100644 --- a/adventure-editor/src/main/resources/versions.properties +++ b/adventure-editor/src/main/resources/versions.properties @@ -5,4 +5,4 @@ buildToolsVersion=28.0.3 libgdxVersion=1.9.9 roboVMGradlePluginVersion=2.3.5 roboVMVersion=2.3.5 -version=3.0.1 +version=3.0.2 diff --git a/blade-engine/src/com/bladecoder/engine/ink/InkManager.java b/blade-engine/src/com/bladecoder/engine/ink/InkManager.java index c8d593b89..2e101c874 100644 --- a/blade-engine/src/com/bladecoder/engine/ink/InkManager.java +++ b/blade-engine/src/com/bladecoder/engine/ink/InkManager.java @@ -236,6 +236,7 @@ private void continueMaximally() { ActionCallback tmpcb = cb; cb = null; + sCb = null; tmpcb.resume(); } } @@ -400,6 +401,7 @@ public void runPath(String path, ActionCallback cb) throws Exception { } this.cb = cb; + sCb = null; story.choosePathString(path); continueMaximally(); diff --git a/blade-engine/src/com/bladecoder/engine/model/MusicManager.java b/blade-engine/src/com/bladecoder/engine/model/MusicManager.java index 3c2279ed4..4040d1442 100644 --- a/blade-engine/src/com/bladecoder/engine/model/MusicManager.java +++ b/blade-engine/src/com/bladecoder/engine/model/MusicManager.java @@ -59,7 +59,9 @@ public void playMusic() { // DEAL WITH OPENAL BUG if (Gdx.app.getType() == ApplicationType.Desktop && e.getMessage().contains("40963")) { EngineLogger.debug("!!!!!!!!!!!!!!!!!!!!!!!ERROR playing music trying again...!!!!!!!!!!!!!!!"); - setMusic(desc); + MusicDesc desc2 = desc; + desc = null; + setMusic(desc2); return; } diff --git a/blade-engine/src/com/bladecoder/engine/ui/CreditsScreen.java b/blade-engine/src/com/bladecoder/engine/ui/CreditsScreen.java index bd80e0cf8..0cd9617ec 100644 --- a/blade-engine/src/com/bladecoder/engine/ui/CreditsScreen.java +++ b/blade-engine/src/com/bladecoder/engine/ui/CreditsScreen.java @@ -23,6 +23,7 @@ import java.util.Locale; import java.util.Map; +import com.badlogic.gdx.Application.ApplicationType; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputAdapter; @@ -70,8 +71,7 @@ public class CreditsScreen extends ScreenAdapter implements BladeScreen { private final InputProcessor inputProcessor = new InputAdapter() { @Override public boolean keyUp(int keycode) { - if (keycode == Input.Keys.ESCAPE - || keycode == Input.Keys.BACK) + if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK) ui.setCurrentScreen(Screens.MENU_SCREEN); return true; @@ -110,7 +110,8 @@ public void render(float delta) { for (int i = stringHead; i < credits.size(); i++) { String s = credits.get(i); - char type = 'c'; // types are 'c' -> credit, 't' -> title, 'i' -> image, 's' -> space, 'm' -> music + char type = 'c'; // types are 'c' -> credit, 't' -> title, 'i' -> image, 's' -> space, 'm' -> + // music if (s.indexOf('#') != -1) { type = s.charAt(0); @@ -118,23 +119,23 @@ public void render(float delta) { } switch (type) { - case 't': - y = processCreditTitle(batch, width, height, y, i, s); - break; - case 'i': - y = processCreditImage(batch, width, height, y, i, s); - break; - case 's': - y = processCreditSpace(height, y, i, s); - break; - case 'm': - processCreditMusic(s); - credits.remove(i); - i--; - break; - default: - y = processCreditDefault(batch, width, height, y, i, s); - break; + case 't': + y = processCreditTitle(batch, width, height, y, i, s); + break; + case 'i': + y = processCreditImage(batch, width, height, y, i, s); + break; + case 's': + y = processCreditSpace(height, y, i, s); + break; + case 'm': + processCreditMusic(s); + credits.remove(i); + i--; + break; + default: + y = processCreditDefault(batch, width, height, y, i, s); + break; } if (y < 0) { @@ -188,22 +189,34 @@ private float processCreditSpace(int height, float y, int i, String s) { private void processCreditMusic(final String s) { if (music != null) music.dispose(); - - final String sound = EngineAssetManager.getInstance().checkIOSSoundName("music/" + s); + + final String file = EngineAssetManager.getInstance().checkIOSSoundName("music/" + s); new Thread() { @Override public void run() { - music = Gdx.audio.newMusic(EngineAssetManager.getInstance().getAsset(sound)); - + music = Gdx.audio.newMusic(EngineAssetManager.getInstance().getAsset(file)); + try { music.play(); - } catch(Exception e) { - // sometimes the play method fails on desktop. - EngineLogger.error("Error Playing music: " + s, e); + music.setVolume(0.5f); + } catch (Exception e) { + + // DEAL WITH OPENAL BUG + if (Gdx.app.getType() == ApplicationType.Desktop && e.getMessage().contains("40963")) { + EngineLogger.debug("!!!!!!!!!!!!!!!!!!!!!!!ERROR playing music trying again...!!!!!!!!!!!!!!!"); + + music = Gdx.audio.newMusic(EngineAssetManager.getInstance().getAsset(file)); + music.play(); + music.setVolume(0.5f); + + return; + } + + EngineLogger.error("Error Playing music: " + file); } } - }.start(); + }.start(); } private float processCreditDefault(SpriteBatch batch, int width, int height, float y, int i, String s) { @@ -307,7 +320,7 @@ public void drawCenteredScreenX(SpriteBatch batch, BitmapFont font, CharSequence layout.setText(font, str, Color.WHITE, viewportWidth, Align.center, true); - //x = (viewportWidth - layout.width)/2; + // x = (viewportWidth - layout.width)/2; font.draw(batch, layout, x, y); } diff --git a/gradle.properties b/gradle.properties index c908890a1..6adec6cea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=3.0.1 +version=3.0.2 libgdxVersion=1.9.9 roboVMVersion=2.3.5 roboVMGradlePluginVersion=2.3.5 pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy