Repository navigation
Add phone motion controls and shared calibration window - #1207
victorwads wants to merge 18 commits into
Conversation
|
Focused native Controls screenshots were captured and inspected locally. gh cannot attach them because this account lacks write access to the upstream repository. Please attach the captures manually: /Volumes/WadsData/nx2apple-dsu-review/phone-motion-before.png and /Volumes/WadsData/nx2apple-dsu-review/phone-motion-after.png. Generated-game window capture is still pending. The PR remains draft. |
|
Updating with engine clock-domain fix and shared connection lifecycle/status UX from seedds/nxnative#2429 (6b24be4a). A 6.675s clock mismatch caused the host to reject DSU samples despite the setup preview receiving them. Fixed receiver clock and added an offset-clock UDP regression. Setup now has Done, saved-state text, persistent connections, auto-slot persistence and per-player live status/XYZ rows. Local app was rebuilt and installed. Corrected Mario Kart host was installed separately with backup. Actual gameplay motion remains unconfirmed. Companion push is running mandatory hooks, not bypassed. Keep draft pending user retest and remaining review evidence. |
|
Latest local integration is exported through patch 0144 (frontend f08c350), 56 patches apply to 0c078130f6db. Includes explicit Full/Left/Right, horizontal preview and full-pad fallback, preserved distinct plus/minus, explicit SL/SR source selection, actual applied rail state and game SDK motion-consumption counters. All 512 per-half SL/SR source combinations and per-button decoder tests pass; HID verifies rails/menu inputs and real six-axis reads. Corrected Mario Kart binaries were installed locally with backup and signature verification. Coherent app build is signed and staged separately, not swapped while the user builds Mario Party Superstars. Wheel gameplay remains unconfirmed. Full host suite has six filesystem failure-injection failures reproduced in untouched baseline; focused HID/controller/UDP/Swift suites pass. Mandatory pre-push checks are running and are not bypassed. |
|
Installed coordinated app now uses engine 0c078130f6db-e81c7b356d48 from frontend9139ca0b. Verified persistent engine selection after normal launch, automatic engine replacement disabled, app and local Mario Kart signatures valid, original app preserved. Tested the actual installed NXMotion module using external scratch output: pass, including rail JSON roundtrip and distinct menu inputs. Local Mario Kart launcher/host were updated with backups without shader rebuild. Native SDK motion delivery is tested for Full/Left/Right, but actual wheel steering remains unconfirmed by user gameplay. Do not treat receiver packets or green launcher state as steering proof. Both PRs remain draft. |
|
Installed update: engine217c13072dad from frontend3afd0bff. Phone settings now reload shared JSON changes and reject stale writes under a file lock. Tests with two stores prove no stale overwrite and shared reload. Axis selectors now display/write exactly the game-frame map, renderer conversion is presentation-only. Existing saved game mapping is preserved, legacy displayAxes ignored on load. Identity selectors now produce identity game configuration. Updated launchers installed in Mario Kart and Super Mario Party with backups and signatures. No gameplay success claim; live motion coordinate diagnosis continues. Sources compared: https://v1993.github.io/cemuhook-protocol/ and reference DSU clients, which distinguish accelerometer and gyro basis/sign conventions. |
Add phone motion management under Settings using the shared engine calibration window.
Generated Mac games carry the same window without an external helper.
Proposal: #1206. Engine PR: seedds/nxnative#2429.
Fix or feature
Contributor-authorized implementation. Maintainer feature approval remains pending.
What changed
Add the Settings entry, engine bridge patch and shared resource packaging.
The per-user configuration keeps device names, assignments and calibrated axes outside distributed game bundles.
Tests
Required pre-push checks passed under Python 3.14 and Swift. Mac suite: 1174 tests, 48 skipped, no failures. Qt suite passed after installing required Unicorn/Capstone test dependencies. Patch queue: 93 patches apply cleanly. Local integrated bundle: 25 checks passed. Engine checks include CRC/UDP loopback, 254 HID assertions and configuration/coordinate persistence tests. Full real-phone-to-game verification remains pending. No gameplay support claim.Screenshots
Incomplete: initial capture exists, but focused before/after Controls screenshots and generated-game window evidence remain pending.
This PR stays draft until that review evidence is attached.
Scope