Image Channels
The CPixmap class manages
15 DirectDraw surfaces simultaneously, each identified by a channel index constant
defined in include/def.hpp. Channels allow different layers to be
rendered independently and composited to form the final frame.
Channel Reference
| Enum | Value | Used For | Image File |
|---|---|---|---|
CHBACK |
0 | Background / level terrain tiles | decor000.blp–decor031.blp (one per region) |
CHOBJECT |
1 | Foreground objects, pickups, enemies, and interactive items | object.blp |
CHBLUPI |
2 | Default player character sprites | blupi000.blp |
CHDECOR |
3 | Decorative overlay layer | decor000.blp–decor031.blp (same as CHBACK) |
CHBUTTON |
4 | UI button sprites | button.blp |
CHJAUGE |
5 | Health/gauge progress bar sprites | jauge.blp (IMAGE08 only — no 16-bit version) |
CHTEXT |
6 | Normal-size text character sprites | text.blp |
CHLITTLE |
7 | Small text character sprites | littletxt.blp |
CHMAP |
8 | Minimap sprites | map.blp (IMAGE08 only — no 16-bit version) |
CHEXPLO |
9 | Explosion sprites (128×128 px each) | explo.blp |
CHELEMENT |
10 | Particle and element effect sprites | element.blp |
CHBLUPI1 |
11 | Multiplayer player 1 character variant | blupi001.blp |
CHBLUPI2 |
12 | Multiplayer player 2 character variant | blupi002.blp |
CHBLUPI3 |
13 | Multiplayer player 3 character variant | blupi003.blp |
CHTEMP (CHMAX) |
14 | Temporary / scratch surface for intermediate rendering | — (runtime only) |
8-bit vs. 16-bit
Each channel can load from either IMAGE08/ (8-bit palette) or
IMAGE16/ (16-bit true-color) based on the
TrueColorBack and TrueColorDecor settings in config.def.
Exception:
CHJAUGE (jauge.blp) and
CHMAP (map.blp) are always loaded from IMAGE08/.
There is no 16-bit version of these files.