The latest pre-release test versions of GTACARS are available here. (Possibly lacking in functionality, documentation, etc.)
It is quite difficult to use the palettes from the G24 file. The docs are missing quite a bit of information. Here are my thoughts, I will complete them as time permits...
typedef struct {
Int16 rpy, rpx; // Y is first! X&Y are measured from the exact CENTER of the car.
Int16 object //unused
Int16 delta // unused (sadly the "second" door on many cars will never function)
} door_info_struct;
Excluded Vehicle Types:3.2.1
loop each delta {
fseek spriteGraphicsBegin + sprite.delta( ).ptr
fget size and length
total_offset=0
loop delta( ).size {
total_offset+=offset
yo = (total_offset intDivide 256)
xo = (total_offset MOD 256)
loop x = 0 .. length-1 {
fget databyte
drawpixel xo + x,yo
}
total_offset+=length
}
}
As for the G24 CLUT this is what I have to say... It is located in the file at the expected position by 3.8.1 (remember to add extra bytes to aux_block per 3.7) Imagine the clut in the first of the 64k pages is like this... CLUT 0 1 ...63 color B G R 0 B G R 0 0 b0 g0 r0 0 b0 g0 r0 0 1 b1 g1 r1 0 b1 g1 r1 0 ... 255 b255 g255 r255 0 b255 g255 r255 0 To find the sprites CLUT you offset the sprite_info.clut and offset with (tile_clutsize / 1024). Note: 1024 = 4*256 so tile_clutsize is RGB0 units. sprite.RealClut = palIndex(sprite.Clut + tileClutsOffset)