mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-03 06:51:11 +00:00
e79654a33a
Time is now tracked internally in the game using I_GetPreciseTime and I_UpdateTime. I_Time now pulls from this internal timer. The system code no longer needs to keep track of time itself. This significantly improves frame and tic timing in interp mode, resulting in a much smoother image with essentially no judder at any framerate. |
||
---|---|---|
.. | ||
i_cdmus.c | ||
i_main.c | ||
i_net.c | ||
i_sound.c | ||
i_system.c | ||
i_video.c | ||
i_video.h | ||
jni_main.h | ||
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...