Adding modding folder with a hacked build.

This commit is contained in:
ml
2026-09-26 08:53:08 +02:00
parent cdb960dc71
commit c91080aba7
755 changed files with 50424 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
## Palettes
The engine uses a graphic mode with 256 colors per pixel. The graphic resources (images and videos) use bitmaps together
with palette information to resolve a pixel value (1 byte) to the corresponding RGB value (3x1 byte).
Depending on the game-state, different palettes are in use. The splash screens at the beginning are created using a
```Private Palette``` (see the [bitmap](Bitmaps.md) format). Cutscenes have their own palette(s) and during the game,
one specific palette is used throughout. This game palette is stored in ```gamepal.res```.
### Format
Palettes always have a size of 768 bytes, for 256 colors with 1 byte for each of the three colour channels.
**Palette** (768 bytes)
0000 [256*3]byte RGB values
### Transparency
Palette index 0 is used as a marker for fully transparent pixel. For instance, various decoration or critter sprites need
to have transparent areas in order to lose the rectangular shape.
### Pixel Animation / Palette Looping
During the game various textures can be observed with small animations. Most typically seen with LED-like blinking effects.
Instead of implementing this with multiple frames, the engine simply loops through the colors within a few groups.
The following groups (palette index values) are looped:
0x03 - 0x07: Changed every ~1200 msec
0x0B - 0x0F: Changed every ~700 msec
0x10 - 0x14: Changed every ~360 msec
0x15 - 0x17: Changed every ~1800 msec
0x18 - 0x1A: Changed every ~1430 msec
0x1B - 0x1F: Changed every ~1080 msec
> These groups are looped even while the game is paused.
>
> Above switching times have been determined by counting frames of a video recording from dosbox, running within a VM.
> Exact values may be different.