Repository navigation
feat: use the full screen width for cutscenes and add nokeepaspectratio - #28
Merged
Merged
Conversation
…solution switching. Ported from upstream PR 186 (bolrog/d2dx). Resolved a conflict in RenderContext.cpp by keeping this fork's smaller vertex buffer capacity. (cherry picked from commit bb68a88)
Ported from upstream PR 186 (bolrog/d2dx). (cherry picked from commit 2433e9cc176ad77960667d2bea09ccc0626ad0c0)
Ported from upstream PR 186 (bolrog/d2dx). (cherry picked from commit 5e0b379)
The ported GetRenderRect takes a keepAspect flag instead of the unused wide flag. When it is false the rect is the whole desktop. The merge with this fork's out-of-bounds fix needed no manual change: the PR only adds an early return, so the fit-by-width-then-height logic is untouched. TestMetrics now passes keepAspect=true for the existing sweeps (the wide flag still only selects the suggested game size) and repeats the standard and non-standard desktop size sweeps with keepAspect=false, asserting the rect is exactly the desktop. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Add the nokeepaspectratio key and the -dxnokeepaspectratio flag to docs/configuration.md and credit the author of ported upstream PR 186 in the README. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Port of upstream PR 186 (bolrog/d2dx, by Jarcho), tracker item 1 of the remaining planned work. It addresses upstream issue 99 (cutscenes only ever 4:3). Not tested in the game: the cinematic drawing code is not compiled or run by the Linux tests, so Windows CI is only a build check.
What it does
nokeepaspectratio(cfg[optouts]key and-dxnokeepaspectratio): stretches the whole game to the window/screen. Off by default.Our changes on top (separate commits)
GetRenderRect: the PR's early return is added in front of our out-of-bounds fix, which is untouched; with the option off the code path is identical to before (the old callers passed an argument the function ignored). The parameter is renamedkeepAspect.keepAspect = trueexplicitly, and the same sweeps run withfalse, asserting the rect is exactly the desktop.nokeepaspectratioind2dx-defaults.cfganddocs/configuration.md; Jarcho added to the README credits.Please merge with a rebase merge (not squash, not a merge commit) so the three upstream commits keep Jarcho as author and the release notes list each change once.
Worth testing by hand: a cutscene at your resolution (expect full width, small bars top and bottom), and gameplay afterwards (game size restored). The 640x292 crop (rows 94 to 385) assumes every cinematic has the same letterbox; ones that don't would be cropped wrongly.
nokeepaspectratiostretches the whole game, not only cutscenes.🤖 Generated with Claude Code