X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2F32x%2Fdraw.c;h=33947e6bf3dadc69b8139ab980b74f1415612fa2;hb=41946d7023cded9999495eb8916eeb5ab0480a1f;hp=66814abd0a6314742c0ef6911907612f65ac641d;hpb=19886062f1a36f70b1f01d58f3fa1b79162defac;p=picodrive.git diff --git a/pico/32x/draw.c b/pico/32x/draw.c index 66814ab..33947e6 100644 --- a/pico/32x/draw.c +++ b/pico/32x/draw.c @@ -82,6 +82,7 @@ static void convert_pal555(int invert_prio) } \ } +// this is almost never used (Wiz and menu bg gen only) void FinalizeLine32xRGB555(int sh, int line) { unsigned short *pd = DrawLineDest; @@ -306,20 +307,23 @@ void PicoDraw32xLayerMdOnly(int offs, int lines) } } -void PicoDraw32xSetFrameMode(int is_on, int only_32x) +void PicoDrawSetOutFormat32x(pdso_t which, int use_32x_line_mode) { #ifdef _ASM_32X_DRAW extern void *Pico32xNativePal; Pico32xNativePal = Pico32xMem->pal_native; #endif - if (is_on) { - // use the same layout as alt renderer - PicoDrawSetInternalBuf(PicoDraw2FB, 328); - Pico32xDrawMode = only_32x ? PDM32X_32X_ONLY : PDM32X_BOTH; - } else { + if (which == PDF_RGB555 && use_32x_line_mode) { + // we'll draw via FinalizeLine32xRGB555 (rare) PicoDrawSetInternalBuf(NULL, 0); Pico32xDrawMode = PDM32X_OFF; + return; } + + // use the same layout as alt renderer + PicoDrawSetInternalBuf(PicoDraw2FB, 328); + Pico32xDrawMode = (which == PDF_RGB555) ? PDM32X_32X_ONLY : PDM32X_BOTH; } +// vim:shiftwidth=2:ts=2:expandtab