1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Remove more fences

This commit is contained in:
duncanspumpkin
2017-02-21 20:22:03 +00:00
parent 810bf301f3
commit 69af723972
6 changed files with 84 additions and 84 deletions

View File

@@ -4237,7 +4237,7 @@ STR_5925 :Path details
STR_5926 :Track details
STR_5927 :Scenery details
STR_5928 :Entrance details
STR_5929 :Fence details
STR_5929 :Wall details
STR_5930 :Large scenery details
STR_5931 :Banner details
STR_5932 :Corrupt element details
@@ -4287,7 +4287,7 @@ STR_5975 :Slope:
STR_5976 :Flat
STR_5977 :Right side up
STR_5978 :Left side up
STR_5979 :{WINDOW_COLOUR_2}Fence type: {BLACK}{COMMA16}
STR_5979 :{WINDOW_COLOUR_2}Wall type: {BLACK}{COMMA16}
STR_5980 :{WINDOW_COLOUR_2}Banner text: {BLACK}{STRINGID}
STR_5981 :{WINDOW_COLOUR_2}Not a banner
STR_5982 :{WINDOW_COLOUR_2}Large scenery type: {BLACK}{COMMA16}

View File

@@ -3577,7 +3577,7 @@ enum {
STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO = 5926,
STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO = 5927,
STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO = 5928,
STR_TILE_INSPECTOR_GROUPBOX_FENCE_INFO = 5929,
STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO = 5929,
STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO = 5930,
STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO = 5931,
STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO = 5932,
@@ -3623,11 +3623,11 @@ enum {
STR_TILE_INSPECTOR_ENTRANCE_RIDE_ID = 5972,
STR_TILE_INSPECTOR_CLAMP_TO_NEXT = 5973,
STR_TILE_INSPECTOR_CLAMP_TO_NEXT_TIP = 5974,
STR_TILE_INSPECTOR_FENCE_SLOPE = 5975,
STR_TILE_INSPECTOR_FENCE_FLAT = 5976,
STR_TILE_INSPECTOR_FENCE_SLOPED_LEFT = 5977,
STR_TILE_INSPECTOR_FENCE_SLOPED_RIGHT = 5978,
STR_TILE_INSPECTOR_FENCE_TYPE = 5979,
STR_TILE_INSPECTOR_WALL_SLOPE = 5975,
STR_TILE_INSPECTOR_WALL_FLAT = 5976,
STR_TILE_INSPECTOR_WALL_SLOPED_LEFT = 5977,
STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT = 5978,
STR_TILE_INSPECTOR_WALL_TYPE = 5979,
STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT = 5980,
STR_TILE_INSPECTOR_ENTRY_BANNER_NONE = 5981,
STR_TILE_INSPECTOR_LARGE_SCENERY_TYPE = 5982,

View File

@@ -70,10 +70,10 @@ static const rct_string_id ParkEntrancePartStringIds[] = {
STR_TILE_INSPECTOR_ENTRANCE_RIGHT
};
static const rct_string_id FenceSlopeStringIds[] = {
STR_TILE_INSPECTOR_FENCE_FLAT,
STR_TILE_INSPECTOR_FENCE_SLOPED_LEFT,
STR_TILE_INSPECTOR_FENCE_SLOPED_RIGHT
static const rct_string_id WallSlopeStringIds[] = {
STR_TILE_INSPECTOR_WALL_FLAT,
STR_TILE_INSPECTOR_WALL_SLOPED_LEFT,
STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT
};
enum WINDOW_TILE_INSPECTOR_WIDGET_IDX {
@@ -157,12 +157,12 @@ enum WINDOW_TILE_INSPECTOR_WIDGET_IDX {
WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE,
WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE,
// Fence
WIDX_FENCE_SPINNER_HEIGHT = PAGE_WIDGETS,
WIDX_FENCE_SPINNER_HEIGHT_INCREASE,
WIDX_FENCE_SPINNER_HEIGHT_DECREASE,
WIDX_FENCE_DROPDOWN_SLOPE,
WIDX_FENCE_DROPDOWN_SLOPE_BUTTON,
// Wall
WIDX_WALL_SPINNER_HEIGHT = PAGE_WIDGETS,
WIDX_WALL_SPINNER_HEIGHT_INCREASE,
WIDX_WALL_SPINNER_HEIGHT_DECREASE,
WIDX_WALL_DROPDOWN_SLOPE,
WIDX_WALL_DROPDOWN_SLOPE_BUTTON,
// Large
WIDX_LARGE_SCENERY_SPINNER_HEIGHT = PAGE_WIDGETS,
@@ -356,17 +356,17 @@ static rct_widget EntranceWidgets[] = {
{ WIDGETS_END },
};
#define FEN_GBPB PADDING_BOTTOM // Fence group box properties bottom
#define FEN_GBPT (FEN_GBPB + 16 + 2 * 21) // Fence group box properties top
#define FEN_GBDB (FEN_GBPT + GROUPBOX_PADDING) // Fence group box info bottom
#define FEN_GBDT (FEN_GBDB + 20 + 2 * 11) // Fence group box info top
static rct_widget FenceWidgets[] = {
#define WALL_GBPB PADDING_BOTTOM // Wall group box properties bottom
#define WALL_GBPT (WALL_GBPB + 16 + 2 * 21) // Wall group box properties top
#define WALL_GBDB (WALL_GBPT + GROUPBOX_PADDING) // Wall group box info bottom
#define WALL_GBDT (WALL_GBDB + 20 + 2 * 11) // Wall group box info top
static rct_widget WallWidgets[] = {
MAIN_TILE_INSPECTOR_WIDGETS,
{ WWT_SPINNER, 1, GBS(WH - FEN_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_FENCE_SPINNER_HEIGHT
{ WWT_DROPDOWN_BUTTON, 1, GBSI(WH - FEN_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_FENCE_SPINNER_HEIGHT_INCREASE
{ WWT_DROPDOWN_BUTTON, 1, GBSD(WH - FEN_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_FENCE_SPINNER_HEIGHT_DECREASE
{ WWT_DROPDOWN, 1, GBS(WH - FEN_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_FENCE_DROPDOWN_SLOPE
{ WWT_DROPDOWN_BUTTON, 1, GBDB(WH - FEN_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_FENCE_DROPDOWN_SLOPE_BUTTON
{ WWT_SPINNER, 1, GBS(WH - WALL_GBPT, 1, 0), STR_NONE, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT
{ WWT_DROPDOWN_BUTTON, 1, GBSI(WH - WALL_GBPT, 1, 0), STR_NUMERIC_UP, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_INCREASE
{ WWT_DROPDOWN_BUTTON, 1, GBSD(WH - WALL_GBPT, 1, 0), STR_NUMERIC_DOWN, STR_NONE }, // WIDX_WALL_SPINNER_HEIGHT_DECREASE
{ WWT_DROPDOWN, 1, GBS(WH - WALL_GBPT, 1, 1), STR_NONE, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE
{ WWT_DROPDOWN_BUTTON, 1, GBDB(WH - WALL_GBPT, 1, 1), STR_DROPDOWN_GLYPH, STR_NONE }, // WIDX_WALL_DROPDOWN_SLOPE_BUTTON
{ WIDGETS_END },
};
@@ -419,7 +419,7 @@ static rct_widget *PageWidgets[] = {
TrackWidgets,
SceneryWidgets,
EntranceWidgets,
FenceWidgets,
WallWidgets,
LargeSceneryWidgets,
BannerWidgets,
CorruptWidgets,
@@ -437,7 +437,7 @@ static struct {
{ TRA_GBDT, TRA_GBDB, TRA_GBPT, TRA_GBPB, STR_TILE_INSPECTOR_GROUPBOX_TRACK_INFO },
{ SCE_GBDT, SCE_GBDB, SCE_GBPT, SCE_GBPB, STR_TILE_INSPECTOR_GROUPBOX_SCENERY_INFO },
{ ENT_GBDT, ENT_GBDB, ENT_GBPT, ENT_GBPB, STR_TILE_INSPECTOR_GROUPBOX_ENTRANCE_INFO },
{ FEN_GBDT, FEN_GBDB, FEN_GBPT, FEN_GBPB, STR_TILE_INSPECTOR_GROUPBOX_FENCE_INFO },
{ WALL_GBDT, WALL_GBDB, WALL_GBPT, WALL_GBPB, STR_TILE_INSPECTOR_GROUPBOX_WALL_INFO },
{ LAR_GBDT, LAR_GBDB, LAR_GBPT, LAR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_LARGE_SCENERY_INFO },
{ BAN_GBDT, BAN_GBDB, BAN_GBPT, BAN_GBPB, STR_TILE_INSPECTOR_GROUPBOX_BANNER_INFO },
{ COR_GBDT, COR_GBDB, COR_GBPT, COR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO }
@@ -510,7 +510,7 @@ static uint64 PageEnabledWidgets[] = {
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_TRACK_CHECK_APPLY_TO_ALL) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_TRACK_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_TRACK_CHECK_CHAIN_LIFT),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_SCENERY_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_N) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_E) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_S) | (1ULL << WIDX_SCENERY_CHECK_QUARTER_W) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_N) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_E) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_S) | (1ULL << WIDX_SCENERY_CHECK_COLLISION_W),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_FENCE_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_FENCE_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_FENCE_DROPDOWN_SLOPE) | (1ULL << WIDX_FENCE_DROPDOWN_SLOPE_BUTTON),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_WALL_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE) | (1ULL << WIDX_WALL_DROPDOWN_SLOPE_BUTTON),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_ROTATE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_BANNER_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SE) | (1ULL << WIDX_BANNER_CHECK_BLOCK_SW) | (1ULL << WIDX_BANNER_CHECK_BLOCK_NW),
(1ULL << WIDX_CLOSE) | (1ULL << WIDX_BUTTON_CORRUPT) | (1ULL << WIDX_BUTTON_REMOVE) | (1ULL << WIDX_BUTTON_COPY) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE) | (1ULL << WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE) | (1ULL << WIDX_CORRUPT_BUTTON_CLAMP),
@@ -778,13 +778,13 @@ static void window_tile_inspector_path_toggle_edge(sint32 elementIndex, sint32 c
);
}
static void window_tile_inspector_fence_set_slope(sint32 elementIndex, sint32 slopeValue)
static void window_tile_inspector_wall_set_slope(sint32 elementIndex, sint32 slopeValue)
{
// Make sure only the correct bits are set
openrct2_assert((slopeValue & 0xC0) == slopeValue, "slopeValue doesn't match its mask");
game_do_command(
TILE_INSPECTOR_FENCE_SET_SLOPE,
TILE_INSPECTOR_WALL_SET_SLOPE,
GAME_COMMAND_FLAG_APPLY,
windowTileInspectorTileX | (windowTileInspectorTileY << 8),
elementIndex,
@@ -1075,12 +1075,12 @@ static void window_tile_inspector_mouseup(rct_window *w, sint32 widgetIndex)
} // switch widget index
break;
case TILE_INSPECTOR_PAGE_FENCE:
case TILE_INSPECTOR_PAGE_WALL:
switch (widgetIndex) {
case WIDX_FENCE_SPINNER_HEIGHT_INCREASE:
case WIDX_WALL_SPINNER_HEIGHT_INCREASE:
window_tile_inspector_base_height_offset(w->selected_list_item, 1);
break;
case WIDX_FENCE_SPINNER_HEIGHT_DECREASE:
case WIDX_WALL_SPINNER_HEIGHT_DECREASE:
window_tile_inspector_base_height_offset(w->selected_list_item, -1);
break;
} // switch widget index
@@ -1147,9 +1147,9 @@ static void window_tile_inspector_resize(rct_window *w)
static void window_tile_inspector_mousedown(sint32 widgetIndex, rct_window *w, rct_widget* widget)
{
switch (w->page) {
case TILE_INSPECTOR_PAGE_FENCE:
case TILE_INSPECTOR_PAGE_WALL:
switch (widgetIndex) {
case WIDX_FENCE_DROPDOWN_SLOPE_BUTTON:
case WIDX_WALL_DROPDOWN_SLOPE_BUTTON:
// Use dropdown instead of dropdown button
widget--;
@@ -1157,9 +1157,9 @@ static void window_tile_inspector_mousedown(sint32 widgetIndex, rct_window *w, r
gDropdownItemsFormat[0] = STR_DROPDOWN_MENU_LABEL;
gDropdownItemsFormat[1] = STR_DROPDOWN_MENU_LABEL;
gDropdownItemsFormat[2] = STR_DROPDOWN_MENU_LABEL;
gDropdownItemsArgs[0] = STR_TILE_INSPECTOR_FENCE_FLAT;
gDropdownItemsArgs[1] = STR_TILE_INSPECTOR_FENCE_SLOPED_LEFT;
gDropdownItemsArgs[2] = STR_TILE_INSPECTOR_FENCE_SLOPED_RIGHT;
gDropdownItemsArgs[0] = STR_TILE_INSPECTOR_WALL_FLAT;
gDropdownItemsArgs[1] = STR_TILE_INSPECTOR_WALL_SLOPED_LEFT;
gDropdownItemsArgs[2] = STR_TILE_INSPECTOR_WALL_SLOPED_RIGHT;
window_dropdown_show_text_custom_width(
w->x + widget->left,
w->y + widget->top,
@@ -1202,12 +1202,12 @@ static void window_tile_inspector_dropdown(rct_window *w, sint32 widgetIndex, si
rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w);
switch (w->page) {
case TILE_INSPECTOR_PAGE_FENCE:
openrct2_assert(map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL, "Element is not a fence");
case TILE_INSPECTOR_PAGE_WALL:
openrct2_assert(map_element_get_type(mapElement) == MAP_ELEMENT_TYPE_WALL, "Element is not a wall");
switch (widgetIndex) {
case WIDX_FENCE_DROPDOWN_SLOPE_BUTTON:
window_tile_inspector_fence_set_slope(w->selected_list_item, dropdownIndex << 6);
case WIDX_WALL_DROPDOWN_SLOPE_BUTTON:
window_tile_inspector_wall_set_slope(w->selected_list_item, dropdownIndex << 6);
break;
}
break;
@@ -1325,16 +1325,16 @@ void window_tile_inspector_auto_set_buttons(rct_window *w)
// Page widgets
switch (w->page) {
case TILE_INSPECTOR_PAGE_FENCE: {
case TILE_INSPECTOR_PAGE_WALL: {
const rct_map_element *const mapElement = window_tile_inspector_get_selected_element(w);
const uint8 fenceType = mapElement->properties.wall.type;
const rct_wall_scenery_entry wallEntry = get_wall_entry(fenceType)->wall;
const uint8 wallType = mapElement->properties.wall.type;
const rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall;
const bool canBeSloped = !(wallEntry.flags & WALL_SCENERY_CANT_BUILD_ON_SLOPE);
// Fence slope dropdown
widget_set_enabled(w, WIDX_FENCE_DROPDOWN_SLOPE, canBeSloped);
widget_invalidate(w, WIDX_FENCE_DROPDOWN_SLOPE);
widget_set_enabled(w, WIDX_FENCE_DROPDOWN_SLOPE_BUTTON, canBeSloped);
widget_invalidate(w, WIDX_FENCE_DROPDOWN_SLOPE_BUTTON);
// Wall slope dropdown
widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE, canBeSloped);
widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE);
widget_set_enabled(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON, canBeSloped);
widget_invalidate(w, WIDX_WALL_DROPDOWN_SLOPE_BUTTON);
break;
}
} // switch page
@@ -1539,18 +1539,18 @@ static void window_tile_inspector_invalidate(rct_window *w)
w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8;
w->widgets[WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4;
break;
case TILE_INSPECTOR_PAGE_FENCE:
w->widgets[WIDX_FENCE_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3;
w->widgets[WIDX_FENCE_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3;
w->widgets[WIDX_FENCE_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4;
w->widgets[WIDX_FENCE_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8;
w->widgets[WIDX_FENCE_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8;
w->widgets[WIDX_FENCE_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4;
w->widgets[WIDX_FENCE_DROPDOWN_SLOPE].top = GBBT(propertiesAnchor, 1) + 3;
w->widgets[WIDX_FENCE_DROPDOWN_SLOPE].bottom = GBBB(propertiesAnchor, 1) - 3;
w->widgets[WIDX_FENCE_DROPDOWN_SLOPE].text = FenceSlopeStringIds[(mapElement->type & 0xC0) >> 6];
w->widgets[WIDX_FENCE_DROPDOWN_SLOPE_BUTTON].top = GBBT(propertiesAnchor, 1) + 4;
w->widgets[WIDX_FENCE_DROPDOWN_SLOPE_BUTTON].bottom = GBBB(propertiesAnchor, 1) - 4;
case TILE_INSPECTOR_PAGE_WALL:
w->widgets[WIDX_WALL_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3;
w->widgets[WIDX_WALL_SPINNER_HEIGHT].bottom = GBBB(propertiesAnchor, 0) - 3;
w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].top = GBBT(propertiesAnchor, 0) + 4;
w->widgets[WIDX_WALL_SPINNER_HEIGHT_INCREASE].bottom = GBBT(propertiesAnchor, 0) + 8;
w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].top = GBBB(propertiesAnchor, 0) - 8;
w->widgets[WIDX_WALL_SPINNER_HEIGHT_DECREASE].bottom = GBBB(propertiesAnchor, 0) - 4;
w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top = GBBT(propertiesAnchor, 1) + 3;
w->widgets[WIDX_WALL_DROPDOWN_SLOPE].bottom = GBBB(propertiesAnchor, 1) - 3;
w->widgets[WIDX_WALL_DROPDOWN_SLOPE].text = WallSlopeStringIds[(mapElement->type & 0xC0) >> 6];
w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].top = GBBT(propertiesAnchor, 1) + 4;
w->widgets[WIDX_WALL_DROPDOWN_SLOPE_BUTTON].bottom = GBBB(propertiesAnchor, 1) - 4;
break;
case TILE_INSPECTOR_PAGE_LARGE_SCENERY:
w->widgets[WIDX_LARGE_SCENERY_SPINNER_HEIGHT].top = GBBT(propertiesAnchor, 0) + 3;
@@ -1831,15 +1831,15 @@ static void window_tile_inspector_paint(rct_window *w, rct_drawpixelinfo *dpi)
break;
}
case TILE_INSPECTOR_PAGE_FENCE: {
case TILE_INSPECTOR_PAGE_WALL: {
// Details
// Type
sint16 fenceType = mapElement->properties.wall.type;
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_FENCE_TYPE, &fenceType, COLOUR_DARK_GREEN, x, y);
sint16 wallType = mapElement->properties.wall.type;
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_TYPE, &wallType, COLOUR_DARK_GREEN, x, y);
// Banner info
rct_wall_scenery_entry fenceEntry = get_wall_entry(fenceType)->wall;
if (fenceEntry.flags & WALL_SCENERY_IS_BANNER) {
rct_wall_scenery_entry wallEntry = get_wall_entry(wallType)->wall;
if (wallEntry.flags & WALL_SCENERY_IS_BANNER) {
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_ENTRY_BANNER_TEXT, &gBanners[mapElement->properties.wall.banner_index].string_idx, COLOUR_DARK_GREEN, x, y + 11);
}
else {
@@ -1848,18 +1848,18 @@ static void window_tile_inspector_paint(rct_window *w, rct_drawpixelinfo *dpi)
// Properties
// Raise / lower label
y = w->y + w->widgets[WIDX_FENCE_SPINNER_HEIGHT].top;
y = w->y + w->widgets[WIDX_WALL_SPINNER_HEIGHT].top;
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_BASE_HEIGHT_FULL, NULL, COLOUR_DARK_GREEN, x, y);
// Current base height
x = w->x + w->widgets[WIDX_FENCE_SPINNER_HEIGHT].left + 3;
x = w->x + w->widgets[WIDX_WALL_SPINNER_HEIGHT].left + 3;
sint32 baseHeight = mapElement->base_height;
gfx_draw_string_left(dpi, STR_FORMAT_INTEGER, &baseHeight, COLOUR_DARK_GREEN, x, y);
// Slope label
x = w->x + w->widgets[WIDX_GROUPBOX_DETAILS].left + 7;
y = w->y + w->widgets[WIDX_FENCE_DROPDOWN_SLOPE].top;
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_FENCE_SLOPE, NULL, COLOUR_DARK_GREEN, x, y);
y = w->y + w->widgets[WIDX_WALL_DROPDOWN_SLOPE].top;
gfx_draw_string_left(dpi, STR_TILE_INSPECTOR_WALL_SLOPE, NULL, COLOUR_DARK_GREEN, x, y);
break;
}
@@ -1997,7 +1997,7 @@ static void window_tile_inspector_scrollpaint(rct_window *w, rct_drawpixelinfo *
case MAP_ELEMENT_TYPE_WALL:
snprintf(
buffer, sizeof(buffer),
"Fence (%s)",
"Wall (%s)",
language_get_string(get_wall_entry(mapElement->properties.scenery.type)->name)
);
typeName = buffer;

View File

@@ -27,7 +27,7 @@ typedef enum tile_inspector_page
TILE_INSPECTOR_PAGE_TRACK,
TILE_INSPECTOR_PAGE_SCENERY,
TILE_INSPECTOR_PAGE_ENTRANCE,
TILE_INSPECTOR_PAGE_FENCE,
TILE_INSPECTOR_PAGE_WALL,
TILE_INSPECTOR_PAGE_LARGE_SCENERY,
TILE_INSPECTOR_PAGE_BANNER,
TILE_INSPECTOR_PAGE_CORRUPT

View File

@@ -549,11 +549,11 @@ sint32 tile_inspector_path_toggle_edge(sint32 x, sint32 y, sint32 elementIndex,
return 0;
}
sint32 tile_inspector_fence_set_slope(sint32 x, sint32 y, sint32 elementIndex, sint32 slopeValue, sint32 flags)
sint32 tile_inspector_wall_set_slope(sint32 x, sint32 y, sint32 elementIndex, sint32 slopeValue, sint32 flags)
{
rct_map_element *const fenceElement = map_get_nth_element_at(x, y, elementIndex);
rct_map_element *const wallElement = map_get_nth_element_at(x, y, elementIndex);
if (!fenceElement || map_element_get_type(fenceElement) != MAP_ELEMENT_TYPE_WALL)
if (!wallElement || map_element_get_type(wallElement) != MAP_ELEMENT_TYPE_WALL)
{
return MONEY32_UNDEFINED;
}
@@ -561,8 +561,8 @@ sint32 tile_inspector_fence_set_slope(sint32 x, sint32 y, sint32 elementIndex, s
if (flags & GAME_COMMAND_FLAG_APPLY)
{
// Set new slope value
fenceElement->type &= ~0xC0;
fenceElement->type |= slopeValue;
wallElement->type &= ~0xC0;
wallElement->type |= slopeValue;
map_invalidate_tile_full(x << 5, y << 5);

View File

@@ -26,7 +26,7 @@ typedef enum {
TILE_INSPECTOR_ELEMENT_TRACK,
TILE_INSPECTOR_ELEMENT_SCENERY,
TILE_INSPECTOR_ELEMENT_ENTRANCE,
TILE_INSPECTOR_ELEMENT_FENCE,
TILE_INSPECTOR_ELEMENT_WALL,
TILE_INSPECTOR_ELEMENT_SCENERYMULTIPLE,
TILE_INSPECTOR_ELEMENT_BANNER,
TILE_INSPECTOR_ELEMENT_CORRUPT,
@@ -45,7 +45,7 @@ typedef enum {
TILE_INSPECTOR_SURFACE_TOGGLE_DIAGONAL,
TILE_INSPECTOR_PATH_SET_SLOPE,
TILE_INSPECTOR_PATH_TOGGLE_EDGE,
TILE_INSPECTOR_FENCE_SET_SLOPE,
TILE_INSPECTOR_WALL_SET_SLOPE,
TILE_INSPECTOR_TRACK_BASE_HEIGHT_OFFSET,
TILE_INSPECTOR_TRACK_SET_CHAIN,
TILE_INSPECTOR_SCENERY_SET_QUARTER_LOCATION,
@@ -66,7 +66,7 @@ sint32 tile_inspector_surface_toggle_corner(sint32 x, sint32 y, sint32 cornerInd
sint32 tile_inspector_surface_toggle_diagonal(sint32 x, sint32 y, sint32 flags);
sint32 tile_inspector_path_set_sloped(sint32 x, sint32 y, sint32 elementIndex, bool sloped, sint32 flags);
sint32 tile_inspector_path_toggle_edge(sint32 x, sint32 y, sint32 elementIndex, sint32 cornerIndex, sint32 flags);
sint32 tile_inspector_fence_set_slope(sint32 x, sint32 y, sint32 elementIndex, sint32 slopeValue, sint32 flags);
sint32 tile_inspector_wall_set_slope(sint32 x, sint32 y, sint32 elementIndex, sint32 slopeValue, sint32 flags);
sint32 tile_inspector_track_base_height_offset(sint32 x, sint32 y, sint32 elementIndex, sint8 offset, sint32 flags);
sint32 tile_inspector_track_set_chain(sint32 x, sint32 y, sint32 elementIndex, bool entireTrackBlock, bool setChain, sint32 flags);
sint32 tile_inspector_scenery_set_quarter_location(sint32 x, sint32 y, sint32 elementIndex, sint32 quarterIndex, sint32 flags);