We are in need of an image converter to convert current images that are in TEX/XET format to DDS for editing and then back to TEX/XET.
Part 1.
——————————————————————————————————-
The images are currently stored in a modified KPAC using the following layout.
(SEE ATTACHMENT #1)
————————————————
struct KCAPHDR {
unsigned char signature[4]; // “KCAP”
unsigned long file_count;
};
struct KCAPENTRY {
unsigned long filename_length;
char filename[filename_length];
unsigned long length;
byte unknown1;
};
————————————————
The requested program does not need to deal with the above information as we can create a program to unpack and pack the images afterward.
——————————————————————————————————-
Part 2.
——————————————————————————————————-
This is to be the main function of the requested application. The image structure is currently unknown, we are assuming that the engine used with the images is the Serious Sam engine, but no tools currently available will convert it or load them successfully. The following information is provided from a 3rd party source about this specific image format.
————————————————
That game is using standard Direct3D pixel formats, RGB/RGBA/DXT1/DXT3. The latter two are a lossy compression method. Some of the textures are also encoded with multiple mip-levels.
The structure of each texture is obvious:
TEXHDR = { sig, ?, type, width, height, mip_levels, ? }
MIPHDR1 = { width, height }
DATA1
MIPHDR2
DATA2
…
The length of each data section is not specified but can be deduced from the dimensions and bits-per-pixel of the format (3, 4, 0.5, 1).
————————————————
(SEE ATTACHMENT #2)
The code and methods used to create the requested application does not mater, as long as it functions correctly in the end.
——————————————————————————————————-
Final Notes.
——————————————————————————————————-
Attachment #1: KPAC example with 2 packed images.
Attachment #2: Image example once removed from above mentioned KPAC.
No additional code about the image format can be provided.
Please do not bid on the project if you are positive you can complete the task.
If you have further questions please post them and I will take the time to address each one time permitted.
——————————————————————————————————-
Best Regards.