Skip to content

bugfix(scorch): Prevent gameplay scorches from evicting map scorches - #3114

Open
stephanmeesters wants to merge 3 commits into
TheSuperHackers:mainfrom
stephanmeesters:bugfix/static-scorches
Open

bugfix(scorch): Prevent gameplay scorches from evicting map scorches#3114
stephanmeesters wants to merge 3 commits into
TheSuperHackers:mainfrom
stephanmeesters:bugfix/static-scorches

Conversation

@stephanmeesters

@stephanmeesters stephanmeesters commented Aug 11, 2026

Copy link
Copy Markdown

Adds a separate instance of W3DScorch to be used only for "static" scorch marks placed on a map using World Builder. This fixes the issue that these static scorches eventually disappear during gameplay.

By using the separate instance of W3DScorch, with its own GPU buffers, the static scorches will not have much performance impact: the buffer does not change often and is cheap to draw. The exception is changes to terrain geometry or changes to the map lighting, which invalidates all of the scorch buffers.

Deduplication of static scorches is disabled, as dedup checking adds to map loading time (especially if we were to increase the max nr of scorches later), and we can trust map makers to place the scorch marks correctly.

Todo

@stephanmeesters stephanmeesters added Rendering Is Rendering related Gen Relates to Generals ZH Relates to Zero Hour Bug Something is not working right, typically is user facing Minor Severity: Minor < Major < Critical < Blocker labels Aug 11, 2026
@Caball009 Caball009 added the WorldBuilder Relates to World Builder label Aug 11, 2026
Comment thread Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DScorch.h Outdated
Comment thread Core/GameEngineDevice/Source/W3DDevice/GameClient/BaseHeightMap.cpp Outdated
@Caball009

Caball009 commented Aug 13, 2026

Copy link
Copy Markdown

Nice fix.

I did notice during testing, however, that at some point the game refuses to render scorch marks. You can reproduce this by putting down 3 scorch marks of size 256 with the world builder. The third one isn't rendered; not in the world builder nor in game. This is retail behavior and not introduced by this PR, but for the bug fix to be more effective it'd be nice if that's fixed as well.

@xezon xezon changed the title bugfix(scorches): Prevent gameplay scorches from evicting map scorches bugfix(scorch): Prevent gameplay scorches from evicting map scorches Aug 13, 2026
@xezon xezon removed the WorldBuilder Relates to World Builder label Aug 13, 2026
@stephanmeesters

Copy link
Copy Markdown
Author

I did notice during testing, however, that at some point the game refuses to render scorch marks.

Yes I agree this should be fixed too, this is the issue described in #179, where we run into a vertex/index buffer limit. This buffer max size can be increased to the 16 bit index limit to alleviate the issue somewhat in the short term.

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

Labels

Bug Something is not working right, typically is user facing Gen Relates to Generals Minor Severity: Minor < Major < Critical < Blocker Rendering Is Rendering related ZH Relates to Zero Hour

Projects

None yet

Development

Successfully merging this pull request may close these issues.

World Builder Bug: Fix the issue where placed scorch marks disappear after a certain amount is reached

3 participants