From 61349dc1b450ea01c9039dc31216fe4d05f4d852 Mon Sep 17 00:00:00 2001 From: Michael Baeuerle Date: Wed, 2 Sep 2020 19:34:03 +0200 Subject: [PATCH] doomlegacy-devel: Update to SVN revision 1547 DeepSea tall patches are supported now. --- doomlegacy-devel/Makefile | 2 +- doomlegacy-devel/TODO | 20 ++++++-- doomlegacy-devel/distinfo | 3 -- .../patches/patch-src_hardware_hw__cache.c | 39 -------------- doomlegacy-devel/patches/patch-src_r__data.c | 40 --------------- .../patches/patch-src_r__things.c | 51 ------------------- 6 files changed, 18 insertions(+), 137 deletions(-) delete mode 100644 doomlegacy-devel/patches/patch-src_hardware_hw__cache.c delete mode 100644 doomlegacy-devel/patches/patch-src_r__data.c delete mode 100644 doomlegacy-devel/patches/patch-src_r__things.c diff --git a/doomlegacy-devel/Makefile b/doomlegacy-devel/Makefile index f0a6cddb0d..84704fd63e 100644 --- a/doomlegacy-devel/Makefile +++ b/doomlegacy-devel/Makefile @@ -2,7 +2,7 @@ VERS= 1.48.4 #PKGNAME= doomlegacy-${VERS} -SVNVERS= 1545 +SVNVERS= 1547 DISTNAME= doomlegacy-devel-0r${SVNVERS} CATEGORIES= games diff --git a/doomlegacy-devel/TODO b/doomlegacy-devel/TODO index 18597632fc..18bb996055 100644 --- a/doomlegacy-devel/TODO +++ b/doomlegacy-devel/TODO @@ -43,6 +43,11 @@ Part 10: Some textures show pink/black/pink stripes Just a cosmetic problem. [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 @@ -55,6 +60,7 @@ Part 11: Resurrect SunOS codepath Located in libresolv on SunOS [X] Use fcntl() instead of ioctl() to enable non-blocking mode of socket 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 @@ -64,9 +70,17 @@ http://jnechaevsky.users.sourceforge.net/files/512x512.wad [X] Import general support from Crispy Doom [X] Tested to work for sprites with software renderer -[ ] Make it work for textures with hardware renderer - The hardware renderer still has some problems (HOM with specific viewing - angles) +[X] Make it work for textures with hardware renderer +[X] Propose reduced patchset upstream + => 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 diff --git a/doomlegacy-devel/distinfo b/doomlegacy-devel/distinfo index 4e18815932..4ee7c77bc3 100644 --- a/doomlegacy-devel/distinfo +++ b/doomlegacy-devel/distinfo @@ -8,12 +8,9 @@ SHA1 (patch-src_Makefile) = 34c323bdd96787cb6afe0be5dc99b129ab8f1552 SHA1 (patch-src_am__map.c) = 14b3c8b70c63778ad043827ab2f0b6f4fe07bcde SHA1 (patch-src_doomdata.h) = 8c3186dafbf11a8a75262a06755dd9807cb58612 SHA1 (patch-src_dstrings.c) = 16e50ac649f76d415b820a0e5093d15af3180e6d -SHA1 (patch-src_hardware_hw__cache.c) = 66788b64c1cb2008a0de9cddd4c8142269633af0 SHA1 (patch-src_i__tcp.c) = 3b58113fa9d6e49b5e45ea615f1fab6e893b2eb4 SHA1 (patch-src_mserv.c) = ac024a322b39a37083c821ccb14fb4e520a89343 SHA1 (patch-src_p__local.h) = e429f2ce5d60dd538bc5e796847b53ae72604b33 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__things.c) = e0846082f79a3bdbafbec0345268e6ba1baf6f70 SHA1 (patch-src_t__prepro.h) = 935f43fcebdfe22cbafc8c9a1978cbf91a4c46a1 diff --git a/doomlegacy-devel/patches/patch-src_hardware_hw__cache.c b/doomlegacy-devel/patches/patch-src_hardware_hw__cache.c deleted file mode 100644 index 6a1eb979f6..0000000000 --- a/doomlegacy-devel/patches/patch-src_hardware_hw__cache.c +++ /dev/null @@ -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; diff --git a/doomlegacy-devel/patches/patch-src_r__data.c b/doomlegacy-devel/patches/patch-src_r__data.c deleted file mode 100644 index 6da450e5f2..0000000000 --- a/doomlegacy-devel/patches/patch-src_r__data.c +++ /dev/null @@ -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) - { diff --git a/doomlegacy-devel/patches/patch-src_r__things.c b/doomlegacy-devel/patches/patch-src_r__things.c deleted file mode 100644 index ba22bc4b67..0000000000 --- a/doomlegacy-devel/patches/patch-src_r__things.c +++ /dev/null @@ -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<topdelta<topdelta; - fog_col_length = column->length; -