Pico.m.dirtyPal = (dirty ? 2 : 0); // mark as dirty but already copied\r
blockcpy(Pico.est.SonicPal, PicoMem.cram, 0x40*2);\r
}\r
-\r
- if (PicoIn.opt & POPT_ALT_RENDERER)\r
- return;\r
}\r
\r
static void DrawBlankedLine(int line, int offs, int sh, int bgc)\r
void PicoDrawSetOutFormat(pdso_t which, int use_32x_line_mode)\r
{\r
PicoDrawSetInternalBuf(NULL, 0);\r
+ PicoDraw2SetOutBuf(NULL);\r
switch (which)\r
{\r
case PDF_8BIT:\r
FinalizeLine = FinalizeLine8bit;\r
+ PicoDrawSetInternalBuf(Pico.est.Draw2FB, 328);\r
break;\r
\r
case PDF_RGB555:\r
\r
default:\r
FinalizeLine = NULL;\r
- PicoDrawSetOutBufMD(Pico.est.Draw2FB+8, 328);\r
break;\r
}\r
if (PicoIn.AHW & PAHW_32X)\r
PicoDrawSetOutFormat32x(which, use_32x_line_mode);\r
PicoDrawSetOutputMode4(which);\r
rendstatus_old = -1;\r
+ Pico.m.dirtyPal = 1;\r
}\r
\r
void PicoDrawSetOutBufMD(void *dest, int increment)\r
// kludge for no-copy mode\r
PicoDrawSetInternalBuf(dest, increment);\r
}\r
- if (dest != NULL) {\r
+\r
+ if (FinalizeLine == NULL)\r
+ PicoDraw2SetOutBuf(dest);\r
+ else if (dest != NULL) {\r
DrawLineDestBase = dest;\r
DrawLineDestIncrement = increment;\r
Pico.est.DrawLineDest = (char *)DrawLineDestBase + Pico.est.DrawScanline * increment;\r
pprof_end(draw);\r
}\r
\r
+void PicoDraw2SetOutBuf(void *dest)\r
+{\r
+ if (dest)\r
+ Pico.est.Draw2FB = dest;\r
+ else\r
+ Pico.est.Draw2FB = PicoDraw2FB_;\r
+}\r
+\r
void PicoDraw2Init(void)\r
{\r
- Pico.est.Draw2FB = PicoDraw2FB_;\r
+ PicoDraw2SetOutBuf(NULL);\r
}\r