- 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.
1.4 KiB
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) |