Forts/Moonshot Update 1.12

G’day Forts fans!

As you might know we update Forts every two months, roughly coinciding with the ranked multiplayer season to avoid upsetting the balance mid-season. Today’s update is aimed at quality of life, accessibility and correcting various issues big and small.

The headline item is that you can now access the options screen directly from the in-game pause menu, including during a multiplayer match. That means you can adjust sound volume, turn off weather and reactor flashes, change key bindings, etc. without ending your game.

Following Steam review feedback (yes, we listen!), tool tips for all of the buttons on the HUD and context menu have been added. This includes showing the name and details of the material or device of the context upgrade button, including for those not yet available to build.

To aide debugging, the game will now write temporary construction to the local replay. This will make it much easier to track down and fix some desyncs. Down the track this will pay dividends in improved stability.

The only balance change is that mini-guns have been removed from hanging forts to better standardise all starting forts, and to eliminate having to defend turbines from early attacks.

Reload animations have always been fragile, since they must correspond exactly with the reload period. This is no longer the case: we have split the start (Reload) and end (ReloadEnd) of the reload animation. The game will automatically start the ReloadEnd animation at the right time to match the reload period. This has the welcome side effect of making weapon reload look quite slick when the rapid-fire mod is enabled.

Existing animations with the Reload state only will still work, but mod authors are encouraged to split their animations. The last frame of the Reload state should be the wait frame, and have an extended duration, such as 120 seconds, to allow for a wide range of reload periods without glitching. See the “laser-barrel” sprite in data/weapons/beamlaser.lua for an example. Also, you can remove any script than manually updates compliant animation frame durations to target a new reload period.

Finally, a significant bug in the multiplayer pause system has been fixed. This may have at times made the game appear to lag badly.

We hope you enjoy this update, and invite you to provide feedback here or via the Official Forts Discord.


Changelist 2021-06-08

Add: options screen to pause menu
Add: tooltips for context buttons: repair, scrap, move, enable anti-air, portal switch/passthrough/disconnect
Add: tooltips for material & device context conversion and upgrade buttons
Add: tool tips for remaining HUD buttons, using existing tool tip mechanism
Add: write standin node and link construction to replay and reproduce them during replays
Add: standinreplay console variable to control playback of standin commands
Add: compact_devices command to make device ids sequential
Add: debug_workshop command to log out current internal workshop state

Balance: remove miniguns from hanging starting forts

Improve: reload animations can automatically adjust to ReloadTime, and don’t require new sprites for commanders
– split reload animation into Reload & ReloadEnd, trigger ReloadEnd automatically at the correct time if it exist
Improve: reduce size of cost and time text on context menu
Improve: resaved several maps to clean up preview images and fix camera positions
Improve: show device/material description when rolling over context menu
Improve: update all standard AI forts to use simple format
Improve: save imported forts as simple format to avoid invalidation when detailed format changes
Improve: local, non built in maps are no longer visible or selectable in non-private MP lobbies
Improve: display a warning if local non-built in maps/mods are selected in private MP lobbies
Improve: log a console error if a map is selected that contains local mods that cannot be found
Improve: (Console) trace functions can handle newline characters correctly
Improve: (Console) trace functions have increased buffer size from 512 to 1024
Improve: if player was winning on ranked disconnect, don’t show defeated pose
Improve: if no clear winner, don’t show both commanders having defeated pose
Improve: it’s possible to cycle materials while previewing an extrusion
Improve: increase IntenseEndThreshold to reduce lingering intense music when action stops
Improve: increase responsiveness of music intensity to the action
Improve: (Laser) eliminate delay before reload animation starts
Improve: remove any standin links at start of PhysicsManager::BreakStructure to eliminate potential for interference
Improve: reduced lobby name edit box width to match what’s allowable
Improve: updated fmod to version 2.01.09

Fix: tips do not show
Fix: projectiles sometimes leak out of accelerators
Fix: (Console) trace functions can exceed buffer size, causing crash without dump
Fix: projectiles that are sinking into impact point can still intersect beams, spawning projectiles far into a structure
Fix: weapon close all doors context button doesn’t show
Fix: weapon reload animations not restored correctly when seeking replay
Fix: struts highlight under cursor when taking map preview screenshots/cursor invisible
Fix: excessive scale variation in some rock and foundation sprite edges
Fix: terrain sometimes renders with large buggy surface sprites
Fix: edge set seeds are not set when using display lists, so actual randomisation doesn’t match editor
Fix: lobby names and secondary fields can overlap in the server selection screen
Fix: disrupted warheads target a different location after getting damaged
Fix: upgrade detail doesn’t show on context menu rollover when the button is disabled
Fix: bracing construction intersects with the stem line segment of devices, forcing it to back bracing
Fix: replay filenames overlap date
Fix: devices can be build underground when struts are coincident with ground
Fix: device Ids are lost when saving in the editor, causing issues when referring to device Ids in script
Fix: ‘Upload in Progress’ dialog is overlapped by the available DLC panel
Fix: (rules) RepairRate, FireRepairDegreesPerSecond, FireExtinguishEnergyPerSecond, RepairFieldSpeedFactor and RepairFieldSpeedFactorExtinguish can be negative or too small
Fix: (Howitzer) doesn’t smoke when damaged
Fix: (Shield) when converting, materials can be stuck in transition when reconnected
Fix: (Deselect key) ignores ‘Keep device selection’, and always keeps it
Fix: (Warthog) animations are broken by shortened reload times
Fix: (Shockenaugh) explosive barrel description doesn’t mention claiming structures
Fix: missing player disconnect message when a player quits after the match win/loss
Fix: nested mod issue with workshop mods, duplicating mods and generating console errors
Fix: when long door barrier materials get recessed they turn into a chain of back bracing
Fix: breaking by rotation can create a chain if replacement material has a lower max link length
Fix: reactor low music doesn’t get played at appropriate times
Fix: if a client is in the pause menu when the host pauses, the simulation becomes jerky after it resumes
Fix: lobby names have no length limit, allowing lobby names that will be truncated
Fix: (Hurricane) activating while reloading causes animation to reverse
Fix: fire sounds can displace bullet impact sounds when there is a lot going on
Fix: (Moonshot, Lock Pick) incorrect polish translation in third objective

Changelist 2021-06-08b hotfix

Note: this hotfix was erroneously made compatible with the original update, but caused desyncs with it due to the change to the music script. If the version shown in the main menu is still ‘2021-06-08’ then please restart Steam to get this hotfix.

Fix: pause menu buttons can be pressed while options screen is visible
Fix: memory corruption sometimes resulting in a crash when restarting from instant replay
Fix: music can change to the intense state by scrapping structure
Fix: music.lua doesn’t immediately end reactor low when seeking

See this post on Steam