Page 1 of 1
Hollywood 7 Bug no fixed
Posted: Mon Mar 20, 2017 3:44 pm
by sinisrus
- New: RotateBrush(), TransformBrush() as well as all other functions that rotate images now use
dedicated code to handle the special cases of a rotation by 90, 180, 270, and 360 degrees to
transform the image data; this is much faster and the transformation is also done in a lossless
way (requested by Tony Canazza)
I tested no fixed
- Fix: When using #FILLGRADIENT fill style and #ANTIALIAS and #SHADOW form style with one of the
Arc(), Circle(), Ellipse() or Box() with round corners commands, the gradient wasn't drawn
correctly (reported by Tony Canazza)
I tested with #ANTIALIAS and #SHADOW (ok fixed)
I tested with #ANTIALIAS and #EDGE (no fixed)
Re: Hollywood 7 Bug no fixed
Posted: Tue Mar 21, 2017 12:09 am
by airsoftsoftwair
Code please... the snippets you posted with the bug report definitely work correctly now but maybe there is still a problem in different contexts but I need to see demo code to tell you more...
Re: Hollywood 7 Bug no fixed
Posted: Tue Mar 21, 2017 7:48 am
by sinisrus
For RotateBrush()
Os4 (ok fixed)
O3.9 WinUAE (No fixed)
Code: Select all
/* Created with BuildOther v1.0 */
/* By Sinisrus © 2014 */
/* Nouveau projet Hollywood */
CreateBrush(1,50,50,#WHITE)
SelectBrush(1)
FOR i=0 TO 50 STEP 2
Line(0,i,50,i,#RED)
NEXT
EndSelect
RotateBrush(1,90)
RotateBrush(1,90)
RotateBrush(1,90)
DisplayBrush(1,50,50)
/* Boucle infinie */
Repeat
WaitEvent
Forever
Re: Hollywood 7 Bug no fixed
Posted: Tue Mar 21, 2017 10:43 am
by sinisrus
For Gradient and Edge
Os4 (no fix)
Os3.9 WinUAE (no fix)
Code: Select all
/* Test Gradient and EDGE */
SetFormStyle(#ANTIALIAS)
SetFillStyle(#FILLGRADIENT, #CONICAL, $00FF00, $000000)
;SetFormStyle(#SHADOW, $A9A9A9, 21, #SHDWSOUTHEAST)
SetFormStyle(#EDGE, $000000, 1)
/**********************************************************************************/
CreateBrush(1,350,100,#WHITE)
SelectBrush(1)
BOX(50,#CENTER,50,50,#BLACK)
Circle(#CENTER,#CENTER,25,#BLACK)
v = {}
v[0] = 0 ;X1
v[1] = 50 ;Y1
v[2] = 25 ;X2
v[3] = 0 ;Y2
v[4] = 50 ;X3
v[5] = 50 ;Y3
v[6] = 0 ;X4
v[7] = 50 ;Y4
Polygon(#RIGHT-50, #CENTER, v, 4, #BLACK)
EndSelect
/**********************************************************************************/
DIST=0 ROT=0
Function p_Loop()
;SetFormStyle(#SHADOW, $A9A9A9, DIST, #SHDWSOUTHEAST)
SetFormStyle(#EDGE, $000000, DIST)
CreateBrush(1,350,100,#WHITE)
SelectBrush(1)
BOX(50,#CENTER,50,50,#BLACK)
Circle(#CENTER,#CENTER,25,#BLACK)
v = {}
v[0] = 0 ;X1
v[1] = 50 ;Y1
v[2] = 25 ;X2
v[3] = 0 ;Y2
v[4] = 50 ;X3
v[5] = 50 ;Y3
v[6] = 0 ;X4
v[7] = 50 ;Y4
Polygon(#RIGHT-50, #CENTER, v, 4, #BLACK)
EndSelect
DisplayBrush(1,#CENTER,#CENTER)
IF (ROT=0)&(DIST<50)
DIST=DIST+5
IF (DIST=50) THEN ROT=1
ENDIF
IF (ROT=1)&(DIST>0)
DIST=DIST-5
IF (DIST=0) THEN ROT=0
ENDIF
EndFunction
/**********************************************************************************/
SetInterval(1, p_Loop, 1000/25)
/**********************************************************************************/
/* Boucle infinie */
Repeat
WaitEvent
Forever
Re: Hollywood 7 Bug no fixed
Posted: Tue Mar 21, 2017 11:34 pm
by airsoftsoftwair
I can confirm that the second issue still shows problems but not the first issue (rotation). Can you provide a screenshot of what it looks like on OS3? It looks good here both on OS4 and OS3.
Re: Hollywood 7 Bug no fixed
Posted: Wed Mar 22, 2017 9:27 am
by sinisrus
Re: Hollywood 7 Bug no fixed
Posted: Sat Mar 25, 2017 1:06 pm
by airsoftsoftwair
Hmm, still can't reproduce the rotate brush problem. Can you post the script you used for the screenshot? It looks a little different than your original script.
Re: Hollywood 7 Bug no fixed
Posted: Mon Mar 27, 2017 3:55 pm
by sinisrus
I solved this problem => rotate no good work with Hollywood OS3FPU
I tested with Hollywood Os3 no FPU => OK
Code: Select all
/* Created with BuildOther v1.0 */
/* By Sinisrus © 2014 */
/* Nouveau projet Hollywood */
@DISPLAY 1, {WIDTH=300,HEIGHT=150}
t=GetVersion()
Textout(#CENTER,5,"Hollywood v"..t.version.." "..t.platform)
Textout(#CENTER,20,"- Test of Rotation 90° -")
CreateBrush(1,50,50,#WHITE)
SelectBrush(1)
FOR i=0 TO 50 step 2
Line(0,i,50,i,#BLACK)
NEXT
EndSelect
;********************************
Function p_Rota()
RotateBrush(1,90)
DisplayBrush(1,#CENTER,60)
EndFunction
;********************************
SetInterval(1, p_Rota, 1000/5)
EscapeQuit(True)
/* Boucle infinie */
Repeat
WaitEvent
Forever
Re: Hollywood 7 Bug no fixed
Posted: Tue Mar 28, 2017 11:50 pm
by airsoftsoftwair
Ah, that explains it all. Of course WinUAE's FPU emulation isn't as precise as the original chip so it can get you in trouble.