Skip to content

Add native Mario Kart World 1.8.0 support - #1252

Open
sn0wst0rm wants to merge 1 commit into
seedds:mainfrom
sn0wst0rm:pr/mkw-native-180
Open

sn0wst0rm wants to merge 1 commit into
seedds:mainfrom
sn0wst0rm:pr/mkw-native-180

Conversation

@sn0wst0rm

Copy link
Copy Markdown
Contributor

Register Mario Kart World 1.8.0 (v917504, SDK 21.4.0) with verified build IDs for main, subsdk0, subsdk1 and sdk, and make it the default package. Add its 11,601-shader map, translation facts and pairing tables, and enable CPU-written texture updates for terrain and water. No game-specific runtime patch is added.

Keep the base-game build registered with its three-module load order. When the selected version is outside shader_versions, generate its own shader tables, including when both v0 and 1.8.0 are available. This prevents v0 packaging from using the update's different shader corpus. The committed tables contain metadata, not shader bytecode or game assets.

This is the final profile PR in the MKW series. The work was repeatedly rebased as upstream support developed; overlapping changes were removed and the remaining fixes adapted to main. This branch is based on 975bb4c14456d145eb3d969814534eecdd996ce9. The complete rendering and presentation behavior relies on these companion PRs, which should land first:

  • #1227: dirty-range lookup caching.
  • #1228: multi-result image-load liveness.
  • #1232: Ampere memory operations and integer fragment outputs.
  • #1238: CPU-written and sparse texture coherency.
  • #1242: compute shared-memory storage.
  • #1245: queue dependencies, timestamps and resource lifetimes.
  • #1247: NVN2 task/mesh bindings and packed outputs.
  • #1249: HDR on macOS and iOS, and restored macOS Game Mode eligibility.

Validation: 132 profile, packaging and documentation tests pass. All four module IDs match the extracted 1.8.0 modules; shader keys, stages, facts and pair references are consistent. Synthetic packages cover native 1.8.0 selection and v0 shader derivation, with either version alone or both present.

The integrated build compiled all 11,601 shaders and was playtested on M5 Max at 60 fps with HDR, maximum resolution and Game Mode enabled. The reported waterfall jumps, fading minimap waves, loss of sharpness in motion and persistent 30 fps state no longer reproduced in those tests. These gameplay results cover macOS 1.8.0; v0 gameplay and iOS gameplay were not revalidated for this PR.

Front-ends: interface: use the registered 1.8.0 profile and its per-build module list. The default package and committed shader corpus are now v917504.

Register the four module build IDs and matching 11,601-shader metadata tables. Select 1.8.0 as the default package and enable CPU texture updates for terrain and water.

Retain v0 registration and derive shader tables whenever the selected version is outside the committed corpus, even if all corpus versions are available. Cover version selection with synthetic packages and document the companion rendering fixes.
@github-actions github-actions Bot added packing Building an IPA or a Mac app: the NSP script, extraction, the shader split, the packers tools Tools and scripts (dm/tools, scripts) docs Documentation game: 0400C3F00006E000 A game profile labels Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation game: 0400C3F00006E000 A game profile packing Building an IPA or a Mac app: the NSP script, extraction, the shader split, the packers tools Tools and scripts (dm/tools, scripts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant