From 0cc33d7780c2ce46369e4a55f58377e696d4e122 Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Tue, 20 Sep 2016 15:32:04 -0500 Subject: [PATCH] Fix usage of paint_entry in 64-bit builds (#12) --- src/interface/viewport.c | 4 ++-- src/interface/viewport.h | 4 ++-- src/paint/paint.c | 4 ++-- src/paint/paint.h | 29 ++++++++++++++--------------- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 8d3370fd96..689f8ed31b 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -52,8 +52,8 @@ uint8 gSavedViewZoom; uint8 gSavedViewRotation; #ifdef NO_RCT2 -paint_struct *unk_EE7884; -paint_struct *gNextFreePaintStruct; +paint_entry *unk_EE7884; +paint_entry *gNextFreePaintStruct; uint8 gCurrentRotation; uint32 gCurrentViewportFlags = 0; #endif diff --git a/src/interface/viewport.h b/src/interface/viewport.h index c0a30e3130..a1ab5692c0 100644 --- a/src/interface/viewport.h +++ b/src/interface/viewport.h @@ -105,8 +105,8 @@ extern uint8 gSavedViewZoom; extern uint8 gSavedViewRotation; #ifdef NO_RCT2 -extern paint_struct *unk_EE7884; -extern paint_struct *gNextFreePaintStruct; +extern paint_entry *unk_EE7884; +extern paint_entry *gNextFreePaintStruct; extern uint8 gCurrentRotation; extern uint32 gCurrentViewportFlags; #else diff --git a/src/paint/paint.c b/src/paint/paint.c index 2d166630d7..4a2635537b 100644 --- a/src/paint/paint.c +++ b/src/paint/paint.c @@ -33,12 +33,12 @@ paint_string_struct *pss1; paint_string_struct *pss2; #ifdef NO_RCT2 -paint_struct gPaintStructs[4000]; +paint_entry gPaintStructs[4000]; uint32 _F1AD0C; uint32 _F1AD10; static paint_struct *_paint_struct_quadrants[512]; void *g_currently_drawn_item; -paint_struct * gEndOfPaintStructArray; +paint_entry * gEndOfPaintStructArray; sint16 gUnk9DE568; sint16 gUnk9DE56C; paint_struct gUnkF1A4CC; diff --git a/src/paint/paint.h b/src/paint/paint.h index 562aa7c15f..3c21afe306 100644 --- a/src/paint/paint.h +++ b/src/paint/paint.h @@ -24,24 +24,9 @@ #include "../drawing/drawing.h" typedef struct attached_paint_struct attached_paint_struct; -struct paint_struct; typedef struct paint_struct paint_struct; typedef union paint_entry paint_entry; -#ifdef NO_RCT2 - extern void *g_currently_drawn_item; - extern paint_entry * gEndOfPaintStructArray; - extern sint16 gUnk9DE568; - extern sint16 gUnk9DE56C; - extern paint_entry gPaintStructs[4000]; -#else - #define gPaintStructs RCT2_ADDRESS(0x00EE788C, paint_entry) - #define g_currently_drawn_item RCT2_GLOBAL(0x009DE578, void*) - #define gEndOfPaintStructArray RCT2_GLOBAL(0x00EE7880, paint_entry *) - #define gUnk9DE568 RCT2_GLOBAL(0x009DE568, sint16) - #define gUnk9DE56C RCT2_GLOBAL(0x009DE56C, sint16) -#endif - #pragma pack(push, 1) /* size 0x12 */ struct attached_paint_struct { @@ -138,6 +123,20 @@ typedef struct support_height { uint8 pad; } support_height; +#ifdef NO_RCT2 +extern void *g_currently_drawn_item; +extern paint_entry * gEndOfPaintStructArray; +extern sint16 gUnk9DE568; +extern sint16 gUnk9DE56C; +extern paint_entry gPaintStructs[4000]; +#else +#define gPaintStructs RCT2_ADDRESS(0x00EE788C, paint_entry) +#define g_currently_drawn_item RCT2_GLOBAL(0x009DE578, void*) +#define gEndOfPaintStructArray RCT2_GLOBAL(0x00EE7880, paint_entry *) +#define gUnk9DE568 RCT2_GLOBAL(0x009DE568, sint16) +#define gUnk9DE56C RCT2_GLOBAL(0x009DE56C, sint16) +#endif + #ifndef NO_RCT2 #define gPaintInteractionType RCT2_GLOBAL(RCT2_ADDRESS_PAINT_SETUP_CURRENT_TYPE, uint8) #define gSupportSegments RCT2_ADDRESS(RCT2_ADDRESS_CURRENT_SUPPORT_SEGMENTS, support_height)