Skip to content

Patch 0046: a multi-program game's Mac host compiles again (#1145) - #1250

Open
Haseenesss wants to merge 1 commit into
LNPANDY:mainfrom
Haseenesss:fix/1145-multi-program-prefs-domain
Open

Haseenesss wants to merge 1 commit into
LNPANDY:mainfrom
Haseenesss:fix/1145-multi-program-prefs-domain

Conversation

@Haseenesss

Copy link
Copy Markdown
Contributor

Fix or feature

  • Fix
  • Feature

What and why

Problem. The Mac host of Super Mario 3D All-Stars (010049900F546000) does not compile. Fixes #1145.
Cause. Patch 0017 joins @"org.nxnative." and DM_GAME_ID as string literals. A multi-program profile defines DM_GAME_ID at run time.
Change. New patch 0046 boxes the ID at run time: [@"org.nxnative." stringByAppendingString:@(DM_GAME_ID)].

Upstream: seedds/nxnative#221's branch already has this line. Patch 0017 was adapted from an older commit of it, so no new upstream PR is needed. The patch says forwarded seedds/nxnative#221 and goes when #221 merges.

Checked

  • Tests: python3 tools/engine.py check (45 patches apply).
  • Test for a fix: no new test. A host test that includes this header would need main.c linked to reach dm_game_cur. Compile checks instead, below.
  • Not checked: no full Super Mario 3D All-Stars build or run, since I have no game files.
Details

With gen/<id>/game_profile.h generated by make -C dm/host gen/<id>/game_profile.h:

Check SM3DAS (multi-program) TotK (single)
front_mac.m syntax, before 1 error (the one in #1145) 0
front_mac.m syntax, after 0 0
controllers_mac.m syntax, before → after 1 → 0 0 → 0
make -C dm/host/tests build/t_controllers_mac, after compiles, link needs dm_game_cur builds and passes

Screenshots

None, no visible change.

Scope

  • No engine file (dm/, scripts/, docs/, ref/) is added to the repository: a change there is a patch in patches/ (a commit in engine/, then tools/engine.py export, and tools/engine.py check passes), with its Upstream-Status
  • A fix to the engine or a game profile also goes to seedds/nxnative as a PR in parallel: this PR's patch says forwarded seedds/nxnative#..., or pending until that PR is open
  • A change to a launcher view has before and after screenshots above
  • No keys, game files or data extracted from a game in the change or the attachments

🤖 Generated with Claude Code

)

Patch 0017 builds the Mac preferences domain by joining @"org.nxnative."
and DM_GAME_ID as string literals. A multi-program profile such as
Super Mario 3D All-Stars defines DM_GAME_ID at run time, so its Mac host
did not compile. The new patch boxes the ID at run time, as
seedds/nxnative#221's branch already does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

patch-queue Changes the patch queue or the upstream pin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mac host build fails for Super Mario 3D All-Stars: input_preferences_mac.h concatenates a runtime DM_GAME_ID (patch 0081)

1 participant