From 80ef73ac63569530a415035dabfac9fa1f525c3b Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Fri, 13 Apr 2012 19:28:50 +0000 Subject: [PATCH] Simplify bootleg sprite rendering, fix sprites in punipic sets (now working, with glitches in intro, which may happen on hardware?) --- src/burn/drv/capcom/cps_obj.cpp | 31 +++++++++---------------------- src/burn/drv/capcom/d_cps1.cpp | 33 +++++++++++++++------------------ 2 files changed, 24 insertions(+), 40 deletions(-) diff --git a/src/burn/drv/capcom/cps_obj.cpp b/src/burn/drv/capcom/cps_obj.cpp index 81a51b78a..11a93fc86 100644 --- a/src/burn/drv/capcom/cps_obj.cpp +++ b/src/burn/drv/capcom/cps_obj.cpp @@ -541,18 +541,15 @@ INT32 FcrashObjDraw(INT32 nLevelFrom,INT32 nLevelTo) // Go through all the Objs for (i=0; inCount; i++,ps+=nPsAdd) { - INT32 x,y,n,a,bx,by,dx,dy; INT32 nFlip; + INT32 x,y,n,a; INT32 nFlip; n = BURN_ENDIAN_SWAP_INT16(ps[0]); y = BURN_ENDIAN_SWAP_INT16(ps[-1]); x = BURN_ENDIAN_SWAP_INT16(ps[2]); a = BURN_ENDIAN_SWAP_INT16(ps[1]); - bx = 1; - by = 1; - x &= 0x1ff; - y &= 0xff; + y &= 0x1ff; x -= 16; y = 224 - y; @@ -563,29 +560,19 @@ INT32 FcrashObjDraw(INT32 nLevelFrom,INT32 nLevelTo) nFlip=(a>>5)&3; // Take care with tiles if the sprite goes off the screen - if (x<0 || y<0 || x+(bx<<4)>384 || y+(by<<4)>224) { + if (x<0 || y<0 || x+(1<<4)>384 || y+(1<<4)>224) { nCpstType=CTT_16X16 | CTT_CARE; } else { nCpstType=CTT_16X16; } nCpstFlip=nFlip; - for (dy=0;dy