81 lines
3.1 KiB
Plaintext
81 lines
3.1 KiB
Plaintext
|
2006/8/21, tok@openlinux.org.uk <tok@openlinux.org.uk>:
|
|||
|
> I have got it; quite a lot in there.
|
|||
|
>
|
|||
|
> Guess I have to try my luck with dosbox, wine and such; last time I
|
|||
|
> tried neither m1win nor junction25 were working very well (if I remember
|
|||
|
> correctly).
|
|||
|
|
|||
|
thats weird, since i can run both topdown j25 and 3D beta j25 just
|
|||
|
fine, only M1win doesn't work (on xp) for some reason. i sent you old
|
|||
|
M1 for DOS in the pack i sent you the url to.
|
|||
|
|
|||
|
> Thanks for the other tips; now the main problem are the incorrect
|
|||
|
> tex-coords. I think I have a pretty good idea why it breaks and a few
|
|||
|
> on how to fix it.
|
|||
|
> I found the off-by-one in the tile-indices on my own on the same afternoon.
|
|||
|
|
|||
|
some of your side tiles are rotated, there is no side rotation, sides
|
|||
|
only have a bit flag which means "mirror" - no rotations.
|
|||
|
|
|||
|
cds says about side tiles that bit 5 and 6 in type_map_ext contain the
|
|||
|
mirroring:
|
|||
|
bit 5 means that textures on north and south sides should be mirrored,
|
|||
|
bit 6 indicates same for east and west side of that cube.
|
|||
|
|
|||
|
> I have started with the g24 files and hit a small snag; I don't
|
|||
|
> understand 'palette_index' (so far) and the actual way tiles
|
|||
|
> (lid+side textures; not working with sprites so far) index the clut
|
|||
|
> isn't working either. [but don't tell me yet]
|
|||
|
|
|||
|
the pal_index reindexes virtual palette numbers into actual - physical
|
|||
|
palette numbers.
|
|||
|
|
|||
|
it works like this:
|
|||
|
|
|||
|
you take tile palette index, you add palette_index
|
|||
|
|
|||
|
for sprites for example you need to skip clut dedicated to tiles:
|
|||
|
pal_index = (g24_header.tileclut_size div 1024)+ activesprite.clut;
|
|||
|
|
|||
|
for tiles it is just simple, but remember - if it is lid you need to
|
|||
|
add side tiles to the number (and side tiles + lid tiles for animation
|
|||
|
/ aux tiles):
|
|||
|
pal_index[tile number]
|
|||
|
|
|||
|
please_see_attached_illustration which also shows the palclut visualized :)
|
|||
|
|
|||
|
> I have put a few new screenshots (after your fixes) up and removed the
|
|||
|
> code until I have worked out the license.
|
|||
|
> I am soon going on vacation for some time, so there won't be any updates
|
|||
|
> for a few weeks. You'll hear from me when I am back.
|
|||
|
>
|
|||
|
> these already look a lot better
|
|||
|
> http://skybound.portland.co.uk/gta/nyc_3d__two_bugs_down_2006-08-21.jpg
|
|||
|
|
|||
|
In the nyc i can clearly see you are rotating side tiles, where they
|
|||
|
shouldn't be, side tiles are never rotated in gta1 (they are in gta2)
|
|||
|
in gta1 they just have mirroring flag in type_map_ext.
|
|||
|
|
|||
|
> http://skybound.portland.co.uk/gta/far_out_2006-08-21.jpg
|
|||
|
|
|||
|
and i am seeing this right? - the san andreas map on screenshoot -
|
|||
|
unless you rotated the camera itself, should be rotated 180<38> left (i
|
|||
|
know how it shouls look, since i drawn entire san andreas map layout
|
|||
|
in mspaint with alt + tabbing 7 years ago ;) ).
|
|||
|
|
|||
|
> http://skybound.portland.co.uk/gta/texture_coords_are_next_2006-08-21.jpg
|
|||
|
|
|||
|
this looks quite right, but it appears lid rotation is wrong in blocks
|
|||
|
where the type_map_ext mirror flags are used.
|
|||
|
|
|||
|
i have a delphi project written in pascal, which can render all tiles
|
|||
|
from g24 files, i can send you whole source code for it, it may help
|
|||
|
you understand how g24 files work :)
|
|||
|
|
|||
|
thats all for now, and enjoy your vacations! :)
|
|||
|
|
|||
|
|
|||
|
> Best regards,
|
|||
|
> tok
|
|||
|
>
|