Page 1 of 1
		
			
				Screen Wipe
				
Posted: 
Sep 6, 2007 @ 11:43amby Ryumaster
				Hi!
  I can not understand, how to use Wipe.
Do I have to put StartWipe(0) on OnInit,
and Wipe(destanation, source, EWIPE_SLIDELEFT,0, NULL, 0) on OnNextFrame?
I've tried different combinations but program always breaks with an error so I wondering what am I doing wrong.
			 
			
		
			
				
				
Posted: 
Sep 6, 2007 @ 2:05pmby edge
				Hi Ryumaster,
You need to call StartWipe() inside OnDisplayInit(), because the display isn't initialized in OnInit() yet.
I hope this helps.
BTW,
I've also added a solution for the hss.dll problem in the 3.10 version release topic.
			 
			
		
			
				
				
Posted: 
Sep 6, 2007 @ 9:52pmby Ryumaster
				Hi!
 Error was because of my mistake, and now test program runs without error breaks. But there is no screen wipe I can see. Am I doing the right sequence?
1. I'm creating 3 different surfaces 240X320.
2. Then:  StartWipe(1) on DisplayInit.
3. Then: display->Wipe(&srf2, &srf1, &srf3,0,1,0,0) on OnNextFrame;
 All I can see is the black screen. Maybe I have to use WipeScreenMap too, because I can not figure out what is that function for. Or maybe I have to update timer function manually somehow?
			 
			
		
			
				
				
Posted: 
Sep 10, 2007 @ 10:50amby edge
				Hi Ryumaster,
For the wipe to work you need to set the fourth parameter to a time value between 0 and 65535.
The best way is to use a timer variable, and increase it every frame with the timedelta value you receive from OnNextFrame(). MapScreenWipe() is only needed for certain wipe types (EWIPE_BLOCKS and EWIPE_SCREEN).
			 
			
		
			
				
				
Posted: 
Sep 12, 2007 @ 10:48amby Ryumaster
				
			 
			
		
			
				
				
Posted: 
Sep 12, 2007 @ 11:58amby edge
				
			 
			
		
			
				
				
Posted: 
Oct 29, 2008 @ 9:28amby mamahow
				Hi,
If we want to use wipe() API, 
Can we use pixelate wipe type with "RGBA" surface?
If not, do you have suggestion if we strongly need to use alpha surface?
Thanks,
mamahow
			 
			
		
			
				
				
Posted: 
Oct 30, 2008 @ 2:57pmby edge
				Hi,
Do you need to wipe from RGBA to RGBA, or from RGBA to a normal RGB surface?
			 
			
		
			
				
				
Posted: 
Oct 31, 2008 @ 6:39amby mamahow
				Hi,
Yes, We need both of these two operations.
			 
			
		
			
				
				
Posted: 
Nov 3, 2008 @ 11:47amby edge
				Hi,
Unfortunately, the only way to achieve this with good performance is to program your own wipe. The pixelate wipe works like this:
- Divide the image into several blocks (depending on the wipe size)
- Use fillrect on each block with a certain color on the destination surface
- The color is retrieved from the center of the block in the original image
			 
			
		
			
				about wipe()
				
Posted: 
Nov 10, 2008 @ 4:36amby sunfred
				1. I'm creating 3 different surfaces 240X320. 
2. Then: StartWipe(1) on DisplayInit. 
3. Then: display->Wipe(&srf2, &srf1, &srf3,1000,1,0,0) on OnNextFrame; 
i followed the step,but i can not see the result.
			 
			
		
			
				
				
Posted: 
Nov 11, 2008 @ 10:09amby edge