6th August Update
Why hello there, fancy seeing you here at this hour. Did you miss me?
Another day with a bunch of little things. Believe it or not, most days are actually like this for everyone (well, my day was a bit busier than most, but in general this is about average).
Today I started out the day fixing up some derpiness I did from yesterday (I left some console spam in, so I had to remove it, debugging print statements).
Then, I fixed an issue with the Fuel Bars not showing up, because the widget wasn’t setting its own size correctly, and was therefore being completely skipped in the draw (because it said it had nothing to draw) because of a recent optimization.
Next, I turned my attention to the ActionBar again. As probably mentioned at least one place more obscure than the front page, we’re going to try out making the L and R slots in the ActionBar actual real slots, with various quick ways to switch between them. So I started by creating a simple Item type (Wieldable) that can be put in that slot. This particular commit may have been slightly misguided as I learned later on that restricting the items in those slots wasn’t desired. Oh well. Also in this commit is a new type of InventoryType for the player inventory and the two extra slots (which aren’t yet being used). There were also a couple of commits relating to this one where I messed up one or two things by jumping the gun slightly on some of the changes in store.
I cleaned up some code in the PlayerInventory next, and I also added the new type of slot to the utility functions while doing that.
Then, I received a few reports that input handling related to the Gui wasn’t working quite right because I didn’t make any distinction between a Hud Window and a regular window, so the Hud Windows were eating input events incorrectly. So I added that to the window manager, and also restructured how inputs are passed along to be semantically correct.
Then, I went back to PlayerInventory and fixed an outstanding bug while I was in the area related to picking up money out of a chest.
Then, I jumped back to Gui and did a few changes to the underlying widgets to set their sizes and scissoring areas correctly. And I also fixed an issue with debugging windows showing the areas of certain Gui parts to be much bigger than they actually are (which means they’re getting input they shouldn’t be).
Then, I decided all of this back and forth was confusing, so I started working on something small (which I thought turned out to be much harder than I thought, but wound up being much easier than I thought). The small thing was simply shift+click => moves items to your inventory automatically. I simply did not fully understand the semantics of some of the code, so I started doing crazy pointless things.
Next, I got a report that there were still some bugs with ActionBar involving the L and R slots (which are still working in the previous rather than the new way). I fixed those bugs. Then fixed another bug I noticed.
Went back to the shift click thing, committed my work, and then Bart let me know that I got the semantics wrong (as I mentioned earlier) and it wasn’t nearly as complicated as I thought.
What about the rest of the people?
Kyren started off the day by locking tiles under major plants and objects (like trees, and chests), and preventing them from being removed or damaged until the anchor is gone.
Then she created a commit that would cause the game not to crash if it loaded an older version of the Player file (yay). She also cleaned up some smart pointers that were being held onto for no good reason and effectively leaking.
Then she did some bugfixes to the change mentioned earlier with locking tiles if they have major objects rooted above them. Some tiles were locking incorrectly.
Next she did some profile guided optimizations to the Dungeon Builder, avoided some pointless reallocations, which is always good. She also reduced the memory footprint of the game by quite a bit.
Seems less, but probably more work actually went into her stuff than mine. Mine was all little stuff today, whereas the locking block thing is a big feature, and mostly non-trivial.
Bart changed how the Matter Manipulator gives damage to a block. Then he added a bit more flexibility to the damage radius of various tools (instead of 1, 9, 25, we can do 1, 4, 9, 16, 25).
Then he made multiple placement of blocks actually the default. Dunno how that’s eventually going to wind up, but it seems reasonable.
After that very small commit he made a significantly larger one dealing with the order in which some things were rendered in the tile placement previews and a few other things.
Legris did a bunch of work on hueshifting in the sky. Trying to get all of this looking good. Then he went on to change the desert parallaxes. And made some modifications to the planet’s clouds.
Speaking of parallax, Rho changed up the Snow parallax today as well. Also, removed a left over Eddie Murphy laugh ogg file in the code base, and then added some new smashables.
George spent a lot of time on UI work. You guys have probably already seen Tiy’s post about it on the forums. We’re deciding how we want to organize the UI in terms of all of the dang bars everywhere.
Finally Tiy did a whole bunch of stuff (like normal), he tweaked the sky colors with Legris, then he all of the missing biome drop configurations which tell our engine which items go where in chests, out in the field, etc.
Next, he added a completely new minibiome, then there’s a few commits after that where he tweaked some stuff in it.
All in all, it was a productive day here. Maybe a bit more than average, but nothing crazy out of the ordinary for our crunch times.
I know that sometimes it seems like we’re not saying much about the updates. Putting together posts like this does take quite a while though. And it’s of course more important that we get as much done on the game as possible.
Hope this helps give a little bit of an insight on crazy sorts of days that we have.