Jump to content

Photo

[2.53/2.55] [ZSCRIPT] [VISUAL] DrawLayer() broken on layers -2 and -3


  • Please log in to reply
1 reply to this topic

#1 Moosh

Moosh

    Tiny Little Questmaker

  • ZC Developers

Posted 29 April 2021 - 07:42 AM

This is a very old bug that I thought 2.55 had fixed along with a bunch of other negative layer stuff, but I did a fresh test after writing a workaround for it in my Scrolling Backgrounds script and it does indeed seem to be consistent between all versions. When drawing to layer -2 or -3 with DrawLayer() and scrolling the screen, part of the layer gets cut off as the screen scrolls. I also observed a weird flash effect where it appears the layer drew twice in the same frame at the start of the scrolling transition. 

 

Here's the script I wrote to test it. It's doing nothing aside from drawing the layer. The opacity setting has no effect on the bug. I have it transparent for the video because it shows the second bug, which I believe may be a timing issue with 2.55.

global script Main2{
	void run(){
		while(true){
			Screen->DrawLayer(3, 1, 0x20, 0, 0, 0, 0, 64);
			Waitframe();
		}
	}
}

This was all tested on 2.55 Alpha 92, Build 57.

 

Edit: Did an extra test in 2.53 just for comparison. The first frame flash is not present, the drawing bug is the same scrolling left or right but doesn't appear to be present when scrolling up or down. So 2.55 made it worse. Joy.


Edited by Moosh, 29 April 2021 - 07:48 AM.


#2 Mitchfork

Mitchfork

    no fun. not ever.

  • Contributors
  • Real Name:Mitch
  • Location:Alabama

Posted 29 April 2021 - 01:08 PM

I have not tried to replicate the layer -2/-3 bug that is the main part of this report, but I can confirm the "double draw" that is visible with transparent layers during screen scrolls in 2.55.


Edited by Mitchfork, 29 April 2021 - 01:08 PM.



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users