weekly-2026-01-09
·
190 commits
to main
since this release
Changelog
- refactor(heightmap): Remove HALF_RES_MESH because it was never used and is broken (TheSuperHackers#2076)
- bugfix(network): Fix packet size setup mistakes (TheSuperHackers#2040)
- bugfix(worldbuilder): Avoid taking action on cancel button for script conditions and actions (TheSuperHackers#2065)
- bugfix(worldbuilder): Initialize boolean in ScriptConditionsDlg::OnEditCondition to show logical condition (TheSuperHackers#2062)
- refactor(audio): Use MilesAudioManager::getEffectiveVolume consistently (TheSuperHackers#2058)
- fix(xfer): Fix xfer retail compatibility code (TheSuperHackers#2024)
- bugfix(object): Do not apply veterancy bonuses and animations for dead units (TheSuperHackers#1968)
- bugfix(audio): UI audio no longer plays at maximum volume for a single frame when navigating between shell map menus (TheSuperHackers#2019)
- tweak(drawable): Decouple stealth detected opacity fade time step from render update (TheSuperHackers#2047)
- perf(ai): Avoid a few std::vector copies when passing ai paths to functions (TheSuperHackers#1895)
- bugfix(lobby): Properly sort CRC mismatched game rooms to the bottom of the lobby (TheSuperHackers#1845)
- bugfix(ai): Undetected mines can now be approached when using a disarm weapon (TheSuperHackers#1883)
- bugfix(aiupdate): Prevent manually ejecting rappelling Rangers during Chinook Combat Drop (TheSuperHackers#1789)
- tweak(drawable): Set correct model tint color after loading a save game (TheSuperHackers#2025)
- bugfix(thingfactory): Reset next ThingTemplate ID after clearing custom map template overrides to avoid CRC mismatch in the next multiplayer game session (TheSuperHackers#2034)
- perf(weaponstore): Optimize WeaponStore::findWeaponTemplatePrivate with hash map lookup (TheSuperHackers#2042)
- bugfix(heightmap): Fix dynamic lights on terrain (TheSuperHackers#2039)
- bugfix(heightmap): Disable old uv adjument for cliffs (TheSuperHackers#2038)
- refactor(logic): Simplify code in GameLogic's init, reset, startNewGame (TheSuperHackers#2027)
- refactor(network): Simplify error prone net packet size calculations with packed structs (TheSuperHackers#1675)
- perf(contain): Optimize Object::isHero with cached hero counter (TheSuperHackers#1841)
- bugfix(aiupdate): Invalidate build task of Dozers and Workers if the assigned target scaffold no longer exists (TheSuperHackers#1868)
- ci(vcpkg): Stabilize vcpkg binary caching; add compiler-aware keys and explicit cache path (TheSuperHackers#2028)
- refactor(audio): Simplify volume related code in AudioManager and MilesAudioManager (TheSuperHackers#2030)
- perf(audio): Optimize fail condition order in AudioManager::addAudioEvent (TheSuperHackers#1843)
- fix(logic): Fix unexpected return in GameLogic::logicMessageDispatcher's switch case MSG_CANCEL_UNIT_CREATE (TheSuperHackers#1881)
- refactor: Apply clang-tidy fixes for generals-use-is-empty (TheSuperHackers#2018)