I took a look at this just now, it appears that deeper things are getting drawn over shallower things (and things of different types get drawn in different order, which is interesting to note). The issue with the new Z testing is pretty unquestionably that the depth test function is backward. Reverse the test (ie, if it's GL_GREATER, make it GL_LESS) and it should be fine. Alongside this, all cubes that are at any point sent to the video card (even if they end up invisible to the player) show up in the automap. I had seen the entire first level in the game without leaving the first area and the lava tunnel to the hostages, and it all showed up in the map. I imagine it's because of a cube flag of some sort that gets set some time before the cube is shipped out to the renderer. I recommend making the existing culling system only a little more lenient and leaving depth testing enabled, or using the current depth testing only for sending data to the graphics card, and using the old code for setting the automap flag.
Going to the options menu while in game and looking at the monitor sideways, and returning to the game causes it to be "letterboxed." This may also occur when going to and from the automap (and anything else that causes the game to switch to 640x480. perhaps any reduction of screen resolution while in game should simply not be allowed?); I have been unable to controllably reproduce the problem. Restarting the game did not necessarily fix the issue, so it may be getting saved somewhere (probably the pilot file) or it may occur at random. Changing screen resolutions from the options menu while in game fixed the problem. This will be difficult to pin down.
Touching the lava only barely (if at all; I may have been delusional, because it's so natural to me that things would fade red on hitting lava) made the screen go red. It needs to become much more red to more accurately reflect the amount of damage done.
The fade to near-black on getting the cloak powerup in level 1 was not present.
Keyboard turning controls are INSANE.
Using the high performance timer exposed in the Win32 API for game timing would be a good idea, as its accuracy is immense and should be far more accurate than any millisecond timer. This would fix high FPS issues, or at least make the speed of everything consistent enough that scaling the speed would fix any issues, and eliminate the need for any hackish fixes.
D2X modified: May 25, 2004, 5:10:42 PM
SDL modified: May 23, 2004, 11:17:58 PM
OS: WinXP SP1a
Hardware: Barton 2600+, 512 RAM, GF4 MX440 64MB
I'd also like to request that the 1280x1024 screen resolution be changed to 1280x960 (1280x1024 is not 4:3, so if you take a screenshot and look at it using resolution with a 4:3 aspect ratio, as is the case with most screen selectable resolutions, everything in the screenie except for text (bitmapped) is vertically stretched), and the addition of 1600x1200
Now fix the 8 bit sound, please, before I lose my sanity
[edit]
Oh, not cool, an update while I was busy testing and writing
Okay... new bugs! Found within the first 60 seconds!
On the PEST robot (those green guys on level 1), the black gun "holes" (whatever) on the end of his barrels are having Z issues (guess that's to be expected with the fixed Z testing); others very likely have that problem too.
One frame of animation of the fire from the PEST was a frame of some eye texture.
More later, I have school to get ready for.
[/edit]