Class BMPParser
High-performance BMP file parser for Paradox map files Supports 24-bit and 32-bit RGB formats commonly used in game maps
public static class BMPParser
- Inheritance
-
objectBMPParser
Methods
CollectUniqueColors(BMPPixelData, Allocator)
Scan all pixels and collect unique RGB values Useful for building province ID mappings
public static NativeHashSet<int> CollectUniqueColors(BMPParser.BMPPixelData pixelData, Allocator allocator)
Parameters
pixelDataBMPParser.BMPPixelDataallocatorAllocator
Returns
- NativeHashSet<int>
ExtractPalette(NativeArray<byte>, BMPHeader)
Extract palette from 8-bit indexed BMP file Returns null if not an 8-bit BMP or no palette present
public static Color32[] ExtractPalette(NativeArray<byte> fileData, BMPParser.BMPHeader header)
Parameters
fileDataNativeArray<byte>headerBMPParser.BMPHeader
Returns
- Color32[]
ExtractPalette(NativeSlice<byte>, BMPHeader)
Extract palette from 8-bit indexed BMP file Palette is located between info header and pixel data Each palette entry is 4 bytes: BGRA (Blue, Green, Red, Alpha/Reserved)
public static Color32[] ExtractPalette(NativeSlice<byte> fileData, BMPParser.BMPHeader header)
Parameters
fileDataNativeSlice<byte>headerBMPParser.BMPHeader
Returns
- Color32[]
FindPixelsWithColor(BMPPixelData, int, Allocator)
Find all pixels with a specific RGB color Useful for finding province boundaries
public static NativeList<PixelCoord> FindPixelsWithColor(BMPParser.BMPPixelData pixelData, int targetRGB, Allocator allocator)
Parameters
pixelDataBMPParser.BMPPixelDatatargetRGBintallocatorAllocator
Returns
- NativeList<PixelCoord>
GetPixelData(NativeArray<byte>, BMPHeader)
Get pixel data from BMP file
public static BMPParser.BMPPixelData GetPixelData(NativeArray<byte> fileData, BMPParser.BMPHeader header)
Parameters
fileDataNativeArray<byte>headerBMPParser.BMPHeader
Returns
GetPixelData(NativeSlice<byte>, BMPHeader)
Get pixel data from BMP file
public static BMPParser.BMPPixelData GetPixelData(NativeSlice<byte> fileData, BMPParser.BMPHeader header)
Parameters
fileDataNativeSlice<byte>headerBMPParser.BMPHeader
Returns
ParseHeader(NativeArray<byte>)
Parse BMP header from file data
public static BMPParser.BMPHeader ParseHeader(NativeArray<byte> fileData)
Parameters
fileDataNativeArray<byte>
Returns
ParseHeader(NativeSlice<byte>)
Parse BMP header from file data
public static BMPParser.BMPHeader ParseHeader(NativeSlice<byte> fileData)
Parameters
fileDataNativeSlice<byte>
Returns
TryGetPixelRGB(BMPPixelData, int, int, out byte, out byte, out byte)
Get RGB color at specific pixel coordinates Handles 8-bit (grayscale), 24-bit and 32-bit formats
public static bool TryGetPixelRGB(BMPParser.BMPPixelData pixelData, int x, int y, out byte r, out byte g, out byte b)
Parameters
pixelDataBMPParser.BMPPixelDataxintyintrbytegbytebbyte
Returns
- bool
TryGetPixelRGBPacked(BMPPixelData, int, int, out int)
Get packed RGB color (0xRRGGBB) at specific coordinates
public static bool TryGetPixelRGBPacked(BMPParser.BMPPixelData pixelData, int x, int y, out int rgb)
Parameters
pixelDataBMPParser.BMPPixelDataxintyintrgbint
Returns
- bool