Fixed sprite viewer crashes when no ROM is loaded.
This commit is contained in:
parent
187522b4cc
commit
76b82b289a
|
@ -1335,6 +1335,10 @@ static void drawSpriteTable(void)
|
||||||
uint8_t *chrcache;
|
uint8_t *chrcache;
|
||||||
struct oamSpriteData_t *spr;
|
struct oamSpriteData_t *spr;
|
||||||
|
|
||||||
|
if (palo == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
oamPattern.mode8x16 = (PPU[0] & 0x20) ? 1 : 0;
|
oamPattern.mode8x16 = (PPU[0] & 0x20) ? 1 : 0;
|
||||||
|
|
||||||
for (int i=0; i<64; i++)
|
for (int i=0; i<64; i++)
|
||||||
|
@ -1541,7 +1545,7 @@ void FCEUD_UpdatePPUView(int scanline, int refreshchr)
|
||||||
PPUViewSkip = 0;
|
PPUViewSkip = 0;
|
||||||
|
|
||||||
// update palette only if required
|
// update palette only if required
|
||||||
if ((memcmp(pallast, PALRAM, 32) != 0) || (memcmp(pallast+32, UPALRAM, 3) != 0))
|
if ( (palo != NULL) && ( (memcmp(pallast, PALRAM, 32) != 0) || (memcmp(pallast+32, UPALRAM, 3) != 0) ))
|
||||||
{
|
{
|
||||||
//printf("Updated PPU View Palette\n");
|
//printf("Updated PPU View Palette\n");
|
||||||
memcpy(pallast, PALRAM, 32);
|
memcpy(pallast, PALRAM, 32);
|
||||||
|
@ -3196,7 +3200,7 @@ void oamPaletteView_t::paintEvent(QPaintEvent *event)
|
||||||
{
|
{
|
||||||
int x,w,h,xx,yy,p,p2;
|
int x,w,h,xx,yy,p,p2;
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
QColor color;
|
QColor color( 0, 0, 0);
|
||||||
//QPen pen;
|
//QPen pen;
|
||||||
//char showSelector;
|
//char showSelector;
|
||||||
|
|
||||||
|
@ -3222,11 +3226,13 @@ void oamPaletteView_t::paintEvent(QPaintEvent *event)
|
||||||
xx = 0;
|
xx = 0;
|
||||||
for (x=0; x < 4; x++)
|
for (x=0; x < 4; x++)
|
||||||
{
|
{
|
||||||
p = palcache[p2 | x];
|
if ( palo != NULL )
|
||||||
color.setBlue( palo[p].b );
|
{
|
||||||
color.setGreen( palo[p].g );
|
p = palcache[p2 | x];
|
||||||
color.setRed( palo[p].r );
|
color.setBlue( palo[p].b );
|
||||||
|
color.setGreen( palo[p].g );
|
||||||
|
color.setRed( palo[p].r );
|
||||||
|
}
|
||||||
painter.fillRect( xx, yy, w, h, color );
|
painter.fillRect( xx, yy, w, h, color );
|
||||||
xx += w;
|
xx += w;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue