Table of Contents

Namespace Map.Loading.Images

Classes

BMPParser

High-performance BMP file parser for Paradox map files Supports 24-bit and 32-bit RGB formats commonly used in game maps

BitmapTextureLoader

Abstract base class for loading and populating textures from bitmap files Provides common infrastructure for terrain, heightmap, and normal map loading Eliminates code duplication across specialized bitmap loaders

HeightmapBitmapLoader

Legacy alias for HeightmapImageLoader for backward compatibility.

HeightmapImageLoader

Loads heightmap.png (or heightmap.bmp) and populates the heightmap texture. Uses ImageParser for unified BMP/PNG support with PNG preferred. Height values: 0-255 (8-bit) → 0.0-1.0 (normalized float)

HeightmapParser

Heightmap parser for terrain elevation data Typically uses grayscale values where darker = lower elevation

ImageParser

Unified image parser that automatically detects and parses BMP or PNG files Provides a common interface for both formats

JobifiedBMPLoader

High-performance generic BMP loader using Unity's Burst job system Loads any BMP file (provinces, heightmaps, terrain, rivers, etc.) with optimal performance Use ProvinceMapProcessor for province-specific processing with definition.csv

NormalMapBitmapLoader

Legacy alias for NormalMapImageLoader for backward compatibility.

NormalMapImageLoader

Loads world_normal.png (or world_normal.bmp) and populates the normal map texture. Uses ImageParser for unified BMP/PNG support with PNG preferred. Normal map format: RGB(128,128,255) = flat surface (up direction)

PNGParser

High-performance PNG file parser for map files Supports 8-bit indexed, 24-bit RGB, and 32-bit RGBA formats Uses managed decompression but NativeArray for pixel storage

ProvinceMapParser

High-performance province map parser that combines BMP/PNG parsing with province definitions Maps RGB colors to province IDs using definition.csv data Supports both BMP and PNG formats via auto-detection

TerrainImageLoader

Loads terrain.png (or terrain.bmp) and populates the terrain texture. Uses ImageParser for unified BMP/PNG support. Terrain colors from the image are used directly - TerrainRGBLookup converts to indices later.

Structs

BMPColorCollectionJob

Burst-compiled job for parallel BMP pixel processing Processes chunks of pixels to collect unique colors

BMPLoadResult

Generic result of BMP file loading (works for any BMP type)

BMPParser.BMPFileHeader

BMP file header structure (14 bytes)

BMPParser.BMPHeader

Complete BMP header information

BMPParser.BMPInfoHeader

BMP info header structure (40 bytes for BITMAPINFOHEADER)

BMPParser.BMPPixelData

Pixel data access result

BMPPixelSearchJob

Burst-compiled job for finding pixels with specific color

BMPProvinceStatsData

Data structure for collecting province statistics across job batches

BMPProvinceStatsJob

Burst-compiled job for parallel province statistics calculation

HeightmapParser.HeightmapResult

Heightmap parsing result

HeightmapParser.HeightmapStats

Generate heightmap statistics

ImageParser.ImageHeader

Unified image header information

ImageParser.ImagePixelData

Unified pixel data result

JobifiedBMPLoader.LoadingProgress
PNGParser.PNGHeader

PNG header information

PNGParser.PNGPixelData

PNG pixel data result - mirrors BMPParser.BMPPixelData for compatibility

PersistentBMPPixelData

Persistent pixel data that owns its memory allocation

PixelCoord

Simple 2D integer vector for pixel coordinates

ProvinceBounds

Bounding box data for a province

ProvinceMapParser.ProvinceMapResult

Province map parsing result (legacy BMP-only version for backward compatibility)

ProvinceMapParser.ProvinceMapValidationResult

Province map validation result

ProvinceMapParser.ProvinceStats

Get province statistics (pixel count, bounding box, etc.)

ProvinceMapParser.UnifiedProvinceMapResult

Province map parsing result that supports both BMP and PNG formats

Enums

HeightmapParser.TerrainType

Classify terrain based on height and slope

ImageParser.ImageFormat

Image format enumeration