Kart-Public/src/android
wolfy852 2c363c4e1e Merge remote-tracking branch 'remotes/srb2pub/public_flatsprite' into next
# Conflicts:
#	src/d_netcmd.c
#	src/doomdef.h
#	src/doomstat.h
#	src/f_finale.c
#	src/g_game.c
#	src/hu_stuff.c
#	src/m_menu.c
#	src/p_spec.c
#	src/p_user.c
#	src/r_main.c
#	src/r_things.c
#	src/s_sound.c
#	src/v_video.c
#	src/y_inter.c
2019-05-06 22:40:12 -05:00
..
README SRB2 2.1 release 2014-03-15 13:11:35 -04:00
i_cdmus.c Default sound volume is too loud 2018-04-11 14:40:05 -04:00
i_main.c Most items work (netgame needs testing), will do fireballs later. 2017-02-26 17:38:24 -05:00
i_net.c SRB2 2.1 release 2014-03-15 13:11:35 -04:00
i_sound.c Merge remote-tracking branch 'public-gl/master' into public-musicplus-core 2019-01-01 10:41:40 -05:00
i_system.c Most items work (netgame needs testing), will do fireballs later. 2017-02-26 17:38:24 -05:00
i_video.c Disable VSync by default. I wouldn't be surprised if there are issues that arise from it, and I'm fairly sure its always been slightly spotty. 2018-10-04 21:08:47 +01:00
i_video.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00
jni_main.h SRB2 2.1 release 2014-03-15 13:11:35 -04:00

README

SRB2 for Google Android!

SYNOPSIS

Port of SRB2 to Android, tested against version 1.6 (donut).

I did this with a full Android tree, rather than the NDK thing.

BUILDING

Assuming a pretty standard Android tree, at $REPO, and the SRB2
tree at $REPO/packages/apps/srb2 (that is, the *whole* SRB2
tree, not just this android/ directory):

  cd $REPO
  source build/envsetup.sh # this gives us the mm command,
                           # which is useful for selectively
                           # building only one component.
  cd packages/apps/srb2
  mm

An APK is dumped out at (or similar):
out/target/product/generic/system/app/SRB2.apk

Naturally, an SRB2 APK is architecture specific.  Since most
Android devices are currently ARMEL, this is pretty okay.

NB. It appears that the Java app (the thing that becomes the APK)
is *not* rebuilt if changes are only made to libsrb2.  Grr.

REGENERATION OF JNI HEADERS

Whenever the Java classes in org.srb2.nativecode change,
the C header files that describe the JNI interface to them
need to be regnererated.  Make sure you have the project
built (so that the jar files are up to date), and then:

  cd $REPO/out/target/common/obj/APPS/SRB2_intermediates

  javah -classpath classes.jar -o $REPO/packages/apps/srb2/src/android/jni_main.h org.srb2.nativecode.Main

# ... and no, I don't know how to mash all that into the
# Android.mk build system...