Versions/AP-398142

Update Information
Hello friends!

Today we're releasing a new free content pack, Bahni's Automation Innovation Pack, available automatically as part of the game! This includes several new sensors and automation buildings, as well as improvements and bugfixes to many of the existing automation buildings. These new tools will let you increase the effectiveness of your automated contraptions, improve your control and awareness of colony operations, and maybe even let you express your creative side.

To help you get started on this computer-controlled journey, we've introduced Sweepy, a sweet robot caretaker to help you keep your floors tidy and dry! Not the brightest little bot, but it'll get the job done.

And of course we're continuing to hack away at bugs and work on performance. In case you missed it, we posted a new Roadmap a few weeks ago that explains what's been happening and what will be happening with ONI over the next little while, please check it out.

Thank you as ever for your feedback and bug reports, we appreciate them so much!

New Features and Notable Changes

 * New Automation Sensors
 * Counter Sensor
 * Timer Sensor
 * Wattage Sensor
 * Conveyor Rail Sensors
 * New Automation Ribbon allows sending up to 4 signals along a single tile
 * Ribbon Writer and Ribbon Reader convert single-signal wire to ribbon
 * Mixing single wires and ribbons causes a signal overload
 * Signal Selector and Signal Distributor for automation routing
 * New Automation output buildings
 * Pixel Pack
 * Hammer
 * Notifier
 * Updated artwork for Automation Gates to make their function more concrete
 * New Sweepy Bot and Sweepy Dock
 * Liquid Vent, Gas Vent, High Pressure Gas Vent, and Conveyor Chute can now be closed, both manually and by automation
 * Gas Reservoir and Liquid Reservoir have smart storage functionality
 * Added an information screen when loading old saves to warn about changes to buildings
 * Added a Solid Filter building for Conveyor Rails
 * Signal Switch and Power Switch no longer require Duplicant interaction
 * Updated Sticker artwork
 * Critter Sensor now has toggles for detecting Critters/Eggs/Both

Buildings

 * Gas Shutoff behavior is now consistent with Liquid Shutoff
 * Placing a "replacement" building over a deconstruct will clear the deconstruct
 * Thermo Sensor now behaves properly when input temperature is equal to the threshold
 * Virtual Planetarium requires the Astronomy Skill with Planetarium Researching trait. (Previously it was incorrectly set to Advanced Research)
 * Rationbox and Refrigerator are user nameable
 * Broken Automation Wires no longer carry an automation signal
 * Copy Settings on the Critter Sensor now copies Critter/Egg detection toggles.
 * Liquid Shutoff and Gas Shutoff now properly consume power when set to an OPEN state.
 * Conveyor Shutoff now consumes power in an OPEN state, not just OPEN+DISPENSING, to align with the Gas/Liquid Shutoff behaviours
 * Automatic Dispensers now consume power correctly.
 * Disease Clinic now properly consumes power when actively healing a duplicant.
 * Fix "ghost" rocket modules appearing for rockets already in space after a load
 * Doors now properly melt or don't melt in various situations
 * Remove Disable Delivery button from algae terrarium and rust deoxidizer, disabling the building can be done instead
 * Logic wires can now be replaced by different materials. Also support logic wires and logic ribbon replacements
 * Fix solid conduit contents not exchanging heat when the camera was in certain configurations

Duplicants

 * Fix a crash when duplicants try to eat an invalid amount of food
 * Duplicants will no longer forget their progress when tuning a power generator, and will be more resilient to changes in the room

Critters

 * Fix a crash when Pokeshells find an egg to protect

UI

 * Closing the Automation Overlay with previously-viewed buildings off screen no longer causes them to render behind Automation Wires
 * Fix Printing Pod now showing one of the victory conditions
 * Heavi-Watt Wire tooltip is now measured in kW
 * Fix output ports hover text using incorrect input ports string
 * Massage Table sidescreen tooltip formatting
 * Massage Table, Smart Battery, Liquid Reservoir, Gas Reservoir sidescreen tooltips now load correctly the first time
 * Conveyor Rails are now highlighted when the Conveyor View is active.
 * Conveyor networks now pulse when hovering a rail in the Conveyor View
 * Fix Temperature overlay so its tooltips update when F/C/K units option is changed during session
 * Sandbox tools save settings. Some other small sandbox QOL.
 * Changed many elements' default temperatures to 300k - this should only be relevant for sandbox tool defaults
 * Fixed several issues with sandbox temperature tools relating to user temperature unit selection
 * More buildings are brought forward into Overlay space in the Gas / Liquid conduit overlay
 * Many buildings (e.g. Gas Filter, conduit sensors, etc) are now selectable from the Gas/Liquid overlays directly with a single click rather than requiring the overlay to be closed to interact
 * Fixed issue with formatted text where multiple copies of identical strings were not being properly formatted
 * Added proper sorting and also categorization to the filter sidescreen
 * Changed the default rotation of the Memory Toggle to match the other Automation buildings
 * The "Copy" building button now copies the rotation of the selected building

Audio

 * Add a cooldown to some building noises to fix noisy bases
 * Automation sounds recover to full volume more quickly

Strings

 * Automation inputs/outputs now show the proper localized strings
 * Updated Chinese, Korean, and Russian translations
 * Change "Forever" string on the recipe select screen to be localized properly

Frontend and Backend

 * Updated the link to the newsletter to use the new Klei Account system
 * Only test for writeable save paths on Windows
 * Cap max number of logs to 10 million - this should prevent hard drives from filling up with enormous log files

Simulation

 * Fix "Flaking" bug. Tiles and doors will no longer partially melt when they get too warm
 * Fix solid conduit contents not exchanging heat when the camera was in certain configurations
 * Fix cases where doors would technically be melted but the building wouldn't go away
 * A bug causing the Automation Overlay to only update on every second automation tick has been fixed. It should be easier to see and debug rapidly-switching circuits now
 * Loading a sim cell with a liquid or gas mass larger than a million tons will cap to that max. Fixes crashes in some saves where masses were so large it was creating invalid temperature calculations

Performance

 * Auto Sweeper caches target positions
 * Performance savings for triggering sounds
 * Reduce a tons of memory spend on Line of Sight tests. On one save, this cut down on 965MB of allocations during load
 * Reduce memory allocations from testing the areas around buildings and other objects
 * Load optimization saves 10-15% of load time
 * Reduce memory allocations from reports during loading (~200mb in large colonies)
 * Reduce filesize usage from reports
 * Reduce memory allocations loading up animations (~300mb)
 * Reduce memory allocations from buildings during load (~300mb in large colonies)
 * Improve speed of saving reports
 * Improve speed of saving buildings
 * Improve startup times of some UI elements
 * Performance improvement to adding and removing animations
 * Reduced memory allocations loading and saving state machines. This reduces the save file size as well
 * Loading a sim cell with a mass larger than a million tons will cap to that max. Fixes crashes in some saves where masses were so large it was creating NaNs in temperature calculations
 * Improve Animation lookup times during load
 * Optimize auto-wrangling setting on Critter Dropoffs
 * Reduced memory allocations in Conduit system and the PokeShell's egg protection behaviors
 * Save 3-4% frame time with proper caching for Errand offsets

Modding

 * Fix hard crash when new elements are added to the game
 * Fix the weird and unnecessary warning when checking for the ModLoader.dll
 * Each mod gets its own uniquely named Harmony instance for better dependency management. (Name is . )
 * Don't eat exceptions during Mod DLL loading
 * State Machine Exceptions are now logged through a non-generic method, making hooking the exception easier