Skip to content

Implement Photo Mode - #7287

Merged
wookieejedi merged 9 commits into
scp-fs2open:masterfrom
MjnMixael:builtin_photo_mode
Apr 8, 2026
Merged

Implement Photo Mode#7287
wookieejedi merged 9 commits into
scp-fs2open:masterfrom
MjnMixael:builtin_photo_mode

Conversation

@MjnMixael

@MjnMixael MjnMixael commented Mar 14, 2026

Copy link
Copy Markdown
Contributor

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
Comment thread code/controlconfig/controlsconfigcommon.cpp Outdated
@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
Comment thread code/camera/photomode.cpp Outdated
Comment thread code/camera/photomode.cpp Outdated
Comment thread code/localization/localize.cpp Outdated
@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.

@wookieejedi wookieejedi left a comment

Copy link
Copy Markdown
Member

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.

@wookieejedi
wookieejedi merged commit 36d05ba into scp-fs2open:master Apr 8, 2026
20 checks passed
@MjnMixael
MjnMixael deleted the builtin_photo_mode branch April 8, 2026 14:34
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