Battlezone Render.cfg Settings

[Debug]

TrackFPS

Default: 0

This enables (1) or disables (0) the frame rate display in the upper-right corner of the screen. With hardware rendering, it also shows a number of D3D render settings as a diagnostic.

Setting Off On
Alpha a A
MipMaps m M
ZBuffer z Z
TripleBuffer t T
RadarType 1 f F
Texture16 (8) (16)

[NormalView]

HiRes

Default: 0

This enables higher resolutions in software rendering (800x600, 1024x768, 1280x1024, and 1600x1200). Hardware rendering uses video modes reported by Direct3D so this has no effect.

MIP0

Default: 60

This sets the maximum distance for terrain texture mip 0 (256x256) when not using hardware mip-mapping.

MIP1

Default: 120

This sets the maximum distance for terrain texture mip 1 (128x128) when not using hardware mip-mapping.

MIP2

Default: 240

This sets the maximum distance for terrain texture mip 2 (64x64) when not using hardware mip-mapping.

MIP3

Default: 4800

This sets the maximum distance for terrain texture mip 3 (32x32) when not using hardware mip-mapping.

VisibilityScale

Default: 100

This divided by 100 scales the normal view visibility range, fog end, and flat range values in the TRN file. The scale is limited to 150 (1.5x) in Internet multiplayer games.

[SatelliteView]

VisibilityRange

Default: SatelliteView VisibilityRange from TRN

This overrides the satellite view visibility range.

[LODInfo]

Based on object detail setting, rendering uses some or all of these values to determine how objects should be drawn. Hardware rendering always draws objects as textured and filled. With Z-buffering enabled, hardware rendering sorts by material so BSP sorting does not apply.

Detail Texture
(SW)
Shadow Sort
(SW|!Z)
Fill
(SW)
Light Detail
FLAT No Yes No Yes No Yes
MIXED Test Test Test Test Test Test
TEXTURED Yes Yes Yes Yes No Test
HI RES Yes Yes Yes Yes Yes Yes

Texture

Software rendering uses these values decide if an entity should have textures. Entities that fail any of the tests will be untextured and also use whole-object sorting.

textureCount

Default: 15

The textureCount closest visible entities can use textures.

textureRange

Default: 200

Entities up to textureRange meters from the camera can use textures.

textureRadius

Default: 30

Entities whose projected bounding radius is at least textureRadius pixels can use textures.

Shadow

Rendering uses these values to decide if an entity should cast a shadow. Entities that fail any of the tests will have no shadow.

shadowCount

Default: 10

The shadowCount closest visible entities can have shadows.

shadowRange

Default: 100

Entities up to shadowRange meters from the camera can have shadows.

shadowRadius

Default: 100

Entities whose projected bounding radius is at least shadowRadius pixels can have shadows.

BSP Sorting

Software rendering and hardware rendering without Z-buffering use these values to decide if an entity should use BSP sorting. Entities that fail any of the tests will use whole-object sorting.

bspCount

Default: 100

The bspCount closest visible entities can use BSP sorting.

bspRange

Default: 1000

Entities up to bspRange meters from the camera can use BSP sorting.

bspRadius

Default: 100

Entities whose projected bounding radius is at least bspRadius pixels can use BSP sorting.

Fill

Software rendering uses these values to decide if an entity should be drawn as filled polygons. Entities that fail any of the tests will be drawn as a set 2x2 pixel blocks, and will also be untextured, use whole-object sorting, and cast no shadow.

fillCount

Default: 30

The fillCount closest visible entities can use filled polygons.

fillRange

Default: 250

Entities up to fillRange meters from the camera can use filled polygons.

fillRadius

Default: 10

Entities whose projected bounding radius is at least fillRadius pixels can use filled polygons.

subdivideDepth

Default: 1

When not drawing as filled polygons, subdivide triangles up to subdivideDepth times. A value of 1 draws one 2x2 block, 2 draws 1+3, 3 draws 1+3+9, and so forth.

Light

Rendering uses these values to decide if an entity should be lit. Entities that fail any of the tests will be unlit.

