ID:2737867
 
This week has rushed past, and unfortunately I did not put out a new maintenance release as I had planned. But, I offer this excuse: one of the major bug fixes broke something that I discovered in testing last weekend, and since fixing it and also dealing with other bug fixes, I realized I need a smidge more time to button up and test a little more. Even then I'm still likely to mess something up, but I really, really didn't want to risk a release today and jinx it even worse.

Some of this also has to do with more refactoring. I discovered a lot of cruft that came into the picture way back in 490 is basically hanging on by just a thread, and if I can clip that thread I think it's a potential boon to performance and should drastically simplify work I'm doing in 515 as well. But I want to make sure I do adequate testing after that's gone so none of it is messed up. There's apparently a lingering issue someone has noticed with big icons that relates to this (but it hasn't been reliably reproduced yet), and I wonder if my cleanup efforts will make it go away.

Actually though the delay has been partially beneficial because I finally got to an issue on the client that turned out to be a really big deal. Moving atoms were not behaving properly on the client, and this is a bug that goes way back. The bug probably became more pronounced when client.fps became separated from world.fps, but it's actually always been around and should even be possible to replicate in very old builds. Yikes. It probably didn't appear very much because it was generally self-correcting and there were lots of ways to accidentally lessen the issue or make it go away.

Switching gears back to the 515 beta, I had an interesting conversation this week about the optimizations done in for() loops for view() and oview(), and also for block(), and it turns out there's no similar optimization in place at all for other procs like range(), hearers(), viewers(), etc. This is not great, so in 515 I intend to add some improvements along those lines. I'd like to be able to do a similar optimization for grabbing an entire view() list and filtering it by type, but that turns out to be a bit of a syntactical nightmare so it might have to wait.

Because next week is a short week, I definitely want to get the next maintenance release out early, so it may even be this weekend. After that I really need to focus on assessing where I'm at with 515 and button up anything that I've left too far open, like the blend_mode issue for RenderIcon() or the map editor that now can support further enhancements but doesn't yet.

If you haven't become a BYOND Member yet, we still need your support. And to those who've contributed in that regard or through Patreon or SubscribeStar, my sincere thanks.

We're coming up on Thanksgiving, so as I mentioned there's a short week ahead. Next week's news will be on Wednesday. This is the BYONDiest time of year for me, because it reminds me of great competitions and holiday down-time gaming. So mak gam and get playing, and make this year one for the books. After last year the bar is pretty low anyway.