Jake2 JOGL2 Port ..

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

Jake2 JOGL2 Port ..

Sven Gothel
Administrator
I finally gave in and made the Jake2 port to JOGL2,
since I needed an example for porting JOGL1 apps to JOGL2.

Xerxes and I discussed whether we should write something
about porting to JOGL2, so some experience was required.

Here it is ..
Source:
  <http://jogamp.org/git/?p=users/sgothel/jake2.git;a=summary>
  "git clone git://jogamp.org/srv/scm/users/sgothel/jake2.git"

This is just a simple port w/o adding anything new.

You can see in the git commits,
what was required to port it to JOGL2 - nothing much.

To fix imports, I used Eclipse and "source . organize imports",
the rest is visible in the commits.

The jake2.jar file is signed w/ out jogamp key for now,
so you can test it online:
  <http://jogamp.org/deployment/test/jake2/jake2_jogl.jnlp>

Jake2 Forum Post:
  <https://sourceforge.net/projects/jake2/forums/forum/381178/topic/5936390>

Jake2 Website:
  <http://bytonic.de/html/download.html>

Jake2 Original Sourcecode:
  <https://sourceforge.net/scm/?type=cvs&group_id=111156>

~Sven


signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Hi

I have no sound with this port whereas it was working several years ago with JOAL.

I have just noticed that the authors simply replaced the JOGL 1 version by the version using our competitor without modifying the link (about JSR 231). This kind of behaviour is unacceptable, especially because the version based on our competitor makes some icons in my task bar disappear when I quit the game in full screen mode.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Xerxes Rånby
This post was updated on .
I have sound using JOAL on my i386 ubuntu 12.04 system using this JOGL 2 port. Working perfect and fine!

I have no sound using JOAL on my ARM ac100 cortex-A9 ubuntu 12.04 armel system using the same JOAL code. No error messages in console explaining the missing sounds.
The ac100 then uses the mesa software renderer when running this JOGL 2 port. It is great that Jake2 do now run on ARM, this is better compared to the JOGL 1 version that had no ARM support at all!
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Sven Gothel
Administrator
In reply to this post by gouessej
On 10/07/2012 05:41 PM, gouessej [via jogamp] wrote:
> Hi
>
> I have no sound with this port whereas it was working several years ago with
> JOAL.

JOAL works here on Java 64bit and my unit test machines:
        Windows, Linux, OSX.

Maybe enable all debug flags .. and lets see what happens.

Yes, we know JOAL is a weak link.

>
> I have just noticed that the authors simply replaced the JOGL 1 version by the
> version using our competitor without modifying the link (about JSR 231).
While porting I learned it had 3 renderer: very old jogl, jsr231/jogl1 and LWJGL.

> This kind of behaviour is unacceptable, especially because the version based on our
> competitor makes some icons in my task bar disappear when I quit the game in
> full screen mode.

Dunno about that, sorry.

The idtech4 using ES2 might be intriguing (open source).
I have heard somebody was porting idtech2 to at least a pure GLSL version.
Then ofc .. the tedious C -> Java work would need to be done,
not really something I volunteer for.

Regarding FS, we could cont. adding NEWT support..

On the other hand, I didn't port it to play,
but more as an example of a JOGL2 port.

~Sven




signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Sven Gothel wrote
On 10/07/2012 05:41 PM, gouessej [via jogamp] wrote:
> Hi
>
> I have no sound with this port whereas it was working several years ago with
> JOAL.

JOAL works here on Java 64bit and my unit test machines:
        Windows, Linux, OSX.

Maybe enable all debug flags .. and lets see what happens.

Yes, we know JOAL is a weak link.
JOAL works fine in TUER but not in your port on my machine at home. It is probably not a bug in JOAL.

Sven Gothel wrote
>
> I have just noticed that the authors simply replaced the JOGL 1 version by the
> version using our competitor without modifying the link (about JSR 231).
While porting I learned it had 3 renderer: very old jogl, jsr231/jogl1 and LWJGL.

> This kind of behaviour is unacceptable, especially because the version based on our
> competitor makes some icons in my task bar disappear when I quit the game in
> full screen mode.

Dunno about that, sorry.
I tried to run the version based on JOGL 1.1.1a to see whether the sound was still working.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Xerxes Rånby
I got another i386 Ubuntu 12.04 machine and on this one sound fail. This time i notice one issue in the log:
------- sound initialization -------
... EAX2.0 not found
... using 0 channels
sound sampling rate: 44100Hz
------------------------------------

------- use sound driver "joal" -------


So from the looks of it EAX2.0 is required if you want sound.
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Thank you Xerxes. It explains why JOAL works fine with Paul Lamb's Sound System and TUER but not with Jake 2. Is there a way of fixing that?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Sven Gothel
Administrator
In reply to this post by Xerxes Rånby
On 10/08/2012 04:24 PM, Xerxes Rånby [via jogamp] wrote:

