Skip to content

Water (WATR)

Fallout 4 water is defined by WATR records that control visual appearance (fog, reflections, specular, noise, silt) and gameplay effects (damage spells, sounds). Each exterior cell or worldspace references a water type and a water height, and the engine renders a flat plane at that elevation using the WATR's material properties.

Data Flow

WRLD record
  -> default water type (DNAM -> WATR FormID)
  -> default water height (NAM2 -> float32)

CELL record
  -> XCLW (water height, float32) — overrides worldspace default
  -> XCWT (water type, FormID)   — overrides worldspace default

Interior cells can also have water if the Has Water flag (bit 1 of CELL DATA) is set.

WATR Record

Type code: WATR

Top-Level Subrecords

Subrecord Type Description
EDID zstring Editor ID
FULL lstring Display name
ANAM uint8 Opacity (0-255)
FNAM uint8 Flags (see below)
TNAM formid Material type (MATT)
SNAM formid Open sound (SoundDescriptor)
XNAM formid Consume spell (on drinking)
YNAM formid Contact spell (on touching)
INAM formid Image space modifier
DATA bytes Unknown
DNAM struct Main visual data (201 bytes, see below)
GNAM bytes Unknown
NAM0 3x float32 Linear velocity (X, Y, Z)
NAM1 3x float32 Angular velocity (X, Y, Z)
NAM2 zstring Noise layer 1 texture path
NAM3 zstring Noise layer 2 texture path
NAM4 zstring Noise layer 3 texture path

Flags (FNAM)

Bit Name
0x01 Dangerous
0x04 Directional Sound

DNAM — Visual Data (201 bytes)

Fog Properties

Offset Type Field
0x00 float32 Fog Depth Amount
0x04 RGBA Fog Shallow Color
0x08 RGBA Fog Deep Color
0x0C float32 Fog Color Shallow Range
0x10 float32 Fog Color Deep Range
0x14 float32 Fog Shallow Alpha
0x18 float32 Fog Deep Alpha
0x1C float32 Fog Alpha Shallow Range
0x20 float32 Fog Alpha Deep Range
0x24 RGBA Fog Underwater Color
0x28 float32 Fog Underwater Amount
0x2C float32 Fog Underwater Near
0x30 float32 Fog Underwater Far

Physical Properties

Offset Type Field
0x34 float32 Normal Magnitude
0x38 float32 Shallow Normal Falloff
0x3C float32 Deep Normal Falloff
0x40 float32 Reflectivity Amount
0x44 float32 Fresnel Amount
0x48 float32 Surface Effect Falloff
0x4C float32 Displacement Simulator Force
0x50 float32 Displacement Simulator Velocity
0x54 float32 Displacement Simulator Falloff
0x58 float32 Displacement Simulator Dampener
0x5C float32 Displacement Simulator Starting Size
0x60 RGBA Reflection Color

Specular Properties

Offset Type Field
0x64 float32 Sun Specular Power
0x68 float32 Sun Specular Magnitude
0x6C float32 Sun Sparkle Power
0x70 float32 Sun Sparkle Magnitude
0x74 float32 Interior Specular Radius
0x78 float32 Interior Specular Brightness
0x7C float32 Interior Specular Power

Noise Layers (3 layers, interleaved)

Fields are grouped by property, with all 3 layers stored consecutively.

Offset Type Field
0x80 float32 x3 Wind Direction (layers 1, 2, 3)
0x8C float32 x3 Wind Speed (layers 1, 2, 3)
0x98 float32 x3 Amplitude Scale (layers 1, 2, 3)
0xA4 float32 x3 UV Scale (layers 1, 2, 3)
0xB0 float32 x3 Noise Falloff (layers 1, 2, 3)

Each layer also has a texture path in NAM2/NAM3/NAM4 (see top-level subrecords).

Silt & Screen-Space

Offset Type Field
0xBC float32 Silt Amount
0xC0 RGBA Silt Light Color
0xC4 RGBA Silt Dark Color
0xC8 uint8 (bool) Screen Space Reflections

Total DNAM size: 201 bytes (0xC9).

Velocity

NAM0 and NAM1 define water flow as linear and angular velocity vectors. These control the direction and speed of surface animation and physics interaction. Both are world-space float32 triplets (X, Y, Z).

Cell & Worldspace References

Water type and height are resolved per-cell with a fallback chain:

  1. CELL override: XCWT (water type) and XCLW (water height) on the cell record
  2. Worldspace default: DNAM (default water type) and NAM2 (default water height) on the WRLD record
  3. Interior cells: water only renders if Has Water flag is set in CELL DATA