Features
- Aspect-correct "Hor+" FOV adjustment, including vehicle and weapon zoom values
- Aspect-correct rendering for first-person weapons
- Aspect-correct HUD support (mostly), based on Azarael's HUD Scaling Fix mutator
- Aspect-correct mouse sensitivity (scale off wider FOV instead of hard-coded 90)
- Entirely client-side - no mutators required
Install / Uninstall
Extract the release archive to your UT2004 install directory.Open System\User.ini and find the following line:
InputClass=Class'Engine.PlayerInput'
Replace every instance of it with the following:
;InputClass=Class'Engine.PlayerInput'
InputClass=Class'foxWSFix.foxPlayerInput'
Note: This line should appear at least twice - once under [Engine.PlayerController], and once under [XGame.xPlayer]. Be sure to change each one! (or add it if missing)
You're done! To uninstall, simply reverse your changes.
** v2.0 Upgrade Note **
If upgrading from v2.0, you should revert v2.0's GUIController change.
Open System\ut2004.ini and replace:
GUIController=foxWSFix.foxUT2K4GUIController
With the original:
GUIController=GUI2K4.UT2K4GUIController
Usage
Once installed, foxWSFix works automatically, with no configuration required.Resolution can be adjusted via the game's built-in console command:
SetRes <resolution>
* <resolution> - new resolution to use, given as ##x##
e.g. SetRes 1920x1080
SetRes 3360x1440
In-game FOV can be adjusted via the menu as normal, or via a new console command:
SetFOV <fov><br> * <fov> - new FOV to use, given as a 4:3 ratio FOV (90 @ 4:3 == 106.2602 @ 16:9, etc.)<br> e.g. SetFOV 90<br>
Other Notes
The FOV changes should be compatible with all mods, provided they don't use a custom PlayerInput class.However, widescreen HUDs are provided for vanilla HUDs only.
foxWSFix stores its settings in System\User.ini as such:
[foxWSFix.foxPlayerInput]<br>bInputClassErrorCheck=True ;Check User.ini InputClass settings for possible errors?<br>Desired43FOV=90.000000 ;Desired 4:3 FOV per SetFOV command / menu setting<br>bCorrectZoomFOV=True ;Correct FOV values for weapon zoom?<br>bCorrectWeaponFOV=True ;Correct FOV values for on-screen weapon viewmodel?<br>bCorrectMouseSensitivity=True ;Correct MouseSensitivity for aspect ratio changes? (due to wider FOV)<br>Desired43MouseSensitivity=2.200000 ;Desired 4:3 MouseSensitivity per SetSensitivity command / menu setting<br>WideHUDMap=(HudClass=Class'UT2k4Assault.HUD_Assault',WideHUD="foxWSFix.foxWideHUD_Assault")<br>WideHUDMap=(HudClass=Class'XInterface.HudCBombingRun',WideHUD="foxWSFix.foxWideHudCBombingRun")<br>WideHUDMap=(HudClass=Class'XInterface.HudCCaptureTheFlag',WideHUD="foxWSFix.foxWideHudCCaptureTheFlag")<br>WideHUDMap=(HudClass=Class'XInterface.HudCDeathmatch',WideHUD="foxWSFix.foxWideHudCDeathMatch")<br>WideHUDMap=(HudClass=Class'XInterface.HudCDoubleDomination',WideHUD="foxWSFix.foxWideHudCDoubleDomination")<br>WideHUDMap=(HudClass=Class'XInterface.HudCTeamDeathMatch',WideHUD="foxWSFix.foxWideHudCTeamDeathMatch")<br>WideHUDMap=(HudClass=Class'SkaarjPack.HUDInvasion',WideHUD="foxWSFix.foxWideHUDInvasion")<br>WideHUDMap=(HudClass=Class'BonusPack.HudLMS',WideHUD="foxWSFix.foxWideHudLMS")<br>WideHUDMap=(HudClass=Class'BonusPack.HudMutant',WideHUD="foxWSFix.foxWideHudMutant")<br>WideHUDMap=(HudClass=Class'Onslaught.ONSHUDOnslaught',WideHUD="foxWSFix.foxWideONSHUDOnslaught")<br>
Additional WideHUDMap lines may be added or replaced for custom HUD replacements.
For example, to use HUDFix's UT2k3 widescreen HUDs, replace with the following:
WideHUDMap=(HudClass=Class'UT2k4Assault.HUD_Assault',WideHUD="HUDFix.HUDW2K3Assault")<br>WideHUDMap=(HudClass=Class'XInterface.HudCBombingRun',WideHUD="HUDFix.HudW2K3BombingRun")<br>WideHUDMap=(HudClass=Class'XInterface.HudCCaptureTheFlag',WideHUD="HUDFix.HudW2K3CaptureTheFlag")<br>WideHUDMap=(HudClass=Class'XInterface.HudCDeathMatch',WideHUD="HUDFix.HudW2K3DeathMatch")<br>WideHUDMap=(HudClass=Class'XInterface.HudCDoubleDomination',WideHUD="HUDFix.HudW2K3DoubleDomination")<br>WideHUDMap=(HudClass=Class'XInterface.HudCTeamDeathMatch',WideHUD="HUDFix.HudW2K3TeamDeathMatch")<br>WideHUDMap=(HudClass=Class'SkaarjPack.HudInvasion',WideHUD="HUDFix.HudW2K3Invasion")<br>WideHUDMap=(HudClass=Class'BonusPack.HudLMS',WideHUD="HUDFix.HudW2K3LMS")<br>WideHUDMap=(HudClass=Class'BonusPack.HudMutant',WideHUD="HUDFix.HudW2K3Mutant")<br>WideHUDMap=(HudClass=Class'Onslaught.ONSHUDOnslaught',WideHUD="HUDFix.ONSHUDW2K3Onslaught")<br>
Known Issues
- Some HUDs still have elements that don't quite scale correctly, particularly with ultra-wide (32:9 or greater) ratios. (e.g. Assault Rifle grenade counter, on-screen objectives, etc. - unfortunately these are drawn outside the HUD)
Compile Steps
To compile, move the "foxWSFix" folder inside "Src" out into your root UT2004 install directory.Then simply add the following to the [Editor.EditorEngine] section in System\ut2004.ini:
EditPackages=foxWSFix<br>
Finally, run "foxWSFix\Compile.bat" (or simply "UCC make") to compile the project.
Feedback
If you have any questions or feedback, feel free to leave a comment on Steam: https://steamcommunity.com/app/13230/discussions/0/611702631218438023/Issues and Pull Requests are also welcome: https://github.com/alexstrout/foxWSFix-UT2k4
And of course, thanks for trying the mod! ~fox
Changes
v2.2.0 (2021-10-30):- Properly fixed weapon rendering getting offset when transitioning levels or exiting to menus
- Added "bCorrectWeaponFOV" option to control visual weapon FOV scaling, courtesy of Nootlord
- Fixed weapon rendering getting increasingly offset every level transition
- (Note: Not applicable to foxWSFix99 for UT99, no fix needed there)
- Added in-game InputClass error handling to hopefully ease some install issues
- Updated installation instructions to reflect the above
- Clarified bCorrectMouseSensitivity (Unreal normally scales sensitivity against a hard-coded 90 FOV for zoom)
- Resolved AntiTCC issue with GUIController hook (see "v2.0 Upgrade Note" above)
- (Note: All functionality is still in place, just handled in foxPlayerInput now)
- Configurable client-side HUD loading, no mutator required
- Fixed various issues with first-person weapon rendering
- (Note: Omitted by accident from original v2.0 patch notes, oops)
- Integration / reimplementation of Azarael's HUD Scaling Fix HUDs, fixing a few minor bugs (such as Adrenaline meter not scaling in CTF)
- Automatic aspect ratio determination (SetRatio removed, no longer needed)
- FOV adjustment now applies to weapon zoom etc. and is driven by menu FOV setting (or SetFOV as before)
- Fixed issue where input settings weren't saved when adjusted in-game
- Mouse sensitivity now auto-adjusts to be consistent across aspect ratios
- Fixed optimization-related general protection fault
- Optimizations to avoid recalculating view FOV and weapon FOV every frame (oops!)
- Don't use FOV function as that calls SaveConfig every run, leading to performance issues (oops!)
- Initial release.