JME noob again

Hi,



I’m kind of a noob - I played with JME 0.1 a few months ago when mojo was starting out.





I have a couple of queries regarding JME:



1)I’m having problems getting the demos to work. I’ve cleared my JWS cache and tried running them manually from jmetest.jar using lwjgl 0.9 and the latest jme jar. Any ideas what I could be doing wrong? It’s strange because I’m sure I had them working a couple of weeks ago.



2)I’m looking to write a demo to allow a model (probably milkshape) to walk around a terrain bumping into trees. I don’t know if mojo remembers batman in jme 0.1? - that sort of thing. Is this possible? Will the collision detection support this?





Many Thanks

1)I'm having problems getting the demos to work. I've cleared my JWS cache and tried running them manually from jmetest.jar using lwjgl 0.9 and the latest jme jar. Any ideas what I could be doing wrong? It's strange because I'm sure I had them working a couple of weeks ago.


What exactly are the problems? Are you getting errors or anything? Or is it just not working?

2)I'm looking to write a demo to allow a model (probably milkshape) to walk around a terrain bumping into trees. I don't know if mojo remembers batman in jme 0.1? - that sort of thing. Is this possible? Will the collision detection support this?


Terrain isn't completely finished yet. Specifically the getHeight you'll need. But yes, it should work, and it should work much better than before (other wise it wouldn't have been worth it, heheh). Terrain is getting there, and should be complete before much longer.

Glad to see you again, Big Bluey.

Ok, here is what I’m getting when I run manually:



C:Documents and SettingsPeter1My DocumentsJava 3DjmeTests v0.5V5TestApp01
>java -Djava.library.path=.lib jmetest.widget.TestWidgetApp1
20-Apr-2004 12:25:08 com.jme.app.SimpleGame start
INFO: Application started.
20-Apr-2004 12:25:09 com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
20-Apr-2004 12:25:09 com.jme.system.PropertiesIO load
INFO: Read properties
20-Apr-2004 12:25:17 com.jme.system.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
20-Apr-2004 12:25:18 com.jme.system.PropertiesIO save
INFO: Saved properties
20-Apr-2004 12:25:18 com.jme.system.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
java.lang.NoSuchMethodError: org.lwjgl.opengl.Window.create(Ljava/lang/String;II
III)V
        at com.jme.system.LWJGLDisplaySystem.initDisplay(Unknown Source)
        at com.jme.system.LWJGLDisplaySystem.createWindow(Unknown Source)
        at jmetest.widget.TestWidgetApp1.initSystem(Unknown Source)
        at com.jme.app.SimpleGame.start(Unknown Source)
        at jmetest.widget.TestWidgetApp1.main(Unknown Source)
20-Apr-2004 12:25:19 com.jme.app.SimpleGame start
INFO: Application ending.



As I said I'm using the right jars as far as I can tell.

With regards to the JWS demos - I'm using version 1.4.2_01 & I get a blank screen which flashes up when I try to run them & then nothing happens - Win2000 then returns to its previous state before I ran them from the website.

Any ideas?

Looks to me like there is a mismatch of LWJGL version and jME version. If you are using the cvs version, make sure you have LWJGL 0.9 (it should be in lib in cvs, but you might not have gotten it). If you are using a previous version, say the 0.5 jar, you need LWJGL 0.8.

Hmmm, I’m almost certain that error is from using an older LWJGL.dll. I just tried webstart on a “clean” computer and it ran fine. This leads me to believe you might have a lwjgl.dll/lwjgl.jar somewhere in your system path that is being picked up. Search for lwjgl.*, and if it is somewhere on your path (windows/system32, etc) remove it.

I typically don’t like to stick libs in system directories (including jdk ext), because I forget about them and they get out of date. I tend to leave them in the lib directory of the project and just use the:



-Djava.library.path=[LIB_DIR]



flag.

Just an FYI, the lwjgl library can get seperately cached in JWS, so make sure you have specifically removed it. Try running a find file search on lwjgl.



I’ve seen your error a few times before and it’s always been the wrong lwjgl library being used. They changed the signature of the create window method in the newer library, thus making the newer code incompatible with the older library (in many other ways too, but what do you expect from a pre 1.0 library?)

Before you rebuild, you should probably just identify what files are being used.



One good tool for that is “handle” for windows (lsof for unix) which can tell you what resources any process has open.



http://www.sysinternals.com/ntw2k/freeware/handle.shtml





Another good windows tool for classpath problems is “Filemon” which will trace all i/o on your system.



http://www.sysinternals.com/ntw2k/source/filemon.shtml

I’m totally stumped now. I found the lwjgl.dll the JWS cache uses in a directory called javaws/cache/http/Dwww.mojomonkeycoding.com/P80/DMwebstart/RNlwjgl-windows.jar in my Win2000 Document and Settings dir. Deleting it ot replacing it made no difference.



I’ve also removed what I think is all the crap from my jre driectories mentioned earlier, including an old xith installation.



All other lwjgl.dll/jar files have been deleted apart from those I use to compile from locally in /lib driectories that I use with any source I create myself to test.



I’ve also run update on my jre/JWS to get the latest version.

Ok, let’s try something. Create a new directory, and checkout from cvs. Do a nice clean checkout and try building and running that.

What is your setup there? Card specs?



Out of curiousity, what params are you entering in the graphics setup (windowed/nonwindowed, bpp, resolution)? Have you tried clearing the jws cache located in c:/docs and settings/your user/.javaws/? Also, have you gone into the settings for JWS and made sure the latest jre is the only one selected as allowable? (I tried running with 1.4.2_01 as you have though and it ran ok.)



I guess my point is that it seems like you should get the JWS launched demos running first as they should be configured correctly by default. If they can run, you’ll be better equipped to ensure a cvs build will run.



I recommend deleting every single lwjgl*.dll and lwjgl*.jar Even the ones you have in lib and so forth. Do a find file for lwjgl and get rid of all dll and jar files. All of them. Also, purge your jws cache as I said above. Purge the recycle bin. :slight_smile: When you run a jws demo again, one of the downloads it mentions should be lwjgl-windows.jar

I purged all the lwjgl & lwjgl* jars and dlls + JWS cache and I get the same problem still. Do you want me to post the JWS log again?



I’m off to see if I can find a more up to date driver for my card (but the one I have is only December 2003) & has worked fine with lwjgl 0.8 & xith.

I have updated my Matrox G400 drivers to the latest but this has made no difference.



:frowning:

Weird, I assumed the lwjgl method error was because you had an old lwjgl lib, but the errors in your latest log show that it can’t find code from the latest jme, so now I’m guessing you have the correct lwjgl, but somewhere you have older jme stuff. Do you think that’s possible? Have you tried blowing out your local cvs and rechecking out jme?

ant will not build the buildtest.xml file. It produces code errors. The build.xml works fine.


In order to build the tests, you must first create the jme.jar using the "dist" target. It's not sufficient to just compile the jme code with the default ant target.

I have tried getting a new CVS build which didn’t work. I do have several jars from jme 0.1 plus one or two from jme 0.2. Do you think this is making a difference? the old jme jar’s are not being kept anywhere sensitive, but I could be wrong.

I’ve just tried some of the lwjgl tests half of which work OK, the later ones fail for various reasons.



My card is set in single monitor mode - I’ve never set it in dualhead mode.

Looks like it is failing on the opengl 1.3 stuff for textures… does that card support multi-texturing? If so, does it say it is opengl1.3 compliant?



Looking at the matrox boards, it looks like the m400 has some opengl problems… one such post: http://forum.matrox.com/mga/viewtopic.php?t=9020

It doesn’t look like it supports OpenGL 1.3. Do I need this to run JME? Because as I said the main lwjgl tests (the ones which come with the lwjgl 0.9 from its website) work.



I guess it means I’m really stuck at the moment. :frowning:

Right now, texture units require multitexturing, even when you are only using a single texture. I really didn’t think that this would be a problem, I thought that almost all cards out there would be 1.3 compliant. I was wrong. I’ll look into what needs to be done to only use 1.3 if it’s supported.