> I got another i386 Ubuntu 12.04 machine and on this one sound fail. This time
> i notice one issue in the log:
> ------- sound initialization -------
> ... EAX2.0 not found
> ... using 0 channels
> sound sampling rate: 44100Hz
> ------------------------------------
>
> ------- use sound driver "joal" -------
>
>
> So from the looks of it EAX2.0 is required if you want sound.
>
------- sound initialization -------
AL lib: alcOpenDevice: Option 'format' is deprecated, please use 'channels'
and 'sample-type'
... EAX2.0 not found
... using 32 channels
sound sampling rate: 44100Hz
------------------------------------

I get this message, and I have sound ..

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Sven Gothel
Administrator
In reply to this post by gouessej
On 10/08/2012 05:19 PM, gouessej [via jogamp] wrote:
> Thank you Xerxes. It explains why JOAL works fine with Paul Lamb's Sound
> System and TUER but not with Jake 2. Is there a way of fixing that?
> Julien Gouesse

So .. its the message with 'found 0 channels',
not EAX I assume.

Which JOAL version do you use Julien ?
We use the latest of jogamp.
Maybe you can find the delta ?
Maybe it's the soft-openal ?

~Sven



signature.asc (907 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
I use the latest too, it is mentionned in the latest commit comments: JOAL 1.1.3 (build 364).

I thought openal-soft was not yet fulling working with JOAL.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Xerxes Rånby
gouessej wrote
I use the latest too, it is mentionned in the latest commit comments: JOAL 1.1.3 (build 364).

I thought openal-soft was not yet fulling working with JOAL.
EAX is a false warning, it is an Creative labs specific extension to OpenAL that is now deprecated in favour for EFX. EAX is NOT required to get sound using Jake2!
The last known OpenAL driver with EAX was made for pre-Windows Vista systems and found on windows only. Back when the JOAL binding got created around 2003 EAX has still hyped so it took a dominant place in extra debug output etc. I for one would not mind to flush all EAX code from JOAL but doing so would break existing applications that rely on this EAX check so its safer in the short run to leave the EAX check code in.

Try build the Jake2 git it includes the latest Jake2 JOAL initialization fixes done in Dec 2012. (actually done during a train ride to UDS around Nov 1st :)

The online demo is still using the build from Oct 2012.
http://jogamp.org/deployment/test/jake2/
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Xerxes Rånby wrote
The online demo is still using the build from Oct 2012.
http://jogamp.org/deployment/test/jake2/
Can someone update the online demo too?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Xerxes Rånby
This post was updated on .
I have merged in Patrick Woodworth sixseve's Jake2 Maven build scripts and updated Jake2 to build using JogAmp 2.0.2-rc20130404 test repository.  
https://github.com/xranby/jake2/

Building Jake2 is now simple as:
git clone https://github.com/xranby/jake2
cd jake2
mvn install

Maven places the build inside the jake2/target directory.
To run it use:
./Jake2.sh
or
cd target
java -jar jake2.jar
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Do you plan to deploy a Java Webstart demo or at least to update the existing one?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Sven Gothel
Administrator
On 04/26/2013 11:37 AM, gouessej [via jogamp] wrote:
> Do you plan to deploy a Java Webstart demo?

Will merge and do so for 2.0.2 - yes.

BTW: Anybody willing to add Android support for Jake2 ?
What would be needed to do so ?
  - IO Assets usage for all Jake2 files ..
  - Adding some android ant targets (use Gluegen's Android macros)
  - .. I guess thats it :)

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
Sven Gothel wrote
  - IO Assets usage for all Jake2 files ..
What do you mean exactly?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Sven Gothel
Administrator
On 04/26/2013 02:45 PM, gouessej [via jogamp] wrote:
>     Sven Gothel wrote
>       - IO Assets usage for all Jake2 files ..
>
> What do you mean exactly?

An Android application (Activity ..) is limited to deploy and
access data. Data to be deployed has to be stored in the APK's
subfolder 'assets'.

JogAmp unifies IO for normal Java applications and Android
via IOUtils, which uses the 'assets' folder as mentioned above.

IOUtils also unifies access to a unique 'temp' directory,
which could be used to store streamed or otherwise processed data.

The above can be seen in detail w/ our Android demos within JOGL,
as well w/ the GlueGen's IOUtil class.

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

Xerxes Rånby
In reply to this post by gouessej
gouessej wrote
Do you plan to deploy a Java Webstart demo or at least to update the existing one?
Jake2 using rc12 is online:
Applet and webstart:
http://jogamp.org/deployment/test/jake2/
Reply | Threaded
Open this post in threaded view
|

Re: Jake2 JOGL2 Port ..

gouessej
Administrator
I'll give it a try tonight.
Julien Gouesse | Personal blog | Website