Skip to content

The MiiModel stand-in has a head with a drawn face (a stand-in: the same face on every Mii) - #2512

Open
secretlemur28 wants to merge 1 commit into
seedds:mainfrom
secretlemur28:mii-head
Open

secretlemur28 wants to merge 1 commit into
seedds:mainfrom
secretlemur28:mii-head

Conversation

@secretlemur28

Copy link
Copy Markdown
Contributor

What and why

The MiiModel archive the host writes (dm_mii_standin) has every part empty, so a game that shows a Mii whole draws a body with nothing on its neck. Mario Golf: Super Rush's Golf Adventure plays as a Mii (#814); the player is a cap and a body with no head.

The stand-in now has a head. Entries 4..15 of the shape table (the facelines) are an ellipsoid, and entries 16..27 (the masks, which the model draws its mask texture on) are the front of it, a little outside. The texture file gets three 64 × 64 R8_G8_B8_A8 parts: one eye, one eyebrow arc and one smile, which the SDK's own mask composition draws. No nose, no hair. DM_MII_HEAD=0 leaves the facelines empty as before; DM_MII_HEAD=cx,cy,cz,rx,ry,rz[,flags] and DM_MII_FACE=su,sv,ov place the head and map the face for tuning.

This is a stand-in. Every Mii gets the same head, eyes, eyebrows and mouth, whatever its CharInfo says. The head is sized so that Golf's cap sits on it, by eye, on that one game; other games' Mii models may sit differently (Mario Kart 8 Deluxe also builds Mii heads, and I have not run it).

Checked

  • Branch pr-mii-head: two earlier commits, cut again from main at 0c078130 and squashed. They apply cleanly. The host builds.
  • Games run: Mario Golf: Super Rush 4.0.0, built from its NSPs on main at 0c078130, host from this branch (the AppendMii change is not in it; the save slot used already existed): Golf Adventure slot 1, story dialogue, first room. The player Mii now has a head with a face under the cap; on a host with AppendMii but without this change the same screens show the cap and body with no head. Screenshots from both runs are in runs/adv-head and runs/adv-append in my work folder.
  • dm/tools/tests/test_docs.py and test_env_switches.py pass (a reference entry, "The Mii stand-in head", its symptom-index line and the two switches are added).
  • Devices and OS: MacBook Pro M1 Pro, 16 GB, macOS 27.0.1.
  • Not checked: any other game (Mario Kart 8 Deluxe in particular); regress.py check; iOS; whether the face reads well in motion or other views than the story's first room.

Docs

  • docs/reference/services.md ("The Mii stand-in head", and a pointer from "System data stand-in for the MiiModel archive"), docs/agents/symptoms.md (regenerated), docs/env_switches.tsv (DM_MII_HEAD, DM_MII_FACE)
  • No game files, keys or data extracted from a game in the change or the attachments

🤖 Generated with Claude Code

…lace of the facelines, and one drawn eye, eyebrow and mouth texture for every Mii on a mask surface over its front, so a Mii a game shows whole is not a body with nothing on its neck (Mario Golf: Super Rush's Golf Adventure)

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@github-actions github-actions Bot added host The Horizon host: SVCs, services, threads, memory (dm/host) docs Documentation labels Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation host The Horizon host: SVCs, services, threads, memory (dm/host)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant