New Engine 1354

Rendering and simulation improvements, various fixes, dualscreen support, drawing improvements

October 6, 2022

Engine Update 1354


Again a fancy new engine build. This time with lots of under the hood improvements.

Patch Notes

For Players

  • Rendering performance improvements
  • Simulation performance improvements - better support for CPUs with performance and efficiency cores (such as Intel Alderlake and later CPUs)
  • Fixed crash caused when kicking a player from the game
  • Fixed rendering causing unneeded low fps on some systems, increasing back FPS back to max.
  • Improved dual screen support
  • Drawing on the minimap draws on the map itself

For Developers

  • add configurability of movefast and moveslow speed via added config values (CameraMoveFastMult, CameraMoveSlowMult) and scaling factors for specific cameras (CamSpringFastScaleMouseMove, CamSpringFastScaleMousewheelMove, CamOverheadFastScale)
  • remove the obsolete /dynamicsky option
  • add Spring.GetTeamAllyTeamID(teamID) -> allyTeamID
  • add Spring.GetProjectileAllyTeamID(projectileID) -> allyTeamID
  • accept keyreload and keyload commands in uikeys
  • add /keydefaults command
  • accept filename arguments for keyload, keyreload and keysave
  • allow loading skybox from equirectangular 2D texture
  • deprecate AdvSky springsetting
  • resurrection no longer sets health to 5%
  • {Get,Set}Atmosphere and mapinfo atmosphere section: add new key, scatterInfo, which is a vector of 3 values: Rayleigh, Mie coefficient, Mie scattering direction respectively, that allows a more realistic atmosphere. Defaults to 0.002, 0.0009, 0.92
  • add Spring.SetWindow{Min,Max}imized (also in LuaIntro)
  • add Spring.LoadModelTextures(string modelName) -> bool ok to preload model textures. Returns false if model not found or 3do.
  • add damage.debris modrule for debris damage, default 50.
  • add reclaim.unitDrainHealth modrule, whether reclaim drains health. Mostly for the reverse wireframe method
  • add 5th and 6th params to Spring.MarkerErasePosition, onlyLocal and playerID. Makes the erase happen locally, optionally as if done by given player, same as the existing interface for MarkerAddPoint and MarkerAddLine. NOTE: 4th arg is currently unused (reserved for radius)!
  • respect gl.Color() in gl.Text()
  • Only drawlabel is allowed, which drawinmap inherits the label behavior as well. Pure drawing is disabled by default, enabled with DrawInMiniMap

More to come in the next massive GFX update - planned for around XMAS 2022

Units Affected

No items found.

Mentionable team members

Tarnished Knight

More changelogs