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

Add the ability to apply transforms to all the display #4773

Open
Gouvernathor opened this issue Jun 23, 2023 · 2 comments · May be fixed by #4775
Open

Add the ability to apply transforms to all the display #4773

Gouvernathor opened this issue Jun 23, 2023 · 2 comments · May be fixed by #4775
Labels
enhancement A proposed or requested enhancement or improvement to renpy's features.
Milestone

Comments

@Gouvernathor
Copy link
Member

Wrapping all the layers as a group, rather than each individual layer, because it may not yield the same behavior and improve performances.
There would be some uses to make it context-dependent (like the camera statement) and some others to making it global and impervious to that. There will be losers to that match, so 🤷 maybe the simplest to implement ?

@Gouvernathor Gouvernathor added the enhancement A proposed or requested enhancement or improvement to renpy's features. label Jun 23, 2023
@Gouvernathor Gouvernathor linked a pull request Jun 23, 2023 that will close this issue
@mal
Copy link
Member

mal commented Jun 23, 2023

I'm interested in the proposed use case for this sort of thing as it's similar to thoughts I've had previously, but when playing them out have always tended to circle back to the realisation that it's unlikely that anyone wants to apply transforms to many of the default layers, i.e. top, bottom, transient, or overlay.

In cases where custom layers are being used, then this is already possible by making those layers detached and showing them on the master layer (or any other non-detached layer) on which the "global" transform could be applied and managed.

@Gouvernathor
Copy link
Member Author

The use case are people who wanted to change the game brightness for some reason, with a bar in the preferences for players, or to apply a CRT effect or any transparency/non-deterministic effects to the whole display including the screens layer.

I'm not sure how creators could easily move all their screens to a detached layer that would be integrated in master. I wouldn't be sure where to begin, to set it in place and so on. (But you mention using custom layers so that may not be what you were meaning.)
Contrast with this implementation (when it's fixed) : you want something to apply to the whole display ? use camera None at tr (the syntax was Tom's idea). You want it to always apply ? put it in after_load.
Provided a better place and manner to apply the transform is found within interact_core (or functions called by it), I think it would be a prettier solution code-wise and possibly performance-wise.

@renpytom renpytom added this to the 8.2 / 7.7 Prerelease milestone Nov 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A proposed or requested enhancement or improvement to renpy's features.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants