The primary function of this is a new button in the "Preferences" tab -
Set View Range. This functions similarly to the admin verb "Change View
Range", but it only allows you to set view ranges lower than the normal
world.view.
Full changelog:
- Added ViewMods system to clients.
- Everything that wants to change client.view should do it through
this system.
- Currently used by the Set View Range button and Marauders.
- Stretch mode is set to stretch when active, but the original
setting is preserved, as long as you set it with no ViewMods enabled.
- The basic way this works is that it keeps track of /datum/viewmods
on /clients, and whenever one is added or removed, it picks the
highest view range out of all of them and sets the client's vision to
that. This effectively means that, if you, say, set your view range
to 5x5, and get into a Marauder and use the "zoom" button, it will
always go to the marauder's zoom level.
- The HUD is set to minimal mode for any view ranges below
world.view, which means you only get absolutely critical buttons.
- It's set to invisible if you go down to view range 1 or 2,
because the buttons can't fit on the screen at those view
ranges.
- Removed canvas examine option. Just zoom in yourself!