-
-
Notifications
You must be signed in to change notification settings - Fork 10
StarExtensions Guide
When modding Starbound, one of the biggest letdowns and limitations is the game itself. Meme all you want about it's proven highly questional development history or other potential reasons for the sorry state its in, but more often then not the question "Why?!" comes up - and the answer is simply "because it's Starbound." Enter the scene, .dll mods. Opposite to what is supported and inteded to be used within the game, these mods modify the game itself by hooking into and overriding the C source code of the Starbound executable. This allows for fixing sorry mistakes left behind, removing limitations and adding whole new features to the game that then, in turn, can be used by normal mods. Like Sexbound.
One of the biggest, most well-known and still actively supported .dll mods out there is StarExtensions
. If you already know about this mod, or maybe even decided long ago to use it yourself, I'm not gonna tell you anything new or useful. If, however, you are here because you are considering picking up that mod solely because of Sexbound, continue reading for a few bits of insight, explanation and advice.
The Lua environment and whatever Starbound adds to it to give modders access to are limited. However, with this limitation comes a sense of security. Unless you manually turn on "unsafeScripts" in your Starbound config - don't. Like, seriously, don't ever do that unless you are 100% sure of what you are doing, and have 1000% trust in every single mod you installed - the worst harm a Starbound mod can do is corrupting your savefile. Any and all methods that allow access to read files outside of the Starbound asset scope, let alone write any files to your PC, or worse yet access the internet are blocked and inaccessible. Similar safety restrictions do not apply to .dll mods. When dealing with those, you have to treat them like downloading any random executable file from the internet. Do you really wanna do that?
On top of that comes obscurity, most directly created by the closed source nature of these mods. While there is a good reason as to why people don't publicly share their source code changes made to a commercial software, this still means that noone except for the creator and potential collaborators know what's actually inside. With any normal Starbound mod, worst case scenario you un-pak the mod, look at it's script files and find some minified code that takes some time to understand - but you cannot hide anything in the long run. A .dll is a compiled piece of code that noone can ever fully read.
Of course, I am not saying that StarExtensions is a virus. Too many people using it have voiced too few complaints for there to be any proof based suspicion. Just giving a general warning on how to behave in the internet, so that you yourself can make an educated decision on what you are and aren't willing to accept.
Now, after this all these horror stories and scary words of warning, let's get to why we are even here. The benefits of using StarExtensions. Besides a variety of QoL improvements, fixes and custom features this mod adds, as of recently it also started implementing fixes and tools that benefit us modders - some of which I'd like to believe I even personally influenced because I requested them to help the future development of Sexbound.
In the most likely usecase you are currently here reading this, because you wanted to do something about the small NPC kids of Sexbound Reborn looking like nightmare fuel, and I or someone else told you that "StarExtension fixes that". Indeed, StarExtension fixed the nonsensical oversight in Starbound's code and switches the sprite scaling for canvas scaling; meaning that when the NPC gets shrunk down, instead of literally scaling the already only 43x43 sprite to an even smaller image, the rendering canvas is shrunk down instead, keeping the original sprite intact and making this cursed creature look humanoid again. On top of that it enables things that would otherwise be impossible like varying thrust sfx.
And we haven't even talked about all the new Lua table functions made accessible - first and foremost, StarExtensions enables editing the player post-creation. That long, tedious and error-prone process of editing your savefile to change something as simple as your hairstyle or -color? Yeah, that's possible in-game now. This also means stuff like editing your gender for sex and aesthetic purposes is possible now, and maybe even persistent visual effects like an overworld pregnancy sprite! Or access to the chat, so we can declutter all those big SAIL notifications. And naturally I can't talk about all the other options yet that I haven't even considered using so far.
...do keep in mind though, that most if not all of this is currently unused. It maybe used, potentially even required, in the future when these features get developed, but for now it's just a possibility.
Now, let's address the biggest issue. StarExtensions itself. Opposite to what it could be, StarExtensions is a full content mod. Meaning it adds a lot of stuff, if you particularily want it or not. And due to the... nature of the creator and their loyal fanbase, you can roughly expect one uncalled for meme embedded for every actually usefull feature. E.g., by installing StarExtensions you install an entire version of Googles TTS engine, which is by default used to give Glitch characters a literal voice when talking/chatting. You also install a full proximity voice chat and a notably big image library of Twitch meme emotes. Do you need that? No. Do you have a choice? Some of this can be turned on by complicated means in-game, as there are still no dedicated settings for this mod, other's not. The body dynamics for example, which are technically normal assets, but hard-embedded into the .dll so you can neither view, edit or remove them.
If you are like me, and solely want StarExtensions for the modding potential it gives to mods that actually add great stuff, then you are essentially installing a free Anti-virus downloaded from Chip that doesn't even offer to opt-out of the three toolbars installed in your browser, and the change of your browser landing page and default programs to their own stuff. And you reasonably do not want this.
Luckily, as I mentioned before, while not completely avoidable most stuff can be configured one way or another in-game. The following is a guide on how to setup StarExtensions to be as non-annoying as possible.
Under construction