With the help of a couple of people on twitter (thanks Jim & Ciro) I've found a bug in Zaga-33. On OSX/IOS threads are all POSIX-y and "pthread_mutex_trylock" returns zero on success, or a number indicating the type of error on failure. The equivalent Windows function call TryEnterCriticalSection returns zero on failure. I'd missed this distinction in the docs and treated them as both having the same return value. Because threads are fun and unpredictable this was fine for a while until the IOS update changed something and made it not. But it's fixed now and hopefully that's the only problem and I can finally move on. (It'll be a week or so before the update's live because hey appstore.) I'd used the same code in a few other things. 868-HACK had it, chances are that's what was crashing it intermittently on OSX for some people so I've updated that now. Could be the same thing is in Vertex Dispenser because someone reported a crash there, I'll try to get that compiling again sometime and see.
Something else I've done in 868-HACK is add a new scoreboard, only showing active *STILL RUNNING* streaks. Lose a game, lose your place on the board. I'd meant to do something like this all along but Gamecentre on IOS doesn't support score removal and I really couldn't be bothered rolling my own. Steam does allow it so that's neat. I'd considered making it the main scoreboard but I didn't want to discourage people from playing when they were in a risky position. And then I ran out of time to get it in for release but it's there now. Something that happened with the Steam scoreboards is they stabilised really quickly because a lot of people who'd played on IOS came over with their year of practise and knowledge of all the tricks - which maybe discourages newcomers from competing. So hopefully this will be a more dynamic scoreboard, I don't know. At least it'll be interesting to see what people are doing. Access it by going to steam streak scores and select CURRENT instead of HISTORIC. Note that it'll take a while to populate, anyone who's not played since the update won't be listed yet.
Something that suprised me is that Steam sales, after the initial burst, very quickly dropped down to less than IOS. (~4-10 a day vs. ~10-20 a day.) I mean, this is more a matter of the IOS sales being surprisingly strong than PC being bad but I think it's odd? I would have expected the platform it's been out on for a while would be tapped out and the new one would continue steadily for a while. Not the biggest deal since I am funding my existence, but probably I could have better spent the time making a new game instead of getting hung up on ports. (Yeah just shut up about androids or whatever.)
Anyway just trying to get all this kind of stuff sorted before I start living out of a backpack and don't have my old hard drives handy. SMESPORT will be on hold because I won't have controllers to test with, I've barely worked on it for months anyway. The new thing is coming along well and hopefully I'll be able to keep making progress on that.