1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-21 05:53:02 +01:00

Merge pull request #4465 from duncanspumpkin/refactor_paint

Refactor paint
This commit is contained in:
Ted John
2016-09-23 21:39:42 +01:00
committed by GitHub
7 changed files with 67 additions and 73 deletions

View File

@@ -52,8 +52,8 @@ uint8 gSavedViewZoom;
uint8 gSavedViewRotation;
#ifdef NO_RCT2
paint_struct *unk_EE7884;
paint_struct *unk_EE7888;
paint_entry *unk_EE7884;
paint_entry *gNextFreePaintStruct;
uint8 gCurrentRotation;
uint32 gCurrentViewportFlags = 0;
#endif
@@ -769,7 +769,7 @@ void viewport_paint(rct_viewport* viewport, rct_drawpixelinfo* dpi, int left, in
}
gfx_clear(dpi2, colour);
}
g_ps_EE7880 = &gUnkF1A4CC;
gEndOfPaintStructArray = &gPaintStructs[4000 - 1];
unk_140E9A8 = dpi2;
painter_setup();
viewport_paint_setup();
@@ -1330,7 +1330,7 @@ static bool sub_679023(rct_drawpixelinfo *dpi, int imageId, int x, int y)
static void sub_68862C()
{
rct_drawpixelinfo *dpi = unk_140E9A8;
paint_struct *ps = unk_EE7884, *old_ps, *next_ps;
paint_struct *ps = &unk_EE7884->basic, *old_ps, *next_ps;
while ((ps = ps->next_quadrant_ps) != NULL) {
old_ps = ps;
@@ -1398,7 +1398,7 @@ void get_map_coordinates_from_pos(int screenX, int screenY, int flags, sint16 *x
dpi->zoom_level = _viewportDpi1.zoom_level;
dpi->x = _viewportDpi1.x;
dpi->width = 1;
g_ps_EE7880 = &gUnkF1A4CC;
gEndOfPaintStructArray = &gPaintStructs[4000 - 1];
unk_140E9A8 = dpi;
painter_setup();
viewport_paint_setup();

View File

@@ -105,19 +105,17 @@ extern uint8 gSavedViewZoom;
extern uint8 gSavedViewRotation;
#ifdef NO_RCT2
extern paint_struct *unk_EE7884;
extern paint_struct *unk_EE7888;
extern paint_entry *unk_EE7884;
extern paint_entry *gNextFreePaintStruct;
extern uint8 gCurrentRotation;
extern uint32 gCurrentViewportFlags;
#else
#define unk_EE7884 RCT2_GLOBAL(0x00EE7884, paint_struct*)
#define unk_EE7888 RCT2_GLOBAL(0x00EE7888, paint_struct*)
#define unk_EE7884 RCT2_GLOBAL(0x00EE7884, paint_entry*)
#define gNextFreePaintStruct RCT2_GLOBAL(0x00EE7888, paint_entry*)
#define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8)
#define gCurrentViewportFlags RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint32)
#endif
extern uint32 gUnkEDF81C;
void viewport_init_all();
void center_2d_coordinates(int x, int y, int z, int* out_x, int* out_y, rct_viewport* viewport);
void viewport_create(rct_window *w, int x, int y, int width, int height, int zoom, int center_x, int center_y, int center_z, char flags, sint16 sprite);