ppu: simplify ppu_set_size

This commit is contained in:
Sigrid Solveig Haflínudóttir 2021-11-03 23:03:33 +01:00
parent fe22b6288e
commit 5a20eb69b0
No known key found for this signature in database
GPG Key ID: FC8DDA5A6A7456C4
2 changed files with 8 additions and 14 deletions

View File

@ -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

View File

@ -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);