Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ata4/bspsrc/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The BspSourceConfig class provides comprehensive configuration options for controlling the BSPSource decompilation process. All configuration fields are public and can be modified directly. Package: info.ata4.bspsrc.decompiler Source: BspSourceConfig.java:27

Constructors

BspSourceConfig

public BspSourceConfig()
Creates a new configuration with default values. Source: BspSourceConfig.java:78
public BspSourceConfig(BspSourceConfig config)
Copy constructor that creates a new configuration from an existing one.
config
BspSourceConfig
required
The configuration to copy from.
Source: BspSourceConfig.java:83

Public Fields

General Options

defaultAppId
int
default:"SourceAppId.UNKNOWN"
The default Source engine application ID to use when auto-detection fails.
brushMode
BrushMode
default:"BrushMode.BRUSHPLANES"
The brush decompilation mode (BRUSHPLANES, ORIGFACES, ORIGFACES_PLUS, SPLITFACES).
sourceFormat
SourceFormat
default:"SourceFormat.AUTO"
The output VMF format version (AUTO, NEW, OLD).
debug
boolean
default:"false"
Enable debug mode with verbose logging and config dump.

Entity Options

writeAreaportals
boolean
default:"true"
Include areaportal entities in the output.
writeBrushEntities
boolean
default:"true"
Include brush-based entities (func_detail, func_door, etc.).
writeCubemaps
boolean
default:"true"
Include env_cubemap entities.
writeDetails
boolean
default:"true"
Include func_detail entities.
writeOccluders
boolean
default:"true"
Include func_occluder entities.
writeOverlays
boolean
default:"true"
Include info_overlay entities.
writePointEntities
boolean
default:"true"
Include point entities (lights, spawns, etc.).
writeStaticProps
boolean
default:"true"
Include prop_static entities.
writeLadders
boolean
default:"true"
Include func_ladder entities.
writeVisClusters
boolean
default:"true"
Include func_viscluster entities.
fixEntityRot
boolean
default:"true"
Fix entity rotation angles to proper VMF format.
apForceManualMapping
boolean
default:"false"
Force manual areaportal mapping instead of automatic detection.
detailMerge
boolean
default:"false"
Merge adjacent detail brushes with similar properties.
detailMergeThresh
float
default:"1"
Distance threshold for detail brush merging.
maxCubemapSides
int
default:"8"
Maximum number of brush sides to assign to a single cubemap.
maxOverlaySides
int
default:"64"
Maximum number of brush sides to assign to a single overlay.

Brush Options

writeWorldBrushes
boolean
default:"true"
Include world brushes (structural geometry).
writeDisp
boolean
default:"true"
Include displacement surfaces.
backfaceDepth
float
default:"1"
Depth in units for generated backfaces on brush planes.

Texture Options

backfaceTexture
String
default:"\"\""
Custom texture to apply to generated backfaces (empty = use TOOLS/TOOLSNODRAW).
faceTexture
String
default:"\"\""
Custom texture to apply to all faces (empty = use original textures).
fixCubemapTextures
boolean
default:"true"
Fix cubemap texture references to remove runtime-generated suffixes.
fixToolTextures
boolean
default:"true"
Fix tool texture paths (e.g., convert lowercase to uppercase).

Miscellaneous Options

nullOutput
boolean
default:"false"
Disable VMF output (useful for benchmarking or testing).
loadLumpFiles
boolean
default:"true"
Load external lump files (.lmp) if present.
skipProt
boolean
default:"false"
Skip protection check (allows decompiling protected maps).
writeVisgroups
boolean
default:"true"
Create visgroups in the VMF for organizing entities.
writeCameras
boolean
default:"true"
Include camera entities in the output.
unpackEmbedded
boolean
default:"false"
Extract embedded files from the pakfile lump.
smartUnpack
boolean
default:"true"
Skip VBSP-generated files and patched materials when unpacking.
vmfDoubleScale
int
default:"8"
Scale factor for VMF coordinate precision.
vmfDoubleScaleTextureAxes
int
default:"4"
Scale factor for texture axis precision.
vmfDoubleScaleTextureScale
int
default:"4"
Scale factor for texture scale precision.

Public Methods

dumpToLog

public void dumpToLog()
Dumps all configuration values to the default logger for debugging. Source: BspSourceConfig.java:128
public void dumpToLog(Logger logger)
Dumps all configuration values to the specified logger.
logger
Logger
required
The logger to write configuration values to.
Source: BspSourceConfig.java:132

isWriteEntities

public boolean isWriteEntities()
Returns true if any entity writing is enabled. Returns: True if writeBrushEntities or writePointEntities is enabled Source: BspSourceConfig.java:149

setWriteEntities

public void setWriteEntities(boolean writeEntities)
Sets both brush and point entity writing flags.
writeEntities
boolean
required
Value to set for both writeBrushEntities and writePointEntities.
Source: BspSourceConfig.java:153

Usage Example

import info.ata4.bspsrc.decompiler.BspSourceConfig;
import info.ata4.bspsrc.decompiler.modules.geom.BrushMode;
import info.ata4.bspsrc.lib.app.SourceAppId;

// Create default configuration
BspSourceConfig config = new BspSourceConfig();

// Configure general options
config.defaultAppId = SourceAppId.HALF_LIFE_2;
config.brushMode = BrushMode.ORIGFACES;
config.debug = false;

// Configure entity options
config.writeWorldBrushes = true;
config.writeBrushEntities = true;
config.writePointEntities = true;
config.writeStaticProps = true;
config.writeDisp = true;
config.writeOverlays = true;
config.writeCubemaps = true;

// Configure texture options
config.fixCubemapTextures = true;
config.fixToolTextures = true;
config.backfaceTexture = "tools/toolsnodraw";

// Configure detail merging
config.detailMerge = true;
config.detailMergeThresh = 2.0f;

// Configure embedded file extraction
config.unpackEmbedded = true;
config.smartUnpack = true;

// Load external lump files
config.loadLumpFiles = true;

// Dump configuration in debug mode
if (config.debug) {
    config.dumpToLog();
}

// Create a copy of the configuration
BspSourceConfig configCopy = new BspSourceConfig(config);
configCopy.debug = true; // Modify copy without affecting original

// Quick entity toggle
config.setWriteEntities(false); // Disables both brush and point entities

See Also

Build docs developers (and LLMs) love