Linedef action 5 "Camera Scanner" Falsly blamed for causing camera issues
After the Autumn OLDC of 2020 SRB2 received an update in which all use of the camera scanner produces a console message that the action is depreciated. Hearing that this action was broken, I wanted more details. Those details about how it was broken were that a level from this oldc called "Azlant Ruins" was causing camera issues with this action and that this action affected Cvars in ways that saved them.
Upon learning this I decided to investigate, and I found some results that should clear the name of this action.
First. How the action works can be seen on both the wiki and this gitlab. https://wiki.srb2.org/wiki/Linedef_type_5 https://git.do.srb2.org/STJr/SRB2/blob/next/doc/specials.html
<h3><a name="l5"></a>5 - Camera Scanner</h3>
<p>Modifies camera position while the player is in the target sector. The floor and
ceiling of the control sector and the angle of the control linedef are the values for
CAM_HEIGHT, CAM_DIST, and CAM_ROTATE, respectively. Camera position is reset when the
player steps outside the sector.</p>
A key part to notice is where it says Camera position is reset when the player steps outside the sector. This plays a key part later on.
Second, the way the map was set up involved the use of a script to stop the camera from moving.
the Script would be triggered in level calling the console command setting cam_speed to 0
when the level was done with that script, it "reset" the camespeed to the wrong speed
When I quit the game with the scanner active, including via Alt-F4, the Cvars it affected were not saved, but the one affected by the script was.
The Same result happened with just quitting to the title with only the cam_speed Cvar being the only one actually written to.
https://imgur.com/Q9aSLX3
In conclusion, The only real camera issue was the one caused by the script writing the CAM_SPEED cvar by using the console command and not the camera scanner action itself.
If an example wad is necessary to prove my claim, I will provide one.
Edit, More details:
Apparently the values that are supposedly being written are not able to be seen by the console commands.
(this bottom image was taken with cam_speed at 0.5)