Skip to content

Implement Photo Mode#7287

Open
MjnMixael wants to merge 9 commits intoscp-fs2open:masterfrom
MjnMixael:builtin_photo_mode
Open

Implement Photo Mode#7287
MjnMixael wants to merge 9 commits intoscp-fs2open:masterfrom
MjnMixael:builtin_photo_mode

Conversation

@MjnMixael
Copy link
Copy Markdown
Contributor

@MjnMixael MjnMixael commented Mar 14, 2026

Adds an in-engine photo mode that creates a controllable camera that obeys flight control keybinds. The photo mode comes with a togglable rule-of-thirds grid and adjustable filters (saturation, brightness, contrast).

There is a sexp to disallow photo mode (it's always disallowed in multiplayer) and the camera sexps automatically disable/enable photo mode as well.

This also comes with scripting hooks for photo mode started and ended.

EDIT: Per the conversation with Wookie I have modified this PR to make the controls system as it relates to photo mode much cleaner. I have added a conflicts bitmask to the control bindings data which is meant to distinguish between bindings used for entirely different gameplay states (not proper STATES) but like normal flight vs photo mode. This allows 2 things very easily. First, any binding not related to photo mode while in photo mode is entirely ignored automatically (and vice versa). Second, it allows photo mode controls to share keys with non-photo mode controls. That in turn allows photo mode to use the arrow keys by default for effect modification which is a much nicer user experience. The keybind for toggling photo mode has both bits set so it conflicts with both photo mode keys and normal keys and is never ignored in these states. I've no idea how this could be used in the future but it could theoretically be easily expanded if needed for other sets of keybind conflict groups.

@MjnMixael MjnMixael requested a review from z64555 as a code owner March 14, 2026 21:18
@wookieejedi wookieejedi added the feature A totally new sort of functionality label Mar 14, 2026
@MjnMixael MjnMixael force-pushed the builtin_photo_mode branch from d8b8946 to 9866314 Compare March 16, 2026 03:35
@MjnMixael MjnMixael added this to the Release 26.0 milestone Mar 16, 2026
@MjnMixael MjnMixael force-pushed the builtin_photo_mode branch from 9866314 to ee1015a Compare March 24, 2026 13:27
@MjnMixael MjnMixael force-pushed the builtin_photo_mode branch from ee1015a to ac62baf Compare April 1, 2026 03:50
@wookieejedi
Copy link
Copy Markdown
Member

Thanks for all the updates and incorporations, especially the controls bitmap aspects! It looks good to me, though given this new change I'll give folks at least a few days to look it over before merging.

Copy link
Copy Markdown
Member

@wookieejedi wookieejedi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per previous comments I'm approving and will merge tomorrow evening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A totally new sort of functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants