Close, but Maybe Not Close Enough
Hey Folks! I decided to give it another day of my time, as a few more ideas occurred to me overnight. And I did make a little bit of progress. But I'm not sure it'll be enough to make it worthwhile.
My first few attempts at rebuilding it with different Lime/OpenFL lib versions didn't help, but I was eventually able to trace the app's renderer setup and force it to use software rendering (Cairo). And this actually launched! I was even able to get as far as the opening cryo encounter, but it crashed on the map. Probably due to some gpu calls needed by the tilemaps. And it was probably a no-go anyway, since the framerate was extremely slow.
Later, when I stumbled upon yet another thread with Lars's input, I found his tips for forcing Lime to use ANGLE, which is an API translator for DirectX that supports OpenGL calls. Basically, Google made a layer you can sandwich between your app and DirectX so the app calls OpenGL stuff, and ANGLE translates that to DirectX.
The good news is that this actually worked! The bad news, as you can see in today's image, is that it's only partially working. Seemingly at random, buttons are displaying the wrong image. Usually another image on the screen. Each time the app runs, they break in different ways. Fullscreen causes a massive slowdown in framerate. The creature sprites are missing.
In short, it's like I'm back to where I started several weeks ago when I first started fixing graphics issues. And all this just to get it working on Win7 64-bit with certain gpus. I haven't even looked at the memory leak stuff. And I'm still not sure this would even run on an XP or Win7 32-bit machine, even if I compiled with the 32bit flags.
I think we may be out of luck. As far as I can tell, I've got a lot more work to do before this would be ready for release. And I don't think I can afford the hit in my schedule. Space prototype has already been on ice for over a month, and there's only so much cash left in the reserves to see it through to something worth selling.
One possibility I can explore, I guess, is hiring a contractor to pick up where I've left off. Maybe they can spend a few weeks fixing it up so the OS coverage is good. But for now, I think I need a break from this exercise. I'm bummed.