diff options
| author | Djihad Mahboubi <76681596+Djihads80@users.noreply.github.com> | 2026-10-31 22:11:21 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-31 22:11:21 +0100 |
| commit | edc3b6bf9475eff8f59cfcee10e36c1e04c35bd1 (patch) | |
| tree | 9c7bae68fbb77036592dff0861de8deb380edc8c /src | |
| parent | 9dca3ab2e436e786ab53e862e4d515f620a11669 (diff) | |
| parent | 0a47ba9567650e6aa4e7022cc08e4e35c56fbf84 (diff) | |
Merge pull request #126 from Kaydax/kaydax/nx2-handheld-crop
nx2: crop handheld present images to the 1920x1080 panel
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/nx2_gsv.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/core/hle/service/nx2_gsv.h b/src/core/hle/service/nx2_gsv.h index 633190848b..6ccdb7ef85 100644 --- a/src/core/hle/service/nx2_gsv.h +++ b/src/core/hle/service/nx2_gsv.h @@ -1236,18 +1236,18 @@ private: } u32 crop_width = layout.width; u32 crop_height = layout.height; - // Mario Kart World draws into the top-left corner of its present images: 2560x1440 docked - // (in 3840x2160 images), 1920x1080 handheld. It keeps its docked images after a switch to - // handheld, and showing all of them put the frame in a corner with stale docked frames - // around it. - if (system.GetApplicationProcessProgramID() == 0x0400C3F00006E000ULL) { - if (!Settings::IsDockedMode()) { - crop_width = (std::min)(crop_width, 1920U); - crop_height = (std::min)(crop_height, 1080U); - } else if (layout.width == 3840 && layout.height == 2160) { - crop_width = 2560; - crop_height = 1440; - } + // Handheld titles keep their docked present images (up to 3840x2160) and draw the frame + // into the top-left 1920x1080, the handheld panel's resolution; the console's display + // scans out only that region. Showing whole images put the frame in a corner inside black + // margins that scaled with the window (seen on Mario Kart World and Splatoon Raiders). + if (!Settings::IsDockedMode()) { + crop_width = (std::min)(crop_width, 1920U); + crop_height = (std::min)(crop_height, 1080U); + } else if (system.GetApplicationProcessProgramID() == 0x0400C3F00006E000ULL && + layout.width == 3840 && layout.height == 2160) { + // Mario Kart World docked draws 2560x1440 into the top-left of its 4K images. + crop_width = 2560; + crop_height = 1440; } static const u32 env_crop_w = [] { const char* v = std::getenv("EDEN_NX2_CROP_WIDTH"); |
