mheyer32 / alienbreed3d2

Alien Breed 3D II The Killing Grounds
36 stars 4 forks source link

Wall Texture Perspective Bug #40

Open 0xABADCAFE opened 1 year ago

0xABADCAFE commented 1 year ago

This ties in with the other issues regarding the swimming floor, etc. While working on a mod, I created an area with precise geometry to represent boxes using 1:1 texture scaling (no stretch or compress to fit). It seems that the wall textures have a different (lower) horizon than the geometry. As you back away from a wall, the vertical texture coordinates descend slightly: wall1 wall2

In the second image, the bottom of the brown container texture is clearly visible at the top edge.

0xABADCAFE commented 1 year ago

I may have just fixed this based on a previous suggestion by Andy Loft. He suggested on EAB redefining FS_HEIGHT to 240, but then using FS_HEIGHT-8 in a few places later. I only made FS_HEIGHT 240 and in the code as it stands, that seems to have fixed the issue: walls3 walls4

mheyer32 commented 1 year ago

With the current change of the rendering height to 240, the discrepancies between wall and floor rendering have been papered over, but we do now render a few more lines in the chunky buffer that the player will never see as we don't copy them over into the visible buffer during C2P.

I think there should be an engine-friendly way to get around this: initialize the vertical clip variable with 232 instead of 240 :-) I think this is the same mechanism that letterbox rendering uses when decreasing the size of the viewport.

0xABADCAFE commented 1 year ago

I totally agree. I just felt the cosmetic fix was worth it for the UX. No intention of closing the ticket until it's fixed correctly.