New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add PCjr CGA composite output (1 of 2) #1122
Conversation
0b219fe
to
ae32b80
Compare
Originally NRS and the other composite folks had included conf settings to dial in composite mode, but there were concerns that this would impact the patches likelihood of being merged - so they fell back to hotkey controls. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The commit message in first commit should include line:
Imported-from: https://www.vogons.org/viewtopic.php?p=546614#p546614
(not Ref: line).
Left few tiny comments - overall the code looks good and you cleaned it up nicely :) I haven't tested it yet, but we need to make sure there's no accidental regression when turning on emulator in PCjr or Tandy modes.
Yes, we should add .conf controls for CGA modes, but we need to do it carefully, and make sure they can be switched via |
Really like this approach - thanks @dreamer. |
Tested with: - Ultima II (special PCjr version) - B.C.'s Quest for Tires - The Seven Cities of Gold Imported-from: https://www.vogons.org/viewtopic.php?p=546614#p546614
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like a lot of variables in update_cga16_color
can be const
or constexpr
, any benefit to doing that now?
e.g.:
constexpr double tau = 6.28318531; // == 2*pi
constexpr double ns = 567.0/440; // degrees of hue shift per nanosecond
Thanks! Yes; I think they're perfect for the part-2 PR that passes over the entire file. |
ae32b80
to
59deb66
Compare
59deb66
to
5671512
Compare
Updates inbound. |
5671512
to
cea85c6
Compare
Good catch - I think we can shift it to the next PR :) Whenever we can use Whenever dealing with "standard" know math constants like Pi, it's preferable to use constants from constexpr double tau = 2 * M_PI; |
@kcgen Looks great - thanks! :) |
Glad to see this feature got added. |
This is historically an issue for Visual Studio, speaking from past experience, so might be why the original author avoided it. |
Not for us, we fixed it for VS already :) It's not really a problem in VS but rather with projects using incorrect include order in header and cpp files - it just manifests in VS more often than anywhere else. |
Merges NewRisingSun's PCjr composite patch. This addresses the first part of the eXoDOS composite project card.
Suggest reviewing commit-by-commit.
A follow on PR addresses compiler warnings in this file, in general (to keep this PR scoped to just this feature).