diff --git a/gdxapp4d-lib/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboonyd/BãßBȍőnCoffinOpenʸᴰ.java b/gdxapp4d-lib/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboonyd/BãßBȍőnCoffinOpenʸᴰ.java index 0213b7ca..1ba7ef48 100644 --- a/gdxapp4d-lib/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboonyd/BãßBȍőnCoffinOpenʸᴰ.java +++ b/gdxapp4d-lib/gdxapp4d-lib-bassboonyd/src/main/java/love/distributedrebirth/bassboonyd/BãßBȍőnCoffinOpenʸᴰ.java @@ -20,10 +20,6 @@ public interface BãßBȍőnCoffinOpenʸᴰ()); } - static & BãßBȍőnCoffinStoreʸᴰ> void lockCoffin(T store) { - lockCoffin(store, v -> System.out.println(v)); - } - static & BãßBȍőnCoffinStoreʸᴰ> void lockCoffin(T store, Consumer logHandler) { logHandler.accept("Lock: "+store.BãßClassNaam()+" since: "+store.BãßAuthorCopyright()); for (Object o:store.BãßInstances()) { diff --git a/gdxapp4d-lib/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/warp/TOSWarpCore.java b/gdxapp4d-lib/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/warp/TOSWarpCore.java index 727a1c51..5f3f7670 100644 --- a/gdxapp4d-lib/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/warp/TOSWarpCore.java +++ b/gdxapp4d-lib/gdxapp4d-lib-numberxd/src/main/java/love/distributedrebirth/numberxd/base2t/part/warp/TOSWarpCore.java @@ -2,6 +2,7 @@ package love.distributedrebirth.numberxd.base2t.part.warp; import java.util.HashMap; import java.util.Map; +import java.util.function.Consumer; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; import love.distributedrebirth.bassboonyd.BãßBȍőnClassInfoʸᴰ; @@ -51,11 +52,11 @@ public enum TOSWarpCore implements DefaultEnumInstanceᴶᴹˣ logHandler) { armedWarpCipherLock.setValueBoolean(true); for (int base:Base2PartsFactory.INSTANCE.BãßBases()) { BãßBȍőnPartʸᴰ[] parts = Base2PartsFactory.INSTANCE.BãßBuildPartsByBase(base); - BãßBȍőnCoffinOpenʸᴰ.lockCoffin(parts[0]); + BãßBȍőnCoffinOpenʸᴰ.lockCoffin(parts[0], logHandler); } } diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java index d3723ae4..f070f984 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4Activator.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import java.util.Properties; +import java.util.function.Consumer; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -40,6 +41,7 @@ public class GDXAppTos4Activator implements BundleActivator { private NativeFileChooser fileChooser; private File hyperdriveHome; private File warpshipHome; + private Properties localOverrides; private WaterDevice warpshipDevice; private SystemWarpTerminal systemWarpTerminal; private List listeners = new ArrayList<>(); @@ -110,12 +112,6 @@ public class GDXAppTos4Activator implements BundleActivator { fireMessageEvent("ERROR: No warp-ship.xml found."); return; } - - context.registerService(SystemWarpBase.class.getName(), new SystemWarpBaseImpl(), new Hashtable()); - context.registerService(SystemWarpBootArgs.class.getName(), new SystemWarpBootArgsImpl(), new Hashtable()); - context.registerService(SystemWarpShip.class.getName(), new SystemWarpShipImpl(), new Hashtable()); - context.registerService(SystemWarpTerminal.class.getName(), systemWarpTerminal, new Hashtable()); - try { warpshipDevice = WaterDeviceDriver.newInstance().createReader().readFile(warpShip); } catch (Exception e) { @@ -125,12 +121,12 @@ public class GDXAppTos4Activator implements BundleActivator { } fireMessageEvent("warp-engine: "+warpshipDevice.theShip().getName()); - Properties overrides = new Properties(); + localOverrides = new Properties(); if (useLocal) { File localOverride = new File("local-override.xml"); if (localOverride.exists()) { try { - overrides.loadFromXML(new FileInputStream(localOverride)); + localOverrides.loadFromXML(new FileInputStream(localOverride)); } catch (Exception e) { throw new RuntimeException(e); } @@ -138,11 +134,18 @@ public class GDXAppTos4Activator implements BundleActivator { } else { fireMessageEvent("use-local: local-override.xml not found."); } - } + + SystemWarpShipImpl systemWarpShip = new SystemWarpShipImpl(); + + context.registerService(SystemWarpBase.class.getName(), new SystemWarpBaseImpl(), new Hashtable()); + context.registerService(SystemWarpBootArgs.class.getName(), new SystemWarpBootArgsImpl(), new Hashtable()); + context.registerService(SystemWarpShip.class.getName(), systemWarpShip, new Hashtable()); + context.registerService(SystemWarpTerminal.class.getName(), systemWarpTerminal, new Hashtable()); + int result = 0; try { - result = resolveWaterOcean(overrides, context, warpshipDevice.theShip().getEngine()); + result = systemWarpShip.loadWaterOcean(context, warpshipDevice.theShip().getEngine(), v -> fireMessageEvent(v)); } catch (Exception e) { e.printStackTrace(); fireMessageEvent("ERROR: "+e.getMessage()); @@ -155,69 +158,6 @@ public class GDXAppTos4Activator implements BundleActivator { } } - private int resolveWaterOcean(Properties overrides, BundleContext context, String key) throws IOException, InterruptedException, X4OConnectionException, SAXException, BundleException { - File waterHome; - String override = overrides.getProperty(key); - if (override == null) { - waterHome = new File(hyperdriveHome, key); - if (!waterHome.exists()) { - executeHyperdrive("hyperdrive", "mount", waterHome.getAbsolutePath(), key); - } - String infoResult = executeHyperdrive("hyperdrive", "info", waterHome.getAbsolutePath()); - if (!infoResult.startsWith("Drive Info")) { - fireMessageEvent("ERROR: Couldn't get info on: "+waterHome); - return 1; - } - } else { - waterHome = new File(override); - } - File waterSea = new File(waterHome, Warpᵐᵉ.WARP_SEA); - if (!waterSea.exists()) { - fireMessageEvent("ERROR: No warp-sea.xml found."); - return 1; - } - WaterOcean ocean = WaterOceanDriver.newInstance().createReader().readFile(waterSea); - fireMessageEvent("water-ocean: "+key+" ("+ocean.theWater().getName()+")"); - - Hashtable props = new Hashtable(); - props.put(SystemWarpSea.NAME_PROPERTY, ocean.theWater().getName()); - props.put(SystemWarpSea.PROVIDER_PROPERTY, ocean.theWater().getProvider()); - context.registerService(SystemWarpSea.class.getName(), new SystemWarpSeaImpl(ocean), props); - - for (WaterSeaMagic magic:ocean.theWater().getSeaMagics()) { - if ("application/vnd.osgi.bundle".equals(magic.getMime())) { - String overrideBundleKey = key + "." + magic.getFile(); - String overrideBundle = overrides.getProperty(overrideBundleKey); - if (overrideBundle == null) { - GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+waterHome.getAbsolutePath()+"/"+magic.getFile()); - } else { - GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+overrideBundle); - } - } - } - int result = 0; - for (WaterSeaChain chain: ocean.theWater().getSeaChains()) { - result += resolveWaterOcean(overrides, context, chain.getKey()); - } - return result; - } - - private String executeHyperdrive(String...cmd) throws IOException, InterruptedException { - ProcessBuilder builder = new ProcessBuilder(); - builder.command(cmd); - builder.directory(new File(System.getProperty("user.home"))); - Process process = builder.start(); - StringBuilder buf = new StringBuilder(); - try(BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()))) { - String line; - while ((line = input.readLine()) != null) { - buf.append(line); - } - } - process.waitFor(); - return buf.toString(); - } - public class SystemWarpSeaImpl implements SystemWarpSea { private final WaterOcean warpSea; @@ -267,6 +207,11 @@ public class GDXAppTos4Activator implements BundleActivator { public NativeFileChooser getFileChooser() { return fileChooser; } + + @Override + public Properties getLocalOverrides() { + return localOverrides; + } } public class SystemWarpShipImpl implements SystemWarpShip { @@ -275,5 +220,70 @@ public class GDXAppTos4Activator implements BundleActivator { public WaterDevice getWarpShip() { return warpshipDevice; } + + @Override + public int loadWaterOcean(BundleContext context, String key, Consumer logger) + throws IOException, InterruptedException, X4OConnectionException, SAXException, BundleException { + File waterHome; + String override = localOverrides.getProperty(key); + if (override == null) { + waterHome = new File(hyperdriveHome, key); + if (!waterHome.exists()) { + executeHyperdrive("hyperdrive", "mount", waterHome.getAbsolutePath(), key); + } + String infoResult = executeHyperdrive("hyperdrive", "info", waterHome.getAbsolutePath()); + if (!infoResult.startsWith("Drive Info")) { + logger.accept("ERROR: Couldn't get info on: "+waterHome); + return 1; + } + } else { + waterHome = new File(override); + } + File waterSea = new File(waterHome, Warpᵐᵉ.WARP_SEA); + if (!waterSea.exists()) { + logger.accept("ERROR: No warp-sea.xml found."); + return 1; + } + WaterOcean ocean = WaterOceanDriver.newInstance().createReader().readFile(waterSea); + logger.accept("water-ocean: "+key+" ("+ocean.theWater().getName()+")"); + + Hashtable props = new Hashtable(); + props.put(SystemWarpSea.NAME_PROPERTY, ocean.theWater().getName()); + props.put(SystemWarpSea.PROVIDER_PROPERTY, ocean.theWater().getProvider()); + context.registerService(SystemWarpSea.class.getName(), new SystemWarpSeaImpl(ocean), props); + + for (WaterSeaMagic magic:ocean.theWater().getSeaMagics()) { + if ("application/vnd.osgi.bundle".equals(magic.getMime())) { + String overrideBundleKey = key + "." + magic.getFile(); + String overrideBundle = localOverrides.getProperty(overrideBundleKey); + if (overrideBundle == null) { + GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+waterHome.getAbsolutePath()+"/"+magic.getFile()); + } else { + GDXAppTos4BootFactory.installAndStartBundles(context, "reference:file:"+overrideBundle); + } + } + } + int result = 0; + for (WaterSeaChain chain: ocean.theWater().getSeaChains()) { + result += loadWaterOcean(context, chain.getKey(), logger); + } + return result; + } + + private String executeHyperdrive(String...cmd) throws IOException, InterruptedException { + ProcessBuilder builder = new ProcessBuilder(); + builder.command(cmd); + builder.directory(new File(System.getProperty("user.home"))); + Process process = builder.start(); + StringBuilder buf = new StringBuilder(); + try(BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line; + while ((line = input.readLine()) != null) { + buf.append(line); + } + } + process.waitFor(); + return buf.toString(); + } } } diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java index b97bff1f..5294ea12 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/GDXAppTos4BootFactory.java @@ -107,6 +107,11 @@ public class GDXAppTos4BootFactory { "love.distributedrebirth.numberxd.base2t.typexl,"+ "love.distributedrebirth.numberxd.glyph,"+ "love.distributedrebirth.numberxd.x4o,"+ + "love.distributedrebirth.warpme,"+ + "love.distributedrebirth.warpme.core,"+ + "love.distributedrebirth.warpme.hash,"+ + "love.distributedrebirth.warpme.sea,"+ + "love.distributedrebirth.warpme.ship,"+ "love.distributedrebirth.unicode4d,"+ "love.distributedrebirth.unicode4d.atlas" ); // ; version=1.0.0 diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpBootArgs.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpBootArgs.java index e16901b3..121f6633 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpBootArgs.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpBootArgs.java @@ -1,6 +1,7 @@ package love.distributedrebirth.gdxapp4d.tos4.service; import java.util.List; +import java.util.Properties; import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; import net.spookygames.gdx.nativefilechooser.NativeFileChooser; @@ -15,4 +16,6 @@ public interface SystemWarpBootArgs { int getBootWindowHeight(); NativeFileChooser getFileChooser(); + + Properties getLocalOverrides(); } diff --git a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpShip.java b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpShip.java index c6c2de50..f9616d1c 100644 --- a/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpShip.java +++ b/gdxapp4d-tos4/src/main/java/love/distributedrebirth/gdxapp4d/tos4/service/SystemWarpShip.java @@ -1,5 +1,13 @@ package love.distributedrebirth.gdxapp4d.tos4.service; +import java.io.IOException; +import java.util.function.Consumer; + +import org.osgi.framework.BundleContext; +import org.osgi.framework.BundleException; +import org.x4o.xml.io.X4OConnectionException; +import org.xml.sax.SAXException; + import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; import love.distributedrebirth.warpme.ship.WaterDevice; @@ -7,4 +15,6 @@ import love.distributedrebirth.warpme.ship.WaterDevice; public interface SystemWarpShip { WaterDevice getWarpShip(); + + int loadWaterOcean(BundleContext context, String key, Consumer logger) throws IOException, InterruptedException, X4OConnectionException, SAXException, BundleException; } diff --git a/gdxapp4d-vrgem4/pom.xml b/gdxapp4d-vrgem4/pom.xml index f857f45d..c5f22526 100644 --- a/gdxapp4d-vrgem4/pom.xml +++ b/gdxapp4d-vrgem4/pom.xml @@ -90,6 +90,11 @@ love.distributedrebirth.numberxd.base2t.typexl, love.distributedrebirth.numberxd.glyph, love.distributedrebirth.numberxd.x4o, + love.distributedrebirth.warpme, + love.distributedrebirth.warpme.core, + love.distributedrebirth.warpme.hash, + love.distributedrebirth.warpme.sea, + love.distributedrebirth.warpme.ship, love.distributedrebirth.unicode4d, love.distributedrebirth.unicode4d.atlas diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java index b245fc03..e4171e81 100644 --- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java +++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4Activator.java @@ -12,6 +12,7 @@ import imgui.type.ImBoolean; import love.distributedrebirth.bassboonyd.BãßBȍőnCoffinOpenʸᴰ; import love.distributedrebirth.bassboonyd.jmx.DefaultEnumBaseᴶᴹˣ; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpBootArgs; +import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpShip; import love.distributedrebirth.gdxapp4d.tos4.service.SystemWarpTerminal; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenCredits; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenDesktop1; @@ -19,7 +20,6 @@ import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenDesktop2; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenDesktop3; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenDesktop4; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenHelp; -import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenIntro; import love.distributedrebirth.gdxapp4d.vrgem4.screen.ScreenIntroMission; import love.distributedrebirth.numberxd.base2t.Base2PartsFactory; import love.distributedrebirth.numberxd.base2t.Base2Terminator; @@ -27,6 +27,7 @@ import love.distributedrebirth.numberxd.base2t.part.warp.TOSWarpCore; import love.distributedrebirth.numberxd.glyph.BaseGlyphSet; import love.distributedrebirth.warpme.core.WaterBucket; import love.distributedrebirth.warpme.core.WaterBucketDriver; +import love.distributedrebirth.warpme.ship.WaterShipOcean; public class GDXAppVrGem4Activator implements BundleActivator { @@ -59,13 +60,16 @@ public class GDXAppVrGem4Activator implements BundleActivator { bootScreen.bootLine("vrGEM4 Booting..."); // ref to init -// LOG.debug("BãßBȍőnCoffinʸᴰ init......"); for (DefaultEnumBaseᴶᴹˣ coffin:coffinInstances()) { - BãßBȍőnCoffinOpenʸᴰ.lockCoffin(coffin); + BãßBȍőnCoffinOpenʸᴰ.lockCoffin(coffin, v -> bootScreen.bootLine(v)); } bootScreen.bootLine("BãßBȍőnCoffinʸᴰ init done."); bootScreen.bootLine("ImGui Setup"); + try { + Thread.sleep(100); + } catch (InterruptedException ignored) { + } ImBoolean imLoaded = new ImBoolean(false); Gdx.app.postRunnable(new Runnable() { @Override @@ -82,11 +86,11 @@ public class GDXAppVrGem4Activator implements BundleActivator { } bootScreen.bootLine("ImGui Loaded"); - ServiceReference bootArgsRef = context.getServiceReference(SystemWarpBootArgs.class); SystemWarpBootArgs bootArgs = context.getService(bootArgsRef); List args = bootArgs.getBootArgs(); + bootScreen.bootLine("warpcore: Check request"); try { if (args.contains("warpcore-load")) { bootScreen.bootLine("warpcore-load: requested"); @@ -103,13 +107,13 @@ public class GDXAppVrGem4Activator implements BundleActivator { } if (!args.contains("warpcore-nolock")) { bootScreen.bootLine("warpcore-lock: BãßLockWarpCipher"); - TOSWarpCore.INSTANCE.BãßLockWarpCipher(); + TOSWarpCore.INSTANCE.BãßLockWarpCipher(v -> {}); } else { bootScreen.bootLine("warpcore-nolock: requested"); } if (args.contains("full-screen")) { - System.out.println("full-screen: requested"); + bootScreen.bootLine("full-screen: requested"); Gdx.app.postRunnable(new Runnable() { @Override public void run() { @@ -118,33 +122,58 @@ public class GDXAppVrGem4Activator implements BundleActivator { }); } + bootScreen.bootLine("vrGEM4: init"); GDXAppVrGem4.INSTANCE.init(args, terminal); + bootScreen.bootLine("terminal: added screens"); Gdx.app.postRunnable(new Runnable() { @Override public void run() { - terminal.registrateScreen(new ScreenIntro()); - terminal.registrateScreen(new ScreenIntroMission()); terminal.registrateScreen(new ScreenDesktop1()); terminal.registrateScreen(new ScreenDesktop2()); terminal.registrateScreen(new ScreenDesktop3()); terminal.registrateScreen(new ScreenDesktop4()); terminal.registrateScreen(new ScreenCredits()); terminal.registrateScreen(new ScreenHelp()); - - if (args.contains("intro-skip")) { - System.out.println("intro-skip: requested"); - terminal.selectScreen(ScreenDesktop1.class); -// music.play(MusicSongType.BACKGROUND); - } else { - terminal.selectScreen(ScreenIntro.class); - } + terminal.registrateScreen(new ScreenIntroMission()); } }); + try { + Thread.sleep(100); + } catch (InterruptedException ignored) { + } + + + ServiceReference systemWarpShipRef = context.getServiceReference(SystemWarpShip.class); + SystemWarpShip systemWarpShip = context.getService(systemWarpShipRef); + + int result = 0; + try { + for (WaterShipOcean ocean:systemWarpShip.getWarpShip().theShip().getShipOceans()) { + result = systemWarpShip.loadWaterOcean(context, ocean.getSea(), v -> bootScreen.bootLine(v)); + } + } catch (Exception e) { + e.printStackTrace(); + bootScreen.bootLine("ERROR: "+e.getMessage()); + return; + } + if (result > 0) { + bootScreen.bootLine("vrGEM4: FAILURE BOOT ABORTED"); + } else { + bootScreen.bootLine("vrGEM4: chains resolved."); + try { + Thread.sleep(5000); + } catch (InterruptedException ignored) { + } + Gdx.app.postRunnable(new Runnable() { + @Override + public void run() { + terminal.selectScreen(ScreenDesktop1.class); + } + }); + } } - - //TODO: add layer or ?? private ,DefaultAuthorInfoʸᴰ> T[] storeInstances() { @SuppressWarnings("unchecked") private > T[] coffinInstances() { diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4BootScreen.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4BootScreen.java index 325a3b5c..aa50f03e 100644 --- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4BootScreen.java +++ b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/GDXAppVrGem4BootScreen.java @@ -35,7 +35,7 @@ public class GDXAppVrGem4BootScreen extends ScreenAdapter implements GDXAppVrGem for (String message:messages) { font.draw(batch, message, textX, textY-=textYStep); } - batch.draw(backgroundImage, textY, textY, textY, textY); + batch.draw(backgroundImage, 200, textY, Gdx.graphics.getWidth() - 200, Gdx.graphics.getHeight() - textY); } batch.end(); } diff --git a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/ScreenIntro.java b/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/ScreenIntro.java deleted file mode 100644 index 9ff4ccf6..00000000 --- a/gdxapp4d-vrgem4/src/main/java/love/distributedrebirth/gdxapp4d/vrgem4/screen/ScreenIntro.java +++ /dev/null @@ -1,66 +0,0 @@ -package love.distributedrebirth.gdxapp4d.vrgem4.screen; - -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.ScreenAdapter; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.badlogic.gdx.utils.ScreenUtils; - -import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ; -import love.distributedrebirth.gdxapp4d.tos4.GDXAppTos4; -import love.distributedrebirth.gdxapp4d.vrgem4.GDXAppVrGem4; -import love.distributedrebirth.gdxapp4d.vrgem4.music.MusicSongType; - -@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天") -public class ScreenIntro extends ScreenAdapter { - private Texture backgroundImage; - private float colorDeltaTime = 0f; - private boolean colorPositive = true; - protected SpriteBatch batch; - protected BitmapFont font; - - public ScreenIntro() { - batch = new SpriteBatch(); - font = new BitmapFont(); - backgroundImage = new Texture(Gdx.files.internal("background/temple-os.png")); - } - - @Override - public void render(float delta) { - if (colorPositive) { - colorDeltaTime += Gdx.graphics.getDeltaTime()/2; - } else { - colorDeltaTime -= Gdx.graphics.getDeltaTime()/2; - } - if (colorDeltaTime > 1f) { - colorPositive = false; - } else if (colorDeltaTime < 0f) { - colorPositive = true; - } - ScreenUtils.clear(0.333f, colorDeltaTime, colorDeltaTime, 1); - - batch.begin(); - batch.draw(backgroundImage, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); - font.draw(batch, "Tap anywhere to begin!", Gdx.graphics.getWidth()/2 - 73, 33); - batch.end(); - - if (Gdx.input.isTouched() || Gdx.input.isKeyPressed(Keys.ENTER) || Gdx.input.isKeyPressed(Keys.SPACE)) { - GDXAppVrGem4.INSTANCE.terminal.selectScreen(ScreenIntroMission.class); - dispose(); - } - } - - @Override - public void show() { - GDXAppVrGem4.INSTANCE.music.play(MusicSongType.INTRO); - } - - @Override - public void dispose() { - //batch.dispose(); - font.dispose(); - backgroundImage.dispose(); - } -}