Fallout 76

File information

Last updated

Original upload

Created by

fo76utils

Uploaded by

fo76utils

Virus scan

Safe to use

About this mod

A collection of simple command line tools to view or extract data from various types of Fallout 76 files. Also supports older Elder Scrolls and Fallout games starting from Oblivion.

Permissions and credits
Mirrors
Changelogs
fo76utils includes the following tools:

  • baunpack - list the contents of, or extract from .BA2 or .BSA archives.
  • bcdecode - convert BC1 to BC5 block compressed DDS textures to uncompressed RGBA image data in raw or DDS format. BC7 decompression is also supported, using code from detex. bcdecode can also be used to convert from .hdr to .dds, and to pre-filter cube maps for use in PBR.
  • btddump - extract terrain data from Fallout 76 .BTD files to raw height map, land textures, ground cover, or terrain color.
  • cubeview - view cube maps or other textures from archive files.
  • esmdump - list records from .ESM files in text or TSV format.
  • esmview - interactive version of esmdump, also includes a NIF viewer for objects with an associated model (MODL).
  • findwater - create a height map of water bodies, optionally using .NIF meshes for Skyrim and newer games.
  • fo4land - extract landscape data from Oblivion, Fallout 3/New Vegas, Skyrim, and Fallout 4.
  • landtxt - create an RGB land texture from the output of btddump (formats 2, 4, 6, and 8) or fo4land (formats 2, 4, and 5), or directly from terrain data in ESM/BTD file(s), using a set of DDS texture files.
  • markers - find references to a set of form IDs defined in a text file, and mark their locations on an RGBA format map, optionally using DDS icon files.
  • nif_info - list data from a set of .NIF files in .BA2 or .BSA archives, convert to .OBJ format, or render the model to a DDS file, or display it.
  • render - render a world, cell, or object from ESM file(s), terrain data, and archives. Supports Fallout 76 and Fallout 4, and partly the older games (TES4/FO3/FNV are limited to terrain and water only).
  • terrain - older and simpler program to render terrain and water only to an RGB image, using files created by btddump, findwater, or fo4land. Includes 2D and isometric mode.
  • wrldview - interactive version of render.

Running any of the programs without arguments prints detailed usage information. See also the GitHub repository for Windows binary packages and older releases.

Building from source code on Windows

  • Download and run the MSYS2 installer.
  • In the MSYS2 MSYS terminal, run these commands to install development packages:
    pacman -Syu
    pacman -Su
    pacman -S --needed base-devel mingw-w64-x86_64-toolchain
    pacman -S msys/scons
  • Optionally, install SDL 2 for cubeview, wrldview, and the NIF viewer mode of esmview and nif_info, matplotlib for plotting scripts, and SWIG for building the Python interface to libfo76utils:
    pacman -S mingw64/mingw-w64-x86_64-SDL2
    pacman -S mingw64/mingw-w64-x86_64-python-matplotlib
    pacman -S mingw64/mingw-w64-x86_64-swig
  • The installed MSYS2 and MinGW packages can be updated anytime by running pacman -Syu again.
  • In the MSYS2 MinGW x64 terminal, compile the utilities with scons. Use scons -j 8 for building with 8 parallel jobs, and scons -c to clean up and delete the object files and executables. Running scons with the rgb10a2=1 option compiles all tools that can render NIF files with RGB10A2 frame buffer format, and adding pymodule=1 builds a Python interface to libfo76utils under scripts.
  • If Visual Studio is also installed on the system, tools=mingw needs to be added to the scons options.
  • By default, the code generated is compatible with Intel Sandy Bridge or newer CPUs. Adding avx=0 or avx2=1 disables instruction set extensions or also enables them for Haswell or newer, respectively.
  • Optionally, for the makemap and icon extraction scripts only, download and install ImageMagick and SWFTools.

Examples

Extract the height map of Appalachia:

btddump Fallout76/Data/Terrain/Appalachia.btd fo76hmap.dds 0 -100 -100 100 100

Extract all score board images (use bcdecode or cubeview to convert the files to uncompressed format):

baunpack Fallout76/Data -- textures/interface/season/season

Using the texture, NIF, ESM, and worldspace viewers (H prints usage/keyboard controls):

cubeview 1280 720 Fallout76/Data textures/shared/cubemaps/outsideoldtownreflectcube_e.dds
cubeview 3840 2160 Fallout76/Data .dds
nif_info -view2560x1440 Fallout76/Data meshes/test/testpbr
esmview Fallout76/Data/SeventySix.esm Fallout76/Data
esmview Fallout4/Data/Fallout4.esm Fallout4/Data fallout4_en
esmview Skyrim/Data/Skyrim.esm Skyrim/Data skyrim_english
wrldview Fallout76/Data/SeventySix.esm 2304 1296 Fallout76/Data -btd Fallout76/Data/Terrain/Appalachia.btd -r -71 -71 71 71 -rq 10 -ltxtres 1024 -lcolor 1 -1 0.875 -1 -1 -light 1.6 70.5288 135 -cam 0.125 1 -29332.19 79373.61 115577.4

Render the Whitespring example image, and create map markers for it (mapicons.py needs to be run to extract the icons):

render Fallout76/Data/SeventySix.esm whitespring.dds 4096 4096 Fallout76/Data -btd Fallout76/Data/Terrain/Appalachia.btd -l 0 -r -32 -32 32 32 -cam 0.125 54.7356 180 -135 53340 -99681 74002.25 -light 1.7 70.5288 135 -lcolor 1 0xFFFCF0 0.875 -1 -1 -ssaa 1 -rq 0x2F -ltxtres 512

markers Fallout76/Data/SeventySix.esm fo76mmap.dds 4096,4096,0.125,54.7356,180,-135,4096,-256,16384 fo76icondefs.txt