Files
seedds 7fdf6dccbe README screenshots of every game; NSP script packs unknown games with a provisional profile; Link's Awakening stencil copy and outdoor shaders
- README: a gallery with one picture per game (docs/images): iPhone shots
  with the virtual gamepad for Mario Wonder, 3D World, BotW and Link's
  Awakening; Mac shots (captioned) for Engage, Metroid Dread and 13
  Sentinels. Link's Awakening is now listed as in testing on an iPhone.
- scripts/build_ipa_from_nsp.py: a game with no profile is surveyed, then
  gets a provisional profile guessed from the survey in
  <NSP folder>/<id>_build/profile/<id>/ (outside the repo, reused on the
  next run) and a best-effort IPA; --survey-only keeps the old behaviour.
  game.py searches DM_GAMES_DIR after dm/games; the host Makefile reaches
  such a profile through a symlink; build_ipa.sh finds it through game.py.
  zip_store also stores files whose headers say they are compressed.
- copy_t2t_draw: depth-stencil copies now carry the stencil ([[stencil]]
  export from an X32_Stencil8 view). Link's Awakening's occlusion pass
  tests stencil bit 1 of its quarter-size depth copy, whose stencil was
  the new texture's undefined content.
- Link's Awakening: four outdoor shaders with the foliage shader's input
  loop failed on the iPhone (Half2 / normalized formats); listed in
  shader_facts_manual.tsv. Chain c4995bb3161c.
2026-10-17 21:04:33 +08:00

1.4 KiB

1# Hand-written translation facts, merged over the generated rows of shader_facts.tsv by dm/gfx/tools/shader_split.py: key <TAB> facts JSON (same format)
2# 147c829e79fb322f (shadowmap_pbr.bfsha variant 641, vertex): inputs 1-5 only move bits (in a loop: x bit-cast to int, y copied as a float), so dmsh_build.py's integer-input guess declared them uint4;
3# the game feeds them 16-bit normalized formats (RG16 / RG16_SNORM), which Maxwell converts to floats and Metal will not pair with an integer input. The pipeline failed, and with it the foliage's
4# shadow-map and depth pre-pass draws: the main pass shades with depth test EQUAL, so the palm tree and the flowers in Marin and Tarin's house never appeared. Declared float, the bits match the hardware's
5# The same five-input loop in outdoor shaders that failed on the iPhone (Mabe Village) with Half2 / RG8 / RG16 normalized formats: inputs 1-5 declared float (input 7, a bone index used as an integer, stays uint)