Build update 86422

Build update 86422 – Launched 8/18/15

GW
New difficulty ramping system
-Ramps all AIs, including bosses
-Difficulty is added based on distance from starting planet
-Has a modifier for galaxy size
Rebalanced econ modifiers for difficulty levels
Reduce AI on easiest difficulty
Made absurd slightly stronger

AI Changes
Improved AIs start a bit
AI Should respond better to naval threats
AI platoons will not completely lose their task when they encounter enemy forces.
Orbital laser attack task now supports escort squads.
AI now designates a larger area for rally points.
AI will handle its commander better.
If the AI commander is the only fabber on the planet, it will build things, even while heavily damaged.
Allied AIs will be notified when a nuke is intercepted.
AI will no longer build satellites on gas giants.
AI will see unit cannons as more of a threat.
AI will see anti-nukes on another planet as a higher priority target if it has nukes anywhere in the system.
Updated land based neural networks for both Vanilla and Titans.
Fix for AI seeming to ignore pelters as a threat.
AI will try to protect the commander with umbrellas.
Fix for code error in strategic manager.
Get the AI commander to focus on building factories more.
AI can now send orbital units between planets.
Adjusted AI platoon composition.
Fix for AI platoons with small vision and weapon ranges not working quite right.
Updated fighter and bomber neural network data for classic.
Fix for AI units not microing at all.
Fix an issue where the AI would rush unit headlong into a fight for no reason, instead of firing from an appropritate range.
Fix for AI platoons getting stuck against walls due to repeatedly (and unnecessarily) issuing move and attack orders.
Some more adjustments to AI platoon keep at range and micro distance calculations.
Fix for AI land platoons trying to attack things they are not supposed to.

System Editor
Explicit Planets always need a generator because we can’t rely on a default
Added option to toggle off water meshes. Default keybinding is ctrl+w.
Changed default water depth to 100 (from 50)

Balance changes
Make subs a bit faster
Fix torpedos firing at hover units
Grenadier
-Weapon Yaw Range decreased to 90 from 120

Modding
Added “memory” storage API, which is like session storage, but asynchronous and without size limits.
– Added a KO extender to store to memory.
– Galactic war now uses memory storage for passing the battle config.
Fixed inconsistencies in the WorldView.fixupBuildLocation API.

