Skip to content

Conversation

@fbraz3
Copy link
Owner

@fbraz3 fbraz3 commented Dec 30, 2025

This pull request introduces several improvements and additions focused on code quality, build configuration, and code modernization for the GeneralsGameCode project. The most significant change is the addition of a .clang-tidy configuration to enable static code analysis and enforce code quality standards. There are also multiple updates to the CMake build configuration to include previously excluded source files, and a new MiniDumper crash dump utility is introduced. Additionally, various header files have been updated to modernize function definitions and correct minor issues.

Code Quality and Static Analysis

  • Added a comprehensive .clang-tidy configuration file tailored for the project's legacy C++98/C++20 hybrid codebase, enabling a curated set of checks and naming conventions to improve code quality and maintainability.

Build Configuration and Source Inclusion

  • Updated Core/GameEngine/CMakeLists.txt to include several previously excluded source and header files (such as MapObject.h, MiniDumper.h, MapUtil.cpp, TerrainRoads.cpp, View.cpp, etc.), ensuring these components are now built and part of the project. [1] [2] [3] [4] [5] [6] [7]

Crash Dump Support

  • Introduced a new MiniDumper utility (Include/Common/MiniDumper.h) to provide crash dump functionality, including support for minimal and full dumps, thread management, and dump directory maintenance.

Modernization and Code Cleanup

  • Removed unnecessary inline specifiers from function definitions in several classes (e.g., AsciiString, UnicodeString, RadarObject, Radar, MemoryPoolObject) to improve clarity and compatibility with static analysis tools. [1] [2] [3] [4] [5] [6]
  • Changed static empty string members in AsciiString and UnicodeString to be const for correctness and safety. [1] [2]

Minor Fixes

  • Fixed typos and clarified comments in GameAudio.h (e.g., "accomodate" → "accommodate", "Debice" → "Device"). [1] [2]
  • Removed an unused function declaration from GameUtility.h.
  • Improved cache key handling in the GitHub Actions build workflow to better distinguish different build presets.

xezon and others added 30 commits November 29, 2025 21:26
…ecompression artifacts when tabbing out of the game (#1927)
Crash dumps are stored in %USERPROFILE%\Documents\Command and Conquer Generals Zero Hour Data\CrashDumps
This fixes a runtime crash in Generals due to incomplete code merging
…e() and NetPacket::readFileAnnounceMessage() (#1981)

Co-authored-by: JBremer <jbremer@users.noreply.github.com>
Co-authored-by: SkyAero <Skyaero42@users.noreply.github.com>
xezon and others added 22 commits December 15, 2025 22:14
…BaseHeightMap, FlatHeightMap, W3DPropDraw, W3DTreeDraw, W3DPropBuffer, W3DSnow, W3DTerrainBackground files to Core (#1991)
…ileMessage() and NetPacket::readFileAnnounceMessage() (#2005)

Co-authored-by: SkyAero <Skyaero42@users.noreply.github.com>
… Shell Map (#2002)

Keys P and O no longer pause the Shell Map. But Shift+P and Shift+O still do
@fbraz3 fbraz3 self-assigned this Dec 30, 2025
@fbraz3 fbraz3 requested a review from Copilot December 30, 2025 17:18
@fbraz3 fbraz3 changed the title TheSuperHackers sync Sync from TheSuperHackers Dec 30, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants