int offs = 8, lines = 224;\r
int dirty = ((Pico.est.rendstatus & PDRAW_SONIC_MODE) || Pico.m.dirtyPal);\r
int sprep = Pico.est.rendstatus & (PDRAW_SPRITES_MOVED|PDRAW_DIRTY_SPRITES);\r
+ int skipped = Pico.est.rendstatus & PDRAW_SKIP_FRAME;\r
\r
// prepare to do this frame\r
Pico.est.rendstatus = 0;\r
lines, (Pico.video.reg[12] & 1) ? 0 : 1);\r
rendstatus_old = Pico.est.rendstatus;\r
}\r
- if (sprep)\r
+ if (PicoIn.skipFrame) // preserve this until something is rendered at last\r
+ Pico.est.rendstatus |= PDRAW_SKIP_FRAME;\r
+ if (sprep | skipped)\r
Pico.est.rendstatus |= PDRAW_PARSE_SPRITES;\r
\r
Pico.est.HighCol = HighColBase + offs * HighColIncrement;\r
#define PDRAW_SHHI_DONE (1<<7) // layer sh/hi already processed\r
#define PDRAW_32_COLS (1<<8) // 32 column mode\r
#define PDRAW_BORDER_32 (1<<9) // center H32 in buffer (32 px border)\r
+#define PDRAW_SKIP_FRAME (1<<10) // frame is skipped\r
extern int rendstatus_old;\r
extern int rendlines;\r
\r