5 Commits
Author SHA1 Message Date
spoopyghosty0 9e15706068 Platform: answer Meta's org-scoped user id request (frame.ovr_org_scoped_id, GitHub #452)
OVRPort's platform loader exports ovr_User_GetOrgScopedID, ovr_Message_GetOrgScopedID and ovr_OrgScopedID_GetID as
`mov x0, xzr; ret` (runtimes 3.4.3-23204ea and -aa54c3f): request id 0, no message ever, so Meta's C# wrapper logs
"An unknown error occurred. Request failed." and the callback never runs (Eleven Table Tennis waits in
<BuildIdentity>b__0; Cortopia's Escaping Wonderland #360 / TMNT #422 too).

libfp_langpack.so (native/langpack) now answers it when its @FPORGID@ marker is set (or FRAMEPORT_ORG_SCOPED_ID=1):
a fresh request id and a successful ovrMessage_User_GetOrgScopedID (0x18F0B01B) whose ovr_OrgScopedID_GetID is an
ovrID hashed from the (already stable, frame.ovr_stable_user) user id: FNV-1a 64, top bit cleared, never 0. A new
@FPLANGS@ marker lets the library be linked for that alone with the language-pack calls passed through to the loader
(FRAMEPORT_LANGPACK_SERVE overrides); builds with frame.langpacks/asset_files behave as before.
ovr_User_GetUserProof (Eleven's next request) is answered by OVRPort itself (queued message with a nonce), so it is
left alone.

New patch frame.ovr_org_scoped_id (order 35, default on, suggested for games known to wait: Cortopia's analysis flag,
Eleven Table Tennis, TMNT), triage signature meta-org-scoped-id-wait, PLAYBOOK row, host tests against the stand-in
loader. frame.cortopia_org_id stays until the generic answer is headset-verified.
2026-10-23 22:31:42 -04:00
spoopyghosty0 7c066b5fea Opt-in frame.asset_files_stub: answer Meta asset-file requests for DLC managers that stall without the service (#203) 2026-10-14 12:22:13 -04:00
spoopyghosty0 3e61b07254 frame.asset_files: list the game data's *.pak content files as installed default asset files and answer DownloadById at once with the path (Star Wars: Tales from the Galaxy's Edge went black after loading, GitHub #61); shares the language-pack library 2026-10-06 13:46:08 -04:00
spoopyghosty0 0137cd993b Language packs: ship libfp_langpack.so (built here), drop the dispatcher's late asset-list answer once we answered after the timeout (one answer per request), per-thread skip list, and games already in a library get their packs listed after an app update 2026-10-04 19:23:32 -04:00
yzfsoldier 7b8e7c2c5d Opt-in frame.langpacks: serve <tag>.lang language packs from the game's files (PR #20)
Some Quest games ship voice-over languages as <tag>.lang files and ask the Meta Platform SDK for them; overport's
platform loader answers with nothing, so every language but the built-in one stays greyed out. libfp_langpack.so
answers the language-pack and asset-file calls from the packs already on the device (Metadata = the game's
versionName, the /storage/emulated/0 path spelling Unreal uses). Tested in the headset with Deadpool VR (German
dialogue), AC Nexus and Asgard's Wrath 2.
2026-10-04 19:23:29 -04:00