Fuji 0.7.0
Fuji 0.7.0
It's been quite some time, but 0.7 is out! The wait was well worth it, though, since this release includes some of the most anticipated changes so far.
🗻 A New Logo
@h3llo-wor1d has generously gifted us a new logo! It's a clean, minimalistic mountain icon that is pleasant on the eyes, and you'll begin to see it starting with this release. Thanks! ^^
Highlights
🕹 Rebind Controls In-Game
Previously, Fuji only supported rebinding controls via manually editing config files. Now, we've added support for rebinding your controls from within the game! Both controller and keyboard are supported.
🛠 Mod Input API
With 0.7, modders can now properly create their own input binds. Fuji will provide an easy API for setting up your own inputs, which will also intergrate seamlessly with the new control settings menu.
✨ Lightning-Fast Asset Reloading
Asset reloading has been optimized by making it smarter about choosing which assets get reloaded, leading to time improvements of sometimes 500% and beyond (tested with around 10 mods enabled).
It is also now possible to disable automatic hot reloading in Fuji Settings
.
🖥 A Fancy Splash Screen
Fuji has been outfitted with a new splash screen that displays on startup. This screen will inform you of current mod loading progress so you aren't left in the dark.
🔬 Debug Menu Improvements
Thanks to @echoslabs, the Fuji debug menu has been powered up. Starting with 0.7 it is possible to edit every single property of any actor in the world, as well as removing actors entirely.
Other notable improvements
- We're opening up easy access to the rendering pipeline for mods, starting with the
AfterSceneRender
API. It is called when everything else is finished rendering, allowing for overlays from mods, such as custom HUD elements. - Implemented an option to open the game's appdata folder.
- Implemented an option to toggle v-sync.
- For custom skins: color fields now support hex color strings!
- Added new button icons.
- Improved logging, logging is now handled by a central helper class. Also adjusted some log strings
- It's worth noting that 0.7 alters a bit of vanilla code to better handle multiple player actors. Mods should now prefer reading/writing
World.MainPlayer
overGet<Player>()
. Added aPlayer.DoUpdate
field on player actors that does exactly what it says.
Less notable changes, bug fixes
- Backend changes to how cli arguments are parsed, moved it to a helper class. Accessible with
Game.Instance.AppArgs
. - Code maintenance. Added regions to some particularly large files.
- Improved our release process to make it easier to run builds and generate releases.
- Initiating manual reloads works a bit better now: you can press F5 for a quick pass, or ctrl + F5 for a full reload.
- Background changes that make mod loading more stable (thanks @psyGamer)!
An Overdue Apology
We'd like to dedicate a quick apology to everyone who was expecting the update to come out by mid-May as we said. Between distractions and lack of motivation, it took longer than anticipated to get 0.7 finished up. Hopefully the cool new features can make up for it, and thanks for being patient!