I'm trying to refactor my game to use StandardGame and StandardGameStates. I'm running into some issues, however.
I have an InGameState class that descends from StandardGameState. The StandardGame initializes and gives a blank screen, but my InGameState constructor fails on the super call to StandardGameState. It seems to be failing in initCamera's createCamera call–specifically:
Sep 23, 2006 2:10:45 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Sep 23, 2006 2:10:49 PM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W: 640H: 480
Sep 23, 2006 2:10:49 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Sep 23, 2006 2:10:49 PM com.jme.scene.Node <init>
INFO: Node created.
Sep 23, 2006 2:10:49 PM com.jme.scene.Node attachChild
INFO: Child (FPS label) attached to this node (FPS node)
Sep 23, 2006 2:10:49 PM com.jmex.game.state.GameStateManager create
INFO: Created GameStateManager
Sep 23, 2006 2:10:49 PM com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
Sep 23, 2006 2:10:49 PM com.jme.scene.Node <init>
INFO: Node created.
Exception in thread "main" java.lang.NullPointerException
at org.lwjgl.opengl.GL11.glMatrixMode(GL11.java:1737)
at com.jme.renderer.lwjgl.LWJGLCamera.onFrustumChange(Unknown Source)
at com.jme.renderer.AbstractCamera.<init>(Unknown Source)
at com.jme.renderer.lwjgl.LWJGLCamera.<init>(Unknown Source)
at com.jme.renderer.lwjgl.LWJGLRenderer.createCamera(Unknown Source)
at com.jmex.game.state.StandardGameState.initCamera(Unknown Source)
at com.jmex.game.state.StandardGameState.<init>(Unknown Source)
at com.starfireinteractive.torrent.InGameState.<init>(InGameState.java:24)
at com.starfireinteractive.torrent.Game.main(Game.java:36)
No, I've not built JME in debug mode, so there aren't line numbers for some of those.
Could the problem be that StandardGame has already created a camera, and now StandardGameState is trying to create another? I'd used StandardGameState because it seems logical to me that each state should have its own root node, but perhaps I'm not quite understanding the state system? Or am I on the right track in my understanding but the wrong one with my debugging, and the fact that multiple cameras are being created isn't the issue here? It's all very confusing. :)