mirror of
https://github.com/FunKey-Project/picodrive-irixxxx.git
synced 2026-09-16 12:22:16 +02:00
vdp rendering, fix fast-forward graphics
This commit is contained in:
@@ -1794,6 +1794,7 @@ PICO_INTERNAL void PicoFrameStart(void)
|
||||
int offs = 8, lines = 224;
|
||||
int dirty = ((Pico.est.rendstatus & PDRAW_SONIC_MODE) || Pico.m.dirtyPal);
|
||||
int sprep = Pico.est.rendstatus & (PDRAW_SPRITES_MOVED|PDRAW_DIRTY_SPRITES);
|
||||
int skipped = Pico.est.rendstatus & PDRAW_SKIP_FRAME;
|
||||
|
||||
// prepare to do this frame
|
||||
Pico.est.rendstatus = 0;
|
||||
@@ -1813,7 +1814,9 @@ PICO_INTERNAL void PicoFrameStart(void)
|
||||
lines, (Pico.video.reg[12] & 1) ? 0 : 1);
|
||||
rendstatus_old = Pico.est.rendstatus;
|
||||
}
|
||||
if (sprep)
|
||||
if (PicoIn.skipFrame) // preserve this until something is rendered at last
|
||||
Pico.est.rendstatus |= PDRAW_SKIP_FRAME;
|
||||
if (sprep | skipped)
|
||||
Pico.est.rendstatus |= PDRAW_PARSE_SPRITES;
|
||||
|
||||
Pico.est.HighCol = HighColBase + offs * HighColIncrement;
|
||||
|
||||
@@ -210,6 +210,7 @@ void PicoDoHighPal555(int sh, int line, struct PicoEState *est);
|
||||
#define PDRAW_SHHI_DONE (1<<7) // layer sh/hi already processed
|
||||
#define PDRAW_32_COLS (1<<8) // 32 column mode
|
||||
#define PDRAW_BORDER_32 (1<<9) // center H32 in buffer (32 px border)
|
||||
#define PDRAW_SKIP_FRAME (1<<10) // frame is skipped
|
||||
extern int rendstatus_old;
|
||||
extern int rendlines;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user