pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

doomlegacy-devel: Update to SVN revision 1635



Module Name:	pkgsrc-wip
Committed By:	Michael Baeuerle <micha%NetBSD.org@localhost>
Pushed By:	micha
Date:		Mon Oct 31 12:28:16 2022 +0100
Changeset:	676a898cb65084d1c0bcf5e664967a8867101773

Modified Files:
	doomlegacy-devel/Makefile

Log Message:
doomlegacy-devel: Update to SVN revision 1635

- commit revision 1634
Remove drawnodes structures and code.
The drawnodes were in the drawseg order as determined by the BSP,
and it existed only to aid the sorting of sprites into the draw order.
The occlusion of sprites by planes was buggy in the drawnode version.
Sprites cannot be sorted into the drawnodes to satify all the conflicts
that occur.

Add new software draw rendering.
Basically it performs much the same drawseg operations as before,
but without having to allocate and sort drawnodes.
Drawing the drawseg is done directly from the drawsegs.
The sprites were already sorted by scale.
The search, occlusion, and masking of sprites is done during
R_Draw_Masked now.  There is no longer any need to save sprite sort
information.

The sprites are split vertically when only part of the sprite is
occluded by a drawseg.  The occluded part is drawn and removed.
The non-occluded part continues to be tested against other drawsegs.

The occlusion of sprites by planes is now done by masking the sprite
with a clip array.  The portion of the sprite occluded by a solid plane
will not be drawn anymore.  It will be drawn only if the plane is transparent.
The remainder of the sprite will continue to be tested against other
segments and planes, until it is entirely masked or drawn.

Instead of trying to save all the sprite conflicts in one sprite structure
(like a drawnode), the sprite is split and clipped until all parts of it have
been drawn (or masked), which will be when all the drawseg conflicts have been
handled.

- commit revision 1633
Cleanup of existing code in preparation for change to
new software draw rendering.
Organize the clip array support better, collected it together.
Add comments.
Re-indent some of the r_things.c code.

- commit revision 1632
Fix to sprite draw, to separate the sprite 0 position from the x1 position.
The sprite 0 for drawing will be tex_x0 now.
For flipped sprites, tex_x0 and tex_x_iscale are flipped.
This fixes errors on draws of some flipped sprites.

- commit revision 1631
New masked draw structures, and changes to drawseg, to support
sorting sprites using drawseg.
The drawnodes will be eventually removed, as they do not achieve
anything unique.

Rename sprite screen positions from sz_top, sz_bot to y_top, y_bot.

The ffloor (3d floor) now have separate drawseg structures
(drawsprite_t, draw_ffside_t, and draw_ffplane_t) that are only allocated
(drawsprite_t, draw_ffside_t, and draw_ffplane_t) that are only allocated
when a ffloor is present.  This greatly reduces the memory footprint
for most wad maps, which reduces useless cache invalidations.

Change clipping array uses of short to int16_t.

- commit revision 1630
Cleanup drawsegs, and add comments.
Update and clarify some DEBUG_STOREWALL code.
Make some of the drawseg creation (Killough code) easier to
read and understand.  Reduce redundant structure accesses.

Create pool16 allocation for int16_t arrays.
It allocates in chunks, and does not reallocate.
It does not require fixing existing ptrs.
Collect scattered openings and pool16 allocation code to one place.
The pool16 will replace expand_openings, and its ptr fixing code.

-commit revision 1629
Start of transition to new software render structure.
In r_bsp, some code cleanup. add comments.
Rename a few to more descriptive names (MAX_SOLIDSEGS).
Reduce redundant structure accesses.
Introduce  first_subsec_seg.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=676a898cb65084d1c0bcf5e664967a8867101773

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 doomlegacy-devel/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diffs:
diff --git a/doomlegacy-devel/Makefile b/doomlegacy-devel/Makefile
index 6ef27dc8d6..815b09e57b 100644
--- a/doomlegacy-devel/Makefile
+++ b/doomlegacy-devel/Makefile
@@ -2,7 +2,7 @@
 
 VERS=		1.48.10
 #PKGNAME=	doomlegacy-${VERS}
-SVNVERS=	1628
+SVNVERS=	1635
 DISTNAME=	doomlegacy-devel-0r${SVNVERS}
 CATEGORIES=	games
 


Home | Main Index | Thread Index | Old Index