Feeble Files & Simon 1 not recognized - scumm1.4.1/andr4

Subforum for discussion and help with ScummVM's Android port

Moderator: ScummVM Team

digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

@Timiditas: Thank you for offering this help.

I have tested the latest b0f792bc Android build on my ICS (Android 4.0) device with no issues, so the fix I added has caused no problems for newer devices.

Can you please do the following:
1. Remove all currently existing ScummVM applications and
plugins from your device:
Go to Settings->Phone - Apps->(All) list.
Click each ScummVM and then choose "Uninstall".

2. When you have done this, remove any remaining ScummVM
data directories from your device and external storage
using a file manager like Ghost Commander:
https://play.google.com/store/apps/deta ... nder&hl=en

Warning: You will lose your savegames on the device unless you back up the ScummVM/Saves directory, before deleting.

3. Powercycle / Reboot your device. Dalvik/Android keeps a number of caches, so we just want to be sure that the various ScummVM versions are removed from your device cleanly.

4. Install the ScummVM v1.5.0 main application version from the Google Play store and the Queen Plugin. Do NOT install the AGOS plugin:
https://play.google.com/store/apps/deta ... m&hl=en_GB
https://play.google.com/store/apps/deta ... ueen&hl=en

5. Install the datafiles for FOTAQ (Queen) on your device from: http://scummvm.org/games

6. Start ScummVM-v1.5.0 and "Add Game" for the location of the installed FOTAQ datafiles. Then start. After a 5-10s of blank screen, the Flight of the Amazon Queen logo should appear.

7. If this works, then use the "Back" button to bring up the menu and Quit or Return to Launcher and then Quit ScummVM:
http://wiki.scummvm.org/index.php/Android#Controls
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Timiditas: Please report here if this is successful with no issues.

If so, then repeat steps 1 to 3, then install ScummVM-v1.6.0-stable from the buildbot:
http://buildbot.scummvm.org/snapshots/s ... latest.zip

Just install the main apk and the Queen plugin and retest. You will have to enable "Settings->Security->Unknown Sources (Allow installation of apps from unknown sources)." as per:
http://wiki.scummvm.org/index.php/Android#Daily_Builds

If this still works, then repeat for the ScummVM-v1.7.0git-master (development) from buildbot:
http://buildbot.scummvm.org/snapshots/m ... latest.zip

Remove older version, just the main and queen apk again and retest.

If this works, then try adding the AGOS plugin and data for say Simon 1. If this fails, remove all versions as per steps 1 to 3... and repeat with v1.6.0 with AGOS... and if still failing with v1.5.0 and if still failing with v1.4.1 from:
http://prdownloads.sourceforge.net/scum ... p?download
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Once you have done this, you could also try Steps 1 to 3 again and the latest v1.7.0git build with AGOS plugin and then post the relevant output from the debugging alogcat:
http://wiki.scummvm.org/index.php/Debug ... VM#Android
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

@clone2727: OK... Sigh. I know "Committing untested code really isn't good practice.", but I currently only have sporadic internet access and just committing it to be built automatically by the buildbot was the fastest way of getting this tested. To do what you suggest means manually logging in via SSH, checking out a tree, sorting out the cross compilation environment, patching, building and then sorting out somewhere to host my "out of flow" build... Just committing and using the bot was a damn sight easier and meant that the fix was "documented".

The fix I posted is recommended by the Android developer documentation, though fuzzie and I think yourself were a little skeptical that Dalvik will skip the unimplemented newer functions at runtime.

I looked at the change and concluded that it was unlikely to break compilation, which it did NOT, and I did stay around long enough to verify this on the buildbot... and so revert/amend it if there was an issue. I intended to download the build as I did today on my Android 4.0 phone and verify that it had not affected runtime functionality on newer devices which it has NOT.

Overall, if the older pre v3.0 devices didn't work at runtime before, the change I made should not have made this worse and _MAY_ have fixed it...
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

