..Any suggestions for a Android Quake engine?
Re: ..Any suggestions for a Android Quake engine?
The sound lag almost disappeared now, good job.
I'm installing the Android SDK right now. Is there anything specific I need to configure or install to get FTEDroid compiling properly?
I'm installing the Android SDK right now. Is there anything specific I need to configure or install to get FTEDroid compiling properly?
Re: ..Any suggestions for a Android Quake engine?
you need these: android sdk. android ndk. ant. java jdk. cygwin (or mingw's gmake instead I guess)
note that I also have cygwin installed, and use it for gmake
excerpt from my batch file:
cd engine && make droid-rel DROID_ARCH="x86 armeabi" DROID_SDK_PATH=/cygdrive/c/Games/tools/android-sdk DROID_NDK_PATH=/cygdrive/c/Games/tools/android-ndk-r7 ANT="c:/Games/tools/apache-ant-1.8.2/bin/ant" JAVA_HOME="c:\Program Files\Java\jdk1.7.0_02" JAVATOOL="/cygdrive/c/Program\ Files/Java/jdk1.7.0_02/bin/"
will compile ftedroid for arm devices as well as android-x86
cygwin must be in your path. the other paths can be tweeked via the commandline as above.
if you're compiling on linux, you can drop the ant/java paths entirely, but you'll still need to specify the droid paths.
to install it on your device:
c:\Games\tools\android-sdk\platform-tools\adb.exe install -r release/FTEDroid.apk
(or you can set up an http server and install it over wifi or whatever, assuming you device is set to allow installs from 3rd party locations).
note that I also have cygwin installed, and use it for gmake
excerpt from my batch file:
cd engine && make droid-rel DROID_ARCH="x86 armeabi" DROID_SDK_PATH=/cygdrive/c/Games/tools/android-sdk DROID_NDK_PATH=/cygdrive/c/Games/tools/android-ndk-r7 ANT="c:/Games/tools/apache-ant-1.8.2/bin/ant" JAVA_HOME="c:\Program Files\Java\jdk1.7.0_02" JAVATOOL="/cygdrive/c/Program\ Files/Java/jdk1.7.0_02/bin/"
will compile ftedroid for arm devices as well as android-x86
cygwin must be in your path. the other paths can be tweeked via the commandline as above.
if you're compiling on linux, you can drop the ant/java paths entirely, but you'll still need to specify the droid paths.
to install it on your device:
c:\Games\tools\android-sdk\platform-tools\adb.exe install -r release/FTEDroid.apk
(or you can set up an http server and install it over wifi or whatever, assuming you device is set to allow installs from 3rd party locations).
Re: ..Any suggestions for a Android Quake engine?
Is there a way to make the engine use a network folder instead of ID1? This would make testing a lot quicker and simpler. I'm getting some crashes here, and it takes quite a while to plug, copy files and unplug the device every time I test a different file.
By the way, savegames seems to be almost working now. They can be loaded, the weapon slots are set correctly, but all the ammo is depleted and the player's self.origin seems to be set to '0 0 0'.
Also, I just checked, and replacement textures aren't being loaded. They do work fine in the Windows version of FTEQW, though.
By the way, savegames seems to be almost working now. They can be loaded, the weapon slots are set correctly, but all the ammo is depleted and the player's self.origin seems to be set to '0 0 0'.
Also, I just checked, and replacement textures aren't being loaded. They do work fine in the Windows version of FTEQW, though.
Last edited by mankrip on Thu Mar 29, 2012 6:18 am, edited 1 time in total.
Re: ..Any suggestions for a Android Quake engine?
fte has a cl_pure cvar which causes the client to use only the pak files the server says to use.
fte can download files as it needs from the server (though md3s or other similar model formats can have such awkward dependancy chains that it doesn't try to download them all, or even know that it should). So you could just add each mdl to the server and let the client download until you find the problematic one.
but no, there's no way to get fte to use a network location for all its data without directly mounting it on your android device's filesystem (eg: nfs).
fte can download files as it needs from the server (though md3s or other similar model formats can have such awkward dependancy chains that it doesn't try to download them all, or even know that it should). So you could just add each mdl to the server and let the client download until you find the problematic one.
but no, there's no way to get fte to use a network location for all its data without directly mounting it on your android device's filesystem (eg: nfs).
Re: ..Any suggestions for a Android Quake engine?
I've just installed FTPDroid, which will surely help a lot.
I hadn't thought of mounting a network folder directly into the filesystem, but I'll certainly do this too.
I hadn't thought of mounting a network folder directly into the filesystem, but I'll certainly do this too.
Re: ..Any suggestions for a Android Quake engine?
..It kind of sucks after 3 months my battery in the YDPG18 has appeared to have died! Doesn't seem to want to hold a charge. It will run off of the charger when plugged in at least, but defeats the purpose of a "hand held" device. If its just the battery guess I could try to crack it open and do some sort of replacement or battery mod when I find time. :roll:
Re: ..Any suggestions for a Android Quake engine?
I've finally got around to installing everything and compiling it.
The compiling time was so long (despite the fact that it gets compiled twice, one for x86 and another for ARM) that I got afraid to think about how big its source code must be. I usually do a clean compiling of Makaqu every time I change something in the headers, but this would be certainly unpractical with FTEDroid. Anyway, what matters is that it's a really powerful engine.
After installing it, I noticed the latest source release (I've got the SVN tarball less than 24 hours ago) uses the external SD card for the data, but it uses the root dir instead of the FTE dir, so I had to put my ID1 directory directly into the root dir.
I've also noticed that now a graphical presets menu shows up when starting the game.
And when trying to play a demo or start a new game, be it either single player or multiplayer, the engine closes. I've tried changing the presets, but got the same result for each of them. The menus and console displays properly though.
There are too many warnings when compiling this engine, so I have no idea where to start looking in to try to fix it.
The compiling time was so long (despite the fact that it gets compiled twice, one for x86 and another for ARM) that I got afraid to think about how big its source code must be. I usually do a clean compiling of Makaqu every time I change something in the headers, but this would be certainly unpractical with FTEDroid. Anyway, what matters is that it's a really powerful engine.
After installing it, I noticed the latest source release (I've got the SVN tarball less than 24 hours ago) uses the external SD card for the data, but it uses the root dir instead of the FTE dir, so I had to put my ID1 directory directly into the root dir.
I've also noticed that now a graphical presets menu shows up when starting the game.
And when trying to play a demo or start a new game, be it either single player or multiplayer, the engine closes. I've tried changing the presets, but got the same result for each of them. The menus and console displays properly though.
There are too many warnings when compiling this engine, so I have no idea where to start looking in to try to fix it.
Re: ..Any suggestions for a Android Quake engine?
make droid-dbg DROID_ARCH=armeabi -j8
is the line I'd use to compile a 'debug' version.
note that fte's makefile should have proper dependancies, so you'll only need to make clean if you change the makefile/CFLAGS.
There are a lot of warnings, yes. Generally I do all my development/testing with msvc, which simply doesn't generate those same warnings. that's my excuse and I'm sticking to it.
If you're paranoid, try adding this to the make line: CFLAGS=-fno-strict-aliasing
That should remove the bulk of the warnings by removing the point of warning about them in the first place, but it might run a little slower.
The graphical presets menu is a little pointless on android, you probably want the second or third option. the first is a little too extreme really, and is present more for the visibility than for screenshots. The last two will eat too much performance on embedded devices. Pick the third if you want it to default to vanilla-like settings.
The engine 'closing' is it crashing. Either a segfault or a sys_error. If you run logcat (from adb or a shell on the phone itself, even after it crashed) then it should show various stuff including all Sys_Print calls (including console prints and any sys_error messages).
Any segfaults should be accompanied by a register dump and a stack trace, although I've generally not found the stack trace useful for crashes in native code.
A quick overview of interesting rendering function calls:
R_RenderScene (gl_rmain.c) - sets up the projection+world matricies, frustum
Surf_DrawWorld (r_surf.c) - figures out which world surfaces/batches are visible
GLBE_DrawWorld (gl_backend.c) - does the actual rendering work.
BE_GenModelBatches (gl_alias.c) - generates batch lists from entities (non-world bsp+mdl+spr+etc) for the backend to render.
if you're getting a crash on starting a new map, then chances are its either low memory (check for Sys_Errors) or a gl/backend crash (GLBE_DrawWorld + gl_backend.c)
It could also be part of model loading, gl_rsurf.c has a function 'GLBE_GenBrushModelVBO' which is called to prepare some vbos.
is the line I'd use to compile a 'debug' version.
note that fte's makefile should have proper dependancies, so you'll only need to make clean if you change the makefile/CFLAGS.
There are a lot of warnings, yes. Generally I do all my development/testing with msvc, which simply doesn't generate those same warnings. that's my excuse and I'm sticking to it.
If you're paranoid, try adding this to the make line: CFLAGS=-fno-strict-aliasing
That should remove the bulk of the warnings by removing the point of warning about them in the first place, but it might run a little slower.
The graphical presets menu is a little pointless on android, you probably want the second or third option. the first is a little too extreme really, and is present more for the visibility than for screenshots. The last two will eat too much performance on embedded devices. Pick the third if you want it to default to vanilla-like settings.
The engine 'closing' is it crashing. Either a segfault or a sys_error. If you run logcat (from adb or a shell on the phone itself, even after it crashed) then it should show various stuff including all Sys_Print calls (including console prints and any sys_error messages).
Any segfaults should be accompanied by a register dump and a stack trace, although I've generally not found the stack trace useful for crashes in native code.
A quick overview of interesting rendering function calls:
R_RenderScene (gl_rmain.c) - sets up the projection+world matricies, frustum
Surf_DrawWorld (r_surf.c) - figures out which world surfaces/batches are visible
GLBE_DrawWorld (gl_backend.c) - does the actual rendering work.
BE_GenModelBatches (gl_alias.c) - generates batch lists from entities (non-world bsp+mdl+spr+etc) for the backend to render.
if you're getting a crash on starting a new map, then chances are its either low memory (check for Sys_Errors) or a gl/backend crash (GLBE_DrawWorld + gl_backend.c)
It could also be part of model loading, gl_rsurf.c has a function 'GLBE_GenBrushModelVBO' which is called to prepare some vbos.
Re: ..Any suggestions for a Android Quake engine?
I can't copy or even look at the log from logcat, because the thing won't stop flooding itself with useless messages, and it gets even worse when I long-click to open the context menu.
However, I can confirm that your current build is also crashing when trying to load any map.
However, I can confirm that your current build is also crashing when trying to load any map.
Re: ..Any suggestions for a Android Quake engine?
You can set logcat to a less verbose level. You can also make it log to disk.
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Re: ..Any suggestions for a Android Quake engine?
Thanks, logcat -f ftelog.txt -r 256 -v long did it for me.
All I did was trying to start the single player game from the main menu. Here's a very detailed log:
All I did was trying to start the single player game from the main menu. Here's a very detailed log:
Code: Select all
[ 07-05 11:45:32.831 88:0x5d I/ActivityManager ]
Start proc com.fteqw for activity com.fteqw/.FTEDroidActivity: pid=507 uid=10054 gids={3003, 1015}
[ 07-05 11:45:32.841 88:0x69 W/Process ]
Unable to open /proc/294/status
[ 07-05 11:45:32.901 88:0xcd D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.911 88:0xcd D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.931 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.951 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.951 507:0x1fb I/FTEDroid ]
onCreate
[ 07-05 11:45:32.951 507:0x1fb I/FTEDroid ]
create view
[ 07-05 11:45:32.961 507:0x1fb I/FTEDroid ]
Base dir is "/data/app/com.fteqw-1.apk".
[ 07-05 11:45:32.961 507:0x1fb I/FTEDroid ]
User dir is "/mnt/sdcard".
[ 07-05 11:45:32.961 507:0x1fb I/FTEDroid ]
starting audio
[ 07-05 11:45:32.971 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.971 507:0x1fb I/FTEDroid ]
audio running
[ 07-05 11:45:32.981 507:0x1fb I/FTEDroid ]
model: SK product: b602ref device: b602ref
[ 07-05 11:45:32.981 507:0x1fb I/FTEDroid ]
init sensor manager
[ 07-05 11:45:32.991 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:32.991 507:0x1fb I/FTEDroid ]
init accelerometer
[ 07-05 11:45:32.991 60:0x3c V/AudioFlinger ]
registerClient() 0x27d38, tid 60, calling tid 507
[ 07-05 11:45:32.991 60:0x3c V/AudioFlinger ]
Adding notification client 0x28a68
[ 07-05 11:45:32.991 60:0x3c V/AudioFlinger ]
sendConfigEvent() num events 1 event 0, param 0
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
MixerThread 0x19c98 TID 86 waking up
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
processConfigEvents() remaining events 1
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
PlaybackThread::audioConfigChanged, thread 0x19c98, event 0, param 0
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
audioConfigChanged_l() Notifying change to client 0x19a20
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
audioConfigChanged_l() Notifying change to client 0x1ee40
[ 07-05 11:45:32.991 60:0x56 V/AudioFlinger ]
audioConfigChanged_l() Notifying change to client 0x28a68
[ 07-05 11:45:33.001 60:0x57 V/AudioFlinger ]
Track constructor name 4096, calling thread 507
[ 07-05 11:45:33.001 507:0x1fb I/FTEDroid ]
done
[ 07-05 11:45:33.001 88:0xcd D/SensorHAL ]
Using /dev/input/event1 (name=ecompass_data)
[ 07-05 11:45:33.001 60:0x84 V/AudioFlinger ]
start(4096), calling thread 507
[ 07-05 11:45:33.001 60:0x84 V/AudioFlinger ]
? => ACTIVE (4096) on thread 0x28e30
[ 07-05 11:45:33.011 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.011 60:0x84 V/AudioFlinger ]
mWaitWorkCV.broadcast
[ 07-05 11:45:33.021 88:0x5c D/SensorHAL ]
+__control_activate: handle=0 enabled=1
[ 07-05 11:45:33.021 88:0x5c D/SensorHAL ]
+__control_set_delay: ms=20
[ 07-05 11:45:33.021 507:0x202 D/dalvikvm ]
Trying to load lib /data/data/com.fteqw/lib/libftedroid.so 0x4615f1a0
[ 07-05 11:45:33.031 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.051 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.071 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.091 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.111 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.131 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.151 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.171 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.191 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.211 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.231 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.231 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.241 507:0x202 D/dalvikvm ]
Added shared lib /data/data/com.fteqw/lib/libftedroid.so 0x4615f1a0
[ 07-05 11:45:33.241 507:0x202 D/dalvikvm ]
No JNI_OnLoad found in /data/data/com.fteqw/lib/libftedroid.so 0x4615f1a0, skipping init
[ 07-05 11:45:33.251 60:0x3c V/AudioFlinger ]
stop(4096), calling thread 507
[ 07-05 11:45:33.251 60:0x3c V/AudioFlinger ]
(> STOPPED) => STOPPED (4096) on thread 0x19c98
[ 07-05 11:45:33.261 88:0x5c D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.261 60:0x3c V/AudioFlinger ]
Track constructor name 4097, calling thread 507
[ 07-05 11:45:33.281 60:0x3c V/AudioFlinger ]
start(4097), calling thread 507
[ 07-05 11:45:33.281 60:0x3c V/AudioFlinger ]
? => ACTIVE (4097) on thread 0x28fb8
[ 07-05 11:45:33.281 60:0x3c V/AudioFlinger ]
mWaitWorkCV.broadcast
[ 07-05 11:45:33.301 60:0x56 V/AudioFlinger ]
TrackBase::reset
[ 07-05 11:45:33.321 88:0x5c D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.364 88:0xce D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.370 507:0x201 D/libEGL ]
loaded /system/lib/egl/libGLES_android.so
[ 07-05 11:45:33.380 507:0x201 D/libEGL ]
loaded /system/lib/egl/libEGL_mali.so
[ 07-05 11:45:33.390 507:0x201 D/libEGL ]
loaded /system/lib/egl/libGLESv1_CM_mali.so
[ 07-05 11:45:33.390 507:0x201 D/libEGL ]
loaded /system/lib/egl/libGLESv2_mali.so
[ 07-05 11:45:33.422 88:0x58 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:33.490 507:0x201 I/FTEDroid ]
Surface changed, now 800 by 480.
[ 07-05 11:45:33.500 507:0x201 I/FTEDroid ]
Starting up (apk=/data/app/com.fteqw-1.apk, usr=/mnt/sdcard)
[ 07-05 11:45:33.540 507:0x201 I/FTEDroid ]
Console initialized.
[ 07-05 11:45:33.580 507:0x201 I/FTEDroid ]
Added zipfile /data/app/com.fteqw-1.apk (10 files)
[ 07-05 11:45:33.620 507:0x201 I/FTEDroid ]
Added packfile /mnt/sdcard/id1/pak0.pak (339 files)
[ 07-05 11:45:33.660 507:0x201 I/FTEDroid ]
Added packfile /mnt/sdcard/id1/pak1.pak (85 files)
[ 07-05 11:45:33.670 507:0x201 I/FTEDroid ]
Playing registered version.
[ 07-05 11:45:33.680 507:0x201 I/FTEDroid ]
Client port Initialized
[ 07-05 11:45:33.800 507:0x201 I/FTEDroid ]
couldn't exec config.cfg
[ 07-05 11:45:33.800 507:0x201 I/FTEDroid ]
couldn't exec autoexec.cfg
[ 07-05 11:45:33.830 507:0x201 I/FTEDroid ]
Cvar physics_ode_enable may not be set via the console
[ 07-05 11:45:33.860 507:0x201 I/FTEDroid ]
Cvar fs_gamename may not be set via the console
[ 07-05 11:45:33.880 507:0x201 I/FTEDroid ]
Setting mode 640*480*32*0 OpenGL
[ 07-05 11:45:33.880 507:0x201 I/FTEDroid ]
Loading GLES1 driver
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glBegin
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glClearDepth
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glClipPlane
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glColor3f
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glColor3ub
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glColor4fv
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glColor4ubv
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glDepthRange
[ 07-05 11:45:33.880 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glDrawBuffer
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glDrawPixels
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glEnd
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glFrustum
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glGetTexLevelParameteriv
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glNormal3fv
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glOrtho
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glPolygonMode
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glReadBuffer
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexCoord1f
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexCoord2f
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexCoord2fv
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexGeni
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexGenfv
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glTexImage3D
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glVertex2f
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glVertex3f
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glVertex3fv
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glArrayElement
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glDrawRangeElements
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glPushAttrib
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glPopAttrib
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glGenVertexArrays
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glBindVertexArray
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glFogi
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glGetStringi
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glGenLists
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glNewList
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glEndList
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glCallList
[ 07-05 11:45:33.890 507:0x201 W/FTEDroid ]
GLES_GetSymbol: couldn't find glBindBufferARB
[ 07-05 11:45:33.890 507:0x201 I/FTEDroid ]
GL_VENDOR: ARM
[ 07-05 11:45:33.890 507:0x201 I/FTEDroid ]
GL_RENDERER: Mali-400 MP / Chainfire3D
[ 07-05 11:45:33.890 507:0x201 I/FTEDroid ]
GL_VERSION: OpenGL ES-CM 1.1
[ 07-05 11:45:34.000 507:0x201 I/FTEDroid ]
Can't register variable m_filter, already defined
[ 07-05 11:45:34.000 507:0x201 I/FTEDroid ]
Can't register variable m_strafeonright, already defined
[ 07-05 11:45:34.030 507:0x201 I/FTEDroid ]
-----------------------------
OpenGL renderer initialized
[ 07-05 11:45:34.100 507:0x201 I/FTEDroid ]
[ 07-05 11:45:34.100 507:0x201 I/FTEDroid ]
FTE SVN 4056
[ 07-05 11:45:34.100 507:0x201 I/FTEDroid ]
[ 07-05 11:45:34.100 507:0x201 I/FTEDroid ]
^Ue080^Ue081^Ue081^Ue081^Ue081^Ue081^Ue081 Quake Initialized ^Ue081^Ue081^Ue081^Ue081^Ue081^Ue081^Ue082
[ 07-05 11:45:34.150 88:0xbf D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.160 88:0xce D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.160 88:0xce D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.160 88:0x72 I/ActivityManager ]
Displayed activity com.fteqw/.FTEDroidActivity: 1338 ms (total 1338 ms)
[ 07-05 11:45:34.160 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.170 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.170 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.180 88:0x5d D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.190 88:0x5c D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.200 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.220 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.240 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.260 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.280 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.300 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.320 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.340 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.360 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.380 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.400 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.420 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.440 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.460 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.480 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.500 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:34.500 88:0x72 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:36.570 507:0x1fb W/KeyCharacterMap ]
Can't open keycharmap file
[ 07-05 11:45:36.570 507:0x1fb W/KeyCharacterMap ]
Error loading keycharmap file '/system/usr/keychars/adc_keypad.kcm.bin'. hw.keyboards.65540.devname='adc_keypad'
[ 07-05 11:45:36.570 507:0x1fb W/KeyCharacterMap ]
Using default keymap: /system/usr/keychars/qwerty.kcm.bin
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
Build fingerprint: 'generic/b602ref/b602ref/m1ref:2.2.1/MID/eng.root.20111202.163330:user/test-keys'
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
pid: 507, tid: 513 >>> com.fteqw <<<
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
signal 7 (SIGBUS), fault addr 00000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
r0 69726277 r1 5f316b63 r2 2f000035 r3 4b3f3f3f
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
r4 4a0c7468 r5 8434ee24 r6 4a0c7478 r7 491e790a
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
r8 4a0c7320 r9 00000000 10 00000000 fp 00000720
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
ip 491e790a sp 48722e50 lr 8412396c pc 84064854 cpsr 60000010
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d0 0000000000006e2e d1 0000000000000062
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d2 0000000000000073 d3 0000000000000070
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d4 9ca97574ac7662ae d5 13169b76189b1661
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d6 8d157465749b16ae d7 000000006575168d
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d8 3ff0000043fa0000 d9 3f90624dd2f1a9fc
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d10 0000000040df1507 d11 0000000000000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d12 0000000000000000 d13 0000000000000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d14 0000000000000000 d15 0000000000000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d16 0000000000000000 d17 3ff0000000000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d18 3f6019c5d10402a8 d19 3fddac670561bb4f
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d20 bfc999ba3c2e7ee2 d21 3fc2493f459087d2
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d22 bfbc71f42d66d08c d23 3fb745f4e6681d22
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d24 bfb3b114f41af7ed d25 3fb10d83dd1298e2
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d26 bfadde583e067085 d27 3fa97b5e468c482d
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d28 bfa2b4442c6a6c2f d29 3f147e88a03792a6
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
d30 3efb2a7074bf7ad4 d31 3e4db2ade0000000
[ 07-05 11:45:39.040 58:0x3a I/DEBUG ]
scr 20000012
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
#00 pc 00064854 /data/data/com.fteqw/lib/libftedroid.so
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
#01 lr 8412396c /data/data/com.fteqw/lib/libftedroid.so
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
code around pc:
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
84064834 e1a06004 e795300c e5933000 e59333d4
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
84064844 e1a07000 e783000a e8b6000f e1a0c007
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
84064854 e8ac000f e8b6000f e8ac000f e8b6000f
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
84064864 e8ac000f e896000f e88c000f e5943010
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
84064874 e5873040 e5943014 e5873044 e5943018
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
code around lr:
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
8412394c e7883006 e5857004 e1a00009 ebff4fb1
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
8412395c e3a02008 e1a01000 e2850008 ebff4e26
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
8412396c e2850014 e8bd87f0 e1a01000 e59f002c
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
8412397c e08f0000 ebfedbd7 e59f0024 e08f0000
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
8412398c ebfedbd4 0022b57c 0000054c 00001674
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
stack:
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e10 afd425ac /system/lib/libc.so
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e14 00000000
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e18 491e798a
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e1c 86397a5c
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e20 491e78f6
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e24 0008e8c8 [heap]
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e28 00000098
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e2c 84123948 /data/data/com.fteqw/lib/libftedroid.so
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e30 4a0c7468
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e34 8434ee24 /data/data/com.fteqw/lib/libftedroid.so
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e38 86365720
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e3c 49ffaf38
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e40 4a0c7320
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e44 00000000
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e48 df002777
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e4c e3a070ad
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
#00 48722e50 00000008
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e54 48722e68
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e58 48722ed0
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e5c 48722f08
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e60 ba350e36
[ 07-05 11:45:39.060 58:0x3a I/DEBUG ]
48722e64 dc143f19
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e68 00000000
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e6c 00000000
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e70 00000000
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e74 00000000
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e78 48722ec0
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e7c 000017c0
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e80 00000e60
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e84 48722ee0
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e88 48722ec4
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e8c 48722ec8
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e90 48722ecc
[ 07-05 11:45:39.070 58:0x3a I/DEBUG ]
48722e94 48722ed0
[ 07-05 11:45:39.400 60:0x57 V/AudioFlinger ]
binderDied() 0x28a68, tid 87, calling tid 60
[ 07-05 11:45:39.400 60:0x57 V/AudioFlinger ]
Removing notification client 0x28a68
[ 07-05 11:45:39.400 60:0x57 V/AudioFlinger ]
remove track (4096) and delete from mixer
[ 07-05 11:45:39.400 60:0x57 V/AudioFlinger ]
PlaybackThread::Track destructor
[ 07-05 11:45:39.450 60:0x56 V/AudioFlinger ]
remove track (4097) and delete from mixer
[ 07-05 11:45:39.460 59:0x3b D/Zygote ]
Process 507 terminated by signal (7)
[ 07-05 11:45:39.490 88:0x6b D/dalvikvm ]
GC_FOR_MALLOC freed 2442 objects / 131328 bytes in 118ms
[ 07-05 11:45:39.490 88:0x9a D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:39.490 88:0xcd I/ActivityManager ]
Process com.fteqw (pid 507) has died.
[ 07-05 11:45:39.490 88:0x9a I/WindowManager ]
WIN DEATH: Window{463a1638 SurfaceView paused=false}
[ 07-05 11:45:39.500 88:0x58 D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:39.500 88:0x58 I/WindowManager ]
WIN DEATH: Window{46330f58 com.fteqw/com.fteqw.FTEDroidActivity paused=false}
[ 07-05 11:45:39.520 88:0xcd D/KeyguardViewMediator ]
setHidden false
[ 07-05 11:45:39.520 88:0xcd I/UsageStats ]
Unexpected resume of com.android.launcher while already resumed in com.fteqw
[ 07-05 11:45:39.530 88:0x6b I/BootReceiver ]
Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
[ 07-05 11:45:39.550 60:0x56 V/AudioFlinger ]
PlaybackThread::Track destructor
[ 07-05 11:45:39.550 60:0x56 V/AudioFlinger ]
removeClient_l() pid 507, tid 86, calling tid 60
[ 07-05 11:45:39.570 170:0xaa D/dalvikvm ]
GC_EXPLICIT freed 2594 objects / 148712 bytes in 340ms
[ 07-05 11:45:39.620 88:0x6b D/dalvikvm ]
GC_FOR_MALLOC freed 508 objects / 47408 bytes in 87ms
Re: ..Any suggestions for a Android Quake engine?
adb logcat ActivityManager:I FTEDroid:I DEBUG:I *:S
supposedly should filter log output to just fte's Sys_Printf calls and system crash dumps/errors.
Before I continue, I should mention that I *think* its already fixed.
Your crash log basically says its a null pointer dereference in my code. Sadly the program counter address is almost useless, as its specific to that build, and is not corrected for randomized module load addresses.
This basically means addr2line isn't usable. Which is why any android-related crashes I've had have been fixed using Sys_Printfs.
Side note: the android emulator has (fixed) gpu acceleration in it now. Its also possible to use an x86-targetted version, which allows you to use accelerated cpu virtualization stuff too.
This has allowed me to get a gles2 context up and running in the emulator (natively, this needs android 2.2).
I added some const that you can change to 2 if you want to try gles2 instead, but the version on the svn is set to use gles1. It'll still fall back on gles1 if gles2 doesn't work (like in non-gpu-accelerated emulators), so should be safe if set by default, but I'm paranoid.
You can get a gles2 context up and running in windows by setting vid_gl_context_es2 1, assuming your gl drivers support the extension. This allows debugging with a real debugger instead of the awkward android-targetted gdb.
That doesn't really help with gles1-only crashes though.
supposedly should filter log output to just fte's Sys_Printf calls and system crash dumps/errors.
Before I continue, I should mention that I *think* its already fixed.
Your crash log basically says its a null pointer dereference in my code. Sadly the program counter address is almost useless, as its specific to that build, and is not corrected for randomized module load addresses.
This basically means addr2line isn't usable. Which is why any android-related crashes I've had have been fixed using Sys_Printfs.
Side note: the android emulator has (fixed) gpu acceleration in it now. Its also possible to use an x86-targetted version, which allows you to use accelerated cpu virtualization stuff too.
This has allowed me to get a gles2 context up and running in the emulator (natively, this needs android 2.2).
I added some const that you can change to 2 if you want to try gles2 instead, but the version on the svn is set to use gles1. It'll still fall back on gles1 if gles2 doesn't work (like in non-gpu-accelerated emulators), so should be safe if set by default, but I'm paranoid.
You can get a gles2 context up and running in windows by setting vid_gl_context_es2 1, assuming your gl drivers support the extension. This allows debugging with a real debugger instead of the awkward android-targetted gdb.
That doesn't really help with gles1-only crashes though.
Re: ..Any suggestions for a Android Quake engine?
I just reinstalled the precompiled APK from your link in the first page of this thread, and it still crashes, same as before.
Could the stated resolution have any impact? On the console it says to be using a 640x480 video mode, but my device actually runs it at 800x480.
Could the stated resolution have any impact? On the console it says to be using a 640x480 video mode, but my device actually runs it at 800x480.
Re: ..Any suggestions for a Android Quake engine?
the 640*480 thing is irrelevent.
I don't think the nightlies have been recompiled yet.
poke me on irc (quakenet, #fte) and I'll put up an http server with a build on it that you can try and install directly to your device (or PM me an email address and I'll email the apk to you).
I don't think the nightlies have been recompiled yet.
poke me on irc (quakenet, #fte) and I'll put up an http server with a build on it that you can try and install directly to your device (or PM me an email address and I'll email the apk to you).
Re: ..Any suggestions for a Android Quake engine?
No need, thanks. I've finally got around to learning how to download the source using TortoiseSVN, and the current version does load properly.
Here's a video of it in action. The lightmaps gets animated like crazy when loading a game, and the lighting becomes blocky when the screen orientation changes.
After that I looked at its java code to find a way to make the engine ignore the device's orientation, but then I remembered that games that have an option to force an specific orientation also affects Android's notification bar, so it must be a matter or instructing the OS itself to force that.
I've also tried reducing the audio buffer to 256 bytes to see if the audio lag would practically disappear, but setting it to any value lower than 2048 made the sound stop working, so I reverted it back to 2048.
I've also tested some other games, and even Android games like Sonic CD have some audio lag. However, games from OrangePixel doesn't seem to have any audio lag, but they're most likely fully coded in Java, as they're also a JME developer and several (maybe all) of their games in Google Play are ports of their JME games for older cell phones. Maybe the audio lag is due to something with the NDK?
The last time I've tried, FTEDroid didn't use any of the external textures I've tried. Is there any external texture format that should work in the current version?
And the MDL skin mapping seems to be slightly off, as the end of the super shotgun model included in Makaqu displays parts of its muzzleflash skin. This isn't a problem for me, but may be a problem for others using custom content.
By the way, regular skies works great now.
Here's a video of it in action. The lightmaps gets animated like crazy when loading a game, and the lighting becomes blocky when the screen orientation changes.
After that I looked at its java code to find a way to make the engine ignore the device's orientation, but then I remembered that games that have an option to force an specific orientation also affects Android's notification bar, so it must be a matter or instructing the OS itself to force that.
I've also tried reducing the audio buffer to 256 bytes to see if the audio lag would practically disappear, but setting it to any value lower than 2048 made the sound stop working, so I reverted it back to 2048.
I've also tested some other games, and even Android games like Sonic CD have some audio lag. However, games from OrangePixel doesn't seem to have any audio lag, but they're most likely fully coded in Java, as they're also a JME developer and several (maybe all) of their games in Google Play are ports of their JME games for older cell phones. Maybe the audio lag is due to something with the NDK?
The last time I've tried, FTEDroid didn't use any of the external textures I've tried. Is there any external texture format that should work in the current version?
And the MDL skin mapping seems to be slightly off, as the end of the super shotgun model included in Makaqu displays parts of its muzzleflash skin. This isn't a problem for me, but may be a problem for others using custom content.
By the way, regular skies works great now.