Call the original weapon view Default.

The menu labeled that choice SAME. A chosen angle already sets that field of view.
This commit is contained in:
justinfilip committed 2026-10-09 18:16:14 -05:00
1 parent acae172b57
commit f75c6dc90d
5 files changed
+15 -12

No files matched your search

@@ -38,7 +38,7 @@
</widget>
<widget name="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/viewmodel_fov_label" type="text" controller="1" width="300" height="22" string_list="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/labels" string_index="1" font="ui\large_ui" color="#FF2896FF" text_x="13" text_y="4">
</widget>
<widget name="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/viewmodel_fov_spinner" type="spinner" left="3" top="2" width="147" height="20" flags="pass_unhandled_to_focused_child left_right_tabs_items" strings="SAME|80|85|90|95|100|105|110|115|120|125|130|135|140|145|150" setting="display.viewmodel_fov" values="0|80|85|90|95|100|105|110|115|120|125|130|135|140|145|150" font="ui\large_ui" color="#FF2896FF" align="center" text_y="1" header_bitmap="bitmaps/arrow_sm_left" footer_bitmap="bitmaps/arrow_sm_right" header_bounds="7 -6 19 0" footer_bounds="7 150 19 156">
<widget name="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/viewmodel_fov_spinner" type="spinner" left="3" top="2" width="147" height="20" flags="pass_unhandled_to_focused_child left_right_tabs_items" strings="DEFAULT|80|85|90|95|100|105|110|115|120|125|130|135|140|145|150" setting="display.viewmodel_fov" values="0|80|85|90|95|100|105|110|115|120|125|130|135|140|145|150" font="ui\large_ui" color="#FF2896FF" align="center" text_y="1" header_bitmap="bitmaps/arrow_sm_left" footer_bitmap="bitmaps/arrow_sm_right" header_bounds="7 -6 19 0" footer_bounds="7 150 19 156">
<on event="created" run="port setting load"/>
</widget>
<widget name="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/op_viewmodel_visible" width="512" height="28" flags="pass_unhandled_to_focused_child" bitmap="bitmaps/option_bkds" color="#FF2896FF">
@@ -68,7 +68,7 @@
<strings name="main_menu/settings_select/player_setup/player_profile_edit/video_settings/fov_viewmodels/help_strings">
<string text=""/>
<string text="On-foot horizontal FOV at 16:9, in degrees.\nDefault keeps the authored view and scopes."/>
<string text="Weapon and hands horizontal FOV at 16:9, in degrees.\nSame keeps the original weapon view."/>
<string text="Weapon and hands horizontal FOV at 16:9, in degrees.\nA number sets that FOV. Default keeps the original weapon view."/>
<string text="Draw first-person weapons, hands and attached\nvisuals. Gameplay and sound continue when off."/>
</strings>
</menus>
+6 -5
View File
@@ -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. |
+3 -2
View File
@@ -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 ||
+2 -1
View File
@@ -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." },
+2 -2
View File
@@ -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),
],