Before the changelog, a note from Gedan:
If you’re wondering why there seem to be so many issues lurking around every corner, here is a little insight into what has been happening:
What doesn’t work though is “Cyclic Dependencies”, essentially when two different files in our codebase reference each other either directly, or through a chain of other files. In AS3 this didn’t matter, and over time, a lot of functionality was built around the fact that it didn’t matter – we have a lot of system manager classes that manage unique descendent processors, but those descedent processors sometimes need to reach back up to the system manager to execute defaults or shared functions. Whilst this would just work under AS3, now we need to fix it, either through dependency injection or removing the cyclic calls, or crushing all of the cyclic calls into the same file.
Fixing cyclic dependencies lead me down the garden path and resulted in me completely reorganizing all of the game content files. Doing this has allowed me to slice up the games content into blocks, called modules, that can be compiled and loaded independently from each other – the idea here is if we don’t make changes to the Tarkus module during an update, then the Tarkus module doesn’t need to be changed at all, then if you browser has a cached version of that module from the last time you played then it’ll be pulled from there…. There are caveats to the caching, but that’s a conversation for another day! What’s important is the fact that we have modules, not all the modules will be available, and we spent a long time implementing things assuming it just ended up as one fat bundle of code. With modules I’ve been able to turn off the ones that aren’t stable enough yet for play, which in turn hides those planets from the Fly menu – but there may be support functions of various types that are in those modules that needs to be moved around. A lot of them have been caught and shifted, but not all of them.
addButton(index, "Button Name", functionToExecute, argumentsWeMightWant, "Tooltip Title", "The bulk body of the tooltip we want displayed.");
addButton(index, "Button Name", () => functionToExecute(arguments, we, want), "Tooltip Title", "The bulk body of the tooltip we want displayed.");
A subtle change, but this was a decision I made early. I think in the long run that it’s going to be beneficial to building future content but it means changing EVERY existing addButton call across the entire game, and sometimes the functions on the recieving end to change them from expecting an array stuffed full of arguments to seperate parameters.
The way our map data was structured has bugged me for a long, long time. It was already set in stone pretty much by the time I came on board and I didn’t want to rock the boat without a good reason. The good reasons have been found over time, and whilst the task was going to be monumental to fix the structure that we had used for a couple thousand rooms so far… I bit the bullet and went for it; so much of the games code is already having to be retouched anyway, that throwing the map structure on the pile is just a bit more work again. This has afforded us the ability to performantly display much larger areas of the map – in the past, our little limited 7×5 view was purely constrained by the processing time of updating the display, but now things are fast enough that we could render the whole planet map and use it as an interface to move around if we so desired. I did a little test to satisfy my own curiosity this week and, well…
Made it through all that? Good. This is Fen, and this is the changelog my exhausted brain barfed out.
TiTS-JS Changelog (#1131):
- Several fixes were applied to how child/birth data is stored. As a result, children stored at the nursery previously had to be reset.
- Work on a “click-to-move” system for the map has been started by Geddy. It’s not available in these releases yet, but a lot of under the hood work was done toward that possible goal.
- Aliss’s sex menu is no longer automatically unlocked. The tooltip for the disabled button now shows a useful hint for how to unlock it. Aliss’s lust gain when trying on outfits will also be displayed (as well as her current lust). Additionally, after unlocking sex with Aliss, she no longer has a minimum lust requirement.
- Corrected the formatting on ~80 of Siegwulfe’s button prompts that could potentially cause crashes, though I am aware more bugs remain…
- Fixed a crash with lapinara pregnancy.
- Various small UI fixes for inventory systems.
- Fixed a crash in Bianca’s fingering the PC scene.
- Fixed a crash in the combat menu with the sense menu.
- Fixed possible goo armor crash.
- Fixed possible Ardia crash.
- Lots of updates and fixes for Amber.
- Lots of updates and fixes for Mitzi.
- Corrected “hasCockSock” having its arguments set up in the wrong order.
- Milk thief crash fixes.
- Zaika hydra crash fix.
- Gastigoth crash fix.
- Two Syri crash fixes.
- Cleaned up bonus menus in Myrellion so they don’t crash when we release it.
- Fixed a crash with Erika.
- A ton of buttons that use the various bodypart routing utility functions have been updated & fixed (58 changed files)
- Starchild crash fix.
- [pc.goin] -> [pc.groin]
- Several fixes for the dong designer.
- Fixed a duplication issue with strange eggs.
- Fixes for the maxOutLust utility function.
- Getting throbb from crew Penny should now unlock the Codex entry for it.
- Fixed many calls to “loadInCunt” having their arguments in the wrong order.
- Fixed an Anno crash.
- Fixed some inventory-related bugs.
- A bunch more fixes.
- Even more fixes for unreleased content (Uveto, Myrellion, etc).