So incase it wasn’t obvious … I’m in recovery mode from the conclusion of 1.31 that saw me working on 1.30-china, 1.31-US and 1.32-rebase, all at once, and with the ever-so-slight possibility that the cell hosts were not going to work at all…
(kfs1 = leela, gophur/rafter/Happyoo/docdoom/bloo = fry)
So I’m not actually assigned or working on my 1.32 stuff yet. I spent Saturday setting up a Doxygen project for the code, and re-working some utility modules to help with game parallelization that I started on a year ago. Spent Sunday merging my last months worth of 1.31 changes back into the baseline, and then realized I also had to merge what I’d just done.
Today I’ve been going through tickets, looking at the Mission Results Pending issue. I had a hunch it was a client issue originally, but this is what client coders look like if anything even vaguely smells networky:
I’m probably going to be very ashamed of the way I’m going to fix it… But it should be small enough that it’ll be viable for another 1.31 patch rather than making you wait for the real fix in 1.32.
(It’s caused by the client repeatedly trying to despawn while its in the middle of despawning, at some point, somewhere in the client code, it finally notices that it’s already tried, determines that it must have failed if it’s trying again, so it cancels “the” attempt, i.e. all of them. As a result of which, it carries on trying to talk to the game world servers rather than the map mission server, because [i]it[/i] doesn’t think it despawned. My fix is going to be to write a nasty hack that sits in the despawn code without coming out until it HAS despawned, it’ll cause a client freeze for a second or so, but personally I’ll take my client freezing for a second over Mission Results Pending, Have A Nice Trip To the Desktop anyday).
And this evening, for fun and giggles, I rattled out a bunch of Lua code that will allow us to implement “Victory Conditions”. It’s not really anything special except that this is the first time we’re doing a game-management system from within the game rather than the usual arsing around with the Gazette like we do for RDP.
I consider it a proto-type for production to start speculating over … but usually when I rattle these “lil’ scripts” out, they run out of the box and work for a long time (just ask the HC officers who’ve seen me knock up a script for them at 4am in the morning :)