Skip to content

Fix worldscape mingw compilation and add CI job - #1366

Merged
Arctis-Fireblight merged 1 commit into
Redot-Engine:masterfrom
Arctis-Fireblight:fix-worldscape-mingw
Sep 1, 2026
Merged

Arctis-Fireblight merged 1 commit into
Redot-Engine:masterfrom
Arctis-Fireblight:fix-worldscape-mingw

Conversation

@Arctis-Fireblight

@Arctis-Fireblight Arctis-Fireblight commented Aug 31, 2026 •

Copy link
Copy Markdown
Contributor

Urgent fix to fix cross-compiling the editor on Linux for Windows.

Worldscape defined a VOID macro in its constants header, which conflicts with MinGW's windows SDK, causing compilation to fail due to loss of common types like CHAR.

This prevents the Windows Editor specifically from being able to be compiled on a Linux host, preventing our release infrastructure from working.

Also added a GH Action for building the Editor with MinGW to prevent issues like this from happening again in the future. As the existing GH Action that tests MinGW only compiles the release template, not the editor. Which is why this was not caught during review and testing of the Worldscape3D PR, as this was not an issue with MSVC, Clang, or GCC.

Tested locally and I was able to compile the editor with MinGW with this fix.

I will be merging this as soon as all GHA jobs complete as this is currently holding up the 26.3 beta.

EDIT: The workflow that was added to build the editor using MinGW took an hour and a half.
I have removed that commit from this PR as that sort of compile time is completely unacceptable.

Going forward I want to explore other options for cross compiling.

Summary by CodeRabbit

  • Bug Fixes
    • Improved Windows build coverage by adding an Editor build using GCC/MinGW.
    • Improved reliability of WorldScape 3D initialization checks and early-exit handling across terrain editing, asset processing, collision, meshing, materials, and instancing workflows.

@coderabbitai

coderabbitai Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 29860e87-377e-4204-89ae-d5f1d227348c

📥 Commits

Reviewing files that changed from the base of the PR and between 131c6c2 and c10d9f7.

📒 Files selected for processing (9)
  • .github/workflows/windows_builds.yml
  • modules/worldscape_3d/constants.h
  • modules/worldscape_3d/editor/worldscape_3d_editor.cpp
  • modules/worldscape_3d/worldscape_3d_assets.cpp
  • modules/worldscape_3d/worldscape_3d_collision.cpp
  • modules/worldscape_3d/worldscape_3d_data.cpp
  • modules/worldscape_3d/worldscape_3d_instancer.cpp
  • modules/worldscape_3d/worldscape_3d_material.cpp
  • modules/worldscape_3d/worldscape_3d_mesher.cpp

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


Walkthrough

Changes

The Windows build matrix adds an editor build that uses MinGW GCC. WorldScape3D replaces the guarded VOID macro with WS3D_RETURN_VOID and updates initialization guard calls across editor and runtime code.

Windows GCC editor build

Layer / File(s) Summary
Editor GCC build matrix
.github/workflows/windows_builds.yml
Adds the Editor w/ GCC matrix entry with MinGW, GCC, console subsystem flags, a dedicated cache, and an editor executable output path.

WorldScape3D return macro migration

Layer / File(s) Summary
Return macro definition
modules/worldscape_3d/constants.h
Replaces the guarded VOID macro with WS3D_RETURN_VOID.
Initialization guard migration
modules/worldscape_3d/editor/worldscape_3d_editor.cpp, modules/worldscape_3d/worldscape_3d_{assets,collision,data,instancer,material,mesher}.cpp
Updates initialization guard calls to pass WS3D_RETURN_VOID. Surrounding validation, error messages, and processing logic remain unchanged.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to c10d9

The PR resolves a Windows SDK macro conflict while adding a focused MinGW editor build check; no actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: olddev78

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 41.03% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 39 functions across 8 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies both main changes: fixing Worldscape MinGW compilation and adding a CI job.
Full details: Docstring Coverage

Explanation

Docstring coverage is 41.03% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 39 functions across 8 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

OldDev78
OldDev78 previously approved these changes Aug 31, 2026

@OldDev78 OldDev78 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

looks good

@OldDev78
OldDev78 enabled auto-merge (rebase) August 31, 2026 21:56
@Arctis-Fireblight
Arctis-Fireblight merged commit 335d159 into Redot-Engine:master Sep 1, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from Open to Done in Engine Overview Sep 1, 2026
@Arctis-Fireblight
Arctis-Fireblight deleted the fix-worldscape-mingw branch September 1, 2026 01:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants