Author Topic: Finishing up the final pieces  (Read 14630 times)

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #15 on: January 02, 2013, 12:21:58 AM »
Removed the "Calibrate" button from the mapping screen.  That was a band-aid, is now replaced with a fix that goes to the root of the problem.  There's a small chance it may fix some of the controller-specific mapping issues as well.

Moved special function mapping inside the normal mapping screen.  This makes for a much cleaner and natural implementation from a programming standpoint, though it remains to be seen how user-friendly it is.  I'm open to suggestions.

Did a lot of cleanup to the input map layout resources.  It may look like a distraction from the IME listening bug, but in fact it's all related and will make the bugfix easy at the end.  Also may lead to a tidy solution to OUYA mapping.

For me, todo:
 - IME listening bugfix
 - Fix touchscreen slide-finger-off bug
 - Redundantly map multiple buttons to a single command
 - Improve multi-controller deconfliction setup (have some new ideas, just need to implement)
 - Hide button overlays while still enabled (for touch mapping IMEs)
 - UI or solution for migrating savefiles
 - Diagnostics utility for controller debugging
 - "About" dialog
« Last Edit: January 05, 2013, 09:05:35 PM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #16 on: January 02, 2013, 03:39:05 PM »
IME bug fixed, just need to make a final verification tonight with some other gamepads/IMEs.
Finger slide-off bug fixed.
Redundant mapping feature implemented.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3496
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Finishing up the final pieces
« Reply #17 on: January 02, 2013, 03:43:10 PM »
I'll be posting another snapshot built tonight.  Hoping to get some of the core functions hooked up first if I can get some development time in  ;D
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #18 on: January 03, 2013, 04:03:02 PM »
Implemented new UI for multi-player mapping.  Much easier to use now IMO.  Pushed...
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #19 on: January 03, 2013, 10:41:20 PM »
Added setting for hiding the touchscreen button overlays.  Added menu item for migrating savefiles.

My plate is starting to clear off finally.  Is there anything else we need to put in place?  I was going to look some more into the auto-crash reporting stuff, and look into APIs for implementing a "What's New" popup.  I seem to recall you had some problems retaining cheat menu state across orientation changes?  If you want, I can take a peek at that and see if I have any ideas.  Besides bugfixes on the snapshot thread, anything else you want me to look at?
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3496
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Finishing up the final pieces
« Reply #20 on: January 04, 2013, 07:10:43 AM »
Cheats (play) menu should be fine in orientation changes now (it just refreshes itself from a saved list of preferences).  I'd like to be able to refresh on orientation change only when that section of the menu is open, but that's not really necessary.  Crash menu is probably a good next thing to look at instead.

One more big piece is fixing the read CRC header method so it doesn't have to unzip a ZIP ROM entirely just to read the header (this is really slowing down the play menu, which will make a lot of users angry I think).  Will probably require an implementation in the native code though (not sure how your C programming is - I'll get to this myself soon if it looks a bit too daunting). I feel like we should be able to get to the point of stress testing release candidates this weekend after I have a chance to hook up the core functions and fix that ZIP reading delay.  You've done an awesome job with the input piece!  Sorry I haven't been as active to get my pieces finished yet.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #21 on: January 04, 2013, 07:42:43 AM »
Sounds great.  Regarding the crash reporting, I sent you a PM (see below) a while back about creating a Bugsense account.  I think that's the next thing I need from you to proceed.

Quote
... The easiest next step is to use Bugsense, it requires virtually no effort to integrate and is vastly superior to google docs for browsing crash data.  They also make their services available for free to open-source projects.  The kicker is that they don't support logcat in the free plan, though we might be able to sneak the data in the back door using custom data columns.   You do get the exception stack trace for free, and a lot of config info.  Either way, it may be a workable interim solution until we can find something better (e.g. custom database).

When you get a chance, would you mind creating the "official" Bugsense account for Mupen, and contact them about the free services in the link above?  Then add me as one of the "viewers" (see PM for my email address).

BTW - More about custom back-ends for ACRA is provided here and here.

Edit - Just thought of something.  For getting good logcat info, what if we had a separate app that acted as an add-on to Mupen?  Reading logcat requires the user's device to be rooted, or the app to specify a permission in the manifest... I'd rather avoid adding another permission to the main app if few people really need it.
« Last Edit: January 04, 2013, 07:52:14 AM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #22 on: January 04, 2013, 07:48:00 AM »
Actually I think the first thing I'll do is reorganize strings.xml.  Put things in a logical order, rename a few keys to follow a consistent naming convention, removed orphaned values, etc.  Long overdue on that.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #23 on: January 04, 2013, 08:14:57 AM »
One more big piece is fixing the read CRC header method so it doesn't have to unzip a ZIP ROM entirely just to read the header (this is really slowing down the play menu, which will make a lot of users angry I think).  Will probably require an implementation in the native code though (not sure how your C programming is - I'll get to this myself soon if it looks a bit too daunting).

I can take a look if you point me to the right source files.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3496
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Finishing up the final pieces
« Reply #24 on: January 04, 2013, 12:10:15 PM »
I added you as a viewer to the BugSense project.  I'll let you know when they get back with me about upgrading to the PRO services for free.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #25 on: January 04, 2013, 03:24:58 PM »
Thanks.

I did a MASSIVE cleanup of the preference key names, and reorganized the strings.xml.  Key names should be much more coherent/consistent now.  Most importantly, testers will need to reset their preferences from the settings menu.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3496
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Finishing up the final pieces
« Reply #26 on: January 04, 2013, 04:58:32 PM »
I noticed the crash tests are linking to BugSense now.  Nice job!
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #27 on: January 04, 2013, 05:00:51 PM »
Yeah, I think I got it mostly working.  I'd like to find out how to strip some of the sensitive information though before I push the changes.  And make sure I know the ins and outs of the BugSense dashboard.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Finishing up the final pieces
« Reply #28 on: January 04, 2013, 07:26:51 PM »
BugSense makes it easy to track app versions... so might as well start setting it in the manifest.  Continuing with an x.y.z scheme, how about the following:

2.a.XXX - Alpha (snapshot) builds
2.b.XXX - Beta builds
2.c.XXX - Release candidates (if we decide to do that)
2.0.XXX - Market release

So the next snapshot we publish would be
android:versionName="2.a.0"
android:versionCode="16"

And maybe increment versionCode only between minor releases (e.g. 2.a to 2.b, 2.b to 2.0, 2.0 to 2.1, etc.)
One other thing, when do we change the manifest?  I'm thinking maybe right before you publish, since you'll be changing that kind of stuff already and it will be on your mind.

Also, if we start doing this, I might wire up the "About" menu item to popup a simple dialog with basic version info, to help our testers.  Maybe one of the popup buttons takes you to a credits post on the forum.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3496
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Finishing up the final pieces
« Reply #29 on: January 04, 2013, 07:39:22 PM »
Excellent idea.  I vote we start using that in the next snapshot.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted