SBQ Weekly 3.0f wip (Patreon)
Downloads
Content
Alright we got the linux build this time! I have no idea if these work since I just built them in the terminal as I don't run a linux desktop, but it should be fine, the macos version works, so there's no reason the linux one shouldn't
if you downloaded the linux build last night, I had forgotten to make it build release and not debug, I've replaced the files so it should bw release this time
anyway time to note changes between this one and the last in a more extensive manner
engine first!
a lua invoke hook was added on loungeable entities when a control is pressed and or released, so script can respond to input immediately rather than waiting until the next update cycle and having to query all the inputs to know what was pressed and compare to stored values for what was released and all that bullshit
shift and interact were added to the control inputs that lounge seats pick up, interact it only picks up if the seat is non dismountable
the loungeable entity class was reworked in general, so it can be used by more entity types and have all the functionality it should have, rather than only the full functionality being present in vehicles
players and npcs inherit the loungeable entity class so now we don't need invisible vehicle entities to hold their prey
lua binding for the engine function fetchJson that already existed which is superior to assetJson because one can give it a filepath and a relative path, and it'll auto detect if it needs to be relative to root or the the relative path given, wow!
Zygan implemented having the game not throw a fit over trailing commas when parsing json
lua binding to mcontroller to get the area of one's hitbox, as well as world to get the area of an entity's hitbox, if it's a valid target
canvas click callbacks in GUIs now also detect if shift ctrl or alt were held when the click event happened
player inherits the scripted entity class now, and has two new lua bindings, setScriptContext, which sets which generic context is to be used, and then callscript this is, useful for guis interacting with the player's lua script contexts without having to use entity messages
added sb.jsonParse as a lua binding so one can actually parse json strings back into data in scripts
loungeables won't throw a fit if their anchor part to their lounge position is missing anymore
loungeables have a bool on their lounge positons to make it handle the drawables of the lounging entity, therefore removing the need to have the entity slide between two render layers of the loungeable, and lets the lounge entity be drawn into the animator of the loungeable with proper transforms and zlevel applied
the frame properties in the networked animator can be used to interpolate transformgroups and part transformations
root.getConfigArray a function I added mainly for myself, because I liked to get arrays of filepaths to json configs to merge together, something I was previously doing in the lua scripts but I thought "fuck it, it's useful, engine function"
added an "any" damage team which hits anything regardless of pvp, mainly to be used for non damaging projectiles such as the size ray and potion dart gun
in the process of adding that damage team, I greatly cleaned up the original code handling damage teams, the if else mess there made me want to vomit
added another property to the lounge positions to hide the occupant
made sb.json merge take any number of arguments to progressively merge together, like how the engine side function works
OK so that was all the engine side changes summaraized
now for the functional changes to the mod itself
sbqOccupantHolder is used nowhere anymore by the player, vore is now being handled entirely on the player entity itself
the new SBQ_vore_main.lua script is handling a good amount of what the old scripts originally did in a fraction of the amount of code, it's around 900 lines long right now, in comparison to the old code handling everything which totaled around 4800 lines of spaghetti
the vore animations are now taking advantage of the new features of the animator listed above as well as just being part of the player entity, things still need polish but I'm working on functionality mainly first
for now, settings in the new version and the old version are entirely seperated, I may be having a way to inherit old settings at release but I won't care about it until then, players can access the settings via the Neo SBQ settings in the toolbar, that menu is essentially just for debug purposes right now and isn't meant to look pretty
right now all you can really do is eat prey and let them back out, but it's so much nicer under the hood and looks much cleaner
A lot of the code handling the TF dart gun and the size ray was also replaced to make them function better, the TF gun also uses the potions as ammunition now, if you missed the potion will be returned when the projectile respawned
NPCS and monster should now be halting their behavior when they're in a non dismountable seat such as in vore, so that should improve performace a bit
things I am aware of, NPCS do not use the new system yet and are going to be broken, nothing struggles when you are using the new system and you cannot struggle, and nsfw parts won't show up yet, but all will be added back in in time
I may have forgotten some things, but thats all I really want to type out right now