ppu: simplify ppu_set_size
This commit is contained in:
parent
fe22b6288e
commit
5a20eb69b0
|
@ -19,23 +19,16 @@ static Uint8 blending[5][16] = {
|
||||||
{2, 3, 1, 2, 2, 3, 1, 2, 2, 3, 1, 2, 2, 3, 1, 2},
|
{2, 3, 1, 2, 2, 3, 1, 2, 2, 3, 1, 2, 2, 3, 1, 2},
|
||||||
{1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0}};
|
{1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0}};
|
||||||
|
|
||||||
static void
|
void
|
||||||
ppu_clear(Ppu *p)
|
|
||||||
{
|
|
||||||
Uint32 row, bound = p->height * p->width / 2;
|
|
||||||
for(row = 0; row < bound; ++row)
|
|
||||||
p->pixels[row] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Uint8
|
|
||||||
ppu_set_size(Ppu *p, Uint16 width, Uint16 height)
|
ppu_set_size(Ppu *p, Uint16 width, Uint16 height)
|
||||||
{
|
{
|
||||||
ppu_clear(p);
|
Uint8 *pixels;
|
||||||
|
if(!(pixels = realloc(p->pixels, width * height / 2)))
|
||||||
|
return;
|
||||||
|
memset(pixels, 0, width * height / 2);
|
||||||
|
p->pixels = pixels;
|
||||||
p->width = width;
|
p->width = width;
|
||||||
p->height = height;
|
p->height = height;
|
||||||
p->pixels = realloc(p->pixels, p->width * p->height * sizeof(Uint8) / 2);
|
|
||||||
ppu_clear(p);
|
|
||||||
return !!p->pixels;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Uint8
|
Uint8
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2021 Devine Lu Linvega
|
Copyright (c) 2021 Devine Lu Linvega
|
||||||
|
@ -22,7 +23,7 @@ typedef struct Ppu {
|
||||||
Uint16 width, height;
|
Uint16 width, height;
|
||||||
} Ppu;
|
} Ppu;
|
||||||
|
|
||||||
Uint8 ppu_set_size(Ppu *p, Uint16 width, Uint16 height);
|
void ppu_set_size(Ppu *p, Uint16 width, Uint16 height);
|
||||||
Uint8 ppu_read(Ppu *p, Uint16 x, Uint16 y);
|
Uint8 ppu_read(Ppu *p, Uint16 x, Uint16 y);
|
||||||
void ppu_write(Ppu *p, Uint8 layer, Uint16 x, Uint16 y, Uint8 color);
|
void ppu_write(Ppu *p, Uint8 layer, Uint16 x, Uint16 y, Uint8 color);
|
||||||
void ppu_frame(Ppu *p);
|
void ppu_frame(Ppu *p);
|
||||||
|
|
Loading…
Reference in New Issue