diff --git a/port/assets/menus/ce/main_menu.settings_select.player_setup.player_profile_edit.video_settings.fov_viewmodels.xml b/port/assets/menus/ce/main_menu.settings_select.player_setup.player_profile_edit.video_settings.fov_viewmodels.xml
index 26986d63..1cea9b97 100644
--- a/port/assets/menus/ce/main_menu.settings_select.player_setup.player_profile_edit.video_settings.fov_viewmodels.xml
+++ b/port/assets/menus/ce/main_menu.settings_select.player_setup.player_profile_edit.video_settings.fov_viewmodels.xml
@@ -38,7 +38,7 @@
-
+
@@ -68,7 +68,7 @@
-
+
diff --git a/port/linux/README.md b/port/linux/README.md
index 8a448957..2a6736b0 100644
--- a/port/linux/README.md
+++ b/port/linux/README.md
@@ -316,10 +316,11 @@ the setting for one start of the game. It has priority over the file.
Video Setup's **FOV AND VIEWMODELS** category offers optional world and
weapon field of view settings and first person visibility. **DEFAULT** keeps
-the authored world projection. **SAME** keeps the original weapon view, and
-viewmodels start **ON**. OK saves and applies changes. Cancel discards them.
-The menu offers 80 to 150 degrees in steps of five. The config file accepts
-20 to 150 degrees, including fractional values, or zero for Default and Same.
+the authored world projection. **DEFAULT** for the weapon keeps its original
+view, and viewmodels start **ON**. A chosen weapon angle is that FOV. OK
+saves and applies changes. Cancel discards them. The menu offers 80 to 150
+degrees in steps of five. The config file accepts 20 to 150 degrees,
+including fractional values, or zero for Default.
Angles are horizontal at 16:9; other aspect ratios retain the same vertical
view. World FOV applies to on-foot first-person views, preserving authored
vehicle, death and cinematic cameras. Completed scopes keep their native
@@ -343,7 +344,7 @@ only their display; firing, animation, sound and world lights continue.
| `display.interpolation` | `true` | `HALO_INTERPOLATION` | `true`: one frame for each refresh of the display. `false`: 30 frames each second, as on the Xbox. Refer to "Frame rate". |
| `display.direct_camera` | `true` | `HALO_DIRECT_CAMERA` | `true`: in first person, on foot, the view points where the player aims in each frame, not where the last tick left it. Refer to "Frame rate". |
| `display.fov` | `0.0` | `HALO_FOV` | On-foot first-person horizontal FOV at 16:9, from 20 to 150 degrees. `0` keeps the authored view. Video Setup's FOV and Viewmodels screen sets it. |
-| `display.viewmodel_fov` | `0.0` | `HALO_VIEWMODEL_FOV` | Independent weapon and hands horizontal FOV at 16:9, 20 to 150 degrees. `0` keeps the original weapon view. |
+| `display.viewmodel_fov` | `0.0` | `HALO_VIEWMODEL_FOV` | Weapon and hands horizontal FOV at 16:9, 20 to 150 degrees. `0` is Default and keeps the original weapon view. A chosen angle is that FOV. |
| `display.viewmodel_visible` | `true` | `HALO_VIEWMODEL_VIS` | Show first-person weapons, hands and attached visuals. This does not change gameplay or other players' models. |
| `display.high_res_hud` | `true` | `HALO_HIGH_RES_HUD` | `true`: the HUD (meters, counters, panels and their outlines, the motion sensor, reticles, waypoints, scopes) is drawn from the high-res assets in `port/assets/hud`, 8x the size of the maps' bitmaps. The bitmaps with English text keep the maps' own. `false`: the maps' own bitmaps. |
| `display.high_res_text` | `true` | `HALO_HIGH_RES_TEXT` | `true`: the menus' and HUD's text is drawn with the fonts in `port/assets/fonts` (Overpass, in place of the maps' Interstate) at the resolution the game draws at, laid out as before, and the menus' titles are drawn from the high-res pictures in `port/assets/titles`. `false`: the maps' bitmap fonts and titles. |
diff --git a/port/linux/game/viewmodel_fov.c b/port/linux/game/viewmodel_fov.c
index d815bf01..d049a836 100644
--- a/port/linux/game/viewmodel_fov.c
+++ b/port/linux/game/viewmodel_fov.c
@@ -43,8 +43,9 @@ void viewmodel_projection_begin(void)
if (projection_depth++ != 0) return;
projection_applied = FALSE;
angle = viewmodel_vertical();
- /* SAME keeps the weapon at this frame's own angle. A wide world view
- stretches arms and a gun that sit against the camera. */
+ /* Default keeps the weapon at this frame's own angle. A chosen angle
+ is that FOV and is left as it is. A wide world view stretches arms
+ and a gun that sit against the camera, so Default does not follow it. */
if (!angle)
angle = render_fov_authored_vertical(render.local_player_index);
if (!angle || render.local_player_index < 0 || render.local_player_index >= MAXIMUM_LOCAL_PLAYERS ||
diff --git a/port/linux/src/port_config.c b/port/linux/src/port_config.c
index c6d80449..c4104603 100644
--- a/port/linux/src/port_config.c
+++ b/port/linux/src/port_config.c
@@ -117,7 +117,8 @@ static const struct config_setting config_settings[] =
"0 keeps the authored view. Other cameras keep their own FOV." },
{ "display.viewmodel_fov", _config_real, "0.0", "HALO_VIEWMODEL_FOV", _environment_value, _platform_all,
"Weapon and hands horizontal FOV at 16:9, in degrees (20 to 150);\n"
- "0 keeps the original weapon view. Attached visuals use the same projection." },
+ "0 is Default and keeps the original weapon view. A chosen angle is\n"
+ "that FOV. Attached visuals use the same projection." },
{ "display.viewmodel_visible", _config_boolean, "true", "HALO_VIEWMODEL_VIS", _environment_value, _platform_all,
"Draw the first-person weapon, hands and attached visuals. Turning\n"
"this off does not change firing, animation, sound or world lights." },
diff --git a/tools/port_settings.py b/tools/port_settings.py
index 53bddec6..0fb941f9 100644
--- a/tools/port_settings.py
+++ b/tools/port_settings.py
@@ -198,8 +198,8 @@ SCREENS["video_settings/fov_viewmodels"] = {
"rows": [
("FOV:", "display.fov", [("DEFAULT", "0")] + [(str(n), str(n)) for n in range(80, 151, 5)],
"On-foot horizontal FOV at 16:9, in degrees.\nDefault keeps the authored view and scopes.", None),
- ("VIEWMODEL FOV:", "display.viewmodel_fov", [("SAME", "0")] + [(str(n), str(n)) for n in range(80, 151, 5)],
- "Weapon and hands horizontal FOV at 16:9, in degrees.\nSame keeps the original weapon view.", None),
+ ("VIEWMODEL FOV:", "display.viewmodel_fov", [("DEFAULT", "0")] + [(str(n), str(n)) for n in range(80, 151, 5)],
+ "Weapon and hands horizontal FOV at 16:9, in degrees.\nA number sets that FOV. Default keeps the original weapon view.", None),
("VIEWMODELS:", "display.viewmodel_visible", ON_OFF,
"Draw first-person weapons, hands and attached\nvisuals. Gameplay and sound continue when off.", None),
],