Fallout New Vegas

File information

Last updated

Original upload

Created by

MonochromeWench

Uploaded by

MonochromeWench

Virus scan

Some manually verified files

Documentation

Readme

View as plain text

Fallout New Vegas 4GB
=====================
by MonochromeWench ([email protected])

FNV4GB is a tool to load Fallout New Vegas with the Large Address Aware
executable flag set so the entire 4GB Virtual Memory Address Space can be used
by the game.

FNV4GB is licensed under the terms of the GNU Lesser General Public License
version 2.1. Read the included lgpl-2.1.txt for the terms. Source code is included
with the package. Original binaries compiled using Microsoft Visual Studio 2005.

FNV4GB additionally hooks and replaces the Windows GetTickCount() function that
may improve stuttering.


Running
-------
Just run FNV4GB.exe to launch the game! You don't even need it in the games
directory, just make sure fnv4gb.exe and fnv4gb_helper.dll are together.

If your version of Fallout New Vegas is not the standard version with the
SteamAppID of 22380 you need to run fnv4gb.exe and specify the actual
SteamAppID on the command line. Example: fnv4gb.exe 22380


Technical Details
-----------------

FNV4GB performs the following actions

1) Gets the Install Path for the game from the registry value:
HKEY_LOCAL_MACHINE\SOFTWARE\Bethesda Softworks\FalloutNV\Installed Path
2) Changes to the games Directory
3) Copies FalloutNV.exe to FalloutNV.4GB if needed
4) Sets the LARGEADDRESSAWARE bit on FalloutNV.4GB if needed
5) Sets the environment variable SteamAPPId to 22380 (or whatever value was
specified on the command line) which tells Steam to run the game (not
restart and load the launcher)
6) Creates a new process for FalloutNV.4GB with the main thread suspended
7) Injects fnv4gb_helper.dll into the FalloutNV.4GB process
8) fnv4gb_helper unsets the LARGEADDRESSAWARE bit in the loaded headers so
when steam verifies the loaded executable in memory it passes
9) fnv4gb_helper hooks the GetTickCount function to attempt to reduce
stuttering
10) fnv4gb_helper hooks the CreateFileA function so when steam attempts to
verify the disk executable file against the loaded memory it loads the
untouched FalloutNV.exe instead of the modified FalloutNV.4gb
11) The FNV4GB loader verifies that Large Addresses are enabeles in the
FalloutNV.4gb
12) FNV4GB loader unsuspends the main thread so the game can run