lightCount

Default: 30

The lightCount closest visible entities can use lighting.

lightRange

Default: 250

Entities up to lightRange meters from the camera can use lighting.

lightRadius

Default: 10

Entities whose projected bounding radius is at least lightRadius pixels can use lighting.

Detail

Rendering uses these values to decide if an entity should use high detail geometry. Entities that fail any of the tests will use low detail geometry if available.

lodCount

Default: 10

The lodCount closest visible entities can use high detail.

lodRange

Default: 30

Entities up to lodRange meters from the camera can use high detail.

lodRadius

Default: 40

Entities whose projected bounding radius is at least lodRadius pixels can use high detail.

Sprites

Software rendering uses these to control how world-space sprites should be drawn.

spriteRangeOff

Default: 5

Do not draw sprites closer than spriteRangeOff meters.

spriteRadiusOff

Default: 256

Do not draw sprites larger than spriteRadiusOff pixels

spriteRangeSolid

Default: 250

Draw sprites further than spriteRangeSolid meters as solid-colored rectangles.

spriteRadiusSolid

Default: 8

Draw sprites smaller than spriteRadiusSolid pixels as solid-colored rectangles.

mergeBSP

Default: 7

Software rendering uses this value to control BSP merging. It consists of three separate values added together:

Value Setting Explanation
1 Merge Models Merge model BSPs for sorting when they overlap
2 Merge Sprites Merge sprites into model BSPs for sorting when they overlap
4 Cache Cache model BSP whenever possible

[D3D]

ExecBufferSize

Default: 262144

This sets the size in bytes of the D3D vertex buffers. Each vertex is 32 bytes so the default setting provides room for 8192 vertices.

It also sets the size in bytes of the D3D index buffer to 3/16 the value. (This allows up to 3 indices per vertex.)

RadarType

Default: 2

This value sets the radar rendering type.

Value Rendering
0 No radar
1 Draw into back-buffer; this no longer works in D3D9 (crash)
2 Draw as lines (originally draw into texture)
3 No radar
4 Draw as colored quads
5 No radar
6 No radar
7 Draw as lines

Texture16

Default: 1

This selects 16-bit (1) or 8-bit (0) textures, choosing bzone16*.zix or bzone8*.zix respectively. When using 8-bit textures, effects use additive blending instead of alpha blending so they will look different.

TripleBuffer

Default: 1

This selects triple-buffered (1) or double-buffered (0) rendering. Triple-buffering improves rendering performance but uses more video memory and increases latency by a frame.

MipMaps

Default: 1

This enables (1) or disables (0) hardware texture mip-mapping. D3D9-capable hardware supports hardware mip-mapping so there isn't much reason to disable this feature.

PreLoad

Default: 0

This enables (1) or disables (0) pre-loading of textures. Preloading increases level load time but provides more consistent frame rates in-game. Modern hardware can load textures from disk so quickly that any hitches will be nearly unnoticable so preloading is not that beneficial.

LargeAssets

Default: 0

This selects large (1) or small (0) textures and enables (1) or disables (0) AGP enhancements, choosing bzone*l.zix and spritea.stb or bzone*s.zix and sprite8.stb respectively.

AGP enhancements include geometry particles from ordnance hits, glare effects from large explosions, secondary explosions on vehicles, fireball particles from explosions, buildings fragmenting into chunks, smoke trails from vehicle chunks, dust effects under hovercraft, and variant explosions.

Explosion Normal (0) AGP (1)
Building xbldxpl xbldxpla
Vehicle xcarxpl xcarxpla
Secondary xsecxpl xsecxpla
Detonate xcarxpl xcarxplb
Ground (none) xgndshk

LoadSprites

Default: 0

This enables (1) or disables (0) preloading of sprite textures, and gets ignored if PreLoad is set to 1. Preloading increases level load time slightly but provides more consistent frame rates in-game. Modern hardware can load textures from disk so quickly that any hitches will be nearly unnoticable so there's not as much need for preloading.

Buffer32

Default: 1

