Reinstallation Hell

So today was a bit of a wash. The library updates I downloaded yesterday played havoc with my prototype, and I spent most of the day installing, uninstalling, reinstalling, and reverting various pieces of software.

Near as I can tell, my problems started with updating to Haxe 3.2.1 from 3.2.0. It seems that multiple inheritance was broken (deprecated?) by the update, so any classes that extended or implemented more than one other class failed to compile. Since quite a few classes in HaxeFlixel fit this category, I couldn't compile anything. The error I was getting looked like:

'set_x': is not a member of IFlxUIButton_obj

for anyone else stuck in this rut. Basically, set_x was a property on one interface IFlxUIButton implemented, but Haxe didn't see it anymore.

However, this is hindsight. At the time, I thought "maybe this is a compatibility issue with Haxe 3.2.1 and my older libraries." So I updated my libraries. At first, as few as possible. And when that didn't work, pretty much all the rest. Among these was updating hxcpp, which I think (keep reading) somehow broke the link between Haxe and Visual Studio (used for C++ targets). Namely, I kept getting this error:

Process creation failure : cl.exe

cl.exe is a binary within the MSVC .../VC/bin/ folder used by hxcpp (I think) to make a MSVC solution on-the-fly and then compile it to create a Windows binary. And it'd get called a few times before crapping-out with the above error.

I poked around for anyone else having this issue, and the common reply was that it was a mismatch between hxcpp and MSVC versions. Most users reported reinstalling MSVC from the MS website (not lime setup windows) fixed the issue. And it sort of did, but...

As part of launching the updated MSVC install for the first time, I was asked for login info. This reminded me that a Microsoft site asked me to change my password this morning for security reasons. Could that have been it? The cl.exe issue wasn't present yesterday. It's quite possible my login info was preventing MSVC from doing anything via command-line until I updated its little login widget. Which is kinda annoying and troubling at the same time.

Whatever the case, either updating MSVC or the login fixed the cl.exe issue.

Then, it was off to fix compile issues. This time, JoystickEvent didn't exist in OpenFL Next, but HaxeFlixel still thought it did. I callously just commented-out the whole joystick bit from HaxeFlixel to see if that would work. And it did. I was fine with that ugly hack (and feature cut) for now, as I suspect I'll update all these libs again before needing any joystick support (if ever).

And THEN, color issues. It seems something between OpenFL 3.3.6 and 3.3.9 borked the color byte order, so all my reds were blue, and vice versa. Took me a bit of sleuthing to figure that one out, so I decided to just revert to 3.3.6 for now, and voila, back to working project.

It was a pretty ugly day. By the time I had working tools again, I was so spent that I decided to just tinker with some ship part sprites. I didn't manage to do much more than change a pattern and color scheme before it was time to write this devlog. And here I am.

The good news is I'm up and running again. The bad news is that I wasted a whole day doing what amounts to nothing.

Here's hoping tomorrow is more fruitful!