From: JoshuaChang [mailto:joshuachang2005@gmail.com]

Subject: cps3 sfiii3 title+linear zoom effect fix

fix the sfiii3's title animation (cps3.c line 1055)
also fix the linear zoom effect that OopsWare didn't improve properly
since 0.122u7(cps3.c line 1168,1189,1190)

i've attached 2 images to show the difference between the priginal and
fixed one~
hope this helps~
This commit is contained in:
Aaron Giles 2008-08-14 06:33:31 +00:00
parent aa4b4b3e7d
commit 4380531fc8

View File

@ -1052,7 +1052,7 @@ static VIDEO_UPDATE(cps3)
int ypos = cps3_spriteram[i+1]&0x000003ff;
int j;
int gscroll = (cps3_spriteram[i+0]&0x70000000)>>28;
UINT8 length = (cps3_spriteram[i+0]&0x00ff0000)>>16; // how many entries in the sprite table
int length = (cps3_spriteram[i+0]&0x01ff0000)>>16; // how many entries in the sprite table
UINT32 start = (cps3_spriteram[i+0]&0x00007ff0)>>4;
int whichbpp = (cps3_spriteram[i+2]&0x40000000)>>30; // not 100% sure if this is right, jojo title / characters
@ -1165,7 +1165,7 @@ static VIDEO_UPDATE(cps3)
if (!flipx) xpos2-= ((xsize2+1)*16*xinc)>>16;
else xpos2+= (xsize2*16*xinc)>>16;
if (flipy) ypos2-= ysize2*((16*yinc)>>16);
if (flipy) ypos2-= (ysize2*16*yinc)>>16;
{
count = 0;
@ -1173,7 +1173,7 @@ static VIDEO_UPDATE(cps3)
{
int current_xpos;
if (!flipx) current_xpos = (xpos+xpos2+((xx*16*xinc)>>16) );
if (!flipx) current_xpos = (xpos+xpos2+((xx*16*xinc)>>16));
else current_xpos = (xpos+xpos2-((xx*16*xinc)>>16));
//current_xpos += rand()&0x3ff;
current_xpos += gscrollx;
@ -1186,8 +1186,8 @@ static VIDEO_UPDATE(cps3)
int current_ypos;
int actualpal;
if (flipy) current_ypos = (ypos+ypos2+yy*((16*yinc)>>16));
else current_ypos = (ypos+ypos2-yy*((16*yinc)>>16));
if (flipy) current_ypos = (ypos+ypos2+((yy*16*yinc)>>16));
else current_ypos = (ypos+ypos2-((yy*16*yinc)>>16));
current_ypos += gscrolly;
current_ypos = 0x3ff-current_ypos;