This selects 32-bit (1) or 16-bit (0) frame buffer. A 32-bit frame buffer improves rendering quality but uses more video memory and may be slightly slower on some hardware

Texture32

Default: 0

This selects 32-bit (1) or 16-bit (0) texture conversion. Graphics cards no longer support palettized textures so 8-bit textures gets converted to a non-palettized format on load. 32-bit retains exact palette colors while 16-bit loses some precision.

Type 16-bit 32-bit
Opaque R5G6B5 X8R8G8B8
Transparent A1R5G5B5 A8R8G8B8

Vsync

Default: 1

This enables (1) or disables (0) vertical sync. Vertical sync prevents visible "tearing" but limits the frame rate to monitor refresh rate.

HardwareClip (experimental)

Default: 0

This selects hardware (1) or software (0) polygon clipping. Software clipping clips polygons against all six sides of the view frustum (near and far clipping plane and four sides of the screen). Hardware clipping only clips against the near plane in software and lets hardware take care of the rest, improving performance slightly. This feature is experimental and may not work correctly.

MaxAnisotropy

Default: 0

This controls the level of anisotropic filtering, up to the maximum anisotropy value reported by D3D. Higher settings improve filtering quality for polygons viewed at oblique angles such as terrain but reduce performance slightly. 16 works well for most graphics cards.

MultiSampleType

Default: 0

This controls the multisampling type and is passed directly to Direct3D presentation parameters. 0 means no multisampling, 1 uses MultiSampleQuality to index hardware-supported modes, and other values set the multisamping level directly (so 2 means 2x MSAA, 4 means 4x MSAA, and 8 means 8x MSAA). If D3D does not support the requested MSAA type, the game will display a warning and turn off MSAA.

MultiSampleQuality

Default: 0

This controls the multisamplign quality and is passed directly to Direct3D presentation parameters. It selects between different modes at a given MultiSampleType, with higher values representing higher quality. The supported range of values depends on MultiSampleType and hardware capabilities. If D3D does not support the requested MSAA quality, the game will display a warning and fall back to the highest supported value.

When MultiSampleType is 1, this value acts as an index into the graphics driver's list of all supported MSAA modes. Unfortunately, D3D doesn't seem to have a way to report what MSAA mode it actually represents.

Obsolete

As part of the switchover to Direct3D 9, a number of settings became obsolete and no longer work.

ZBuffer (obsolete)

Default: 1

This originally enabled (1) or disabled (0) depth-buffering. D3D9-capable hardware supports depth-buffering so there's no need for this. Turning off depth buffering requires polygon sorting on the CPU side so it's actually slower.

Alpha (obsolete)

Default: 1

This originally enabled (1) or disabled (0) alpha texture formats. D3D9-capable hardware supports alpha texture formats and has enough memory so there's no need to disable them.

NoCaps (obsolete)

Default: 0

This originally determined if the renderer should continue (1) or fail (0) if hardware lacked required rendering capabilities (perspective-correct texturing, texture modulate, alpha blend, flat RGB shading, and gouraud RGB shading). All D3D9-capable hardware supports all required capabilities so this is no longer required.

HalfTexel (obsolete)

Default: 1

This originally enabled (1) or diabled (0) a half-texel shift when rendering screen-space sprites. D3D9-capable hardware draws these consistently so there's no need for this. For compatibility with MSAA, the half-texel shift is now a half-pixel shift.

AGPRadar (obsolete)

Default: 0

This originally enabled (1) or disabled (0) drawing the radar to non-local (AGP) video memory. D3D9-capable hardware supports line primitives so this kind of thing is no longer necessary.

SplitZBuffer (obsolete)

Default: 0

This originally enabled (1) or disabled (0) split depth-buffer rendering for the sniper and target views. This used half of the depth range for the main view and half for the sub-views. Drawing a transparent polygon on top of the sub-views seems to work just as well and preserves full z-buffer precision.

DrawInTexture (obsolete)

Default: 0

This originally determined if radar texture mode drew directly into the texture (1) or uploaded from a DirectDraw surface (0). Since radar no longer supports texture mode, the value no longer does anything.