From 599b0924870964a9d684864b4dcb3b380c98b1d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Sat, 3 Sep 2016 17:40:23 +0000 Subject: [PATCH] Conditionally integrate some variables --- src/drawing/drawing.c | 2 ++ src/drawing/drawing.h | 5 +++++ src/interface/viewport.c | 5 +++++ src/interface/viewport.h | 15 ++++++++++----- src/localisation/date.c | 3 +++ src/localisation/date.h | 4 ++-- src/paint/paint.c | 3 +++ src/paint/paint.h | 6 ++++++ src/world/map.c | 9 +++++++++ src/world/map.h | 14 +++++++------- 10 files changed, 52 insertions(+), 14 deletions(-) diff --git a/src/drawing/drawing.c b/src/drawing/drawing.c index 26d03d1be8..c9088a739e 100644 --- a/src/drawing/drawing.c +++ b/src/drawing/drawing.c @@ -39,6 +39,8 @@ void *unk_9E3CDC; void *unk_9E3CE4[8]; #ifdef NO_RCT2 rct_drawpixelinfo *unk_140E9A8; +sint16 gCurrentFontSpriteBase; +uint16 gCurrentFontFlags; #endif /** diff --git a/src/drawing/drawing.h b/src/drawing/drawing.h index fb9a635cb1..d87dde1898 100644 --- a/src/drawing/drawing.h +++ b/src/drawing/drawing.h @@ -118,8 +118,13 @@ typedef struct rct_palette { #define PALETTE_TO_G1_OFFSET_COUNT 144 +#ifndef NO_RCT2 #define gCurrentFontSpriteBase RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_FONT_SPRITE_BASE, sint16) #define gCurrentFontFlags RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_FONT_FLAGS, uint16) +#else +extern sint16 gCurrentFontSpriteBase; +extern uint16 gCurrentFontFlags; +#endif extern uint8 gGamePalette[256 * 4]; extern uint32 gPaletteEffectFrame; diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 0bd043a95d..6a1af32580 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -48,6 +48,11 @@ rct_map_element *_interaction_element = NULL; #ifdef NO_RCT2 paint_struct *unk_EE7884; paint_struct *unk_EE7888; +sint16 gSavedViewX; +sint16 gSavedViewY; +uint8 gSavedViewZoom; +uint8 gSavedViewRotation; +uint8 gCurrentRotation; #endif /** diff --git a/src/interface/viewport.h b/src/interface/viewport.h index c373431694..c948032aec 100644 --- a/src/interface/viewport.h +++ b/src/interface/viewport.h @@ -88,11 +88,6 @@ typedef struct viewport_interaction_info { #define MAX_VIEWPORT_COUNT WINDOW_LIMIT_MAX -#define gSavedViewX RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_X, sint16) -#define gSavedViewY RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_Y, sint16) -#define gSavedViewZoom RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_ZOOM, uint8) -#define gSavedViewRotation RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_ROTATION, uint8) -#define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) extern uint32 gCurrentViewportFlags; // rct2: 0x014234BC @@ -101,9 +96,19 @@ extern rct_viewport *g_music_tracking_viewport; #ifdef NO_RCT2 extern paint_struct *unk_EE7884; extern paint_struct *unk_EE7888; +extern sint16 gSavedViewX; +extern sint16 gSavedViewY; +extern uint8 gSavedViewZoom; +extern uint8 gSavedViewRotation; +extern uint8 gCurrentRotation; #else #define unk_EE7884 RCT2_GLOBAL(0x00EE7884, paint_struct*) #define unk_EE7888 RCT2_GLOBAL(0x00EE7888, paint_struct*) + #define gSavedViewX RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_X, sint16) + #define gSavedViewY RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_Y, sint16) + #define gSavedViewZoom RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_ZOOM, uint8) + #define gSavedViewRotation RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_ROTATION, uint8) + #define gCurrentRotation RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) #endif void viewport_init_all(); diff --git a/src/localisation/date.c b/src/localisation/date.c index 0858b6b7d1..6f79089e22 100644 --- a/src/localisation/date.c +++ b/src/localisation/date.c @@ -20,6 +20,9 @@ #include "date.h" #include "string_ids.h" +uint16 gDateMonthTicks; +uint16 gDateMonthsElapsed; + // rct2: 0x00993988 const sint16 days_in_month[MONTH_COUNT] = { 31, 30, 31, 30, 31, 31, 30, 31 }; diff --git a/src/localisation/date.h b/src/localisation/date.h index df414533c6..3c49b3a2af 100644 --- a/src/localisation/date.h +++ b/src/localisation/date.h @@ -49,8 +49,8 @@ extern const sint16 days_in_month[MONTH_COUNT]; extern const rct_string_id DateFormatStringIds[]; extern const rct_string_id DateFormatStringFormatIds[]; -#define gDateMonthTicks RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_TICKS, uint16) -#define gDateMonthsElapsed RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_YEAR, uint16) +extern uint16 gDateMonthTicks; +extern uint16 gDateMonthsElapsed; extern openrct_timeofday gRealTimeOfDay; diff --git a/src/paint/paint.c b/src/paint/paint.c index 71217bbccc..a02fa6dc26 100644 --- a/src/paint/paint.c +++ b/src/paint/paint.c @@ -37,6 +37,9 @@ paint_string_struct *pss2; static paint_struct *_paint_structs[512]; void *g_currently_drawn_item; paint_struct * g_ps_EE7880; +uint8 gPaintInteractionType; +support_height gSupportSegments[9] = { 0 }; +support_height gSupport; #else #define _paint_structs (RCT2_ADDRESS(0x00F1A50C, paint_struct*)) #endif diff --git a/src/paint/paint.h b/src/paint/paint.h index 1717e196f7..394e3fcbde 100644 --- a/src/paint/paint.h +++ b/src/paint/paint.h @@ -124,9 +124,15 @@ typedef struct support_height { uint8 pad; } support_height; +#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) #define gSupport RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_PAINT_TILE_MAX_HEIGHT, support_height) +#else +extern uint8 gPaintInteractionType; +extern support_height gSupportSegments[9]; +extern support_height gSupport; +#endif /** rct2: 0x00993CC4 */ extern const uint32 construction_markers[]; diff --git a/src/world/map.c b/src/world/map.c index 5aa44605e0..47b4a15d86 100644 --- a/src/world/map.c +++ b/src/world/map.c @@ -79,6 +79,15 @@ uint8 gMapSelectArrowDirection; uint8 gMapGroundFlags; +uint16 gWidePathTileLoopX; +uint16 gWidePathTileLoopY; +uint16 gGrassSceneryTileLoopPosition; + +sint16 gMapSizeUnits; +sint16 gMapSizeMinus2; +sint16 gMapSize; +sint16 gMapSizeMaxXY; + #if defined(NO_RCT2) rct_map_element gMapElements[0x30000]; rct_map_element *gMapElementTilePointers[MAX_TILE_MAP_ELEMENT_POINTERS]; diff --git a/src/world/map.h b/src/world/map.h index f224a92b23..f015269b5b 100644 --- a/src/world/map.h +++ b/src/world/map.h @@ -316,14 +316,14 @@ enum { extern const rct_xy16 TileDirectionDelta[]; extern const money32 TerrainPricing[]; -#define gWidePathTileLoopX RCT2_GLOBAL(0x013CE774, uint16) -#define gWidePathTileLoopY RCT2_GLOBAL(0x013CE776, uint16) -#define gGrassSceneryTileLoopPosition RCT2_GLOBAL(RCT2_ADDRESS_GRASS_SCENERY_TILEPOS, uint16) +extern uint16 gWidePathTileLoopX; +extern uint16 gWidePathTileLoopY; +extern uint16 gGrassSceneryTileLoopPosition; -#define gMapSizeUnits RCT2_GLOBAL(RCT2_ADDRESS_MAP_SIZE_UNITS, sint16) -#define gMapSizeMinus2 RCT2_GLOBAL(RCT2_ADDRESS_MAP_SIZE_MINUS_2, sint16) -#define gMapSize RCT2_GLOBAL(RCT2_ADDRESS_MAP_SIZE, sint16) -#define gMapSizeMaxXY RCT2_GLOBAL(RCT2_ADDRESS_MAP_MAX_XY, sint16) +extern sint16 gMapSizeUnits; +extern sint16 gMapSizeMinus2; +extern sint16 gMapSize; +extern sint16 gMapSizeMaxXY; extern uint16 gMapSelectFlags; extern uint16 gMapSelectType;