Skip to content
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

Allow player-specific options even when using In-Game Options #6045

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

MjnMixael
Copy link
Contributor

This PR moves the methods to set the serialized values for options into OptionsManager for more global use. Then it removes the check for Using_in_game_options from csg.cpp and plr.cpp and instead always loads the player or campaign options and then runs those OptionsManager methods to make sure the serialized values are kept in sync for the UI.

I know @notimaginative was concerned about multi options, but the only one I could definitively find that's saved to the player file was the Local Broadcast setting. Let me know if I missed one, though, and I can add it here.

@notimaginative
Copy link
Contributor

I haven't looked this over yet so some of this may be covered already...

obj_update_level is pilot specific since you may want it different between LAN and online play.

PXO is controlled by the protocol option. It will be NET_TCP for strictly LAN & Direct TCP/IP play, or NET_VMT to use PXO instead.

@MjnMixael
Copy link
Contributor Author

MjnMixael commented Mar 16, 2024

I haven't looked this over yet so some of this may be covered already...

obj_update_level is pilot specific since you may want it different between LAN and online play.

PXO is controlled by the protocol option. It will be NET_TCP for strictly LAN & Direct TCP/IP play, or NET_VMT to use PXO instead.

I don't think any of those three are currently covered by OptionsManager, so we should be good then.

However, on that note the last time I asked about what Multi Options to drop in SCPUI, you suggested obj_update_level wasn't really used anymore. Has that changed? If so I will need to add it. The only Multi options I have exposed to OptionsManager are the IP Address list, Local Broadcast, TogglePXO (which is really just an additional binary compared against Local Broadcast), the PXO login info, Flush Cache, and Transfer Missions/Multidata. Here's the image I saved from our conversation.
image
** Voice stuff to be added later after you've finished the new multi voice code.

@wookieejedi wookieejedi added cleanup A modification or rewrite of code to make it more understandable or easier to maintain. refactor A cleanup/restructure of a feature for speed, simplicity, and/or maintainability labels Mar 16, 2024
@wookieejedi wookieejedi added this to the Release 24.2 milestone Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup A modification or rewrite of code to make it more understandable or easier to maintain. refactor A cleanup/restructure of a feature for speed, simplicity, and/or maintainability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants