doomlegacy-devel: Update to SVN revision 1547
DeepSea tall patches are supported now.
This commit is contained in:
parent
92fd532fe2
commit
61349dc1b4
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
VERS= 1.48.4
|
VERS= 1.48.4
|
||||||
#PKGNAME= doomlegacy-${VERS}
|
#PKGNAME= doomlegacy-${VERS}
|
||||||
SVNVERS= 1545
|
SVNVERS= 1547
|
||||||
DISTNAME= doomlegacy-devel-0r${SVNVERS}
|
DISTNAME= doomlegacy-devel-0r${SVNVERS}
|
||||||
CATEGORIES= games
|
CATEGORIES= games
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,11 @@ Part 10: Some textures show pink/black/pink stripes
|
||||||
Just a cosmetic problem.
|
Just a cosmetic problem.
|
||||||
|
|
||||||
[X] Created upstream bug report #663
|
[X] Created upstream bug report #663
|
||||||
|
Reason was missing support for DeepSea tall patches (see Part 12)
|
||||||
|
Fixed in SVN revision 1547
|
||||||
|
=> Works as expected
|
||||||
|
|
||||||
|
Part 10 finished.
|
||||||
|
|
||||||
|
|
||||||
Part 11: Resurrect SunOS codepath
|
Part 11: Resurrect SunOS codepath
|
||||||
|
@ -55,6 +60,7 @@ Part 11: Resurrect SunOS codepath
|
||||||
Located in libresolv on SunOS
|
Located in libresolv on SunOS
|
||||||
[X] Use fcntl() instead of ioctl() to enable non-blocking mode of socket
|
[X] Use fcntl() instead of ioctl() to enable non-blocking mode of socket
|
||||||
Should be usable for all POSIX conformant operating systems
|
Should be usable for all POSIX conformant operating systems
|
||||||
|
[X] Created upstream bug report #666
|
||||||
|
|
||||||
|
|
||||||
Part 12: Support for DeePsea tall patches in textures and sprites
|
Part 12: Support for DeePsea tall patches in textures and sprites
|
||||||
|
@ -64,9 +70,17 @@ http://jnechaevsky.users.sourceforge.net/files/512x512.wad
|
||||||
|
|
||||||
[X] Import general support from Crispy Doom
|
[X] Import general support from Crispy Doom
|
||||||
[X] Tested to work for sprites with software renderer
|
[X] Tested to work for sprites with software renderer
|
||||||
[ ] Make it work for textures with hardware renderer
|
[X] Make it work for textures with hardware renderer
|
||||||
The hardware renderer still has some problems (HOM with specific viewing
|
[X] Propose reduced patchset upstream
|
||||||
angles)
|
=> Support for DeepSea tall patches was added in SVN revision 1547
|
||||||
|
[X] Test upstream patches
|
||||||
|
=> Works now with software and hardware renderer
|
||||||
|
[X] Remove pkgsrc patches for DeepSea tall patches
|
||||||
|
|
||||||
|
The hardware renderer still has some problems (HOM with specific viewing
|
||||||
|
angles). This looks unrelated to the texture format.
|
||||||
|
|
||||||
|
Part 12 finished.
|
||||||
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -8,12 +8,9 @@ SHA1 (patch-src_Makefile) = 34c323bdd96787cb6afe0be5dc99b129ab8f1552
|
||||||
SHA1 (patch-src_am__map.c) = 14b3c8b70c63778ad043827ab2f0b6f4fe07bcde
|
SHA1 (patch-src_am__map.c) = 14b3c8b70c63778ad043827ab2f0b6f4fe07bcde
|
||||||
SHA1 (patch-src_doomdata.h) = 8c3186dafbf11a8a75262a06755dd9807cb58612
|
SHA1 (patch-src_doomdata.h) = 8c3186dafbf11a8a75262a06755dd9807cb58612
|
||||||
SHA1 (patch-src_dstrings.c) = 16e50ac649f76d415b820a0e5093d15af3180e6d
|
SHA1 (patch-src_dstrings.c) = 16e50ac649f76d415b820a0e5093d15af3180e6d
|
||||||
SHA1 (patch-src_hardware_hw__cache.c) = 66788b64c1cb2008a0de9cddd4c8142269633af0
|
|
||||||
SHA1 (patch-src_i__tcp.c) = 3b58113fa9d6e49b5e45ea615f1fab6e893b2eb4
|
SHA1 (patch-src_i__tcp.c) = 3b58113fa9d6e49b5e45ea615f1fab6e893b2eb4
|
||||||
SHA1 (patch-src_mserv.c) = ac024a322b39a37083c821ccb14fb4e520a89343
|
SHA1 (patch-src_mserv.c) = ac024a322b39a37083c821ccb14fb4e520a89343
|
||||||
SHA1 (patch-src_p__local.h) = e429f2ce5d60dd538bc5e796847b53ae72604b33
|
SHA1 (patch-src_p__local.h) = e429f2ce5d60dd538bc5e796847b53ae72604b33
|
||||||
SHA1 (patch-src_p__setup.c) = dcdd64c1ae97dc7f9cdccc834b6f34d301e124f5
|
SHA1 (patch-src_p__setup.c) = dcdd64c1ae97dc7f9cdccc834b6f34d301e124f5
|
||||||
SHA1 (patch-src_r__data.c) = cee177a2af8d29c2e78019d17dbd53d256b34529
|
|
||||||
SHA1 (patch-src_r__defs.h) = 91e6543674e3474c9afdb0ba19d6869b658d0543
|
SHA1 (patch-src_r__defs.h) = 91e6543674e3474c9afdb0ba19d6869b658d0543
|
||||||
SHA1 (patch-src_r__things.c) = e0846082f79a3bdbafbec0345268e6ba1baf6f70
|
|
||||||
SHA1 (patch-src_t__prepro.h) = 935f43fcebdfe22cbafc8c9a1978cbf91a4c46a1
|
SHA1 (patch-src_t__prepro.h) = 935f43fcebdfe22cbafc8c9a1978cbf91a4c46a1
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
$NetBSD$
|
|
||||||
|
|
||||||
Support for DeePsea tall patches:
|
|
||||||
https://doomwiki.org/wiki/Picture_format#Tall_patches
|
|
||||||
|
|
||||||
This patch is for the hardware renderer.
|
|
||||||
|
|
||||||
--- src/hardware/hw_cache.c.orig 2020-07-07 09:01:37.000000000 +0000
|
|
||||||
+++ src/hardware/hw_cache.c
|
|
||||||
@@ -219,6 +219,8 @@ void HWR_DrawPatchInCache (Mipmap_t* mip
|
|
||||||
|
|
||||||
for (block += col*bytepp; ncols--; block+=bytepp, xfrac+=xfracstep)
|
|
||||||
{
|
|
||||||
+ int top = -1; // [MB] 2020-08-21: Support for DeePsea tall patches
|
|
||||||
+
|
|
||||||
patchcol = (column_t *)((byte *)sw_patch
|
|
||||||
+ sw_patch->columnofs[xfrac>>16]);
|
|
||||||
|
|
||||||
@@ -226,9 +228,19 @@ void HWR_DrawPatchInCache (Mipmap_t* mip
|
|
||||||
|
|
||||||
while (patchcol->topdelta != 0xff)
|
|
||||||
{
|
|
||||||
+ // [MB] 2020-08-21: Support for DeePsea tall patches
|
|
||||||
+ if (patchcol->topdelta <= top)
|
|
||||||
+ {
|
|
||||||
+ top += patchcol->topdelta;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ top = patchcol->topdelta;
|
|
||||||
+ }
|
|
||||||
source = (byte *)patchcol + 3;
|
|
||||||
count = ((patchcol->length * scale_y) + (FRACUNIT/2)) >> 16;
|
|
||||||
- ypos = originy + patchcol->topdelta;
|
|
||||||
+ ypos = originy + top;
|
|
||||||
+ //ypos = originy + patchcol->topdelta;
|
|
||||||
|
|
||||||
yfrac = 0;
|
|
||||||
//yfracstep = (patchcol->length << 16) / count;
|
|
|
@ -1,40 +0,0 @@
|
||||||
$NetBSD$
|
|
||||||
|
|
||||||
Support for DeePsea tall patches in textures.
|
|
||||||
|
|
||||||
New code is based on Crispy Doom Git commit:
|
|
||||||
c97a5c1d8054eab46856f71e4998d71760aa3339
|
|
||||||
|
|
||||||
--- src/r_data.c.orig 2020-07-07 09:01:41.000000000 +0000
|
|
||||||
+++ src/r_data.c
|
|
||||||
@@ -613,6 +613,7 @@ void R_DrawColumnInCache ( column_t*
|
|
||||||
{
|
|
||||||
int count;
|
|
||||||
int position; // dest
|
|
||||||
+ int top = -1; // [crispy] Support for DeePsea tall patches
|
|
||||||
byte* source;
|
|
||||||
// byte* dest;
|
|
||||||
|
|
||||||
@@ -622,11 +623,21 @@ void R_DrawColumnInCache ( column_t*
|
|
||||||
// Column is a series of posts (post_t), terminated by 0xFF
|
|
||||||
while (colpost->topdelta != 0xff) // end of posts
|
|
||||||
{
|
|
||||||
+ // [crispy] Support for DeePsea tall patches
|
|
||||||
+ if (colpost->topdelta <= top)
|
|
||||||
+ {
|
|
||||||
+ top += colpost->topdelta;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ top = colpost->topdelta;
|
|
||||||
+ }
|
|
||||||
// post has 2 byte header (post_t),
|
|
||||||
// and has extra byte before and after pixel data
|
|
||||||
source = (byte *)colpost + 3; // pixel data after post header
|
|
||||||
count = colpost->length;
|
|
||||||
- position = originy + colpost->topdelta; // position in dest
|
|
||||||
+ position = originy + top; // [crispy] Support for DeePsea tall patches
|
|
||||||
+ //position = originy + colpost->topdelta; // position in dest
|
|
||||||
|
|
||||||
if (position < 0)
|
|
||||||
{
|
|
|
@ -1,51 +0,0 @@
|
||||||
$NetBSD$
|
|
||||||
|
|
||||||
Support for DeePsea tall patches in sprites (and masked mid textures):
|
|
||||||
https://doomwiki.org/wiki/Picture_format#Tall_patches
|
|
||||||
|
|
||||||
New code is based on Crispy Doom Git commit:
|
|
||||||
c97a5c1d8054eab46856f71e4998d71760aa3339
|
|
||||||
|
|
||||||
--- src/r_things.c.orig 2020-07-07 09:01:40.000000000 +0000
|
|
||||||
+++ src/r_things.c
|
|
||||||
@@ -1097,15 +1097,27 @@ fixed_t dm_texturemid;
|
|
||||||
void R_DrawMaskedColumn ( byte * column_data )
|
|
||||||
{
|
|
||||||
fixed_t top_post_sc, bottom_post_sc; // fixed_t screen coord.
|
|
||||||
+ int top = -1; // [crispy] Support for DeePsea tall patches
|
|
||||||
|
|
||||||
column_t * column = (column_t*) column_data;
|
|
||||||
|
|
||||||
// over all column posts for this column
|
|
||||||
for ( ; column->topdelta != 0xff ; )
|
|
||||||
{
|
|
||||||
+ // [crispy] Support for DeePsea tall patches
|
|
||||||
+ if (column->topdelta <= top)
|
|
||||||
+ {
|
|
||||||
+ top += column->topdelta;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ top = column->topdelta;
|
|
||||||
+ }
|
|
||||||
// calculate unclipped screen coordinates
|
|
||||||
// for post
|
|
||||||
- top_post_sc = dm_top_patch + dm_yscale*column->topdelta;
|
|
||||||
+ // [crispy] Support for DeePsea tall patches
|
|
||||||
+ top_post_sc = dm_top_patch + dm_yscale*top;
|
|
||||||
+ //top_post_sc = dm_top_patch + dm_yscale*column->topdelta;
|
|
||||||
bottom_post_sc = (dm_bottom_patch == FIXED_MAX) ?
|
|
||||||
top_post_sc + dm_yscale*column->length
|
|
||||||
: dm_bottom_patch + dm_yscale*column->length;
|
|
||||||
@@ -1154,7 +1166,10 @@ void R_DrawMaskedColumn ( byte * column_
|
|
||||||
#endif
|
|
||||||
|
|
||||||
dc_source = (byte *)column + 3;
|
|
||||||
- dc_texturemid = dm_texturemid - (column->topdelta<<FRACBITS);
|
|
||||||
+ // [crispy] Support for DeePsea tall patches
|
|
||||||
+ dc_texturemid = dm_texturemid - (top<<FRACBITS);
|
|
||||||
+ // dc_source = (byte *)column + 3 - top;
|
|
||||||
+ // dc_texturemid = dm_texturemid - (column->topdelta<<FRACBITS);
|
|
||||||
// dc_source = (byte *)column + 3 - column->topdelta;
|
|
||||||
fog_col_length = column->length;
|
|
||||||
|
|
Loading…
Reference in New Issue