Bugfix/polish:
Set full opacity to pause background
Tweaked the background for sub menus
Added in UI sound effects
Fix for login button
Fix unit idle effects staying on after unit dies
Set vanilla brush spec biome colors
Make community tabs scalable, work at min rez
Fix for a performance issue when hovering over the planet panel.
– The holodeck show/hide was creating and destroying the render target.
– That’s very, very bad for performance.
– Now it only lets go of the render target when it has to.
You can now place a build preview over an existing build preview, if the specs are the same. This is most relevant for metal extractors.
Fix for community tab list widths showing null message when the leaderboard is empty
Nav work:
– Expand cmesh walls at buildVoxel time based on move type radius
– This is roughly the same thing we do when placing cost stamps for units/structures. But mildly specialized for cmesh walls (which don’t place cost stamps).
– Place cost near edges of unpathability
– This includes not just obvious walls but stuff like shorelines for land units. Hover/Amphibious units correctly receive no cost at shorelines.
– For example a “puddle” on land will be and has always been fully pathable by land units. It’s just a puddle. You can’t built naval on it either because it’s not “deepwater”. However because of spheres there will be voxels that have water surface and only water surface. This voxel should be ignored by the cost layer.
– TLDR: apply cost if ((floodable && !pathable(movetype)) || (!floodable & has_flag(avoid_flags(movetype))”
– Fix for some group behavior issues
– Large units always get their own groups
– Hover and Amph constrain down to Amph.
– Minor cleanup
– mMergeSubGroups persists across frames. It only resets to nullptr sometimes. If it starts as null in Group::mergeSubeGroups then it’s initialized to the first subgroup in the list. If it persists then it’s plausibly later in the list. If that group gets merged into another group that’s determined to be closer then there will be an empty subgroup while iterating. Because empty groups aren’t cleared until after the full iteration
**- Add correct cost stamp data to titan units so they lay down blocking cost for small units.
Adding turn acceleration to all the boats. Fixes our twitchy boats.
Update CSS and icons on uberbar
Fix the Twitch TV wrapper covering up the close button
Fix for Twoboots commander
Fix for crash related to blips
Don’t expect a secondary color for blips in the world hover
Keep single laser tower name on one line
Fix for launching a GW game using a save from the time when commanders were in the old schema.
– There is still some data out there using objects, which results in [Object object].ai on the server.
Overriding build previews with other build previews is now only allowed when combined with a feature requirement.
Added logic which excludes certain defaults systems when selecting a random start system.
Make blips appear properly in the world hover
Unit launcher effects
Layout update for mini-leaderboard tab
Adjusted the formations that units go into while navigating to a position
Unify command bar, special icon atlas, and cursors.
-They now all live in ui/main/shared/img/icons.
Several game_over bug fixes.
Remove Armory refresh button
Adjusting the placement size of a whole bunch of structures in further efforts to reduce the amount of units getting stuck in bases.
Matchmaking: swap original PA background to use titan default
Added more time control hotkeys.
-skip forward 1 sec: –
-skip back 1 sec =
Fix video list to not overlap close button for twitch feed.
Fix an issue where the game over panel would not appear in the gw/tutorial.
Layout adjustments to resource line in build bar hover detail
spacing and type tweaks in build bar hover
Make teleporter a little bit more better
Addded in FIGS translations
Closing Credits and Kickstarter pop-ups when clicking on overlay.
Add a drop shadow to orbital launcher
Don’t require steam linking
Fix for a race condition that sometimes caused the game_over screen not to appear
Remove slow and unnecessary _.cloneDeep call from GW planet loading.
Update TitleDisplayName based on Steam Persona name.
Polish combat alerts
Changed galactic war save/load to push the system data into a separate database.
– Allows save/load of the game to not serialize the system
– Fixes in-game perf problems.
Filter out combats that you are not in
Add in strat icons to the tutorial titan commander
Fix uberbar
Update combat planet icon when celestial info changes
Fix for GW games losing their systems.
Fix for previews ever getting left behind
Jump smoothly to acknowledged combats
Fix to music pause when playing intro again
Handle invalid locales and boot configs
Hide combat alerts when chronocam scrubs
Show army defeated alerts even when we didn’t see who killed them
Enabled save during the game over state
Default the game language to the Steam game language
Improve visual stability of unit alert panel
Position combat alert PIP as close as we can to the alert
Changed the isMisc() test in the unit alerts to be a broader catch-all
– Units losing and gaining power would trigger an alert without a CSS style due to being missed from the old version of this function.
Improve planet tracking robustness
Fix Naval wake FX
Some progress logging in publish_linux_archive.py.
Added a play tutorial prompt
Icons for new CSG
Restore min-width on unit title in build-bar hover
Adjust ramp edge transition brush
Add layout for draw scenario
Fix logic for draw game over screen
Fix tooltip cropping in econ bar
Naval unit explosion FX work
Fix for rare crash when the AI chooses to fire the unit cannon and one of the units built by the unit cannon was killed that tick.
Mac OS X 10.11 crash fix when prepareOpenGL being opened later than before
Reducing the size of the dynamic light on air unit explosions.
Fix superweapon alert positioning
-A min-height in the wrong class was causing a very strange layout
Fix crash that comes from DynamicObj writing non-fininite data into curves. Crash is derived from an uninitialized Vec3f being written into velocity
Updates to save game icons
Fix fabber ships not having fabber effects
Orbital launcher missile effects
Fix destroyers not having torpedoes
Fix for brake values <= 0 not stopping on a dime like they should
Proper kill credit will be awarded for planet smashes, planet lasers, and destroying a commander in a transport.
Fix issue where anti-nuke missiles spun in place
Nav sweep waves will now obey the nav voxel budget.
Fix for the game over screen not showing up for spectators when the game ends.
Modifications to the tactical missile and missile ship effects
Probable fix for dynamic decal crash on the client.
– Changed the decal IDs & biases to be generated via atomic so multiple threads can’t get the same IDs.
– Moved the threading behavior in ClientDynamicDecal to adding the decals instead of loading the specs. (Should prevent hitching during chronocam & spectator use.)
– Made the CDD add/remove more reliable in corner cases of removal while adds are in flight & etc.
– Changed the PlanetBuilder decal API to consider the decal result to be part of the API. This is implemented by accumulating into temporaries and guarding a swap operation. (Holds the lock for less time, and is generally more robust.)
– When removed, dynamic decals are now cleared.
Minor cleanup of api.content to prevent bogus data.
Fix active content not being updated if your active content is no longer unlocked.
Changing icon for Halley to be of when it’s open so it looks different than the catapult.
Fixed crash on game session exit.
Fix some error spew and missing combat events.
Fix for the end game screen appearing after chrono resume.
Fix issue where galactic war card modification of base specs were not inherited by child specs.
Effects revision of battleship weapons
Fix for error where the back button stops working in the save game browsers.
Fix for bug where the game would be automatically paused when a player entered the settings menu (if all the human players were on the same shared army). it will still automatically pause if only a single human player is in the game.
Disconnecting will no longer pause the game if the disconnected player already been defeated.
Fade in the game over panel
Bumping up the wreckage_health_frac a little bit to make wreckage a little more frequent.
created a new torpedo hit effect and adjusted the torpedo trail
Perf improvment to planet building step.
Tutorial prompt will now only show when using titans
Fix for effects lingering on client puppets if they’re “unPuppeted”.
Unit launcher now properly animates.
Fixed build bar hover lag.
Adding extra spawns for more players on Clutch, Lock and Crag
Fix for control group error spew.
Reduce the amount of nav initialization done on the client.
Add VO cue to ‘Start Annihilation’ button
Galactic war start screen should no longer occasionally end up blank.
Fixed the long pause when starting a new galactic war game.
Fix for tooltip cropping in community bar.
Play VO when we annihilate planets
Play “control group saved” sound when saving control group through ui
Restore pip-follow-alerts functionality
Fix a crash on 404 from Coherent.
Add a “Remember my password” checkbox on launcher
Handle Steam overlay being disabled
crash fix. the sim module call to check unit type did not correctly check for a null handle. if you use chronoresume, you can end up with null handles for commanders that where dead during a previous chronoresume.
state flag/ vision bit bug fixes. chronoresume did not correctly handle rewinding time to a point after a player was defeated. the server js would assume that the vision bits / control bits had not changed since the game started.
fix for some logic errors with the game over display and chronoresume.
added logic to reset various ui panels after chronoresume, so they don’t display stale data (unit alerts/combats, idle fabbers/factories, time alerts).
fixed the army selections widget in the stats panel.
Redirect back to last scene if replay loading fails.
Attempted fix for the damageable QNAN crash.
Make server disconnection/crash in galactic war return to gw_play
Fixed severe performance issues with high input rate mice.
Fix for displaying the draw (no winners) end game screen.
Fix an issue where weapon range rings would not appear for anchors.
Prevent menu music from playing over first playback of intro video.
Added filter mechanism for the time bar.
Teleporters now face the same direction units travel through them when orienting placement.
Fix for invalid reward of 3 vs 1 steam achievement.
Set the default stats display to total unit count instead of build efficiency.
Fix for loading a gw saved battle.
Fix watching replays on leaderboards
Fix a crash with fmod internals
Fix start menu rank title tooltip.
Fix unit cannon VO playing for holkins and missing alert text
Disable language dropdown in-game.
Do not play main menu music on video completion if playing galactic war intro movie
The client will no longer allow resume anywhere before the commander lands or after the game has ended. the resume from here button should grey out where appropriate.
Remove the play backwards button.
Fix for fetch twitch channels.
Add steam.launchContent API.
Make getCameraInfo return the cameraInfo rather than having to pass an empty struct.
Stop showing ‘undefined’ when hovering over a still-loading sun
Use loadSceneMods in main.js.
Fix for AI shutdown crashs due to a lambdas containing things that end up destroyed before the queue gets processed.
Improve feedback when user clicks a command
Added a culling token to prevent corrupt LOD groups from infinitely queuing meshes
-Prints out an error we can search for in case it causes other problems
-Replaces fully transparent pixels with completely black pixels rather than some color with transparency
Clean up of communit tab controls (twitch display number, miniboard rank numbers)
-This should reduce the amount of server capacity dedicated to failed attempts at connecting to load_save servers.
-This should also fix a race condition when the sim becomes ready before the client connects.
Fixed Galactic War not being able to start a battle
Fixed exploit and copy protection