Assets & Files
.blp binary format and are
copyrighted by their original authors. They are not included
in the repository and must be obtained from a legal copy of
Speedy Eggbert 2.
The .blp Format
All game assets use the .blp binary format,
inherited from Planet Blupi. This format is used for images, sounds, music,
levels, and save data. The exact file format specification is not fully documented.
gamefiles/ Directory Layout
DATA/ Directory
Contains level worlds, demo recordings, configuration, and reference data.
Configuration
| File | Description |
|---|---|
config.def | Plain-text user settings (FullScreen, color depth, mouse type, speed, timer) |
Level Worlds
Level files follow the naming scheme worldNNN.blp where NNN is a 3-digit chapter/level number.
| File Range | Chapter | Count |
|---|---|---|
world001.blp | Tutorial / intro level | 1 |
world010, world020–world025 | Chapter 1 | 7 |
world030–world034, world040–world046 | Chapter 2 | 12 |
world050–world058 | Chapter 3 | 9 |
world060–world066 | Chapter 4 | 7 |
world070–world075 | Chapter 5 | 6 |
world080–world084 | Chapter 6 | 5 |
world090–world095 | Chapter 7 | 6 |
world100–world107 | Chapter 8 | 8 |
world110–world115 | Chapter 9 | 6 |
world120–world125 | Chapter 10 | 6 |
world199 | Special | 1 |
world201–world212 | Bonus / extra | 12 |
world300–world309 | Special / secret | 10 |
Pattern: the first digit of NNN encodes the chapter (1–9, 0=special, 2=bonus, 3=secret).
Demo Recordings
| File Range | Count | Description |
|---|---|---|
demo300.blp–demo309.blp | 10 | Prerecorded demo playbacks for attract mode |
Other DATA Files
| File | Description |
|---|---|
bench.blp | Benchmark reference data |
time.blp | Timing / speed reference data |
info001.blp | Level info / statistics |
IMAGE08/ Directory — 8-bit Images
Contains ~68 .blp files. These are used when
TrueColorBack=8 or TrueColorDecor=8 in config.def.
Character Sprites
| File | Channel | Description |
|---|---|---|
blupi000.blp | CHBLUPI | Default player character sprites |
blupi001.blp | CHBLUPI1 | Player character variant 1 (multiplayer) |
blupi002.blp | CHBLUPI2 | Player character variant 2 (multiplayer) |
blupi003.blp | CHBLUPI3 | Player character variant 3 (multiplayer) |
Terrain / Decor Sheets
32 sheets, one per world region/theme (e.g., grass, cave, snow, underwater):
| File Range | Channel | Description |
|---|---|---|
decor000.blp–decor031.blp | CHBACK / CHDECOR | Background terrain sheets for each visual region |
Other Sprites
| File | Channel | Description |
|---|---|---|
element.blp | CHELEMENT | Particle and element effects |
explo.blp | CHEXPLO | Explosion sprites (128×128 px each) |
object.blp | CHOBJECT | Foreground objects — pickups, items, enemies |
jauge.blp | CHJAUGE | Health/gauge bar sprites |
map.blp | CHMAP | Minimap sprites |
UI and Screen Images
| File | Description |
|---|---|
button.blp | UI buttons (CHBUTTON) |
mouse.blp | Mouse cursor sprites |
text.blp | Normal text characters (CHTEXT) |
littletxt.blp | Small text characters (CHLITTLE) |
Various screen*.blp | Menu and intro background screens |
IMAGE16/ Directory — 16-bit Images
Contains ~55 .blp files. Used when TrueColorBack=16
or TrueColorDecor=16 (the default). This set mirrors IMAGE08 but:
- Provides higher visual quality (16-bit true-color vs. 8-bit palette)
- Omits
jauge.blpandmap.blp— these remain 8-bit only - Contains the same character and decor sheets in 16-bit format
SOUND/ Directory
Contains ~103 files: 10 music tracks and 93 sound effects.
Music Tracks
| File | Description |
|---|---|
MUSIC000.BLP | Background music track 0 |
MUSIC001.BLP | Background music track 1 |
| … | … |
MUSIC009.BLP | Background music track 9 |
Music track selection is stored per-level in the DescFile::music field.
Sound Effects
93 sound effects in gamefiles/SOUND/. The numeric index maps directly
to the SOUND_* constant value. File name case differs by index:
indices 0–65 use uppercase (SOUND000.BLP–SOUND065.BLP);
indices 66–92 use lowercase (sound066.blp–sound092.blp).
See Sound Effects Reference for the complete list of all 93 constants.
Asset Loading Pipeline
- On startup,
CPixmap::CacheAll(TRUE, …)loads all image assets into DirectDraw surfaces - Images are loaded into specific image channels
- The appropriate 8-bit or 16-bit set is chosen based on
TrueColorBack/TrueColorDecorconfig CSoundloads sound files fromgamefiles/SOUND/on demand or preloaded- Level files are loaded from
gamefiles/DATA/viaCDecor(decio.cpp)
Naming Conventions
- Image files: lowercase (
decor000.blp,object.blp) - Sound files: uppercase extension for MUSIC000–009 and SOUND000–065; lowercase for sound066–092
- Level files: lowercase (
world010.blp) - All assets use
.blpextension regardless of actual content type