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
|
||||
#PKGNAME= doomlegacy-${VERS}
|
||||
SVNVERS= 1545
|
||||
SVNVERS= 1547
|
||||
DISTNAME= doomlegacy-devel-0r${SVNVERS}
|
||||
CATEGORIES= games
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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