From d375015975674cdddfefeae9c30ac7e4969d5399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 23 Feb 2016 15:11:16 +0100 Subject: [PATCH] Mark map element getters const While it doesn't change a lot in terms of performance, it helps out compiler being a bit smarter about inlining and reordering things (as evidenced by generated assembly). --- src/interface/viewport.c | 2 +- src/world/map.c | 10 +++++----- src/world/map.h | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/interface/viewport.c b/src/interface/viewport.c index fb5104c46a..1d50df5e81 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -1801,7 +1801,7 @@ static void sub_68B3FB(int x, int y) if (bx <= dpi->y) return; - rct_map_element* element = map_element;//push map_element + const rct_map_element* element = map_element;//push map_element sint16 max_height = 0; do{ diff --git a/src/world/map.c b/src/world/map.c index e7fd713932..91278e8c05 100644 --- a/src/world/map.c +++ b/src/world/map.c @@ -181,22 +181,22 @@ void map_set_tile_elements(int x, int y, rct_map_element *elements) TILE_MAP_ELEMENT_POINTER(x + y * 256) = elements; } -int map_element_is_last_for_tile(rct_map_element *element) +int map_element_is_last_for_tile(const rct_map_element *element) { return element->flags & MAP_ELEMENT_FLAG_LAST_TILE; } -int map_element_get_type(rct_map_element *element) +int map_element_get_type(const rct_map_element *element) { return element->type & MAP_ELEMENT_TYPE_MASK; } -int map_element_get_direction(rct_map_element *element) +int map_element_get_direction(const rct_map_element *element) { return element->type & MAP_ELEMENT_DIRECTION_MASK; } -int map_element_get_terrain(rct_map_element *element) +int map_element_get_terrain(const rct_map_element *element) { int terrain = (element->properties.surface.terrain >> 5) & 7; if (element->type & 1) @@ -204,7 +204,7 @@ int map_element_get_terrain(rct_map_element *element) return terrain; } -int map_element_get_terrain_edge(rct_map_element *element) +int map_element_get_terrain_edge(const rct_map_element *element) { int terrain_edge = (element->properties.surface.slope >> 5) & 7; if (element->type & 128) diff --git a/src/world/map.h b/src/world/map.h index 2fe835bca8..32cb69f6a4 100644 --- a/src/world/map.h +++ b/src/world/map.h @@ -287,11 +287,11 @@ void map_init(int size); void map_update_tile_pointers(); rct_map_element *map_get_first_element_at(int x, int y); void map_set_tile_elements(int x, int y, rct_map_element *elements); -int map_element_is_last_for_tile(rct_map_element *element); -int map_element_get_type(rct_map_element *element); -int map_element_get_direction(rct_map_element *element); -int map_element_get_terrain(rct_map_element *element); -int map_element_get_terrain_edge(rct_map_element *element); +int map_element_is_last_for_tile(const rct_map_element *element); +int map_element_get_type(const rct_map_element *element); +int map_element_get_direction(const rct_map_element *element); +int map_element_get_terrain(const rct_map_element *element); +int map_element_get_terrain_edge(const rct_map_element *element); void map_element_set_terrain(rct_map_element *element, int terrain); void map_element_set_terrain_edge(rct_map_element *element, int terrain); int map_height_from_slope(int x, int y, int slope);