Half-Life 2 Guide

How to change FOV past 90 in Half-Life 2, its Episodes, Portal and mods for Half-Life 2

How to change FOV past 90 in Half-Life 2, its Episodes, Portal and mods

Overview

Tired of too narrow FOV? The solution is here.

The tools

You will need a hex editor with the search with wildcards option. I will be using 101 Editor.

Half-LIfe 2 games

You can perform the following steps with Half-Life 2, both Episodes and Half-life: Source.

Step one

First step: open up server.dll and client.dll files located in Half-Life 2/gamefolder(hl2 for Half-Life 2, hl1 for Half-Life: Source, episodic for Episodes)/bin. In server.dll, do a search for B95A0000003bC1. You should get two instances. Change the 5A byte to FF in both of them. Do the same with client.dll (you should get only one instance this time).

Step two

Second step is a bit tricky. In client.dll do the search for 6A0168???106880020000 (If you are using 101Editor, don’t forget to turn the “Search with Wildcards” on in the search bar options). Then look at the line above and find byte sequence that starts with the D905 and ends with 10. I usually increase or decrease fourth of fifth byte by one. In this case, I changed the BF byte to C0.

Then load the game, open the console and type fov_desired in it. If you see something like “fov_desired” = “90” ( def. “75” ) min. 75.000000 max. 14684.614258, then you are good to go. Just type fov_desired and a preferable FOV value after it. If the value after max. is negative, zero, or less then your preferable FOV, just keep changing the bytes said above.

BE ADVISED, that the FOV value you are typing is for 4:3 aspect ratio. For example, if you have a 16:9 monitor and you typed fov_desired 120, your actual FOV will be 136 thus 16 degrees more. So, if you want actual FOV to be 120 degrees, you should type fov_desired 104. And if you have a 16:10 monitor, you should type fov_desired 110 instead (the actual FOV will be 10 degrees more).

Portal

Method 1

Open up client.dll and server.dll located at Portal/portal/bin. In server.dll do a search for 4B000000EB0A83F85A and change 5A byte to 78.


In client.dll, first do a search for 5F83F85A7E, then change the 5A byte to 78.


Then do a search for CCCCCCF30F10059446 and change the 46 byte to 43.

Method 2

If Valve suddenly decides to update Portal, there is a good chance that the first method won’t work anymore. In that case, you can use the method below.

For Portal, open up client.dll located at Portalportalbin and search for 8B018B5078FFD2EB028BC75F83F8 than change the first occurrence of 5A to FF and the second to your preferred FOV in binary format (104 degrees = 68, you can use the default Windows calculator for conversion). See example below.


And then, every time you start the game, put the command viewmodel_fov and the value in the console (or bind it to a key, autoexec doesn’t work here for some reason). To find this value, you should decrease your FOV value by 90 and then subtract this new value from 54. For example, you set the FOV to 104. 104-90=14, 54-14=40, so the final command will be viewmodel_fov 40.

Mods

Situation with mods is rather difficult. If the mod is built upon 2013 version of Source SDK and does not have a client.dll and a server.dll, you can patch client.dll and a server.dll located at Source SDK Base 2013 Singleplayersourcetestbin the same way you patched Half-Life 2. If the mod is built upon 2013 version of Source SDK and has client.dll and server.dll, then most of the time you can patch them too. But the patching way may vary. For example, you can patch the MMOD just fine using the Half-Life 2 method, but with Nightmare House 2 you should use the Portal method.

And if the mod is built upon Source SDK 2006/2007 and does not have a client.dll and a server.dll, you can go to Source SDK Base (Source SDK Base 2007)sourcetestbin, open the server.dll with a hex editor, do a search for B84B000000C3, and change the 4B byte to preferred FOV in binary representation. If the mod has client.dll and server.dll, you can try to patch them, but be advised that some mods implement different FOV change methods (for example, GString always changes your FOV to 90 on game load, even though it does not has its own client/server.dll). But often in cases such this, you can execute the fov command (for example: sv_cheats 1; fov 104; sv_cheats 0), or bind it to a forward key.

Also, for mods built upon Source SDK 2006, you can change FOV with r_aspectratio command (it also should be executed every game load). This command specifies the widescreen FOV. For example, default FOV in Source SDK 2006 is 75. Lets say, you have a 16/9 monitor, so you will got 75+16=91 degrees horizontal FOV. For a FOV of 120 degrees you should put the sv_cheats 1; r_aspectratio 3; sv_cheats 0 command (3=27/9, the widescreen FOV value is 45, 75+45=120). You can use a FOV calculator for help.

Similar guides

Similar guides for other games:

E.Y.E: Divine Cybermancy
[link]
Dark Messiah Might and Magic
[link]
Deus Ex
[link]
SteamSolo.com