3.6 KiB
3.6 KiB
| 1 | # OCTOPATH TRAVELER II: Square Enix / Acquire, Unreal Engine 4.27 (one pak with the shaders inline in the cooked packages, MallocBinned3), SDK 12.3.2, NVN, CRIWARE sound and movies; | |||||
|---|---|---|---|---|---|---|
| 2 | # update 1.1.1 (v131072). | |||||
| 3 | # Started from the NSP script's provisional profile (dm/games/profile_guess.py) and brought up on the Mac (docs/agents) | |||||
| 4 | # Format: see dm/games/README.md | |||||
| 5 | # ---- Identity ---- | |||||
| 6 | title_id | 0100A3501946E000 | ||||
| 7 | program_id | 0100A3501946E000 | ||||
| 8 | # ---- App ---- | |||||
| 9 | # 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) | |||||
| 10 | name | OCTOPATH TRAVELER II | ||||
| 11 | ipa | OctopathTravelerII.ipa | ||||
| 12 | app_category | public.app-category.games | ||||
| 13 | # ---- Versions ---- | |||||
| 14 | build | v131072 | 1.1.1 | main=0d9649011312f62e93f6a5673a09d7e9 | subsdk0=dade22cfe6f24efe62d76409522c850b | sdk=5bcf525f24eb28658a8d67ac27800d9b |
| 15 | package | v131072 | ||||
| 16 | shader_versions | v131072 | ||||
| 17 | # ---- Files ---- | |||||
| 18 | # load order as on Horizon: main, subsdk*, sdk (subsdk0 = NintendoSDK_movie) | |||||
| 19 | modules | main subsdk0 sdk | ||||
| 20 | romfs_marker | Majesty/Content/Paks/Majesty-Switch.pak | ||||
| 21 | zip_store | .awb:.pak:.usm:.metallib | ||||
| 22 | # ---- Graphics ---- | |||||
| 23 | # 60 fps (30 on the Switch): the game's Switch device profile caps Unreal at 30 (t.MaxFPS=30, and rhi.syncinterval=2, the present interval 2 it asks for while BaseSwitchEngine.ini's | |||||
| 24 | # r.VSync=1 locks presents to vsync; its Windows, PS4 and PS5 profiles set t.MaxFPS=60); the host writes t.MaxFPS 60 and rhi.SyncInterval 1 into its console variables (hle_fpslock.c), | |||||
| 25 | # so the game asks for present interval 1 itself. DM_FPS_TARGET=30 (Documents/env.txt on the iPhone) keeps the game's 30 and saves power | |||||
| 26 | fps_target | 60 | ||||
| 27 | # ---- Memory ---- | |||||
| 28 | # Unreal Engine 4.27: nninitStartup (main+0xbebd44) needs virtual address memory, sets a 6 MB heap for the C library's malloc and reserves one address region for the engine | |||||
| 29 | # (-SwitchVirtualAddressSpaceSize= in MB, game_args below; 62 GB by default). Its allocator, an FMallocBinned3 made on the first allocation, cuts its pools out of that region; the | |||||
| 30 | # constructor call is cut and the host runs Unreal's heap on a malloc zone outside the guest block (patches.py, hle_uemalloc.c layout UE4_27), and the SDK's node area is cut to 62 MB | |||||
| 31 | # (dm/tools/sdk_patches.py, the SDK 12.3.2 build), as for DRAGON QUEST VII Reimagined. Alias region = node area + up to 1 GB of alignment (regions of 1 GB and more are 1 GB aligned) | |||||
| 32 | # + the 2 GB region; 256 MB stacks, 384 MB heap region | |||||
| 33 | game_args | -SwitchVirtualAddressSpaceSize=2048 | ||||
| 34 | mem_reserve | 0xF0000000 | ||||
| 35 | mem_alias | 0xC8000000 | ||||
| 36 | mem_stack | 0x10000000 | ||||
| 37 | app_pool | 0xCD500000 | ||||
| 38 | # the NPDM declares 80 MB of system resource | |||||
| 39 | sys_resource | 0x5000000 | ||||
| 40 | # ---- Input ---- | |||||
| 41 | # docked (1920x1080). On the traveler selection, L / R step from traveler to traveler (moving the cursor onto one with the stick opened the card in one Mac run only) | |||||
| 42 | pad_layout | full | ||||
| 43 | # ---- Shader split ---- | |||||
| 44 | # Unreal Engine 4.27 with no shader code archives: each material's shaders inline in its cooked package (.uexp) and the engine's global shaders in Engine/GlobalShaderCache-SF_GLSL_SWITCH.bin, | |||||
| 45 | # every one an LZ4 block (shader_split.py ue_inline_shaders, uepak.py inline_shaders). Unreal combines vertex and pixel shaders per draw from its pipeline state, so every vertex shader is | |||||
| 46 | # made to link with any pixel shader (shader_split.py separable_pairs) | |||||
| 47 | shader_groups | GlobalShaderCache=global #Engine/=engine #Majesty/=game | ||||
| 48 | shader_note | OCTOPATH TRAVELER II shaders |