Giter VIP home page Giter VIP logo

stormrunner's People

Contributors

evelynsubarrow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

stormrunner's Issues

Resizing has no delay

Resizing is done with every single resize event the componentadapter gets, this causes resizes to stack up and various glitches

Troubles with Java-Library plugin

I don't know how to fix this issue on building graddle.

Build file '\Stormrunner-master\build.gradle' line: 2

A problem occurred evaluating root project 'Stormrunner-master'.

com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: org/gradle/api/internal/java/JavaLibrary

Datalogs UI within game

It should be possible to stop datalogs when they're playing in game. Subtitles would also be nice to have.

repository not found line:42

no modifications
gradle 4.1

Stormrunner-master\build.gradle' line: 42
* What went wrong:
A problem occurred evaluating root project 'Stormrunner-master'.
> repository not found

I also had issue #10 once with gradle 7.2 but with updated dependencies it gives same "line 42 repository not found"-failure.
build.gradle

I can't get it fixed.

This is great!

I haven't tried running it yet.

I had made my own patches some years ago to get around some rendering bugs and a hang IIRC, but I have no idea where those files are or if I still have them at all. :(

(Honestly I'm baffled that I was able to figure out how to fix graphical glitches or the hang at the time. I don't remember having any sort of reproducible setup.)

Have you been able to gather the missing html and other media files from anywhere or just the jars?

Edit: I see there is a zip file linked; does this contain everything?
I wonder where the archivers managed to get it from.

Sound/AWT/general compatibility on >9 versioned JREs

Will shortly be forcing the audio device to null when sun audio is absent, but sun audio is absent on JREs above 9 I believe. There's a javax API which seems similar enough in capability that it might be possible to convert to that instead. It's been largely present since Java 1.3, so compatibility shouldn't be a worry.

There's also been some breaking changes to AWT. It's not clear how far reaching that is, it may be possible to adapt and make it compatible.

Exception in thread "main" java.lang.NoClassDefFoundError: sun/audio/AudioDataStream
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
	at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	at com.templar.games.stormrunner.templarutil.audio.SunAudioDevice.getSound(SunAudioDevice.java:91)
	at com.templar.games.stormrunner.templarutil.audio.AudioManager.getSound(AudioManager.java:52)
	at com.templar.games.stormrunner.templarutil.audio.AudioManager.<init>(AudioManager.java:36)
	at com.templar.games.stormrunner.GameApplet.init(GameApplet.java:207)
	at moe.evelyn.games.stormrunner.Main.main(Main.java:47)
Caused by: java.lang.ClassNotFoundException: sun.audio.AudioDataStream
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 14 more

AWT:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: 'java.awt.peer.ComponentPeer java.awt.Component.getPeer()'
	at com.templar.games.stormrunner.templarutil.gui.SimpleContainer.paint(SimpleContainer.java:190)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
	at java.desktop/java.awt.Container.paint(Unknown Source)
	at com.templar.games.stormrunner.GameApplet.paint(GameApplet.java:682)
	at java.desktop/sun.awt.RepaintArea.paintComponent(Unknown Source)
	at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(Unknown Source)
	at java.desktop/sun.awt.RepaintArea.paint(Unknown Source)
	at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Logging/console

Not sure exactly what form this should take but there's a few things where it'd be helpful to offer the user some feedback at least on loading, letting them know e.g. if they have broken sound or what's been done for the flash player etc

New game hangs at 94% Windows 10

stormrunner-1.3.1-all.jar
"START NEW GAME" hangs at 94% on Windows 10 if window is moved. It works perfectly if window is in original start position.
Java 1.8.0_301 installed

Stormrunner hangs under openjdk-jre in RCX bay

Reported by David, and successfully replicated with OpenJDK JRE (ver 1.8.0_282-8u282-b08-0ubuntu1~20.04-b08 not that it probably matters).

When starting a new game, in the RCX bay, when generating a new RCX, the arm from below unlocks, sinks down one step, then freezes in place. The sound for it sinking never plays. The UI appears responsive, and the game will be rerendered if the window is minimised, but attempting to click on anything in the UI will kill the rendering.

This is one of the earlier examples of looped audio in Stormrunner, and sound is an obviously potentially flaky area of difference between Open and Oracle JREs. A debugger may shed some light.

Endgame hangs

From openjre

"AWT-EventQueue-1" #14 prio=6 os_prio=0 tid=0x00007f92d045b000 nid=0x1b22e9 waiting for monitor entry [0x00007f929d8b6000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at com.templar.games.stormrunner.GameApplet.paint(GameApplet.java:664)
	- waiting to lock <0x0000000706fc01b0> (a java.lang.Object)
	at com.templar.games.stormrunner.GameApplet.update(GameApplet.java:659)
	at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
	at sun.awt.X11.XRepaintArea.updateComponent(XRepaintArea.java:51)
	at sun.awt.RepaintArea.paint(RepaintArea.java:232)
	at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:584)
	at java.awt.Component.dispatchEventImpl(Component.java:4965)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at org.GNOME.Accessibility.AtkWrapper$6.dispatchEvent(AtkWrapper.java:705)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Same place it halts in Oracle, likely this is caused by something in state:

"StateThread" #29 prio=6 os_prio=0 tid=0x00007ff170539800 nid=0x1b26ff in Object.wait() [0x00007ff1c442d000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at java.awt.EventQueue.invokeAndWait(EventQueue.java:1343)
	- locked <0x0000000708b31018> (a java.awt.EventQueue$1AWTInvocationLock)
	at java.awt.Window.doDispose(Window.java:1210)
	at java.awt.Window.dispose(Window.java:1147)
	at com.templar.games.stormrunner.GameState.stop(GameState.java:343)
	at com.templar.games.stormrunner.GameApplet.toggleScreen(GameApplet.java:395)
	at com.templar.games.stormrunner.GameApplet.internalSetState(GameApplet.java:361)
	at com.templar.games.stormrunner.OpsPanel.setState(OpsPanel.java:96)
	at com.templar.games.stormrunner.GameApplet.setState(GameApplet.java:352)
	at com.templar.games.stormrunner.GameState.deactivateRobot(GameState.java:638)
	at com.templar.games.stormrunner.GameState.tick(GameState.java:321)
	- locked <0x0000000706ba6b18> (a java.lang.Object)
	at com.templar.games.stormrunner.GameState.run(GameState.java:287)
	at java.lang.Thread.run(Thread.java:748)

Losegame/wingame white screen

Losing (and presumably winning) the game causes a whitescreen. Initial hunch is that this is just caused by the game trying to pass focus back to a full screen flash animation, which wouldn't be picked up as if it were a datalog because it's done in the main frame.

Ideally the game should return to the main menu. You already know if you won (launched successfully) or lost (RCX flatlined and can't put any others out) so not much point in trying to do some fancy UI thing (yet)

Windows UI issue

Hey, after years of trying to get this to run, I finally figured out the correct order of steps to make it work.

Only to discover that the RCX control panel is too low to access, and thus all my efforts were for nothing.

Is there a way to resize the game screen in the Java Runtime Environment 8 window by even the slightest bit so that I can play?

Graphical issues on Windows

This is what I get for testing mostly on Linux. On Windows, at least under openjdk, there's some issues where resizing the window. The contents aren't redrawn as they would be on Linux, although if the window isn't resized, it mostly works. Unfortunately, the status panel sits very slightly too low, so it's not actually possible to play the game even if the game isn't resized.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.