Skip to content

unify(ww3d2): Move dx8fvf, dx8indexbuffer, dx8vertexbuffer, dx8renderer to Core#2706

Merged
xezon merged 1 commit into
TheSuperHackers:mainfrom
stephanmeesters:unify/move-remaining-dx8-files
May 15, 2026
Merged

unify(ww3d2): Move dx8fvf, dx8indexbuffer, dx8vertexbuffer, dx8renderer to Core#2706
xezon merged 1 commit into
TheSuperHackers:mainfrom
stephanmeesters:unify/move-remaining-dx8-files

Conversation

@stephanmeesters
Copy link
Copy Markdown

No description provided.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 14, 2026

Greptile Summary

This PR unifies dx8fvf, dx8indexbuffer, dx8vertexbuffer, and dx8renderer from the Generals-specific codebase into the shared Core library, continuing the project-wide deduplication effort. The Generals-specific copies of these files are deleted (content was identical to the Zero Hour versions save for the product name in the header comment), Core's CMakeLists.txt is updated to activate them, and Generals/GeneralsMD CMakeLists.txt files are updated to stop compiling the now-removed local copies.

  • Generals source files deleted: dx8fvf.{cpp,h}, dx8indexbuffer.{cpp,h}, dx8renderer.{cpp,h}, dx8vertexbuffer.{cpp,h} are removed from Generals/Code/Libraries/Source/WWVegas/WW3D2/; the only diff vs the Core versions was the product name in the copyright header comment.
  • Core CMakeLists activated: The eight files move from commented-out (#dx8fvf.cpp) to active entries in Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt.
  • GeneralsMD cleanup: The GeneralsMD CMakeLists entries are commented out; the corresponding source files had already been removed in a prior unification step, so this restores a consistent build state.

Confidence Score: 5/5

Safe to merge — this is a straightforward file move with no logic changes.

The Generals-specific copies of the four dx8 files are deleted and replaced by Core versions whose content is byte-for-byte identical except for the product name in the copyright header comment. The GeneralsMD CMakeLists cleanup removes references to files that were already absent from the repository. No API surface, build logic, or runtime behavior changes.

No files require special attention. All CMakeLists changes are mechanical comment/uncomment operations, and the moved source files carry no functional modifications.

Important Files Changed

Filename Overview
Core/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt Uncomments dx8fvf, dx8indexbuffer, dx8renderer, dx8vertexbuffer entries; all eight files now appear active and in alphabetical order consistent with surrounding entries.
Generals/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt Comments out dx8fvf, dx8indexbuffer, dx8renderer, dx8vertexbuffer entries using the same # prefix style already used for other moved dx8 files.
GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/CMakeLists.txt Comments out dx8fvf, dx8indexbuffer, dx8renderer, dx8vertexbuffer entries; the corresponding source files no longer exist in GeneralsMD (removed in a prior step), so this change prevents a broken build reference.
Core/Libraries/Source/WWVegas/WW3D2/dx8renderer.h New file in Core; content is identical to the deleted Generals version except the product label in the copyright header. Uses #pragma once. No logic changes.
Core/Libraries/Source/WWVegas/WW3D2/dx8vertexbuffer.h New file in Core; content matches deleted Generals version except the copyright header label. Uses #pragma once.
Core/Libraries/Source/WWVegas/WW3D2/dx8fvf.h New file in Core; identical to deleted Generals version apart from product label in copyright header. Uses #pragma once.
Core/Libraries/Source/WWVegas/WW3D2/dx8indexbuffer.h New file in Core; identical to deleted Generals version apart from product label in copyright header. Uses #pragma once.
scripts/cpp/unify_move_files.py Appends 8 commented-out unify_file_lib calls documenting the completed migration of the 4 dx8 files from Game.ZEROHOUR to Game.CORE; consistent with the tracking pattern used throughout the script.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Before["Before PR"]
        G["Generals/Code/Libraries/Source/WWVegas/WW3D2/\ndx8fvf.{cpp,h}\ndx8indexbuffer.{cpp,h}\ndx8renderer.{cpp,h}\ndx8vertexbuffer.{cpp,h}"]
        GMD_src["GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/\n(files already removed in prior PR)"]
        CORE_commented["Core/Libraries/Source/WWVegas/WW3D2/\ndx8fvf, dx8indexbuffer,\ndx8renderer, dx8vertexbuffer\n(commented out in CMakeLists)"]
    end

    subgraph After["After PR"]
        CORE_active["Core/Libraries/Source/WWVegas/WW3D2/\ndx8fvf.{cpp,h}\ndx8indexbuffer.{cpp,h}\ndx8renderer.{cpp,h}\ndx8vertexbuffer.{cpp,h}\n(active in CMakeLists)"]
        G_deleted["Generals/Code/Libraries/Source/WWVegas/WW3D2/\n(files deleted; CMakeLists entries commented out)"]
        GMD_clean["GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/\n(CMakeLists entries commented out)"]
    end

    G -- "deleted (only header label differed)" --> CORE_active
    GMD_src -- "already absent" --> GMD_clean
    CORE_commented -- "uncommented" --> CORE_active
Loading

Reviews (1): Last reviewed commit: "unify(ww3d2): Move dx8fvf, dx8indexbuffe..." | Re-trigger Greptile

@stephanmeesters stephanmeesters changed the title unify(ww3d2): Move dx8fvf, dx8indexbuffer, dx8vertexbuffer to Core unify(ww3d2): Move dx8fvf, dx8indexbuffer, dx8vertexbuffer, dx8renderer to Core May 14, 2026
Copy link
Copy Markdown

@xezon xezon left a comment

Choose a reason for hiding this comment

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

Looking good.

@xezon xezon added Gen Relates to Generals ZH Relates to Zero Hour Unify Unifies code between Generals and Zero Hour labels May 14, 2026
@xezon xezon added this to the Code foundation build up milestone May 14, 2026
@xezon xezon merged commit 44deb06 into TheSuperHackers:main May 15, 2026
17 checks passed
@stephanmeesters stephanmeesters deleted the unify/move-remaining-dx8-files branch May 20, 2026 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Gen Relates to Generals Unify Unifies code between Generals and Zero Hour ZH Relates to Zero Hour

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants