As a whole, there hasn’t been a new release of the Fetish Master engine for ages - the in-progress 0.99 code was uploaded to GitGud back in 2017, and the last full release in version 0.985d was over six years ago. The git version has engine changes that break a number of mods, and some half-implemented features left some core functionality flat-out broken.
If you scroll through the Fetish Master subforum, you’ll see that I’ve already got my own version of 0.99 well underway, with a number of new features and bug fixes, but it also breaks mod support even further in some instances. It’s not a great base for people who want a stable install of every mod they can get their hands on.
Instead, I’ve put together this ‘Legacy Edition’ - a version of 0.99 that should support all the mods that worked on 0.98, while adding some of the bugfixes from newer releases, all tested to work with newer versions of Java than what the original game supported. As a bonus, this version includes a slight graphical overhaul and optional dark mode toggle by implementing FlatLaf theming. A rundown of major changes can be found below.
Proper event merging for multi-mod supportBy default the engine allows mod writers to append to events (like *event.walk*) by adding their own event such as *event_1.walk* and choosing to merge down. If two mods that extend the same event are installed, such as *event_a* and *event_b*, the 0.98 engine will show the same event twice instead of two different events; if three mods modify an event, one choice will show up three times, and so on. 0.99 fixes that, but none of the official releases ever did.
Support for OpenJDK and other Oracle alternativesPreviously, running the game on certain versions of OpenJDK Java runtimes and other non-Oracle versions of Java would throw an error at startup due to an external library doing different things on different versions of Java. The game should now run properly on any Java distribution, as long as it's Java 8 or above.
Use standard .organ files instead of hard-coded organsOne of the bigger changes in 0.99 was that all the organ files were written directly into the engine, rather than being loaded from the gamedata folder. While this is faster, it means that editing them would require editing and redistributing the game engine itself; this isn't a feasible solution for mods that heavily edit how body parts work, and breaks entirely if you want to use two such mods at once. This version still has the hard-coded organs, but will only use them if the necessary files can't be found in the gamedata folder.
Alternate themes and dark mode supportMost of the game's interface is drawn based on the Java defaults for your system, which means a gray color scheme for Windows users and hopefully something matching your GTK theme for Linux users. By default, the game now uses a flat, light-colored theme from FlatLaf, with a toggle on the splash screen to use a similarly-flat dark mode. If you miss out on switching before starting your game, or if you want to switch back to the light theme later, you can freely switch between the two from the save screen. Note that your choice of light or dark theme isn't actually saved in your save file; you'll have to switch every time you start the game up. Sadly, Linux users will lose their fancy GTK-matching color schemes unless/until I add a button for system default skins.
Tweaks to panel layoutsSome minor tweaks have been made to make certain editor windows a little more functional; namely, the character editor's DNA editor panel and the item editor's script/description editor boxes have some support for panel resizing, and the character editor layout as a whole now features more space for the gene list without altering the overall window size. The gene list in the character editor is also alphabetized on load, except in certain edge cases; pressing the Refresh button in the editor should fix this.
FM Legacy Core (v02) - This zip contains only the dist folder, for people who want to drop it into an existing installation.
FM Legacy Full (v02) - This zip contains a full version of the game based on 0.985e, with the updated engine installed. No other mods have been installed.
The password is fmaster for both zip files.
You can view the source code for this release here.
Caveats, warnings, etc.
This won’t work if you’re still using Java 6 or 7, because the theming library requires Java 8. Honestly you should probably be running Java 8 or newer just for security reasons anyways.
This should work with all existing 0.985e saves, but it’s always good to back them up first. I haven’t tested this extensively.
This is not compatible with my 0.99 engine, and will likely break saves if you’ve been using any other versions based on 0.99.
Do not use the dist folders from any other mods alongside this one, as it’ll overwrite the core game engine with an older version. This is probably only an issue with Maternal-Reads’ mod.
You may see warnings about illegal reflective access operations at startup on newer versions of Java. This is normal and (currently) won’t break anything.
As always, if something goes horribly wrong, just let me know and I’ll see what I screwed up this time.