Properly init and deinit renderers

This commit is contained in:
Jeffrey Pfau 2013-04-20 16:47:04 -07:00
parent b4cee4c286
commit 0bfb77106b

View File

@ -44,10 +44,12 @@ void GBAVideoInit(struct GBAVideo* video) {
} }
void GBAVideoAssociateRenderer(struct GBAVideo* video, struct GBAVideoRenderer* renderer) { void GBAVideoAssociateRenderer(struct GBAVideo* video, struct GBAVideoRenderer* renderer) {
video->renderer->deinit(video->renderer);
video->renderer = renderer; video->renderer = renderer;
renderer->palette = video->palette; renderer->palette = video->palette;
renderer->vram = video->vram; renderer->vram = video->vram;
renderer->oam = &video->oam; renderer->oam = &video->oam;
video->renderer->init(video->renderer);
} }
int32_t GBAVideoProcessEvents(struct GBAVideo* video, int32_t cycles) { int32_t GBAVideoProcessEvents(struct GBAVideo* video, int32_t cycles) {