On 6 June 2013 02:19, James Paige <[email protected]> wrote: > On Wed, Jun 05, 2013 at 10:58:28PM +1200, Ralph Versteegen wrote: >> Wow, thanks for the help, I didn't actually mean to ask you to perform >> all those tests :) >> >> I only saw garbage on startup in an emulator with hardware (host) >> accelerated OpenGL enabled, but none on my device (which has no GPU) >> or an emulator without it. So I thought it might be specific to an >> (emulated) GPU being available rather than whether or not it's running >> on an emulator. >> >> We normally test interactivetest.rpg using the >> testgame/interactivetest.ohrkeys recorded input file, which is fed in >> with a commandline argument. Since being able to specify commandline >> arguments would be quite useful I just added the ability to do so >> (though I haven't tested it under android). You should be able to >> place a file called ohrrpgce_arguments.txt in the >> com.hamsterrepublic.ohrrpgce.game/files/ directory. (Is this directory >> always on the SD card, or will it be there only if the app is >> installed on the SD card? And I don't see where the app binary files >> are... > > As far as I understand, yes, this directory will always exist, although > the exact location might vary. In Android terminology, /sdcard does > *not* refer to an actual removable SD card, it refers to user-writable > storage, which may or may not be a removable SD card depending on device > implementation (usually not, as far as I have seen)
My own phone has "internal storage", an "internal SD card" (/data/HWUserData) and a removable SD card (/sdcard). There is no Android folder for app files in /data/HWUserData however. It hadn't occurred to me that some devices (tablets?) wouldn't have a removable SD card. I tried removing my microSD card, and sure enough /sdcard disappears. I had the OHR installed on internal storage, so I could launch it, but it crashes. SDL tries to set the working directory to a nonexistent directory: I/libSDL ( 428): Changing curdir to "/mnt/sdcard/Android/data/com.hamsterrepublic.ohrrpgce.game/files" As a result, the actual working directory is /, which causes lots of errors (and death by File Not Found in findfiles :) I had forgotten that all the ported SDL programs I tried wouldn't run until I bought and installed a microSD card. However I think we can get by without requiring one. Even on my phone there is 75MB of space available in /cache (the total internal storage seems to be about 600MB, split into quite a few partitions including the "internal SD card"). >> To compile Custom, just specific 'custom' instead of 'game' when >> invoking scons. This didn't work before, I just fixed that. Tried it >> out now, compiled and ran fine. But the app will still be called >> OHRRPGCE Game. I guess we probably don't want to seriously package >> Custom for android, so that at least saves the hassle of multiple >> project directories and config files. (But what about packaging >> individual games?) > > Ideally, I would like for people to be able to export their game as an > android apk from the Distribute Games menu. They would have to install > the Android SDK, and they would have to create their own signing key on > google play and specify its location to the distribute game settings. > > Then the Distribute menu could download a pre-built unsigned binary of > the OHRRPGCE Game apk. it would add the game to it, add a user-specified > icon (I want that for Windows and Mac too, but that is beside the point) > and then sign it with their key, ready to upload to the play store. > > Of course, We also need to be able to change the package name to > something other than com.hamsterrepublic.ohrrpgce.game so I don't know > how practical that will be to do with a pre-built binary. I think we should also allow exporting non-signed .apks without requiring the SDK to be installed, so that people can at least try out their game on their own phone. An .apk is mostly just a .zip, however it also seems to have an alignment requirement for file chunks, which would probably require a separate utility. Actually, if you look at build.sh and sign.sh in sdl-android, it seems that only two utilities are needed for putting together and signing an .apk: jarsigner and zipalign. zipalign is part of the Android project, while jarsigner is a Java utility. Maybe we could distribute jarsigner too. > For people who don't have their own domain name, we can provide a > namespace like com.hamsterrepublic.ohrrpgce.games.gamename but I would > also like to allow people to specify their own namespaces, so for your > own game, tmc, you might choose to use > com.castleparadox.tmc.foresttemple or maybe Mogri would want to use > com.slimesalad.phantomtactics or Harlock might use > org.crithit.spellshard Is there any point to allowing customisation of namespace? I think it just has to be unique, eg a com.hamsterrepublic.ohrrpgce.games. prefix. I see that the Android documentation says "To avoid conflicts with other developers, you should use Internet domain ownership as the basis for your package names (in reverse)." >> The Compiling on Android page gives instructions for compiling >> commandline programs, which is anything aside from Game and Custom. It >> produces binaries in the wip folder which you need to copy to the >> device and run manually. When not crosscompiling, "scons test" can be >> used to run all test programs and games. >> >> On 5 June 2013 11:00, Seth Hetu <[email protected]> wrote: >> > Regarding the other tests, I copied interactivetest.rpg to the games >> > folder and ran it, but there aren't enough input buttons for me to run >> > it manually. (I was able to run it through about six tests). I there a >> > way to run it automatically? >> > >> > For vectortest and reloadtest, I was only able to find some binary >> > files in wip. Is this something I should copy to the device and run? >> > I'm not really familiar with the OHR's testing framework. >> > >> > Finally, regarding Custom, I'm in way over my head; >> > "MainActivity-debug.apk" seems to only contain Game. Any thoughts on >> > how to point sdl-android to Custom as the main Activity? >> > >> > -->Seth >> > >> > >> > On Mon, Jun 3, 2013 at 10:26 PM, Ralph Versteegen <[email protected]> >> > wrote: >> >> Great! Good to hear that I didn't miss anything in the compile >> >> instructions. >> >> >> >> The git clones of the OHR repository on gitorious (both mine and >> >> Neo's) are far out of date. I only rarely push anything to gitorious. >> >> >> >> Do you see garbage on screen when the program starts? >> >> There's very little that I've actually tested; I expect that there are >> >> lots of problems to be found. Do save files work? Custom? >> >> interactivetest?) Do vectortest and reloadtest pass? (Note that they >> >> put the terminal into a non-echoing state) I haven't been able to >> >> reproduce the test failure I saw before. >> >> >> >> On 4 June 2013 05:45, Seth Hetu <[email protected]> wrote: >> >>> Ugh, sorry, I'm an idiot. Figured out what I did wrong. I now have >> >>> successfully compiled the OHR for Android (am playing WH now). :D >> >>> >> >>> -->Seth >> >>> PS: I'm totally willing to help test out random stuff if you need it. >> >>> I've got a Nexus 4, and (finally) a working toolchain. >> >>> >> >>> On Mon, Jun 3, 2013 at 1:07 PM, Seth Hetu <[email protected]> wrote: >> >>>> I ran into an error in the last phase of compiling the APK; posted it >> >>>> to the talk page of the wiki. >> >>>> >> >>>> That reminds me; is it better to post about these kinds of errors to >> >>>> the list or just in the talk page? >> >>>> >> >>>> -->Seth >> >>>> >> >>>> On Mon, Jun 3, 2013 at 10:31 AM, Seth Hetu <[email protected]> wrote: >> >>>>> Ah, thanks. I misread "the latest SVN" and picked up the latest git >> >>>>> source. >> >>>>> >> >>>>> -->Seth >> >>>>> >> >>>>> On Mon, Jun 3, 2013 at 10:13 AM, James Paige >> >>>>> <[email protected]> wrote: >> >>>>>> That is in the ohrrpgce svn repository >> >>>>>> >> >>>>>> svn://gilgamesh.hamsterrepublic.com/ohrrpgce >> >>>>>> >> >>>>>> On Mon, Jun 03, 2013 at 09:22:11AM -0400, Seth Hetu wrote: >> >>>>>>> Got a quick question regarding the compiling instructions: "You can >> >>>>>>> use the script wip/android/compiling-using-toolchain.sh..." >> >>>>>>> >> >>>>>>> Where exactly is this? I checked the various repositories I cloned, >> >>>>>>> but can't seem to find it. I'm sure there's a really obvious >> >>>>>>> answer... >> >>>>>>> >> >>>>>>> -->Seth >> >>>>>>> >> >>>>>>> On Sun, Jun 2, 2013 at 1:59 AM, Ralph Versteegen >> >>>>>>> <[email protected]> wrote: >> >>>>>>> > I managed to figure out your makefile problem from the error >> >>>>>>> > messages. >> >>>>>>> > >> >>>>>>> > I'm surprised that Bell of Chaos runs that quickly on your tablet, >> >>>>>>> > nearly 5 times faster than my phone. A single core of a high end >> >>>>>>> > desktop CPU is nowhere 5 times faster than the lowest end one >> >>>>>>> > (well, >> >>>>>>> > actually it is if you compare to an Atom instead). I guess that on >> >>>>>>> > a >> >>>>>>> > device with an actual GPU a lot of CPU is freed up for the >> >>>>>>> > application... but if it's running at <4 fps, then there isn't much >> >>>>>>> > GPU emulating to do anyway :) >> >>>>>>> > >> >>>>>>> > I should have specified the button mapping: top left is ESC, top >> >>>>>>> > right >> >>>>>>> > is Enter, and the other four are arrows. Menu and Search are also >> >>>>>>> > Enter, and BACK is Esc. >> >>>>>>> > >> >>>>>>> > On 2 June 2013 17:30, James Paige <[email protected]> wrote: >> >>>>>>> >> No luck compiling tonight, I will try more tomorrow. I tested the >> >>>>>>> >> apk >> >>>>>>> >> and it runs nicely on my Xoom tablet. Sword of Jade ran smooth as >> >>>>>>> >> butter >> >>>>>>> >> (well, 18.2 fps butter anyway) and Bell of Chaos averaged around >> >>>>>>> >> 16.5 >> >>>>>>> >> fps. I didn't figure out the SDL button remapping, but that can >> >>>>>>> >> be a >> >>>>>>> >> task for later too :) >> >>>>>>> >> >> >>>>>>> >> Awesome work, TMC! >> >>>>>>> >> >> >>>>>>> >> --- >> >>>>>>> >> James >> >>>>>>> >> >> >>>>>>> >> On Sat, Jun 01, 2013 at 09:54:18PM -0700, James Paige wrote: >> >>>>>>> >>> Yay! I am excited! :) >> >>>>>>> >>> >> >>>>>>> >>> I am going to try and compile myself. More comments on the wiki >> >>>>>>> >>> talk >> >>>>>>> >>> page :) >> >>>>>>> >>> >> >>>>>>> >>> --- >> >>>>>>> >>> James >> >>>>>>> >>> >> >>>>>>> >>> On Sat, Jun 01, 2013 at 11:00:54PM +1200, Ralph Versteegen wrote: >> >>>>>>> >>> > http://tmc.castleparadox.com/pics/android-shot2.png >> >>>>>>> >>> > >> >>>>>>> >>> > A few more debugging sessions, and I've gotten the port >> >>>>>>> >>> > working on a >> >>>>>>> >>> > 2.2 phone and 4.2.2 emulator. So far the only brokenness that >> >>>>>>> >>> > I've >> >>>>>>> >>> > seen is in the file browser. autotest.rpg passes, though I >> >>>>>>> >>> > haven't >> >>>>>>> >>> > tried comparing the screenshots. Although I actually got this >> >>>>>>> >>> > far a >> >>>>>>> >>> > week ago, it took me several days to clean things up, e.g. >> >>>>>>> >>> > removing >> >>>>>>> >>> > hardcoded paths, fixing the build systems, and fixing various >> >>>>>>> >>> > problems >> >>>>>>> >>> > with bad path variables I didn't run into before. I've >> >>>>>>> >>> > rewritten the >> >>>>>>> >>> > compile instructions. Do a git pull on both git repositories >> >>>>>>> >>> > and >> >>>>>>> >>> > follow the new instructions. Compiling FB actually became more >> >>>>>>> >>> > complicated when I did things the proper way. >> >>>>>>> >>> > http://rpg.hamsterrepublic.com/ohrrpgce/Compiling_for_Android >> >>>>>>> >>> > >> >>>>>>> >>> > I put lots of info on the wiki: >> >>>>>>> >>> > http://rpg.hamsterrepublic.com/ohrrpgce/Android_Port >> >>>>>>> >>> > >> >>>>>>> >>> > Here's a precompiled .apk to play with if you want, although >> >>>>>>> >>> > it's too >> >>>>>>> >>> > early to be asking for testing. >> >>>>>>> >>> > http://tmc.castleparadox.com/ohr/ohrrpgce-game-2013-06-01.apk >> >>>>>>> >>> > Some of the most obvious problems (see the wiki page for more): >> >>>>>>> >>> > -controls are awkward. But at least you can use the builtin SDL >> >>>>>>> >>> > configuration menu to adjust key bindings and button sizes and >> >>>>>>> >>> > positions >> >>>>>>> >>> > -midi doesn't play, simply because I didn't include instrument >> >>>>>>> >>> > patches >> >>>>>>> >>> > for timidity. The suggested patches are 18MB. Can we find a >> >>>>>>> >>> > smaller >> >>>>>>> >>> > set? >> >>>>>>> >>> > -directories don't appear in the browser >> >>>>>>> >>> > -there are long pauses in a couple places >> >>>>>>> >>> > >> >>>>>>> >>> > On my low end phone I can seemingly play typical games at full >> >>>>>>> >>> > speed, >> >>>>>>> >>> > although only just. Bell of Chaos runs at less than 4 fps >> >>>>>>> >>> > though. >> >>>>>>> >>> > >> >>>>>>> >>> > >> >>>>>>> >>> > On 17 May 2013 07:50, Seth Hetu <[email protected]> wrote: >> >>>>>>> >>> > > Seems pretty similar to my config.mk. Good to know I'm on >> >>>>>>> >>> > > the right track! >> >>>>>>> >>> > > I'll give it another go if I can drum up some motivation >> >>>>>>> >>> > > later (the sample >> >>>>>>> >>> > > sdl-android app is strangely giving me an error). >> >>>>>>> >>> > > >> >>>>>>> >>> > > -->Seth >> >>>>>>> >>> > > >> >>>>>>> >>> > > >> >>>>>>> >>> > > On Thu, May 16, 2013 at 3:25 PM, Ralph Versteegen >> >>>>>>> >>> > > <[email protected]> >> >>>>>>> >>> > > wrote: >> >>>>>>> >>> > >> >> >>>>>>> >>> > >> Ah, yes, setting TARGET_ARCH wasn't sufficient. Here is my >> >>>>>>> >>> > >> config.mk. >> >>>>>>> >>> > >> I am using a Slackware64 14.0 multilib system. I haven't >> >>>>>>> >>> > >> edited >> >>>>>>> >>> > >> anything else: >> >>>>>>> >>> > >> >> >>>>>>> >>> > >> ENABLE_PREFIX=1 >> >>>>>>> >>> > >> CFLAGS := -Wfatal-errors -O2 >> >>>>>>> >>> > >> -I/usr/lib/libffi-3.0.11/include/ -g -m32 >> >>>>>>> >>> > >> TARGET_ARCH=x86 >> >>>>>>> >>> > >> prefix=/home/ralph/local/fbc-0.90 >> >>>>>>> >>> > >> V=1 >> >>>>>>> >>> > >> >> >>>>>>> >>> > >> Linking with libffi is optional: you can add -DDISABLE_FFI. >> >>>>>>> >>> > >> >> >>>>>>> >>> > >> On 17 May 2013 04:10, Seth Hetu <[email protected]> wrote: >> >>>>>>> >>> > >> > While compiling this on a 64-bit system, it seems that >> >>>>>>> >>> > >> > setting >> >>>>>>> >>> > >> > TARGET_ARCH >> >>>>>>> >>> > >> > is not sufficient. In particular: >> >>>>>>> >>> > >> > * gcc will freak out regarding assembly functions and >> >>>>>>> >>> > >> > "operand type >> >>>>>>> >>> > >> > mismatch" errors. >> >>>>>>> >>> > >> > * gcc won't find libffi (on Ubuntu), as it's in a >> >>>>>>> >>> > >> > special >> >>>>>>> >>> > >> > "i686-linux-gnu" directory inside "/usr/include". >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > To get around this, I just hacked the makefile, changing: >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > ALLCFLAGS := -Wall -Werror-implicit-function-declaration >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > ..to: >> >>>>>>> >>> > >> > ALLCFLAGS := -Wall -Werror-implicit-function-declaration >> >>>>>>> >>> > >> > -m32 >> >>>>>>> >>> > >> > -I/usr/include/i686-linux-gnu >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > If you got this working on a 64-bit system some other >> >>>>>>> >>> > >> > way, let me know >> >>>>>>> >>> > >> > (I'm >> >>>>>>> >>> > >> > really bad at makefiles). >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > -->Seth >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > On Fri, May 10, 2013 at 5:53 PM, Ralph Versteegen >> >>>>>>> >>> > >> > <[email protected]> >> >>>>>>> >>> > >> > wrote: >> >>>>>>> >>> > >> >> >> >>>>>>> >>> > >> >> I did some work on the Android port today, and got to >> >>>>>>> >>> > >> >> the point of >> >>>>>>> >>> > >> >> being able to compile everything, create an .apk, and >> >>>>>>> >>> > >> >> install it. It >> >>>>>>> >>> > >> >> currently crashes almost instantly with only the >> >>>>>>> >>> > >> >> following error >> >>>>>>> >>> > >> >> message (an earlier version at least managed to >> >>>>>>> >>> > >> >> initialise everything >> >>>>>>> >>> > >> >> except the native code). >> >>>>>>> >>> > >> >> >> >>>>>>> >>> > >> >> D/dalvikvm( 9355): Trying to load lib >> >>>>>>> >>> > >> >> /data/app-lib/com.hamsterrepublic.ohrrpgce.game-1/libapplication.so >> >>>>>>> >>> > >> >> 0x41f5cdf0 >> >>>>>>> >>> > >> >> I/ActivityManager( 495): Process >> >>>>>>> >>> > >> >> com.hamsterrepublic.ohrrpgce.game >> >>>>>>> >>> > >> >> (pid 9355) has died. >> >>>>>>> >>> > >> >> >> >>>>>>> >>> > >> >> Instructions are here: >> >>>>>>> >>> > >> >> http://rpg.hamsterrepublic.com/ohrrpgce/Compiling_for_Android >> >>>>>>> >>> > >> >> >> >>>>>>> >>> > >> >> I've automated all the drudgery. Now the hard work >> >>>>>>> >>> > >> >> remains: debugging, >> >>>>>>> >>> > >> >> platform and device differences, Android-specific OHR >> >>>>>>> >>> > >> >> modifications, >> >>>>>>> >>> > >> >> touch input, and lots of customisations to all the stuff >> >>>>>>> >>> > >> >> in the SDL >> >>>>>>> >>> > >> >> port. For example I'm not very happy with the way that >> >>>>>>> >>> > >> >> emulated >> >>>>>>> >>> > >> >> keyboard input works. we will want per-game settings >> >>>>>>> >>> > >> >> without having to >> >>>>>>> >>> > >> >> recompile. >> >>>>>>> >>> > >> >> >> >>>>>>> >>> > >> >> However I'm taking a break for a while. I have too much >> >>>>>>> >>> > >> >> else to do. >> >>>>>>> >>> > >> >> _______________________________________________ >> >>>>>>> >>> > >> >> Ohrrpgce mailing list >> >>>>>>> >>> > >> >> [email protected] >> >>>>>>> >>> > >> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> > _______________________________________________ >> >>>>>>> >>> > >> > Ohrrpgce mailing list >> >>>>>>> >>> > >> > [email protected] >> >>>>>>> >>> > >> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> > >> > >> >>>>>>> >>> > >> _______________________________________________ >> >>>>>>> >>> > >> Ohrrpgce mailing list >> >>>>>>> >>> > >> [email protected] >> >>>>>>> >>> > >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> > > >> >>>>>>> >>> > > >> >>>>>>> >>> > > >> >>>>>>> >>> > > _______________________________________________ >> >>>>>>> >>> > > Ohrrpgce mailing list >> >>>>>>> >>> > > [email protected] >> >>>>>>> >>> > > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> > > >> >>>>>>> >>> > _______________________________________________ >> >>>>>>> >>> > Ohrrpgce mailing list >> >>>>>>> >>> > [email protected] >> >>>>>>> >>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> > >> >>>>>>> >>> _______________________________________________ >> >>>>>>> >>> Ohrrpgce mailing list >> >>>>>>> >>> [email protected] >> >>>>>>> >>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >>> >> >>>>>>> >> _______________________________________________ >> >>>>>>> >> Ohrrpgce mailing list >> >>>>>>> >> [email protected] >> >>>>>>> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> > _______________________________________________ >> >>>>>>> > Ohrrpgce mailing list >> >>>>>>> > [email protected] >> >>>>>>> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> _______________________________________________ >> >>>>>>> Ohrrpgce mailing list >> >>>>>>> [email protected] >> >>>>>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>>>>>> >> >>>>>> _______________________________________________ >> >>>>>> Ohrrpgce mailing list >> >>>>>> [email protected] >> >>>>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >>> _______________________________________________ >> >>> Ohrrpgce mailing list >> >>> [email protected] >> >>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> >> _______________________________________________ >> >> Ohrrpgce mailing list >> >> [email protected] >> >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> > _______________________________________________ >> > Ohrrpgce mailing list >> > [email protected] >> > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> _______________________________________________ >> Ohrrpgce mailing list >> [email protected] >> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org >> > _______________________________________________ > Ohrrpgce mailing list > [email protected] > http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org _______________________________________________ Ohrrpgce mailing list [email protected] http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
