2.7 KiB
2.7 KiB
| 1 | # Game profile of BALL x PIT (Switch, update 1.293 = v393216). Plays on the Mac and on the iPhone | |||||
|---|---|---|---|---|---|---|
| 2 | # Format: see dm/games/README.md | |||||
| 3 | # Unity 6000.0.62f1 (IL2CPP) with FMOD and Addressables, SDK 20.5.19; subsdk0 is the movie module. The Shader objects are in the player's serialized files (resources.assets, | |||||
| 4 | # sharedassets1.assets, the built-in resources), which have no type trees, and in 10 of the 11 Addressables bundles (StreamingAssets/aa/Switch), which carry the Shader type tree the others borrow | |||||
| 5 | # (the same type hash), so unityfs.py needs no written-out layout. Needed no host change, as Hollow Knight: Silksong (Unity 6000.0.50f1). | |||||
| 6 | # Docked: the game draws 1280x720 into 1920x1080 window textures and sets the window crop to 1280x720 (nvnWindowSetCrop), at 60 fps. Reads no touch; the 3D pad layout (Input below) | |||||
| 7 | # ---- Identity ---- | |||||
| 8 | title_id | 010086A022444000 | ||||
| 9 | program_id | 010086A022444000 | ||||
| 10 | # ---- App ---- | |||||
| 11 | # Game name: only a label for profile listings and the Mac window title; the iOS app name is the game name in the base NSP, and the bundle ID comes from the base game title ID (build_ipa.sh / NSP script) | |||||
| 12 | name | BALL x PIT | ||||
| 13 | ipa | BallXPit.ipa | ||||
| 14 | app_category | public.app-category.games | ||||
| 15 | # ---- Versions ---- | |||||
| 16 | build | v393216 | 1.293 | main=ed9090f18ae37a5a0966f5cfe5a07cc2 | subsdk0=b1b31ebc17b9417164a4f5fea049367e | sdk=8bfebccd6f5c1392597b364b9ab22a8d |
| 17 | package | v393216 | ||||
| 18 | shader_versions | v393216 | ||||
| 19 | # ---- Files ---- | |||||
| 20 | # load order as on Horizon: main, subsdk*, sdk (subsdk0 = NintendoSDK_movie) | |||||
| 21 | modules | main subsdk0 sdk | ||||
| 22 | romfs_marker | Data/sharedassets1.assets | ||||
| 23 | zip_store | .assets:.bank:.bundle:.dat:.ress:.metallib | ||||
| 24 | # ---- Memory ---- | |||||
| 25 | # The NPDM declares 16 MB of system resource, so IsVirtualAddressMemoryEnabled is true, and main never sets a heap: Unity 6 takes its memory itself through nn::os::AllocateAddressRegion | |||||
| 26 | # and AllocateMemoryPages in the alias region, as in Hollow Knight: Silksong. The 5 GB block of the other Unity games with virtual address memory, with the node area cut for this sdk build | |||||
| 27 | # (dm/tools/sdk_patches.py). Measured on the Mac over 10 minutes of the first dive and the base: the alias region's high-water mark +2.00 GB of 4.375 GB, 1.26 GB mapped, resident 1.6 GB and | |||||
| 28 | # 0.7 GB of GPU memory, flat | |||||
| 29 | sys_resource | 0x1000000 | ||||
| 30 | mem_reserve | 0x140000000 | ||||
| 31 | mem_alias | 0x118000000 | ||||
| 32 | mem_stack | 0x10000000 | ||||
| 33 | app_pool | 0xCD500000 | ||||
| 34 | # ---- Shader split (shader_split.py; Unity Shader and ComputeShader objects, read by unityfs.py) ---- | |||||
| 35 | # everything is under Data/: the player's serialized files and the StreamingAssets bundles (38,099 shaders, 11 of them GLSLC outputs of Unity's player in main) | |||||
| 36 | shader_groups | /Data/=data | ||||
| 37 | shader_note | BALL x PIT shaders | ||||
| 38 | # ---- Input ---- | |||||
| 39 | # In a dive the right stick aims (ZR shoots): the 3D pad layout. It plays with the controller, so it stays docked | |||||
| 40 | pad_layout | full |