SBQ Weekly post (Patreon)
Content
I didn't upload friday or yesterday, but I still need to make my weekly post probably
my partners are making me aware I'm, kinda working crazy hard on all this and I need to chill a little bit
main reason I'm working so hard is, so much is broken and I need to do so much more work to get it back to the level it was at before, so I think I'm going to allow myself to relax a bit more and I'll do the actual progress uploads on a bi-weekly basis but still make text posts explaining what is in the process of being worked on
Engine changes this week,
made some more misc refinements to how the new player/npc animator is handled nothing too major there
I made the mcontroller support flipping the hitbox whenever an actor switches their facing direction, this is important for letting characters have asymmetric hitboxes that still match their facing direction, all existing hitboxes ingame are symmetric so this shouldn't change anything major with them, and I don't think any mods would have been adding asymmetric ones since this feature didn't exist before, more info on why this was necessary getting to the sbq content changes
the c++ engine side version of sb.printJson() had an optional third argument that was not passed by the lua hook, which I made get passed, the third argument was to sort the output by keys, it's not incredibly important but makes data printouts to the log easier to read as they'll always be in the same order rather than the entries in whatever order the game felt like
activeitems now have lua hooks to modify their displayed name and description while they're in use, so those can change without having to drop and pick the item back up or reload the character
the lua hook allowing one to set the icon for an activeitem was modified to be more inline with the behavior of how icons can be defined in the config, in which they can be a list of drawables rather than just a string for an image, this change remains compatible with the pre-existing use of the function
root.assetExists which I added previously now takes an optional second arg for a relative path
the way the game loads patches was overhauled somewhat, it still processes patches in mostly the same way as before, except now the code loading them is quite a bit cleaner, new functionality comes in that it's a bit more flexible and processes the arrays in a recursive manner, so now it can go down more than 2 levels, as well as also being able to provide a reference to another file for patches to reference data from, they can't modify the other file however, only read it's data
NPCs use a thing the game internally calls a "dance" to do a number of things, one you'll probably remember is when they wave at you or warm hands by a fire, these are handled in a very inflexible manner, so I added a way for species to have a version of each "dance" unique to them defined in their animation config
also, there were some old ass players in my storage folder that were ancient, and couldn't be loaded because I'd since added mods that changed the hotbar and inventory size, it was annoying me seeing the errors of being unable to load them, so I just kinda, fixed that issue, it was incredibly simple actually, just like, 16 lines of code added across a few files to simply do sanity checks when loading the player data, resizing the inventory arrays to the correct size and dropping any overflow items on the ground when the player loads in
as for content changes
I wanted to do something fun for me, and to show off capabilities of what can actually be done with custom races now, so Auri is getting a, bug rework, I'll make a separate post dedicated to that
the sbq controller had basically all it's old code ripped out and replaced, it's so much more dense, the radial menu is mostly unchanged I just had to change how it output it's data, but it's funny since the radial menu was one of the first things in the mod, and it didn't need much updating, but the controller itself now uses the aforementioned new lua hooks allowing items to change their name and description to make sure it's accurate to the current assigned action
the action select also now properly lists only the actions available to your current state, and if one does happen to pick up a controller assigned to an action you don't have, it will say it's unavailable
the Grab action was re-implemented and now should work for *any* player species! even ones that don't support vore animations yet! it will also work on *any* actor entity that you're allowed to grab, I'll probably set it so you can't grab entities bigger than you without some sort of strength booster, but it's very fun to just grab things and carry them around
the process of ripping out the old code on NPCs for handling vore has begun to bring them into the new system, but of course its not done yet