I spent some more time porting the main menu over to Haxe today. I'm starting to get into a lot of the edge-case stuff, so progress has slowed a bit.
For one thing, Haxe handles switch statements differently than AS3. In AS3, I could provide something like a button, and ask AS3 if any of the switch cases matched the button type. Then, if so, it would execute appropriate code.
As mentioned Friday, I'm going to try porting just the main menu of NEO Scavenger into HaxeFlixel to see how performance fares on Android and other platforms.
My original code compiled via AIR for Android seemed to work, but was too slow. And nothing I did seemed to help (possibly due to hardware or flixel GPU support). Haxe should run faster because it'll leverage native GPU stuff on all platforms where it is supported. In theory, anyway. And since I plan on doing future games/sequels in Haxe, this seems like a doubly useful test.
After a few more unsuccessful tests, I think I'm going to put the AIR Android stuff aside. I just can't seem to get a Context3D on my Android tablet, and I can't tell if it's a shortcoming of the tablet, my code, or my project settings. I can get the Context3D when running on the emulator, however, so my guess is it's the tablet.
I'm still not getting anything rendering on my Android tablet. After some mucking around and writing a bare-bones Stage3D initializer, I was able to determine that the tablet is not supporting any of the Stage3D contexts: baseline_extended, baseline, and baseline_contrained.
What this means is that the current code will only work using a software renderer (i.e. the CPU), and will therefore be slow. However, I'm not certain if this is that straightforward.
I spent a few more hours on the GPU renderer update today, and finally got NEO Scavenger to select the GPU renderer (GR) and to run. However, it immediately crashed. Apparently, the GR was trying to do something that was restricted to "baseline_extended" or "baseline" contexts. Since these were things I didn't personally control, I had to dig through a bunch of code.
As you've read in previous news items, the NEO Scavenger mobile port has its share of pitfalls. Performance is pretty abysmal on my test Android device. And this was even after using a special branch of flixel that was supposed to enhance mobile render speeds.
I finally got around to uploading the photos from PAX, including some my folks took during setup. And since they are pretty large, and this site tends to limit photos to 600px wide, I decided to upload them to a Google Photo Album so they can be seen larger:
Today was my first normal day in a while, and it felt good. Most of my messages are caught-up, no appointments to interrupt me...just time to work.
And incidentally, I worked on a modding bug that Kaaven brought to my attention. It appears that there is an ID remapping issue that sometimes appears when a modded encounter refers to multiple modded ingredients.
I think the bug's on its way out now. Symptoms are abating, and the biggest remaining issues seem to be fatigue and bloody nose. The former is probably just due to body being on overload. And the latter may just be a matter of bad timing (seasonal changes, dry indoor air, and illness at the same time). In any case, I'm optimistic.
The sickness seems to be progressing, thankfully. Most of yesterday's aches and chills are gone, and are replaced by sinus symptoms and general-yet-mild "ugh." I think we're on the mend.
I did manage to get a bit of work done today, starting with some accounting stuff. I had to track down some account statements and prepare a tax form, and that involved some number crunching and paper sifting. I think that'll be mostly taken care of on Monday.
A good chunk of my morning today was spent on administrivia, unfortunately. The accountant needed a few more bits of info to continue working, and that revealed a new batch of receipts and forms that I was missing. That, and I had to calculate some home office expenses that I missed on my budget spreadsheet in 2014. Not fun, but necessary.
NEO Scavenger is now officially updated to v1.04! Since the test builds have been relatively stable, I've just finished updating the default builds to 1.04 on all sites. The "test" links are no longer necessary, and have been removed for now.