It's been an eventful week, in a good way. I finally got out the long-awaited update on Monday to put up a lot of the map editor fixes and changes I'd been working on as well as the bug fixes that had piled up, and yesterday I followed that up with another bug fix release to address the inevitable issues that came out of that—and one server bug that was new to 515 but has been hanging around a little while.
In between those releases I made a decision that I hope won't bite me in the butt, where I changed how turfs get selected in the editor so they act a little more like movables. The way turf and area selections worked before was by creating a selection rectangle with just those layers, but for a number of reasons that was pretty bad. The change should be more stable going forward, with the potential for popping up a couple of minor issues in the short term. So far my own testing and going over other reports hasn't revealed any of those short-term problems, thank goodness, apart from one that I fixed along the way. (And the bug I fixed along the way might actually close a bug report I couldn't reproduce.)
I know the map editor will have more to do, but I think for the moment I'm hopefully in a good place to get back to SendMaps threading. In fact I already have. In part I was already planning to do that because I needed to get back there, but also I was freshly reminded how important this is to games like Eternia and SS13. AffectedArc put out a great video the other day explaining the issues of SS13 hosting for those who haven't done it before, and I know that community in particular is anxious for that feature to get off the ground.
Last night I was able to run a one-user stress test on map threads with—what else—SS13. (With one user it wasn't really a stress test, but I figured SS13 was way more likely to do things my kitchen-sink test project didn't show.) That popped up a thread violation in the debugger right away, so I was able to identify that and figure out what I need to change next. It should be a small issue to fix, and then I'll go back to testing more. The real test will come when I start getting some test builds to server owners, and this actually starts trying to work as intended for large player counts. My main concern, beyond the immediate fix, is making sure any memory allocation is kept to a bare minimum since that's going to interfere with threading operations by having them all compete for the global mutex. Really I'm very glad I got this into the state I did before Christmas, because it makes the work from here a lot easier.
Nor have I forgotten the plan to work on better external library support. I have some partial code worked out for an API for passing values back and forth more robustly, no longer requiring everything to be converted to and from strings, which should help a ton. It's not my immediate concern but it's on the radar, and I've been dusting off that code in preparation.
I want to thank all of you whose contributions through Membership and our other donation platforms help keep all this going, and especially I want to call out Rocket2guns for showing extraordinary generosity lately. But all of you, truly, are hugely appreciated.
Next week: The forgotten beast Spitelonesome the Whips of Hallmark has come! A huge amorphous blob with thousands of tentacles, composed of glitter and chocolate. Beware its deadly webs! I probably won't make a cake this year. Probably. Not gonna lie, though, it was a really awesome cake.
ID:2853972
Feb 10 2023, 11:27 am (Edited on Feb 17 2023, 10:34 am)
|
|