Here is the TEXTURES code:
Code: Select all
sprite WNDRy0, 374, 240   ////original sprite TEXTURES definition
{
  offset 0, 39
  YScale 1.198
  Patch WNDRy0, 0, 0
}
Sprite "SGPDaa", 150, 240
{
   Patch "WNDRy0", -224, 0   /////the left hand is chopped off in this sprite
}
Sprite "SGPDab", 224, 240
{
   Patch "WNDRy0", 0, 0      /////the shotgun is chopped off in this sprite
}
Sprite "SGPDa0", 374, 240    /////they display side-by-side (224+150=374 wide)
{
   Offset 0, 39
   YScale 1.198
   Patch "SGPDaa", 224, 0    /////the shotgun of the "WNDRy0" sprite
   Patch "SGPDab", 0, 20     /////the left hand of the "WNDRy0" sprite
}
Sprite "SGPDb0", 374, 240
{
   Offset 0, 39
   YScale 1.198
   Patch "SGPDaa", 224, 0    /////only the shotgun is displayed
}
Sprite "SGPDc0", 427, 240
{
   Offset 53, 39
   YScale 1.198
   Patch "SGPDaa", 277, 0  /////holding the shotgun in the right hand for the whole pistol animation
   Patch "P22Da0", 0, 38   /////First frame of the pistol draw
	{
	flipx
	}
}Code: Select all
	Altfire:
		WNDR "[" 1    /////
		WNDR z 1      ///// two unmodified sprites of the shotgun draw 
		SGPD a 1      ///// The left hand is lowered in this sprite
		SGPD b 4      /////the left hand isn't visible here
		SGPD cdefghijklmnopqrst 1    ////The left handed pistol drawing animationThen the shotgun stops moving, as if the player is holding it pointed up with the right hand.
The left hand goes down out of sight, then pulls out the pistol (using the pistol sprites with the "flipx" option.
In the GL renderer, during the whole pistol animation, the left hand that should have gone out of sight is displayed in the middle of the screen. This hand isn't displayed in the software renderer.
I think the GL renderer treats the texture offsets correctly and displays it in the correct place, but it displays the areas of the sprite that are beyond the defined borders of the texture.
Below is a screenshot: Software on left, GL on right