@clone2727: Also you said "And since it didn't work for him/her, why would it work for me?"...

Well, I am not sure if the issue they are seeing has anything to do with the AGOS issue recently fixed or is an issue with their device, so getting another person with a v2.3 device to test would help.

If you know any other developers (apart from fuzzie, who is far too busy), who has one and time to test, please indicate...
User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

digitall wrote:If you know any other developers (apart from fuzzie, who is far too busy), who has one and time to test, please indicate...
As was recommended, set up an emulator.
Timiditas
Posts: 28
Joined: Thu Oct 18, 2012 8:37 pm

Post by Timiditas »

digitall wrote: Remove all currently existing ScummVM applications and
plugins

remove any remaining ScummVM
data directories

3. Powercycle / Reboot
Just found one folder in /mnt/sdcard/scummvm
Removed the whole folder with contents, then rebooted
digitall wrote: Install the ScummVM v1.5.0 main application version from the Google Play store and the Queen Plugin. Do NOT install the AGOS plugin
Install the datafiles for FOTAQ (Queen) on your device from: http://scummvm.org/games
Timiditas: Please report here if this is successful with no issues.
Game is detected and runs fine
digitall wrote: If so, then repeat steps 1 to 3, then install ScummVM-v1.6.0-stable from the buildbot:
http://buildbot.scummvm.org/snapshots/s ... latest.zip
Just install the main apk and the Queen plugin and retest.
Game is still detected and runs fine
digitall wrote: If this still works, then repeat for the ScummVM-v1.7.0git-master (development) from buildbot:
http://buildbot.scummvm.org/snapshots/m ... latest.zip

Remove older version, just the main and queen apk again and retest.
At this point it stops working. I get "unexpected close" with only scumm main and queen plugin installed.
The advancing progress bar that shows while its loading the gui/checking the plugins moves different than in 1.6 or 1.5 with the same plugin count installed.
digitall wrote: If this fails, remove all versions as per steps 1 to 3... and repeat with v1.6.0 with AGOS... and if still failing with v1.5.0 and if still failing with v1.4.1 from:
http://prdownloads.sourceforge.net/scum ... p?download

1.6.0 1.5.0 and 1.4.1 same results: They run but do not detect either GOG.com- or original versions of Simon1 and 2.
All DO detect Elvira though.


Bluestacks (running Android 4.0.4) runs the b0f792bc build fine and it also detects all my versions of Simon the sorcerer.

Will do the last debugging step you posted on my phone now.
Update:
I recorded a log with Catlog while the b0f792bc build was crashing. Uploaded here:
http://voodoovictim.bplaced.net/report/scummlog.rar
archive-password is: scumm
Hope it contains something useful.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Timiditas: Thanks, so it looks like a general, rather than AGOS specific issue, with running ScummVM on Android 2.3 which occurred between v1.6.0 and latest v1.7.0git. Damn, sounds like the issue could still be present. Will check the log when on laptop, as currently on phone and look again at setting up 2.3 AVD emulator which caused me problems last time I tried.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Hmm... Looked at the log. This is more than just the getButtonAxis issue.

The fatal error is:
02-23 22:58:58.992 E/AndroidRuntime(2881): FATAL EXCEPTION: main
02-23 22:58:58.992 E/AndroidRuntime(2881): java.lang.VerifyError: org.scummvm.scummvm.ScummVMEvents
02-23 22:58:58.992 E/AndroidRuntime(2881): at org.scummvm.scummvm.ScummVMActivity.onCreate(ScummVMActivity.java:172)

due to:
02-23 22:58:58.984 W/dalvikvm(2881): Verifier rejected class Lorg/scummvm/scummvm/ScummVMEvents;

