Compile eligible shader-pair bases on the Mac with metal-tt, package one archive per selected iPhone GPU, and use a matching bundle before falling back to on-device preparation. Carry the profile depth mode through packing and include the pulling libraries required by the bundled bases. Integrate PR #226 with four confirmed fixes: validate archive container bounds before invoking Metal; require at least one actual successful bundle probe; hash consumed library bytes into offline cache keys; and emit device remainder lists for constant-only plans instead of aborting packaging. Keep game measurements in the game note and document the general findings. Validation on current main: 52 real Metal bundle checks, 57 archive checks, 79 prewarm checks on each pipeline path, 73 Python regressions covering offline tools, packaging, documentation and chain checks, and compilation of all 133 iOS source files. No new iPhone gameplay validation. The archive guard validates container structure, not private Metal payloads. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
1.6 KiB
1.6 KiB
| 1 | # ASTRAL CHAIN 1.0.1 (v65536), PlatinumGames engine, SDK 6.4.0, NVN. | ||||
|---|---|---|---|---|---|
| 2 | # Format: see dm/games/README.md. Bring-up evidence and current status: README.md. | ||||
| 3 | # ---- Identity ---- | ||||
| 4 | title_id | 01007300020FA000 | |||
| 5 | program_id | 01007300020FA000 | |||
| 6 | # ---- App ---- | ||||
| 7 | name | ASTRAL CHAIN | |||
| 8 | ipa | AstralChain.ipa | |||
| 9 | app_category | public.app-category.action-games | |||
| 10 | # Both sticks are used for movement and camera. | ||||
| 11 | pad_layout | full | |||
| 12 | # Build-gated frame step: 60 fps gameplay, 30 fps fixed-step cinematics. | ||||
| 13 | fps_target | 60 | |||
| 14 | # ---- Versions ---- | ||||
| 15 | build | v65536 | 1.0.1 | main=4b159f0f7a360669738390ee8657b4f0 | sdk=e29be8ad6778527aa248310d0c71a8a5 |
| 16 | package | v65536 | |||
| 17 | shader_versions | v65536 | |||
| 18 | # ---- Files ---- | ||||
| 19 | # every module main imports from | ||||
| 20 | modules | main sdk | |||
| 21 | romfs_marker | event/event.pkz | |||
| 22 | zip_store | .bk2:.bnk:.pkz:.metallib | |||
| 23 | # ---- Memory ---- | ||||
| 24 | # main sets a heap of at most the pool − 64 MB − 191 MB of bss (counted as used memory): a 3072 MB heap region | ||||
| 25 | mem_reserve | 0xf0000000 | |||
| 26 | mem_alias | 0x10000000 | |||
| 27 | mem_stack | 0x10000000 | |||
| 28 | app_pool | 0xCD500000 | |||
| 29 | # the NPDM declares 0 MB of system resource: IsVirtualAddressMemoryEnabled is false, as on Horizon (Big Brain Academy: Brain vs. Brain sets a heap only then) | ||||
| 30 | sys_resource | 0x0 | |||
| 31 | # ---- Shader split ---- | ||||
| 32 | shader_groups | /sound/=sound /mv/=mv /miscTex/=misctex /movie/=movie /effect/=effect /Text/=text /ba/=ba /bg/=bg /bh/=bh /bv/=bv /core/=core /em/=em /es/=es /et/=et /event/=event /font/=font /it/=it /ph1/=ph1 /ph2/=ph2 /ph3/=ph3 /ph4/=ph4 /ph5/=ph5 /ph6/=ph6 /ph7/=ph7 | |||
| 33 | shader_note | ASTRAL CHAIN shaders | |||
| 34 | # the NVN depth mode the game sets (nvnDeviceSetDepthMode near = 0): the pipeline archive made offline holds the main0_z vertex entries (dm/gfx/tools/pso_offline.py) | ||||
| 35 | depth_mode | zero |