setCameraFieldOfView improvements #4325
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4275 & #413
This PR adds several camera modes for modifying FOV:
aiming – aiming with a weapon
sniper_aiming – aiming with a sniper rifle (with increased zoom range)
1stperson_aiming – aiming with a weapon using the flag_aim_1st_person
vehicle_bump – bumper camera view in vehicles
This PR also adds a
resetCameraFieldOfView
function to restore default values.Important notes:
The aiming, sniper_aiming, and 1stperson_aiming modes should be used within the render loop, as their FOV values are overwritten every frame.
resetCameraFieldOfView does not reset the FOV for the aiming mode while actively aiming. The FOV will automatically reset once the player stops aiming.
Low values, as documented on the wiki, may cause visual glitches but do not cause crashes (tested).
Using setCameraFieldOfView with the sniper_aiming mode increases the sniper zoom range from the default to the full function range of 0–179. This extended range remains until resetCameraFieldOfView is called, which then restores the default range of 15–70."
Thanks to @sacr1ficez for the ideas and testing.