The first warning associated is:
02-23 22:58:58.859 I/ScummVM (2881): Starting next activity with intent Intent {
flg=0x1000000 cmp=org.scummvm.scummvm/.ScummVMActivity (has extras) }
02-23 22:58:58.875 I/dalvikvm(2881): Failed resolving Lorg/scummvm/scummvm/MouseHelper$1; interface 44 'Landroid/view/View$OnHoverListener;'
02-23 22:58:58.875 W/dalvikvm(2881): Link of class 'Lorg/scummvm/scummvm/MouseHelper$1;' failed
02-23 22:58:58.882 E/dalvikvm(2881): Could not find class 'org.scummvm.scummvm.MouseHelper$1', referenced from method org.scummvm.scummvm.MouseHelper.createList
ener
02-23 22:58:58.882 W/dalvikvm(2881): VFY: unable to resolve new-instance 107 (Lorg/scummvm/scummvm/MouseHelper$1;) in Lorg/scummvm/scummvm/MouseHelper;
02-23 22:58:58.882 D/dalvikvm(2881): VFY: replacing opcode 0x22 at 0x0000
02-23 22:58:58.882 D/dalvikvm(2881): VFY: dead code 0x0002-0005 in Lorg/scummvm/scummvm/MouseHelper;.createListener ()Landroid/view/View$OnHoverListener;

There is also:
02-23 22:58:58.890 I/dalvikvm(2881): Could not find method android.view.MotionEvent.getButtonState, referenced from
method org.scummvm.scummvm.MouseHelper.onMouseEvent
and:
02-23 22:58:58.976 I/dalvikvm(2881): Could not find method android.view.MotionEvent.getAxisValue, referenced from method org.scummvm.scummvm.ScummVMEvents.onGenericMotionEvent
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Based on the relevant code from L166 to 172 of ScummVMActivity.java, when Hover is not available, the events class gets an empty _mouseListener and exceptions get thrown:
https://github.com/scummvm/scummvm/blob ... .java#L172

Checking in the log, this is the case:
02-23 22:58:58.976 D/ScummVM (2881): Hover available: false

This was only added in API Level 14 ie. Android 4.0
http://developer.android.com/guide/topi ... #ApiLevels
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

This looks like anything earlier than Android 4.0 has been broken since 21093175646b8d359e8108b93e28898ed9695457:

ANDROID: Mouse and stylus support
From pull request #285.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Except that doesn't make sense as the issue observed by Timiditas is between v1.6.0 and v1.7.0git... which can only be in that class, the addition of onGenericMotionEvent() by a50ede203b0424d800d2a1d4460121f9f1de8e7a...

Hmm...

Timiditas: Can you try running the working v1.6.0 with Queen and capture a log file, then do the same with the crashing v1.7.0git with Queen and we can play "spot-the-difference" to see what the "real" change here is that is causing the crash... probably need a try-catch block somewhere in the Java code.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Oh and can you provide enough detail to allow the logs to be correctly associated with v1.6.0 and v1.7.0 rather than one big file please! :)

Will look at Android AVD device setup, but this is a bit tricky and IIRC I hit some pitfall that stopped it working before.
Timiditas
Posts: 28
Joined: Thu Oct 18, 2012 8:37 pm

Post by Timiditas »

Its the first time ever I'm working with catlog, but I can of course record seperated files for the two versions, if that helps.
Update:
Three logs for you
http://voodoovictim.bplaced.net/report/catlog/
version number and Build hash or whatever its called is added to the filename
the last one is the current nightly
with v1.6 I added flight of the amazon queen to the games list before I quit the app.
digitall
ScummVM Developer
Posts: 1172
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall »

Timiditas: Thanks. Will look at these logs and see if I can work out the cause here.

Tried to set up AVD for Android 2.3.3 device and 4.1.2 device. Both failed to start successfully :/ The 2.3.3 VM only showed ANDROID in text and then froze.. It appears this may be related to the GL features which my i915 card doesn't provide at OS level. The 4.1.2 just immediately exits with no debugging information... SIGH. Will try to get these working... but this will take me some time.
Post Reply