i'm writing a post here because i hope here are some persons who have deep knowlege of old DOS Games, specially of picture formats.
Whats my finish?
I want to MOD Radix: Beyond the Void. I don't want to make everything new, i only want to add some new Bitmaps and - if i don't fail at any point - double or 4times the original game size of 320x200 pixels. I like Radix much and i want to keep the spirit of it. But a little bit more graphic power would be nice

Why?
Because i can?

How?
It quite easy. The Gamefile (Radix.dat) is only a container wich is made by the Programm "3drescmp.exe" (3D Resurce Compressor). The 3DResCmp.exe need the raw gamefiles (like Pictures, Sounds, Levels and Texts) and a instruction file how to pack them.
3DResCmp.exe comes with the LevelEditor RadCad which all Levels are made with.
What i have finished?
I'm not a IT-guy, i'm a engineer so my basic tools are DosBox, Excel, HxD and LibertyBasic (i know, some of you are now laughing). With this tools i was able to unpack the whole Radix game file. Every file, exept the Pictures, is stored in a known format, so its not a problem to insert new Music or Levels if i want to.
But where i'm wrecked?
As you might, i wrecked at the pictures. I try to explain it at three examples.
I'm able to show every picture of the Game. The Pictures are stored in a Radix-own file format. This format has no header like a Bitmap or JPG. Every pixel of a picture has only one HexCode; so a 64x64 sized picture has the exact size of 4096 Byte. Every HexCode is a compressed RGB Code. An example at the "SmallHydraulicDoor":


This door is a 64x64 Pixel Bitmap. As is stored in 4096 Byte file, the picture can have maximum of 256 colors (00 to FF in Hex for each pixel). All WallBitmaps (thats the name of the Container for wall bitmaps


The next thing are the Pictures of the Gamemenu and Objects in the game (like enemies or items). If i want to view this pictures my output looks like that:

or that:

As you can see, my colortable is only for the WallBitmaps. If i want to see others i may use an other palette.
But where's your problem dude?
My problem is the Gamepalette. At Radix.dat there are seven (7!) palette files. But the files are not for each type of picture (like WallBitmap or Gamemenu). The palette files are linked to each other.
There is the "Palette" file, wich is organised in 386 lines, ervery line has a three-byte number and 253 color entries.
There are the "RedShapes", "GreenShapes" and "BlueShades" files, which each have 32 lines with a three byte number and 253 entries.
Finally there are the "RedFromBluePal", "GreenFromBluePal" and "YellowFromBluePal" files, wich are only 765 byte long.
What i'm suspecting!
Radix.exe reads the file "SmallHydraulicDoor" and gets the first Byte for the first pixel. As example it has HEX(15) or DEZIMAL(21).
Now Radix.exe has to gererate the Color of the Pixel. To encrypt the HEX(15) Radix.exe has to know the lightning (dark map, bright map, shooting or nothing) and gererates the acutal color. To create the color Radix.exe has to make a 3-Dimensional vektor out of the 1-Dimensional Pixel HEX(15).
I assume 3-Dimesional because of: Red color, Green color, Blue color. So the individual looking color is gererated out of HEX(15).
Radix.exe is doing that with the 7 palette files. But how game developers of the early '90s are doing it?
Mathematics, Vectors, Arrays and so on is not a problem for me (or excel

Why i need to solve the problem?
If i know how the pictures are shown correctly, i can programm a tool wich does it reverse. Than i'm able to load custom pictures into the Gamefile.
Thanks for reading this long text!

Greetings,
Robert
P.S:
I found the file "DIBUTIL.DLL" wich is a DLL for DIB-Picures. Without that DLL the Leveledtitor can't work. Maybe the palette is made out of the DLL? Radix is written in Borland C++ from 1994.
Some links i found:
http://forum.zdoom.org/viewtopic.php?f=19&t=46035
http://forum.zdoom.org/viewtopic.php?f=37&t=29029
http://forum.zdoom.org/viewtopic.php?f=37&t=37520
My first level i created (some jears ago):
https://www.youtube.com/watch?v=nLoVVm2GEJM