Skip to content

Commit 87ad831

Browse files
committed
zdrawgfxzoom32GP cleanup pt3:
-use cliprect directly inside function -rename various "eax" variables
1 parent c820e98 commit 87ad831

File tree

1 file changed

+49
-52
lines changed

1 file changed

+49
-52
lines changed

src/mame/konami/k053246_k053247_k055673.cpp

Lines changed: 49 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -484,10 +484,6 @@ void k053247_device::zdrawgfxzoom32GP(
484484

485485
u32 *dst_ptr = &bitmap.pix(0);
486486
const int dst_pitch = bitmap.rowpixels();
487-
const int dst_minx = cliprect.min_x;
488-
const int dst_maxx = cliprect.max_x;
489-
const int dst_miny = cliprect.min_y;
490-
const int dst_maxy = cliprect.max_y;
491487
int dst_x = sx;
492488
int dst_y = sy;
493489

@@ -512,28 +508,29 @@ void k053247_device::zdrawgfxzoom32GP(
512508
src_fdx = src_fw / dst_w;
513509
src_fdy = src_fh / dst_h;
514510
}
511+
515512
const int dst_lastx = dst_x + dst_w - 1;
516513
const int dst_lasty = dst_y + dst_h - 1;
517-
if (dst_lastx < dst_minx || dst_lasty < dst_miny) return;
514+
if (dst_lastx < cliprect.min_x || dst_lasty < cliprect.min_y) return;
518515

519516
// clip destination
520517
int dst_skipx = 0;
521-
if (int eax = dst_minx - dst_x; eax > 0)
518+
if (int delta_min_x = cliprect.min_x - dst_x; delta_min_x > 0)
522519
{
523-
dst_skipx = eax;
524-
dst_w -= eax;
525-
dst_x = dst_minx;
520+
dst_skipx = delta_min_x;
521+
dst_w -= delta_min_x;
522+
dst_x = cliprect.min_x;
526523
}
527-
if (int eax = dst_lastx - dst_maxx; eax > 0) dst_w -= eax;
524+
if (int delta_max_x = dst_lastx - cliprect.max_x; delta_max_x > 0) dst_w -= delta_max_x;
528525

529526
int dst_skipy = 0;
530-
if (int eax = dst_miny - dst_y; eax > 0)
527+
if (int delta_min_y = cliprect.min_y - dst_y; delta_min_y > 0)
531528
{
532-
dst_skipy = eax;
533-
dst_h -= eax;
534-
dst_y = dst_miny;
529+
dst_skipy = delta_min_y;
530+
dst_h -= delta_min_y;
531+
dst_y = cliprect.min_y;
535532
}
536-
if (int eax = dst_lasty - dst_maxy; eax > 0) dst_h -= eax;
533+
if (int delta_max_y = dst_lasty - cliprect.max_y; delta_max_y > 0) dst_h -= delta_max_y;
537534

538535
int src_fby, src_fbx;
539536

@@ -552,9 +549,9 @@ void k053247_device::zdrawgfxzoom32GP(
552549
src_fby += dst_skipy * src_fdy;
553550

554551
// adjust insertion points and pre-entry constants
555-
const int eax = (dst_y - dst_miny) * GX_ZBUFW + (dst_x - dst_minx) + dst_w;
556-
ozbuf_ptr += eax;
557-
szbuf_ptr += eax << 1;
552+
const int offset = (dst_y - cliprect.min_y) * GX_ZBUFW + (dst_x - cliprect.min_x) + dst_w;
553+
ozbuf_ptr += offset;
554+
szbuf_ptr += offset << 1;
558555
const u8 z8 = (u8)zcode;
559556
const u8 p8 = (u8)pri;
560557
dst_ptr += dst_y * dst_pitch + dst_x + dst_w;
@@ -576,11 +573,11 @@ void k053247_device::zdrawgfxzoom32GP(
576573
{
577574
do {
578575
do {
579-
const u8 eax = src_ptr[src_x];
576+
const u8 pal_idx = src_ptr[src_x];
580577
src_x = src_fx >> FP;
581578
src_fx += src_fdx;
582-
if (!eax || eax >= shdpen) continue;
583-
dst_ptr [ecx] = pal_base[eax];
579+
if (!pal_idx || pal_idx >= shdpen) continue;
580+
dst_ptr[ecx] = pal_base[pal_idx];
584581
}
585582
while (++ecx);
586583

@@ -601,12 +598,12 @@ void k053247_device::zdrawgfxzoom32GP(
601598
case 0: // all pens solid
602599
do {
603600
do {
604-
const u8 eax = src_ptr[src_x];
601+
const u8 pal_idx = src_ptr[src_x];
605602
src_x = src_fx >> FP;
606603
src_fx += src_fdx;
607-
if (!eax || ozbuf_ptr[ecx] < z8) continue;
604+
if (!pal_idx || ozbuf_ptr[ecx] < z8) continue;
608605
ozbuf_ptr[ecx] = z8;
609-
dst_ptr[ecx] = pal_base[eax];
606+
dst_ptr[ecx] = pal_base[pal_idx];
610607
}
611608
while (++ecx);
612609

@@ -625,12 +622,12 @@ void k053247_device::zdrawgfxzoom32GP(
625622
case 1: // solid pens only
626623
do {
627624
do {
628-
const u8 eax = src_ptr[src_x];
625+
const u8 pal_idx = src_ptr[src_x];
629626
src_x = src_fx >> FP;
630627
src_fx += src_fdx;
631-
if (!eax || eax >= shdpen || ozbuf_ptr[ecx] < z8) continue;
628+
if (!pal_idx || pal_idx >= shdpen || ozbuf_ptr[ecx] < z8) continue;
632629
ozbuf_ptr[ecx] = z8;
633-
dst_ptr[ecx] = pal_base[eax];
630+
dst_ptr[ecx] = pal_base[pal_idx];
634631
}
635632
while (++ecx);
636633

@@ -649,12 +646,12 @@ void k053247_device::zdrawgfxzoom32GP(
649646
case 2: // all pens solid with alpha blending
650647
do {
651648
do {
652-
const u8 eax = src_ptr[src_x];
649+
const u8 pal_idx = src_ptr[src_x];
653650
src_x = src_fx >> FP;
654651
src_fx += src_fdx;
655-
if (!eax || ozbuf_ptr[ecx] < z8) continue;
652+
if (!pal_idx || ozbuf_ptr[ecx] < z8) continue;
656653
ozbuf_ptr[ecx] = z8;
657-
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[eax], alpha);
654+
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[pal_idx], alpha);
658655
}
659656
while (++ecx);
660657

@@ -673,12 +670,12 @@ void k053247_device::zdrawgfxzoom32GP(
673670
case 3: // solid pens only with alpha blending
674671
do {
675672
do {
676-
const u8 eax = src_ptr[src_x];
673+
const u8 pal_idx = src_ptr[src_x];
677674
src_x = src_fx >> FP;
678675
src_fx += src_fdx;
679-
if (!eax || eax >= shdpen || ozbuf_ptr[ecx] < z8) continue;
676+
if (!pal_idx || pal_idx >= shdpen || ozbuf_ptr[ecx] < z8) continue;
680677
ozbuf_ptr[ecx] = z8;
681-
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[eax], alpha);
678+
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[pal_idx], alpha);
682679
}
683680
while (++ecx);
684681

@@ -697,10 +694,10 @@ void k053247_device::zdrawgfxzoom32GP(
697694
case 4: // shadow pens only
698695
do {
699696
do {
700-
const u8 eax = src_ptr[src_x];
697+
const u8 pal_idx = src_ptr[src_x];
701698
src_x = src_fx >> FP;
702699
src_fx += src_fdx;
703-
if (eax < shdpen || szbuf_ptr[ecx*2] < z8 || szbuf_ptr[ecx*2+1] <= p8) continue;
700+
if (pal_idx < shdpen || szbuf_ptr[ecx*2] < z8 || szbuf_ptr[ecx*2+1] <= p8) continue;
704701
rgb_t pix = dst_ptr[ecx];
705702
szbuf_ptr[ecx*2] = z8;
706703
szbuf_ptr[ecx*2+1] = p8;
@@ -735,10 +732,10 @@ void k053247_device::zdrawgfxzoom32GP(
735732
{
736733
do {
737734
do {
738-
const u8 eax = *src_ptr;
735+
const u8 pal_idx = *src_ptr;
739736
src_ptr += src_fdx;
740-
if (!eax || eax >= shdpen) continue;
741-
dst_ptr[ecx] = pal_base[eax];
737+
if (!pal_idx || pal_idx >= shdpen) continue;
738+
dst_ptr[ecx] = pal_base[pal_idx];
742739
}
743740
while (++ecx);
744741

@@ -755,11 +752,11 @@ void k053247_device::zdrawgfxzoom32GP(
755752
case 0: // all pens solid
756753
do {
757754
do {
758-
const u8 eax = *src_ptr;
755+
const u8 pal_idx = *src_ptr;
759756
src_ptr += src_fdx;
760-
if (!eax || ozbuf_ptr[ecx] < z8) continue;
757+
if (!pal_idx || ozbuf_ptr[ecx] < z8) continue;
761758
ozbuf_ptr[ecx] = z8;
762-
dst_ptr[ecx] = pal_base[eax];
759+
dst_ptr[ecx] = pal_base[pal_idx];
763760
}
764761
while (++ecx);
765762

@@ -774,11 +771,11 @@ void k053247_device::zdrawgfxzoom32GP(
774771
case 1: // solid pens only
775772
do {
776773
do {
777-
const u8 eax = *src_ptr;
774+
const u8 pal_idx = *src_ptr;
778775
src_ptr += src_fdx;
779-
if (!eax || eax >= shdpen || ozbuf_ptr[ecx] < z8) continue;
776+
if (!pal_idx || pal_idx >= shdpen || ozbuf_ptr[ecx] < z8) continue;
780777
ozbuf_ptr[ecx] = z8;
781-
dst_ptr[ecx] = pal_base[eax];
778+
dst_ptr[ecx] = pal_base[pal_idx];
782779
}
783780
while (++ecx);
784781

@@ -793,11 +790,11 @@ void k053247_device::zdrawgfxzoom32GP(
793790
case 2: // all pens solid with alpha blending
794791
do {
795792
do {
796-
const u8 eax = *src_ptr;
793+
const u8 pal_idx = *src_ptr;
797794
src_ptr += src_fdx;
798-
if (!eax || ozbuf_ptr[ecx] < z8) continue;
795+
if (!pal_idx || ozbuf_ptr[ecx] < z8) continue;
799796
ozbuf_ptr[ecx] = z8;
800-
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[eax], alpha);
797+
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[pal_idx], alpha);
801798
}
802799
while (++ecx);
803800

@@ -812,11 +809,11 @@ void k053247_device::zdrawgfxzoom32GP(
812809
case 3: // solid pens only with alpha blending
813810
do {
814811
do {
815-
const u8 eax = *src_ptr;
812+
const u8 pal_idx = *src_ptr;
816813
src_ptr += src_fdx;
817-
if (!eax || eax >= shdpen || ozbuf_ptr[ecx] < z8) continue;
814+
if (!pal_idx || pal_idx >= shdpen || ozbuf_ptr[ecx] < z8) continue;
818815
ozbuf_ptr[ecx] = z8;
819-
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[eax], alpha);
816+
dst_ptr[ecx] = alpha_blend_r32(dst_ptr[ecx], pal_base[pal_idx], alpha);
820817
}
821818
while (++ecx);
822819

@@ -831,9 +828,9 @@ void k053247_device::zdrawgfxzoom32GP(
831828
case 4: // shadow pens only
832829
do {
833830
do {
834-
const u8 eax = *src_ptr;
831+
const u8 pal_idx = *src_ptr;
835832
src_ptr += src_fdx;
836-
if (eax < shdpen || szbuf_ptr[ecx*2] < z8 || szbuf_ptr[ecx*2+1] <= p8) continue;
833+
if (pal_idx < shdpen || szbuf_ptr[ecx*2] < z8 || szbuf_ptr[ecx*2+1] <= p8) continue;
837834
rgb_t pix = dst_ptr[ecx];
838835
szbuf_ptr[ecx*2] = z8;
839836
szbuf_ptr[ecx*2+1] = p8;

0 commit comments

Comments
 (0)