Custom Edition Maps on Retail
Chimera enables Custom Edition map support on the base Halo PC (retail) installation.Why This Matters
Problem: Halo PC (retail) and Halo Custom Edition use different resource maps, making them incompatible.Solution: Chimera allows retail to load Custom Edition maps by using CE’s resource maps.
Setup Instructions
Obtain Custom Edition Resource Maps
Get these files from the Halo Custom Edition installation:
bitmaps.maploc.mapsounds.map
Rename the Files
Add
custom_ prefix to each file:bitmaps.map→custom_bitmaps.maploc.map→custom_loc.mapsounds.map→custom_sounds.map
Extracting Without Installing
You can extract resource maps without installing Custom Edition:- Windows
- Linux
Use 7-Zip to extract files from the Custom Edition installer:
- Right-click the installer
- Select “7-Zip” → “Open archive”
- Extract the three resource map files
- Rename them with
custom_prefix
Compressed Maps
Chimera supports maps compressed with the zstd compression algorithm.Benefits
Smaller File Sizes
Drastically reduce map file sizes with blazingly fast zstd compression
Fast Decompression
zstd is extremely fast - decompression happens nearly instantly
RAM or Disk
Decompress directly to RAM or use temp files
Transparent
Works automatically - no user intervention needed
How It Works
- Maps in RAM Enabled
- Maps in RAM Disabled
If the Compressed maps decompress directly into RAM - no temp files.
enable_map_memory_buffer setting is enabled:src/chimera/map_loading/compression.cpp
Compression Tool
Use thechimera-compress tool to compress maps:
The compression tool is a separate utility available in the Chimera repository.
Technical Details
- Detects compressed map header
- Validates compression format
- Decompresses using zstd
- Converts header to uncompressed format
- Loads map normally
Map Downloading
Chimera automatically downloads missing maps when joining servers.How It Works
Configuration
URL Template Variables
Thedownload_template supports these replacements:
| Variable | Replaced With |
|---|---|
{map} | Map name |
{game} | Game type (“halor” = PC, “halom” = CE, “halod” = trial) |
{server} | Current server IP |
{password} | Server password |
{mirror<x,y,...>} | Try each mirror until one works |
Retail Map Downloads
Default Repository
By default, Chimera uses the HAC2 Map Repository:Maps in RAM
Load maps directly into RAM for better performance.Benefits
Faster Loading
Eliminate disk I/O bottlenecks
Reduced Stuttering
No disk access during gameplay
Better for SSDs
Reduce SSD wear from repeated map loads
Compressed Maps
Decompress directly to RAM
Requirements
Configuration
1024 MiB (1 GB) is sufficient for most maps.
Benchmark Display
Enablebenchmark=1 to see load times:
Map Loading Optimizations
Fast Loading
Chimera drastically improves map loading times.The Problem
The Problem
Halo Custom Edition CRC32s every map on startup:
- Small maps folder: Minor delay
- Large maps folder: Minutes of startup time
The Solution
The Solution
Chimera CRC32s maps when you load them, not at startup:
- Zero startup delay regardless of maps folder size
- Maintains server validation (proper CRC32 checking)
- True fix, not a workaround
src/chimera/map_loading/fast_load.cpp
128 MiB Map Leak Fix
Fixes file descriptor leaks with large maps. The Bug:src/chimera/fix/leak_descriptors.cpp
Campaign in Custom Edition
Chimera re-enables the campaign menu in Custom Edition.Feature: If all campaign maps are available in the maps folder, Chimera will enable the “Campaign” menu option.Just like retail: This restores functionality removed in Custom Edition.
- a10.map
- a30.map
- a50.map
- b30.map
- b40.map
- c10.map
- c20.map
- c40.map
- d20.map
- d40.map
Map Hacks and Compatibility
Chimera includes a map compatibility system for legacy maps.Compatibility List
Enable/disable the compatibility list:- Gearbox renderer regressions
- Legacy Chimera hacks
- Specific rendering quirks
src/chimera/fix/map_hacks/map_hacks.cpp
Most modern maps don’t need compatibility hacks. This is mainly for very old Custom Edition maps.
CRC32 Handling
Chimera properly validates map CRC32 checksums.Why CRC32 Matters
Server Validation
Server Validation
Servers check CRC32 to ensure all players have the same map:
- ~99.999999976% certainty of identical maps
- Prevents crashes from mismatched content
- Ensures fair gameplay
Modified Maps
Modified Maps
Using a modified map will cause CRC32 mismatch:This is intentional - prevents crashes.
Forging CRC32
Forging CRC32
If you want to use a modified Custom Edition map on a Custom Edition server:
- Modify your map
- Use a tool to forge the CRC32 to match the original
- Join server
Related Configuration
chimera.ini
Main configuration file
Memory Settings
Maps in RAM configuration
Map Path
Custom map directories
Commands
Map-related commands
