Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (9)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughThe runtime adds macOS Core Audio detection for external playback. It polls other audio processes, excludes the game process, updates music attenuation state, adds platform-specific UI text, links CoreAudio, and adds focused macOS tests. ChangesmacOS external audio detection
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to This adds macOS external-audio detection to mute game music while other apps produce output, including safe fallback behavior on unsupported or failing systems. No actionable current-head merge risk remains. Sequence Diagram(s)sequenceDiagram
participant StartMonitor
participant MonitorMacOSAudio
participant QueryMacOSExternalAudio
participant CoreAudio
participant MusicAttenuationState
StartMonitor->>MonitorMacOSAudio: start detached monitor
loop every 250 milliseconds
MonitorMacOSAudio->>QueryMacOSExternalAudio: query external output
QueryMacOSExternalAudio->>CoreAudio: enumerate and inspect processes
CoreAudio-->>QueryMacOSExternalAudio: availability and playback data
QueryMacOSExternalAudio-->>MonitorMacOSAudio: MacOSAudioStatus
MonitorMacOSAudio->>MusicAttenuationState: publish playing and available flags
end
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 7.14% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 14 functions across 6 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Can anyone else with a mac machine confirm this PR is functional? |
|
I mean i can confirm it works on my machine. |
|
This is in #228 |
Skinned character draws carry a per-vertex matrix index and are the only draws that corrupt on Qualcomm Adreno. Their vertex shader reads byte-sized indices from an odd-stride, unaligned vertex stream and then performs a dependent storage-buffer read into the attribute arrays. The literal matrix-switch experiment (build 121, patchzyy#193) left the corruption unchanged, so the fetch path is the remaining difference from rigid draws. When enabled, PNMTXIDX-direct triangle draws resolve every indexed attribute on the CPU and upload 4-byte-aligned direct vertices: matrix indices in zero-padded 32-bit slots, position/normal/texcoords as big-endian f32 and colors as their original bytes. The shader then reads one buffer with aligned, non-dependent loads. The matrix palette lookup is unchanged. Default: on for Qualcomm adapters only. Override with KARTPAD_RENDERER_VERTEX_REPACK=1/0 or, on Android, adb shell setprop debug.kartpad.vertex_repack 1/0 (read once per process). Logs "KartPadPNMTX repack mode=..." once and "KartPadPNMTX repack active source=<original recipe> ..." once per repacked recipe (max 24). The vertex-layout loop of populate_pipeline_config is factored into populate_vertex_layout so the pipeline and the packer share one source layout. Host tests cover the patchzyy#193 recipe layout, 16-bit indices, NBT3 normals, little-endian packed colors and out-of-range indices; the host stubs gain pipeline_scene_generation so gx_fifo_tests links again.
Adds the missing macOS audio monitor so game music mutes while other apps have active audio output. Supports macOS 14.2+ and ignores the game’s own audio.
Summary by CodeRabbit
New Features
Documentation