Build 10212
GIT-
add manual test case 'mask_drawing_order.map'
-
in 'msaveloadtext()', prevent read of 'g_skillNames[-1]', fixing issue #225.
Show details
Note: 'skill == 0' can be obtained from the command line by either * '-m': "monsters off", or * '-s0': 'ud.m_monsters_off' is *not* set
-
in "draw tsprite before mask?" check, consider tile offsets for sloped sprites.
Show details
In 'GetCornerPoints()', fix condition for when to use 'get_floorspr_points()' to include sloped sprites as well.
-
in "draw tsprite before mask?" check, consider offsets for floor sprites.
-
in "draw tsprite before mask?" check, consider xoffset for wall sprites.
Show details
(More precisely, in renderDrawMasks()'s check "does the maskwall separate the tsprite center from the camera?".) This provides more reasonable rendering order when the sprite (as drawn) is heavily biased to one side of the maskwall. Note [1]: mask/mask intersections are in general problematic since there is no further subdivision. For opaque objects, the OpenGL modes "work around" the issue thanks to the depth buffer. See: - 'mask_drawing_order.map', the STEAM sprites which by position are all on the other side of the right-hand side fence, but as drawn may or may not be more towards one particular side. (The topmost one with xoffset 50 is the first to be drawn behind it; note that 'picanm[STEAM].xofs == -47'.) - Issue #136, the first example screenshot. However, there, the fence intersects the STEAM sprite quite exactly in the middle (as drawn), so note [1] above applies.