Skip to content

Fix build warnings; copies from mantle #320 (Luau 0.746, QuickJS 0.18.0, API 1.89) - #147

Merged
GhzGarage merged 3 commits into
mainfrom
fix/build-warnings
Nov 9, 2026
Merged

GhzGarage merged 3 commits into
mainfrom
fix/build-warnings

Conversation

@GhzGarage

Copy link
Copy Markdown
Contributor

MantleCore half of the build-warnings pass. mantle side: mantleplatform/mantle#320. This merges first.

Mantle-PR: mantleplatform/mantle#320

Changes

  • MantleVehicleBodySplit: uses UStaticMesh::SetAutoComputeLODScreenSize(false) in place of the deprecated bAutoComputeLODScreenSize member (C4996).
  • MantleWeaponFitTest: the point vectors start at zero where they're declared (C4701).
  • MantlePublishMemoryTest: two tests remove files on purpose (SpillVanish deletes 3; the queue-file case names a gone.bin it never writes). They now declare the engine's Failed to read file warnings as expected (3 and 1), so the test log stops showing them as noise.
  • Copies from mantle #320 at 658da9acd, synced with check_copies.py --sync from a git archive of that commit; all 457 copied files match their home:
    • LuauLib: Luau 0.738 → 0.746, plus LuauWarnings.h.
    • QuickJSLib: quickjs-ng v0.16.2 → v0.18.0, with the Mantle patches 0001/0002 regenerated.
    • MantleScriptTools: the QuickJS interrupt handler takes a JSContext.
    • Resources/ScriptApi: typings at API 1.89.
  • Build.cs, by hand (not copied): LuauLib.Build.cs force-includes LuauWarnings.h and defines _CRT_SECURE_NO_WARNINGS, the same as mantle's MantleGameLuauLib.Build.cs. The reason for each warning is in that header. QuickJSLib.Build.cs only gets its version comment, because 0.18.0 builds clean.

Not in this PR

The ~90 package was marked as deleted in editor, but has been modified on disk lines (AssetRegistry, from weapon builder, rigid-mesh and asset-cleanup tests) are still there.

  • Cause, from the engine: AssetRegistry.cpp:8501. AssetDeleted marks the package empty, and then the directory-watcher change from the save just before arrives and trips the warning.
  • What I tried: ticking the directory watcher before the cleanup's delete. It didn't help: 92 lines remained, because the save's OS notification hasn't arrived yet when the delete runs in the same frame. So I took it out. It needs a different fix.

Testing

Run with D:\Mantle\mantle at 658da9acd plus this branch, headless with -nullrhi:

  • Build: MantleEditor Win64 Development succeeded with 0 warnings across both repos. Luau, QuickJS and the MantleEditor files all recompiled.
  • Tests, first run: 290/290 passed. It covered:
    • Mantle.Script.* (including ScriptTools, ScriptCatalog, ScriptPackages and ScriptPoint; Mantle.Script.Api.ManifestCopiesAreCurrent passes)
    • AssetCleanup, PublishMemory, WeaponBuilderV2, WeaponBuilderExport, WeaponRigidMesh, WeaponFit and WeaponPublish.Parts
    • Vehicle BodySplit/BodyJoin/LODs
    • Weapon.Melee SpearGuardDeathWorld and SpearSavedGuardDeathWorld
    • Chat.Relay, Mantle.Animation.* and Grab.Component
  • Rerun after the final edits: 40/40 passed (PublishMemory, AssetCleanup, WeaponFit, Vehicle BodySplit/LODs, ManifestCopiesAreCurrent), with 0 Failed to read file warnings and 0 build warnings.

🤖 Generated with Claude Code

GhzGarage and others added 3 commits November 8, 2026 21:44
…est vectors

- MantleVehicleBodySplit: use UStaticMesh::SetAutoComputeLODScreenSize(false)
  instead of the deprecated bAutoComputeLODScreenSize member (UE 5.7).
- MantleWeaponFitTest: start the point vectors at zero where they are declared,
  so MSVC no longer flags them as possibly uninitialized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The SpillVanish case deletes its three spilled files on purpose, and the
queue-file case names a gone.bin it never writes, so the engine's
streaming reader warns "Failed to read file" for each. Both tests now
declare those warnings as expected (3 and 1), so the test log no longer
shows them as noise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ipt API 1.89

Synced with tools/copies/check_copies.py --sync from git archive of
mantleplatform/mantle@658da9a (457 copied
files match their home):
- ThirdParty/LuauLib: vendored Luau 0.738 -> 0.746, plus LuauWarnings.h.
- ThirdParty/QuickJSLib: quickjs-ng v0.16.2 -> v0.18.0, Mantle patches
  0001/0002 regenerated.
- MantleScriptTools: the QuickJS interrupt handler takes a JSContext.
- Resources/ScriptApi: generated typings at minor 89.

Build.cs files are not copied, so their rules are mirrored by hand:
LuauLib.Build.cs force-includes LuauWarnings.h (C4127/C4310/C4324/C4389/
C4457/C4505/C4702, reasons in that header) and defines
_CRT_SECURE_NO_WARNINGS (C4996 in luaO_chunkid/scanformat, which size their
buffers first). QuickJSLib.Build.cs only gets its version comment; 0.18.0
builds with no warnings.

Mantle-PR: mantleplatform/mantle#320

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@GhzGarage
GhzGarage merged commit 748be15 into main Nov 9, 2026
1 check passed
@GhzGarage
GhzGarage deleted the fix/build-warnings branch November 9, 2026 05:09
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.

1 participant