Zero-K icon indicating copy to clipboard operation
Zero-K copied to clipboard

Dev engine breaking changes checklist

Open sprunk opened this issue 8 months ago • 2 comments

Changelog entry -> my comment in bold.

2025.01

  • [ ] :warning: missing models crash the game in order to avoid desyncs. -> Might want to have infra gather reports etc. Singleplayer probably worst affected because it doesn't care about desync yet it's hardest to tell something happened
  • [x] :warning: gadget:UnitDestroyed now receives a 7th argument, weaponDefID, with the cause of death. -> we sometimes pass some "pre" parameter there in gadget handler? needs checking
  • [ ] :warning: moved sky rendering right after the terrain rendering and before DrawWorldPreUnit. This will affect things drawn in the pre-unit layer by wupgets. -> Check stuff like map edge extension and anything else that might use that callin?
  • [ ] widget:UnitDestroyed now receives a 7th argument, weaponDefID, with the cause of death. -> this is los hax, but widgethandler doesn't pass it to widgets anyway
  • [ ] widget/gadget:UnitDestroyed receives constructor as killerID if reclaimed. -> sounds ok
  • [ ] changing camera mode (TA, rotatable overhead etc) now tries to keep rotation/position instead of going back to the rotation/position it was last in when in that mode. -> sounds mostly fine, though maybe somebody used the "enable COFC, disable COFC" to reset the normal camera? idk, probably nothing to worry about
  • [ ] allow the guard command when either the guard or the guardee are out of map. -> sounds fine. this was pointless since you could just give the guard command before leaving the map and gate it behind a Wait so it wouldn't activate until needed
  • [ ] allow the attack command onto units out of map. Ground-targeted out of map still not allowed. -> sounds fine
  • [ ] weapons with groundBounce = true will now bounce even if numBounces is left undefined. This is because numBounces = -1, which is the default value, will now result in infinite bounces as intended instead of 0. -> affects screamer and some chickens' AA spores, these will now ground bounce. seawolf seems to have bounces enabled but set to 0, should be unaffected. sounds all fine
  • [ ] GroundDecals springsetting is now a boolean. The previous semantic of that parameter serving as a decal duration multiplier is gone. Use the new scarTTL weapon def tag to increase durations if needed. -> we already pretty much used the springsetting like a 0/1 bool
  • [ ] explicitly specified weapon def scarTTL value is now the actual TTL. Previously it was multiplied by the ground decals level springsetting, which defaults to 3, so if you had tweaked scars they may turn out to have significantly different TTL now. -> only seismic has an explicitly defined scarTTL but it seems unrelated to anything about the weapon and just a big value. AFAICT nothing to do here, esp. combined with the line above
  • [ ] live mobile units' footprint is now the size of their movedef. This affects things like responding to bugger-off, blocking construction, or the size of their built-in selection square. Note that unit defs are unaffected and that individual units adjust if their movedef changes at runtime. -> AFAICT nothing immediately actionable, any regressions should just be rare edge cases
  • [ ] support for non-power-of-2 textures, float textures, and frame buffer objects is now mandatory. Apparently these were all common 15 years ago already so should be safe even for relative potatoes. -> nothing actionable on our side, just as a heads-up. dropping pre-2010 hardware sounds ok tho

2025.03 (current pre-release)

  • [ ] uniform location 5 in vertex shaders for models extended from uvec2 (boneID, boneWeight) to uvec3 (boneID low byte, boneWeight, boneID high byte). Existing shaders should generally keep working. -> claims that shaders will keep working so nothing to do
  • [ ] missiles now obey myGravity when expired instead of using map gravity. -> sounds ok
  • [ ] math.clamp now errors if the lower bound is higher than the upper bound. -> sounds ok
  • [ ] server no longer automatically forcestarts the game if there is nobody connected after 30s. -> sounds good in case people load very slowly? maybe leads to zombie games running with nobody inside tho? idk
  • [ ] archive cache was reworked. Should be much faster to process, but will take up more disk space and it's not yet known how stable it is. -> should be fine unless it's waaayy more disk space
  • [ ] added UnitGhostIconsDimming numerical springsetting, multiplier for ghost icon color (both on main view and minimap). This defaults to 0.5 so icons will be dimmed, set to 1.0 to get the previous behaviour. -> sounds ok, also requires /iconsAsUI 1 which we don't have by default and nobody really knows about

sprunk avatar Apr 12 '25 00:04 sprunk