Gridiron Solitaire #74: Slogging ForwardBoy, it's getting ugly.
The bug list is so small and esoteric (to me) now that it's hard to make progress.. Things like "after power button suspend on laptops, sound doesn't return immediately upon resumption."
Seriously, what the hell? That's something grown-ups take care, not some questionably competent individual like me. Just reading the description of the problem is terrifying.
I don't even want to fix this. It seems minor. But Garret reported it, and since Garret has helped me through the entire project, it seems like an affront if I don't resolve it.
So I ask him, hoping he'll tell me it's not worth spending time on. Instead, he says (as he often does) that I should look into it because it probably won't kill me. I had sent him some code I Googled that seemed like a possible approach, and he said it was indeed.
That's pretty darned encouraging, and I'm making great progress until I realize that the sample code is for a WinForms program, not WPF. WPF does all kinds of cool things that can't be done in WinForms, but there are a few things that WinForms can do that aren't supported in WPF (like a color picker, which caused me long bouts of profanity).
Wait a minute, though. DQ XAML Advisor Scott Ray has done a ton of WPF programs, and he must have had this problem. So I e-mail him and he says "look at SystemEvents.PowerModeChanged."
So I do, and once I get the necessary imports and event handlers sorted, I realize that I understand what's going on (holy crap). So I write the event handler code and--son of a gun--it works. I still have more to do, but I'm going to get that item off the list.
What's left? A bug where when a user launches the game in a multi-monitor setup, they can't move the game off the launch screen. That's another one that's terrifying.
Much bigger than that, though, is the continuing issue on some Win 8 machines. A few users are having crashes--not inside the game, but in Windows. So the game crashes to the desktop with some kind of Windows violation, but no crashdump.txt gets written because the game itself didn't crash (if that makes any sense).
I really depend on that crashdump file, because it gives me a window and a line number, and I can fix most things pretty quickly with that information. Without it, though, I'm crippled. And it's been a very resistant problem.
I'm hoping, entirely without substance, that creating a real install package (with InstallShield) will resolve the security permissions issue, because that's what appears to be the problem--security permissions.
I've successfully created a single-file installer (hooray), that actually installs the program (double hooray), but when I try to run the game, it just hangs (oh, hell). That's progress, though, to even get to the point where I have an actual setup program.
Yeah, I know it doesn't actually run yet. Baby steps.
One other thing was finished last week, and that's the crowd. I went back through every stadium and every crowd panel and made sure that they're lined up exactly. It was a whole lot of one pixel left, two pixels right, and it was 10+ hours of tedium, but the crowd looks excellent and nothing looks off.
Fredrik sent me a more human looking crowd, but there were issues I couldn't get sorted out, and I missed the crowd looking like individual cards. Then I tried 2X as many fans in a section, and I missed the size of the old fans. So the fans are done. I like them and there won't be any more changes.
I also think I'm backing away from night stadiums. It was a nice idea, but getting the lighting to look just right is hell, and I can always add them in a free expansion (which already has a few other items I'll be working on). In general, though, I need to stop using adding something as an excuse to delay finishing the game.
It's comfortable to be working on the game. It's not nearly as comfortable to ship it, which might not make sense, but it's a strong feeling. So I have to force myself to go forward, not sideways.