You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
W3DShaderManager registers FlatShroudTextureShader as ST_FLAT_SHROUD_TEXTURE. Nothing selects that shader type, so the class never runs. It still holds its own copy of the shroud projection code and calls DX8Wrapper directly.
Now the class, its shader list and the ST_FLAT_SHROUD_TEXTURE value are removed.
Todo:
Build win32 and vc6, including W3DView and WorldBuilder
Load two skirmish saves and the shell map, open W3DView, and open WorldBuilder. Same result as main
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
Walkthrough
The change adds rendering operations to the Renderer interface and DX8 backend, then routes WW3D, game, and editor rendering code through that interface. It also removes the flat-shroud shader-list entry and updates river vertex colors based on shroud data when available.
Changes
Renderer API Migration
Layer / File(s)
Summary
Renderer interface and DX8 forwarding Core/Libraries/Source/WWVegas/WW3D2/Renderer.h, Core/Libraries/Source/WWVegas/WW3D2/Backend/DX8Backend.cpp, Core/Libraries/Source/WWVegas/WW3D2/dx8wrapper.h
Renderer adds device, render-target, state, buffer, draw, transform, lighting, and fog operations. DX8Backend forwards these operations to DX8Wrapper.
WW3D rendering and state callers Core/Libraries/Source/WWVegas/WW3D2/*, GeneralsMD/Code/Libraries/Source/WWVegas/WW3D2/*
WW3D classes use Renderer for rendering state, buffer binding, drawing, transforms, render-target operations, and device queries. Existing sorting paths and draw parameters remain as described.
Terrain, effects, and water rendering Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DShaderManager.h, Core/GameEngineDevice/Source/W3DDevice/GameClient/*, Core/GameEngineDevice/Source/W3DDevice/GameClient/Water/*
Terrain, shader, effect, and water paths use Renderer for rendering operations. The flat-shroud shader is removed from the shader list. River vertex colors use shroud levels when available.
Scene objects and shadows GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/*
Object, overlay, and shadow rendering paths use Renderer for state setup, resource binding, capability checks, and drawing.
Editor and preview rendering Core/Tools/W3DView/ScreenCursor.cpp, GeneralsMD/Code/Tools/WorldBuilder/src/*
W3DView and WorldBuilder use Renderer for rendering operations and render-target setup.
No merge-blocking issue is established by the available evidence. The river-shroud lookup concern predates this change.
Pre-merge checks | 4
✅ Passed checks (4 passed)
Check name
Status
Explanation
Description check
The description explains the removal of the unused flat shroud texture shader, its shader-list entry, and enum value. It also records build and runtime validation.
Title check
The title clearly identifies the removal of the unused flat shroud texture shader, which is a documented change in the pull request.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
W3DShaderManagerregistersFlatShroudTextureShaderasST_FLAT_SHROUD_TEXTURE. Nothing selects that shader type, so the class never runs. It still holds its own copy of the shroud projection code and callsDX8Wrapperdirectly.Now the class, its shader list and the
ST_FLAT_SHROUD_TEXTUREvalue are removed.Todo: