From 520d7840c01001aa09ebca08a0c3a42c7120d97e Mon Sep 17 00:00:00 2001 From: zsilencer Date: Sun, 5 Jul 2015 09:48:25 -0600 Subject: [PATCH] fix bugs introduced in last commit --- src/drawing/drawing.c | 3 ++- src/drawing/drawing.h | 2 +- src/openrct2.c | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/drawing/drawing.c b/src/drawing/drawing.c index 65415885a6..888b4e43cb 100644 --- a/src/drawing/drawing.c +++ b/src/drawing/drawing.c @@ -266,6 +266,7 @@ uint8* gfx_get_dirty_blocks() } else { _screenDirtyBlocks = malloc(size); } + _screenDirtyBlocksSize = size; } return _screenDirtyBlocks; } @@ -278,7 +279,7 @@ uint8* gfx_get_dirty_blocks() * right (dx) * bottom (bp) */ -void gfx_set_dirty_blocks(int left, int top, int right, int bottom) +void gfx_set_dirty_blocks(uint16 left, uint16 top, uint16 right, uint16 bottom) { int x, y; uint8 *screenDirtyBlocks = gfx_get_dirty_blocks(); diff --git a/src/drawing/drawing.h b/src/drawing/drawing.h index 6ca1340859..4e061cd5f8 100644 --- a/src/drawing/drawing.h +++ b/src/drawing/drawing.h @@ -80,7 +80,7 @@ extern rct_gx g2; // rct_drawpixelinfo* clip_drawpixelinfo(rct_drawpixelinfo* dpi, int left, int width, int top, int height); -void gfx_set_dirty_blocks(int left, int top, int right, int bottom); +void gfx_set_dirty_blocks(uint16 left, uint16 top, uint16 right, uint16 bottom); void gfx_draw_all_dirty_blocks(); void gfx_redraw_screen_rect(short left, short top, short right, short bottom); void gfx_invalidate_tile_if_zoomed(int x, int y, int base_height, int clearance_height); diff --git a/src/openrct2.c b/src/openrct2.c index 7a74728b64..cf8e99cc94 100644 --- a/src/openrct2.c +++ b/src/openrct2.c @@ -25,6 +25,7 @@ #include "config.h" #include "editor.h" #include "game.h" +#include "hook.h" #include "interface/window.h" #include "localisation/localisation.h" #include "network/http.h" @@ -189,6 +190,8 @@ bool openrct2_initialise() openrct2_copy_original_user_files_over(); + addhook(0x006E732D, (int)gfx_set_dirty_blocks, 0, (int[]){EAX, EBX, EDX, EBP, END}, 0); // remove after all drawing is decompiled + Mixer_Init(NULL); return true; }