PrBoom+ On Android

Ok,

So now I have PrBoom+ compiled and running with OpenGL on my Mac, this is pretty awesome. Now I am looking to port over to my Android Tablet, so I download the version of prboom4Android found here https://code.google.com/p/prboom4android/. Now I am trying to port the prBoom+ source over so I run the following....

cp -r .~/doomfolder/prboom2/src ./jni/prboom

But when I run

ndk-build

I see...

jni/prboom/i_video.c:137:1: error: unknown type name 'boolean'
jni/prboom/i_video.c:138:1: error: unknown type name 'boolean'
jni/prboom/i_video.c:339:1: error: unknown type name 'boolean'

What am I missing, where is this typedef? I tried grep -r "typedef boolean" ./ doesn't return what I would expect.

Anyone have any ideas?

Share this post


Link to post

Actually now I am down to ...

Compile thumb : prboom_jni <= am_map.c
In file included from jni/prboom/am_map.c:47:0:
jni/prboom/am_map.h:48:1: error: unknown type name 'boolean'
jni/prboom/am_map.c:250:1: error: unknown type name 'boolean'
jni/prboom/am_map.c:595:1: error: unknown type name 'boolean'
jni/prboom/am_map.c:843:1: error: unknown type name 'boolean'
make: *** [obj/local/armeabi/objs/prboom_jni/am_map.o] Error 1

Share this post


Link to post

doomtype.h

#ifdef __cplusplus
typedef bool dboolean;
#else
typedef enum {false, true} dboolean;
#endif

Share this post


Link to post

So should I change from boolean to dboolean? I don't see that in the existing prboom4android code it seems to use the boolean still.

Share this post


Link to post

Also, anyone have any experience with OpenGL Linking errors?

Getting the following...

/Users/me/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libSDL.a(SDL_render_gles.o): in function GLES_CreateRenderer:jni/SDL/src/render/opengles/SDL_render_gles.c:189: error: undefined reference to 'glDisableClientState'

I see the reference to <GLES/gl.h> but something must still be getting missed.

Share this post


Link to post

The weirdest thing is when I run....

cp -rf ../prboom4Android/jni/prboom ./jni/prboom

Everything builds fine, however, when I run this...

cp -rf ../prboom2/src ./jni/prboom

And add the extra classes to the Android.mk everything compiles but doesn't link.

However, moving back using

cp -rf ../prboom4Android/jni/prboom ./jni/prboom

Everything compiles etc perfectly. Any ideas? Here is the errors...

/Users/me/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/objs-debug/prboom_jni/w_mmap.o: multiple definition of 'W_InitCache'
....
/Users/me/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libSDL.a(SDL_render_gles.o): in function GLES_DestroyTexture:/Users/jackiegleason/Development/Code/prboom4android-base/jni/SDL/src/render/opengles/SDL_render_gles.c:775: error: undefined reference to 'glDeleteTextures'

Share this post


Link to post

Any news on this? Watching Doom demos on Android -> time saving.

Share this post


Link to post

I am still working on it, prboom4android seems to work OK but I would really like to get the prboom+ port working. I will work on getting my version checked into Github and I will post it so others may be able to help.

For now if you want to just see what it is like use the prboom4android it is a pretty ok port.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now