Android porting thread.
Moderator: ScummVM Team
Good news everyone! I finally buckled down and spent a weekend on the controls, they're now pretty usable.
Short overview:
- The left side of the screen functions as a joystick: touch and hold, then move up for forward, down for back, etc.
- The middle of the screen is for fine control (eg dialogs)
If you swipe up/down/left/right, you get one keypress in that direction.
If you tap the middle, you just activate the default action (like enter does)
- Swiping left/right on the right side of the screen allows you to activate more verbs, like (I)nventory, (P)ick up, (U)se, or (L)ook at.
Let me know how you get along!
APK is here, as usual.
Short overview:
- The left side of the screen functions as a joystick: touch and hold, then move up for forward, down for back, etc.
- The middle of the screen is for fine control (eg dialogs)
If you swipe up/down/left/right, you get one keypress in that direction.
If you tap the middle, you just activate the default action (like enter does)
- Swiping left/right on the right side of the screen allows you to activate more verbs, like (I)nventory, (P)ick up, (U)se, or (L)ook at.
Let me know how you get along!
APK is here, as usual.
-
- Posts: 5
- Joined: Sun Apr 21, 2013 2:45 pm
Controls work better, but the app crashes when I exit from Manny's office.Botje wrote:Good news everyone! I finally buckled down and spent a weekend on the controls, they're now pretty usable.
Short overview:
- The left side of the screen functions as a joystick: touch and hold, then move up for forward, down for back, etc.
- The middle of the screen is for fine control (eg dialogs)
If you swipe up/down/left/right, you get one keypress in that direction.
If you tap the middle, you just activate the default action (like enter does)
- Swiping left/right on the right side of the screen allows you to activate more verbs, like (I)nventory, (P)ick up, (U)se, or (L)ook at.
Let me know how you get along!
APK is here, as usual.
Same problem, log here:
--------- beginning of /dev/log/main
05-28 09:35:45.513
E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot
have a zero length05-28 09:35:45.513 E/SpannableStringBuilder(10570):
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length05-28
09:35:47.788 E/SensorManager(10570): thread start
05-28 09:35:47.873
E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot
have a zero length05-28 09:35:47.873 E/SpannableStringBuilder(10570):
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length05-28
09:35:49.268 E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE
spans cannot have a zero length05-28 09:35:49.268
E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot
have a zero length05-28 09:35:54.163 E/SpannableStringBuilder(10570):
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length05-28
09:35:54.163 E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE
spans cannot have a zero length05-28 09:35:55.873
E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot
have a zero length05-28 09:35:55.873 E/SpannableStringBuilder(10570):
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length05-28
09:35:56.393 E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE
spans cannot have a zero length05-28 09:35:56.393
E/SpannableStringBuilder(10570): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot
have a zero length
-
- Posts: 5
- Joined: Sun Apr 21, 2013 2:45 pm
Here's my logcat using the spanish version on a Samsung Galaxy Ace 2 GB:
05-28 19:47:56.730 V/SurfaceView(12669): org.residualvm.residualvm.EditableSurfaceView@4052e638 got app visibiltiy is changed: true
05-28 19:47:56.910 D/ResidualVM(12669): onStart
05-28 19:47:56.910 D/ResidualVM(12669): onResume
05-28 19:47:56.910 D/ResidualVM(12669): audio thread woke up
05-28 19:47:56.910 D/ResidualVM(12669): main thread woke up
05-28 19:47:56.910 D/ResidualVM(12669): surfaceCreated
05-28 19:47:56.910 D/ResidualVM(12669): surfaceChanged: 800x480 (4)
05-28 19:47:56.920 D/ResidualVM(12669): timer thread woke up
05-28 19:47:56.930 D/ResidualVM(12669): initializing surface
05-28 19:47:56.940 D/ResidualVM(12669): surfaceChanged: 800x442 (4)
05-28 19:47:57.010 I/ResidualVM(12669): Using EGL 1.4 Android META-EGL (Android); GL OpenGL ES 2.0/Mali-400 MP (ARM)
05-28 19:47:57.010 I/ResidualVM(12669): Extensions: GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync
05-28 19:47:57.020 D/ResidualVM(12669): surfaceChanged: 800x442 (4)
05-28 19:47:57.040 I/ResidualVM(12669): overlay size is 800x480
05-28 19:47:57.040 D/ResidualVM(12669): initializing viewport
05-28 19:47:57.040 D/ResidualVM(12669): viewport size: 800x480
05-28 19:47:57.060 D/ResidualVM(12669): surfaceChanged: 800x480 (4)
05-28 19:47:57.140 D/ResidualVM(12669): initializing surface
05-28 19:47:57.190 I/ResidualVM(12669): Using EGL 1.4 Android META-EGL (Android); GL OpenGL ES 2.0/Mali-400 MP (ARM)
05-28 19:47:57.190 I/ResidualVM(12669): Extensions: GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync
05-28 19:47:57.200 I/ResidualVM(12669): overlay size is 800x480
05-28 19:47:57.200 D/ResidualVM(12669): initializing viewport
05-28 19:47:57.200 D/ResidualVM(12669): viewport size: 800x480
05-28 19:48:01.580 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:02.500 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:04.420 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:04.800 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:07.330 D/ResidualVM(12669): initializing viewport
05-28 19:48:07.330 D/ResidualVM(12669): viewport size: 800x480
05-28 19:48:08.280 W/ResidualVM(12669): WARNING: Font treb13bs.laf, char 0xb8 exceeds font height by 1, increasing font height!
05-28 19:48:08.340 W/ResidualVM(12669): WARNING: Lua_V1::SetGamma, implement opcode, level: 0!
05-28 19:48:08.370 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.370 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.640 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.640 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.660 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:10.580 D/ResidualVM(12669): AudioTrack play
05-28 19:48:39.220 W/ResidualVM(12669): WARNING: Could not find bitmap ha_6_overhead.bm!
05-28 19:48:39.220 W/ResidualVM(12669): WARNING: Could not find bitmap ha_6_overhead.zbm!
05-28 19:48:39.340 I/DEBUG (12665): pid: 12669, tid: 12680 >>> org.residualvm.residualvm <<<
05-28 19:48:39.690 I/DEBUG (12665): #00 pc 0018bb1c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN6Common6String11decRefCountEPi)
05-28 19:48:39.690 I/DEBUG (12665): #01 pc 0018bba4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN6Common6StringD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #02 pc 000f1cbc /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10BitmapDataD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #03 pc 000f1cf4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6Bitmap8freeDataEv)
05-28 19:48:39.690 I/DEBUG (12665): #04 pc 000f1d24 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6BitmapD1Ev)
05-28 19:48:39.690 I/DEBUG (12665): #05 pc 000f1d44 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6BitmapD0Ev)
05-28 19:48:39.690 I/DEBUG (12665): #06 pc 000bf68c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim3SetD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #07 pc 000bf870 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim3SetD0Ev)
05-28 19:48:39.690 I/DEBUG (12665): #08 pc 0009e45c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine6setSetEPNS_3SetE)
05-28 19:48:39.690 I/DEBUG (12665): #09 pc 0009e810 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine6setSetEPKc)
05-28 19:48:39.690 I/DEBUG (12665): #10 pc 000a8ce4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6Lua_V121static_MakeCurrentSetEv)
05-28 19:48:39.710 I/DEBUG (12665): #11 pc 000dbcbc /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.710 I/DEBUG (12665): #12 pc 000dc528 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim9luaD_callEii)
05-28 19:48:39.710 I/DEBUG (12665): #13 pc 000e582c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim8runtasksEPNS_6LStateE)
05-28 19:48:39.710 I/DEBUG (12665): #14 pc 0009ed00 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine9luaUpdateEv)
05-28 19:48:39.710 I/DEBUG (12665): #15 pc 000a4d00 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine8mainLoopEv)
05-28 19:48:39.710 I/DEBUG (12665): #16 pc 000a52c4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine3runEv)
05-28 19:48:39.710 I/DEBUG (12665): #17 pc 00092e78 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (scummvm_main)
05-28 19:48:39.710 I/DEBUG (12665): #18 pc 000875c4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN3JNI4mainEP7_JNIEnvP8_jobjectP13_jobjectArray)
05-28 19:48:39.730 I/DEBUG (12665): 4767c4ac 8118c620 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.730 I/DEBUG (12665): 4767c4c4 8118bba8 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.730 I/DEBUG (12665): 4767c4cc 810f1cc0 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:47.020 I/WindowManager(1703): WINDOW DIED Window{40dc6dc0 org.residualvm.residualvm/org.residualvm.residualvm.ResidualVMActivity paused=false}
05-28 19:48:47.020 I/ActivityManager(1703): Process org.residualvm.residualvm (pid 12669) has died.
05-28 19:47:56.730 V/SurfaceView(12669): org.residualvm.residualvm.EditableSurfaceView@4052e638 got app visibiltiy is changed: true
05-28 19:47:56.910 D/ResidualVM(12669): onStart
05-28 19:47:56.910 D/ResidualVM(12669): onResume
05-28 19:47:56.910 D/ResidualVM(12669): audio thread woke up
05-28 19:47:56.910 D/ResidualVM(12669): main thread woke up
05-28 19:47:56.910 D/ResidualVM(12669): surfaceCreated
05-28 19:47:56.910 D/ResidualVM(12669): surfaceChanged: 800x480 (4)
05-28 19:47:56.920 D/ResidualVM(12669): timer thread woke up
05-28 19:47:56.930 D/ResidualVM(12669): initializing surface
05-28 19:47:56.940 D/ResidualVM(12669): surfaceChanged: 800x442 (4)
05-28 19:47:57.010 I/ResidualVM(12669): Using EGL 1.4 Android META-EGL (Android); GL OpenGL ES 2.0/Mali-400 MP (ARM)
05-28 19:47:57.010 I/ResidualVM(12669): Extensions: GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync
05-28 19:47:57.020 D/ResidualVM(12669): surfaceChanged: 800x442 (4)
05-28 19:47:57.040 I/ResidualVM(12669): overlay size is 800x480
05-28 19:47:57.040 D/ResidualVM(12669): initializing viewport
05-28 19:47:57.040 D/ResidualVM(12669): viewport size: 800x480
05-28 19:47:57.060 D/ResidualVM(12669): surfaceChanged: 800x480 (4)
05-28 19:47:57.140 D/ResidualVM(12669): initializing surface
05-28 19:47:57.190 I/ResidualVM(12669): Using EGL 1.4 Android META-EGL (Android); GL OpenGL ES 2.0/Mali-400 MP (ARM)
05-28 19:47:57.190 I/ResidualVM(12669): Extensions: GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync
05-28 19:47:57.200 I/ResidualVM(12669): overlay size is 800x480
05-28 19:47:57.200 D/ResidualVM(12669): initializing viewport
05-28 19:47:57.200 D/ResidualVM(12669): viewport size: 800x480
05-28 19:48:01.580 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:02.500 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:04.420 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:04.800 D/ResidualVM(12669): unmapped multi tap: 0
05-28 19:48:07.330 D/ResidualVM(12669): initializing viewport
05-28 19:48:07.330 D/ResidualVM(12669): viewport size: 800x480
05-28 19:48:08.280 W/ResidualVM(12669): WARNING: Font treb13bs.laf, char 0xb8 exceeds font height by 1, increasing font height!
05-28 19:48:08.340 W/ResidualVM(12669): WARNING: Lua_V1::SetGamma, implement opcode, level: 0!
05-28 19:48:08.370 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.370 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.640 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.640 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:08.660 W/ResidualVM(12669): WARNING: !!!! Trying to call MakeSectorActive without a scene!
05-28 19:48:10.580 D/ResidualVM(12669): AudioTrack play
05-28 19:48:39.220 W/ResidualVM(12669): WARNING: Could not find bitmap ha_6_overhead.bm!
05-28 19:48:39.220 W/ResidualVM(12669): WARNING: Could not find bitmap ha_6_overhead.zbm!
05-28 19:48:39.340 I/DEBUG (12665): pid: 12669, tid: 12680 >>> org.residualvm.residualvm <<<
05-28 19:48:39.690 I/DEBUG (12665): #00 pc 0018bb1c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN6Common6String11decRefCountEPi)
05-28 19:48:39.690 I/DEBUG (12665): #01 pc 0018bba4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN6Common6StringD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #02 pc 000f1cbc /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10BitmapDataD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #03 pc 000f1cf4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6Bitmap8freeDataEv)
05-28 19:48:39.690 I/DEBUG (12665): #04 pc 000f1d24 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6BitmapD1Ev)
05-28 19:48:39.690 I/DEBUG (12665): #05 pc 000f1d44 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6BitmapD0Ev)
05-28 19:48:39.690 I/DEBUG (12665): #06 pc 000bf68c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim3SetD2Ev)
05-28 19:48:39.690 I/DEBUG (12665): #07 pc 000bf870 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim3SetD0Ev)
05-28 19:48:39.690 I/DEBUG (12665): #08 pc 0009e45c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine6setSetEPNS_3SetE)
05-28 19:48:39.690 I/DEBUG (12665): #09 pc 0009e810 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine6setSetEPKc)
05-28 19:48:39.690 I/DEBUG (12665): #10 pc 000a8ce4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim6Lua_V121static_MakeCurrentSetEv)
05-28 19:48:39.710 I/DEBUG (12665): #11 pc 000dbcbc /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.710 I/DEBUG (12665): #12 pc 000dc528 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim9luaD_callEii)
05-28 19:48:39.710 I/DEBUG (12665): #13 pc 000e582c /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim8runtasksEPNS_6LStateE)
05-28 19:48:39.710 I/DEBUG (12665): #14 pc 0009ed00 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine9luaUpdateEv)
05-28 19:48:39.710 I/DEBUG (12665): #15 pc 000a4d00 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine8mainLoopEv)
05-28 19:48:39.710 I/DEBUG (12665): #16 pc 000a52c4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN4Grim10GrimEngine3runEv)
05-28 19:48:39.710 I/DEBUG (12665): #17 pc 00092e78 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (scummvm_main)
05-28 19:48:39.710 I/DEBUG (12665): #18 pc 000875c4 /data/data/org.residualvm.residualvm/cache/libresidualvm.so (_ZN3JNI4mainEP7_JNIEnvP8_jobjectP13_jobjectArray)
05-28 19:48:39.730 I/DEBUG (12665): 4767c4ac 8118c620 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.730 I/DEBUG (12665): 4767c4c4 8118bba8 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:39.730 I/DEBUG (12665): 4767c4cc 810f1cc0 /data/data/org.residualvm.residualvm/cache/libresidualvm.so
05-28 19:48:47.020 I/WindowManager(1703): WINDOW DIED Window{40dc6dc0 org.residualvm.residualvm/org.residualvm.residualvm.ResidualVMActivity paused=false}
05-28 19:48:47.020 I/ActivityManager(1703): Process org.residualvm.residualvm (pid 12669) has died.
-
- Posts: 5
- Joined: Sun Apr 21, 2013 2:45 pm
I've noticed some issues with the controls:Botje wrote:That sounds suspiciously like a bug that was fixed recently... I'll rebase against master and upload a new APK.
Are the controls okay for your device(s)?
1- Sometimes the virtual buttons are not transparent, they have a grey box sorrounding them.
2- When exiting Manny's inventory his hands get stuck.
There are currently no sprint controls, and I won't have time to work on this for a while.
If somebody wants to implement it, one solution is to also checking the distance in TouchControls::update() and emit a shift keyup or keydown event.
The repo this APK was built off is at https://github.com/Botje/residualvm/tre ... id-rebased .
If somebody wants to implement it, one solution is to also checking the distance in TouchControls::update() and emit a shift keyup or keydown event.
The repo this APK was built off is at https://github.com/Botje/residualvm/tre ... id-rebased .