HamaIndustries / FEMultiPlayer-V2

Reupload & revamp of FEMP with fresh bugfixes... usually. Check "releases" for download.
http://eliatlarge.github.io/FEMultiPlayer-V2/
GNU General Public License v3.0
27 stars 31 forks source link

[FATAL] Illegal State Exception: Function Not Supported #125

Closed ghost closed 7 years ago

ghost commented 8 years ago

Issue type: problem

Description:

/u/eonia0 ran into a fatal error today upon launching the game using v.1.5.0. It fails to reach the title screen. I requested a Command Prompt output, which he promptly provided.

Based on the output, my theory is that his graphics card may not supported, possibly due to lack of OpenGL 2.1 or later support, but I could be wrong. Maybe this is the bad graphic library up to its shenanigans again.


Command Prompt Output / Log:

C:\Users\Propietario\Downloads\FEMPV2_v1.5>java -jar "Fire Emblem Multiplayer V2.jar
Sat Jul 02 21:36:18 BST 2016 INFO:Use Java PNG Loader = true
default_med(bitmap font) loaded
stat_numbers(bitmap font) loaded
msg_text(bitmap font) loaded
null
16
Exception in thread "main" java.lang.ExceptionInInitializerError
    at net.fe.LoadStage.render(LoadStage.java:53)
    at net.fe.FEResources.loadTextures(FEResources.java:215)
    at net.fe.FEResources.loadResources(FEResources.java:92)
    at net.fe.FEMultiplayer.init(FEMultiplayer.java:131)
    at net.fe.FEMultiplayer.main(FEMultiplayer.java:92)
Caused by: java.lang.IllegalStateException: Function is not supported
    at org.lwjgl.BufferChecks.checkFunctionAddress(BufferChecks.java:58)
    at org.lwjgl.opengl.ARBShaderObjects.glCreateProgramObjectARB(ARBShaderObjects.java:139)
    at chu.engine.anim.Renderer.createProgram(Renderer.java:519)
    at chu.engine.anim.Renderer.<clinit>(Renderer.java:81)
    ... 5 more
rayrobdod commented 8 years ago

If I traced correctly, the null corresponds to a print of GL11.glGetString(GL20.GL_SHADING_LANGUAGE_VERSION) which seems to indicate that the shading language programs are not supported, and the crash was a "Function not supported" inside the thing that deals with shading language programs, which also seems to indicate that the shading language programs is not supported.

ghost commented 8 years ago

So this boils down the user's graphics card doesn't support a required version of OpenGL, correct? Those shaders are probably needed to do transparencies and probably the blitting too, right? (Meaning having a failsafe that disables special effects and would play like if someone had the battle animations set to off in the original FE games disabled, still wouldn't be enough, right?)

I feel bad for people with graphics cards that only want to support Direct X, or only support a primitive version of OpenGL. How do we go forward with this one? Or do we close it as Won't Fix?

rayrobdod commented 8 years ago

As far as I can tell, this program only uses the shaders for pallet swapping - for both the battle animations and map animations. I can think of other ways to get the same result (last resort a separate PNG file for each pallet) but I don't know if anything else in the program requires a higher OpenGL version.