Skip to content

Releases: slurmlord/GeneralsGameCode

weekly-2025-12-26

26 Dec 09:20
fc36efc

Choose a tag to compare

Changelog

  • bugfix(network): Fix data offset for string reads in NetPacket::readFileMessage() and NetPacket::readFileAnnounceMessage() (TheSuperHackers#2005)
  • build: Implement docker build (TheSuperHackers#1774)
  • refactor: Apply integer value comparisons for strcmp and stricmp with clang-tidy (TheSuperHackers#1956)
  • bugfix(experience): Prevent ranking of riders that are not trainable (TheSuperHackers#1970)
  • bugfix(object): Fix visibility conditions for client-side effects (TheSuperHackers#1964)
  • bugfix(input): Disable mouse waypoint mode after using alt tab (TheSuperHackers#1987)
  • unify(heightmap): Move Height Map and Terrain related files to Core (TheSuperHackers#1991)
  • unify(heightmap): Merge Height Map related code and move Zero Hour's BaseHeightMap, FlatHeightMap, W3DPropDraw, W3DTreeDraw, W3DPropBuffer, W3DSnow, W3DTerrainBackground files to Core (TheSuperHackers#1991)
  • build(heightmap): Fix include paths in Zero Hour Height Map files (TheSuperHackers#1991)
  • unify(texture): Move W3DWater, W3DLaserDraw and WW3D2 texture related files to Core (TheSuperHackers#1989)
  • unify(texture): Merge W3DWater and WW3D2 texture code (TheSuperHackers#1989)
  • refactor: Apply the readability-container-size-empty check with clang-tidy (TheSuperHackers#1957)
  • fix(network): Fix missing value initialization of LANGameInfo::m_isDirectConnect (TheSuperHackers#1836)
  • bugfix(network): Prevent buffer overflow in NetPacket::readFileMessage() and NetPacket::readFileAnnounceMessage() (TheSuperHackers#1981)
  • perf(namekey): Remove all superfluous AsciiString allocations for name key lookups (TheSuperHackers#1959)
  • refactor(namekey): Reduce code duplication in NameKeyGenerator functions, misc formatting tweaks (TheSuperHackers#1959)
  • unify(matpass): Merge WW3D2 matpass code (TheSuperHackers#1982)
  • refactor: Remove superfluous inline and register keywords with clang-tidy (TheSuperHackers#1936)
  • bugfix(string): Allow startsWith and endsWith to be called on empty strings (TheSuperHackers#1979)
  • build: Add clang-tidy checks and script (TheSuperHackers#1807)
  • bugfix(pathfinder): Prevent infinite loop within PathfindCell::putOnSortedOpenList() (TheSuperHackers#1965)
  • ci(vcpkg): Include preset in binary cache key to avoid ABI mismatches and slow CI builds (TheSuperHackers#1973)

weekly-2025-12-12

12 Dec 09:22
f4608df

Choose a tag to compare

Changelog

weekly-2025-11-28

28 Nov 09:18
dd51b7e

Choose a tag to compare

Changelog

weekly-2025-11-14

14 Nov 09:18
6cfcc7b

Choose a tag to compare

Changelog

weekly-2025-11-07

07 Nov 09:15
e2385c5

Choose a tag to compare

Changelog

weekly-2025-10-31

31 Oct 09:16
d1c5082

Choose a tag to compare

Changelog

weekly-2025-10-24

24 Oct 09:16
8db49bf

Choose a tag to compare

Changelog

  • bugfix(script): Fix global-buffer-overflow in WorldBuilder scripts (TheSuperHackers#1724)
  • bugfix(client): Fix crash in WorldBuilder scene (TheSuperHackers#1723)
  • refactor: Remove _MSC_VER guards around #pragma once (TheSuperHackers#1726)
  • bugfix(drawable): Fix duplicated terrain decals applied after call to W3DModelDraw::replaceModelConditionState (TheSuperHackers#1569)
  • bugfix(radar): No longer show hero radar icons in shroud (TheSuperHackers#1569)
  • bugfix(radar): Refresh radar objects without delay when changing player (TheSuperHackers#1569)
  • bugfix(ghostobject): Properly keep ghosted and shrouded objects hidden when taking a ghost snapshot or changing the local player (TheSuperHackers#1569)
  • bugfix(ghostobject): Properly refresh real and ghost objects when changing the local player in the Ghost Object Manager (TheSuperHackers#1569)
  • fix(ghostobject): Add additional tests in W3DRenderObjectSnapshot::addToScene, W3DGhostObject::removeParentObject for robustness (TheSuperHackers#1569)
  • bugfix(ghostobject): Fix crash in W3DGhostObjectManager::updateOrphanedObjects (TheSuperHackers#1569)
  • bugfix(ghostobject): Fix incorrect snapshot update in W3DGhostObject::snapShot (TheSuperHackers#1569)
  • tweak(ghostobject): Decouple DEBUG_FOG_MEMORY from tracking ghost object states for all players when required (TheSuperHackers#1569)
  • bugfix(ghostobject): No longer try to restore ghosted objects for a non-local player and simplify code in W3DGhostObject::freeSnapShot, W3DGhostObject::freeAllSnapShots (TheSuperHackers#1569)
  • feat(client): Enable shroud for observed players (TheSuperHackers#1569)
  • build(ghostobject): Fix compile error when enabling DEBUG_FOG_MEMORY (TheSuperHackers#1569)
  • refactor(ghostobject): Simplify code and style in GhostObject, W3DGhostObject (TheSuperHackers#1569)
  • fix: Revert strlcat on pointer arguments (TheSuperHackers#1713)
  • feat(filesystem): Recover 481 higher resolution textures in Zero Hour by re-prioritizing textures by size (TheSuperHackers#1484)
  • refactor: Remove redundant CppMacros.h includes (TheSuperHackers#1706)

weekly-2025-10-17

17 Oct 09:16
6748e68

Choose a tag to compare

Changelog

weekly-2025-10-10

10 Oct 09:16

Choose a tag to compare

Changelog

  • refactor(quotedprintable): Simplify and modernize code in QuotedPrintable (TheSuperHackers#1659)
  • fix(quotedprintable): Fix assert in AsciiStringToQuotedPrintable during map cache generation (TheSuperHackers#1659)
  • refactor(network): Extract magic NetPacket character literals into named constants (TheSuperHackers#1672)
  • bugfix(tunnel): Fix stacked unit healing time inside multiple GLA Tunnel Networks (TheSuperHackers#1626)
  • tweak(module): Add 'TransferSelection' field to CreateObjectDie INI module to allow transfer selection on object creation (TheSuperHackers#1665)
  • fix(debug): Fix wrong assert condition in W3DTreeDraw::addToTreeBuffer() (TheSuperHackers#1663)
  • tweak(fps): Simplify function W3DDisplay::updateAverageFPS() and remove its frame spike filter (TheSuperHackers#1662)
  • tweak(drawable): Decouple tint update step from render update (TheSuperHackers#1651)
  • bugfix(network): Fix clearing remote player commands in Connection::clearCommandsExceptFrom() to prevent local player left hanging in game over screen (TheSuperHackers#1638)
  • bugfix(jetaiupdate): Fix pairs of Jets not waiting for each other before takeoff (TheSuperHackers#1617)
  • refactor(jetaiupdate): Rename variable in JetPauseBeforeTakeoffState (TheSuperHackers#1617)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::getMoveAwayFromPath (TheSuperHackers#1620)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::findAttackPath (TheSuperHackers#1620)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::validLocomotorSurfacesForCellType (TheSuperHackers#1620)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::internalFindPath (TheSuperHackers#1620)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::internal_findHierarchicalPath (TheSuperHackers#1619)
  • refactor(pathfinder): Extract functionality Pathfinder::checkCellOutsideExtents (TheSuperHackers#1619)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::examineNeighboringCells (TheSuperHackers#1619)
  • refactor(pathfinder): Simplify and improve readability of Pathfinder::checkChangeLayers (TheSuperHackers#1619)
  • refactor(pathfinder): Simplify and improve readability of PathfindCell::releaseInfo (TheSuperHackers#1619)
  • feat(ui): Implement simple Latency and FPS display (TheSuperHackers#1546)
  • tweak(water): Decouple wave movement time step from render update (TheSuperHackers#1654)
  • tweak(water): Decouple water movement time step from render update (TheSuperHackers#1653)
  • bugfix(camera): Decouple camera zoom update from logic time (TheSuperHackers#1655)
  • refactor(terrain): Simplify cloud movement clamping (TheSuperHackers#1648)
  • refactor: Remove obsolete pragma optimize directives (TheSuperHackers#1649)
  • bugfix(network): Fix Network stalling state (TheSuperHackers#1650)
  • bugfix(lan): Always allow players to join a LAN room if there is an open slot (TheSuperHackers#1637)
  • bugfix(debug): Fix missing toggle for DEMO_TOGGLE_NO_DRAW (TheSuperHackers#1633)
  • bugfix(buildassistant): Fix Network game mismatch by using the correct player index to check shroud status when placing structures (TheSuperHackers#1646)
  • fix(shadow): Fix counting of W3DProjectedShadowManager::m_numDecalShadows (TheSuperHackers#1568)
  • tweak(w3dview): Decouple WWAudioClass update from logic step (TheSuperHackers#1579)
  • tweak(ww3d): Decouple render update from logic step in DazzleRenderObjClass::Render, TexProjectClass::Pre_Render_Update (TheSuperHackers#1579)
  • tweak(ww3d): Decouple render update from logic step in RingRenderObjClass::animate, SphereRenderObjClass::animate (TheSuperHackers#1579)
  • bugfix(drawable): Fix locked color in Drawable::colorTint, EMPUpdate::update (TheSuperHackers#1579)
  • tweak(heightmap): Decouple cloud render update from logic step (TheSuperHackers#1579)
  • tweak(anim): Enable interpolation for raw animation updates and couple the legacy non interpolated updates to the ww3d sync (TheSuperHackers#1579)
  • refactor(anim): Cleanup and simplify animation code a bit (TheSuperHackers#1579)
  • bugfix(ww3d): Bind the ww3d sync step to the game logic step (TheSuperHackers#1579)
  • tweak(anim): Decouple anim object render update from logic step (TheSuperHackers#1579)
  • bugfix(anim): Fix calling Animatable3DObjClass::Single_Anim_Progress more than once a frame (TheSuperHackers#1579)
  • tweak(segline): Decouple segline render update from logic step (TheSuperHackers#1579)
  • tweak(snow): Decouple snow render update from logic step (TheSuperHackers#1579)
  • bugfix(draw): Fix tank draw update logic step time is smaller than render frame time (TheSuperHackers#1579)
  • refactor(ww3d): Rename WW3D::Get_Frame_Time to WW3D::Get_Sync_Frame_Time (TheSuperHackers#1579)
  • bugfix(input): Fix cargo units selection hack (TheSuperHackers#1635)
  • tweak(options): Simplify user options for Cursor Capture (TheSuperHackers#1541)
  • bugfix(contain): Fix unit attachments being visible in fog after exiting a GLA Tunnel Network (TheSuperHackers#1522)
  • bugfix(module): GLA Battle Bus can no longer be subdued indefinitely (TheSuperHackers#1604)
  • bugfix(gui): Consistently show blue health bars for disabled objects (TheSuperHackers#1622)
  • bugfix(buildassistant): Prevent showing the invalid placement indicator for shrouded objects (TheSuperHackers#1543)
  • perf(behavior): Optimize loops in ParkingPlaceBehavior (TheSuperHackers#1618)
  • bugfix(tree): Fix 1 in 10 trees not swaying (TheSuperHackers#1613)
  • refactor(tree): Simplify W3DTreeDraw related code (TheSuperHackers#1614)
  • bugfix(input): Fix broken single click command after right mouse double click (TheSuperHackers#1605)
  • bugfix(module): Fix damage calculation for determining the initial death of GLA Battle Bus (TheSuperHackers#1603)
  • bugfix(input): Double-clicking to place a building no longer performs double-click selection logic (TheSuperHackers#1608)
  • refactor(pathfinder): Remove superfluous whitespace and commented code in Pathfinder (TheSuperHackers#1611)
  • feat(client): Make opacity and shadows of build placement preview objects customizable (TheSuperHackers#1592)
  • fix(shadow): Fix initial shadow states of draw modules (TheSuperHackers#1591)
  • bugfix(shadow): Fix missing tree shadow decals when no object shadow decals exist (TheSuperHackers#1590)
  • bugfix(input): Force stop camera inputs after game end (TheSuperHackers#1602)
  • bugfix(view): Prevent moving the camera with most user inputs during camera playback in Replay playback (TheSuperHackers#1599)
  • bugfix(view): Fix camera terrain height adjustment during camera playback in Replay playback (TheSuperHackers#1598)
  • bugfix(view): Fix camera terrain height adjustment in Replay playback (TheSuperHackers#1597)
  • bugfix(fps): Fix mouse wheel zoom speed and decouple zoom update from logic step (TheSuperHackers#1587)
  • refactor(view): Simplify View related code (TheSuperHackers#1600)
  • refactor(message): Simplify double click related code in MetaEventTranslator::translateGameMessage() (TheSuperHackers#1606)
  • refactor: Verify array size, fix constness of strings lists, and improve order of enum values (TheSuperHackers#1584)
  • bugfix(pathfinder): Fix various crashes in Pathfinder due to inadequate cleanup of pathfinding resources (TheSuperHackers#994)

weekly-2025-09-26

26 Sep 09:15
783bdb7

Choose a tag to compare

Changelog