I was thinking... for special effects like: the camera swinging animation of a melee weapon; or strafing camera roll, or the camera tilting upon death... or even the animation of your pitch shifting upwards when firing a gun, has no business actually physically altering the actor in the world. Another good reason to keep these things view-only is, let's say you want to let the user disable these camera movement features via a custom user CVar. With the current implementation, this is a fresh recipe for multiplayer desynchronization. Lastly, the benefits of having the view-only parameter is that at the end of a scripted effect, you would be able to retrieve the actor's REAL angle, to snap the view back to neutral (this would probably require additional GetActorViewAngle/Pitch/Roll functions, and the view-only variables in DECORATE would probably be new variables (viewangle, viewpitch, viewroll?)).
These things would be gracefully handled in R_SetupFrame and the final data fed to the renderer properly. For camera roll, the GL code would read the outputs and do what's necessary. And if someone can figure out a way to do camera roll in the software renderer in future (perhaps rasterizing the entire view canvas to a separate texture and then rotating it??? I don't know), well, that's a layer of work already out of the way for them.
Any thoughts? MajorCooke maybe?
