mirror of https://github.com/OpenRCT2/OpenRCT2.git
Check on clients if the same tile was selected
This commit is contained in:
parent
8a8e2c1cd6
commit
b774c1db2b
|
@ -442,15 +442,15 @@ static struct {
|
||||||
{ COR_GBDT, COR_GBDB, COR_GBPT, COR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO }
|
{ COR_GBDT, COR_GBDB, COR_GBPT, COR_GBPB, STR_TILE_INSPECTOR_GROUPBOX_CORRUPT_INFO }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint32 windowTileInspectorTileX;
|
||||||
|
uint32 windowTileInspectorTileY;
|
||||||
|
sint32 windowTileInspectorElementCount = 0;
|
||||||
static sint16 windowTileInspectorHighlightedIndex = -1;
|
static sint16 windowTileInspectorHighlightedIndex = -1;
|
||||||
static uint32 windowTileInspectorTileX;
|
|
||||||
static uint32 windowTileInspectorTileY;
|
|
||||||
static bool windowTileInspectorTileSelected = false;
|
static bool windowTileInspectorTileSelected = false;
|
||||||
static sint32 windowTileInspectorToolMouseX = 0;
|
static sint32 windowTileInspectorToolMouseX = 0;
|
||||||
static sint32 windowTileInspectorToolMouseY = 0;
|
static sint32 windowTileInspectorToolMouseY = 0;
|
||||||
static sint32 windowTileInspectorToolMapX = 0;
|
static sint32 windowTileInspectorToolMapX = 0;
|
||||||
static sint32 windowTileInspectorToolMapY = 0;
|
static sint32 windowTileInspectorToolMapY = 0;
|
||||||
sint32 windowTileInspectorElementCount = 0;
|
|
||||||
static bool windowTileInspectorApplyToAll = false;
|
static bool windowTileInspectorApplyToAll = false;
|
||||||
static bool windowTileInspectorElementCopied = false;
|
static bool windowTileInspectorElementCopied = false;
|
||||||
static rct_map_element tileInspectorCopiedElement;
|
static rct_map_element tileInspectorCopiedElement;
|
||||||
|
@ -459,7 +459,7 @@ static rct_map_element* window_tile_inspector_get_selected_element(rct_window *w
|
||||||
static void window_tile_inspector_load_tile(rct_window* w);
|
static void window_tile_inspector_load_tile(rct_window* w);
|
||||||
static void window_tile_inspector_insert_corrupt_element(sint32 element_index);
|
static void window_tile_inspector_insert_corrupt_element(sint32 element_index);
|
||||||
static void window_tile_inspector_swap_elements(sint16 first, sint16 second);
|
static void window_tile_inspector_swap_elements(sint16 first, sint16 second);
|
||||||
static void window_tile_inspector_remove_element(sint32 index);
|
static void window_tile_inspector_remove_element(sint32 element_index);
|
||||||
static void window_tile_inspector_rotate_element(sint32 index);
|
static void window_tile_inspector_rotate_element(sint32 index);
|
||||||
static void window_tile_inspector_sort_elements(rct_window *w);
|
static void window_tile_inspector_sort_elements(rct_window *w);
|
||||||
static void window_tile_inspector_copy_element(rct_window *w);
|
static void window_tile_inspector_copy_element(rct_window *w);
|
||||||
|
@ -621,13 +621,14 @@ static void window_tile_inspector_insert_corrupt_element(sint32 element_index)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void window_tile_inspector_remove_element(sint32 index)
|
static void window_tile_inspector_remove_element(sint32 element_index)
|
||||||
{
|
{
|
||||||
|
assert(element_index < windowTileInspectorElementCount);
|
||||||
game_do_command(
|
game_do_command(
|
||||||
TILE_INSPECTOR_ELEMENT_ANY,
|
TILE_INSPECTOR_ELEMENT_ANY,
|
||||||
GAME_COMMAND_FLAG_APPLY,
|
GAME_COMMAND_FLAG_APPLY,
|
||||||
windowTileInspectorTileX | (windowTileInspectorTileY << 8),
|
windowTileInspectorTileX | (windowTileInspectorTileY << 8),
|
||||||
index,
|
element_index,
|
||||||
GAME_COMMAND_MODIFY_TILE,
|
GAME_COMMAND_MODIFY_TILE,
|
||||||
0,
|
0,
|
||||||
0
|
0
|
||||||
|
|
|
@ -33,6 +33,8 @@ typedef enum tile_inspector_page
|
||||||
PAGE_CORRUPT
|
PAGE_CORRUPT
|
||||||
} tile_inspector_page;
|
} tile_inspector_page;
|
||||||
|
|
||||||
|
extern uint32 windowTileInspectorTileX;
|
||||||
|
extern uint32 windowTileInspectorTileY;
|
||||||
extern sint32 windowTileInspectorElementCount;
|
extern sint32 windowTileInspectorElementCount;
|
||||||
|
|
||||||
void window_tile_inspector_set_page(rct_window *w, const tile_inspector_page page);
|
void window_tile_inspector_set_page(rct_window *w, const tile_inspector_page page);
|
||||||
|
|
|
@ -90,7 +90,7 @@ sint32 tile_inspector_insert_corrupt_at(sint32 x, sint32 y, sint16 element_index
|
||||||
|
|
||||||
// Update the tile inspector's list for everyone who has the tile selected
|
// Update the tile inspector's list for everyone who has the tile selected
|
||||||
rct_window *const tile_inspector_window = window_find_by_class(WC_TILE_INSPECTOR);
|
rct_window *const tile_inspector_window = window_find_by_class(WC_TILE_INSPECTOR);
|
||||||
if (tile_inspector_window != NULL)
|
if (tile_inspector_window != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY)
|
||||||
{
|
{
|
||||||
windowTileInspectorElementCount++;
|
windowTileInspectorElementCount++;
|
||||||
|
|
||||||
|
@ -121,13 +121,14 @@ sint32 tile_inspector_remove_element_at(sint32 x, sint32 y, sint16 element_index
|
||||||
// Forcefully the element
|
// Forcefully the element
|
||||||
rct_map_element *const mapElement = map_get_first_element_at(x, y) + element_index;
|
rct_map_element *const mapElement = map_get_first_element_at(x, y) + element_index;
|
||||||
map_element_remove(mapElement);
|
map_element_remove(mapElement);
|
||||||
windowTileInspectorElementCount--;
|
|
||||||
map_invalidate_tile_full(x << 5, y << 5);
|
map_invalidate_tile_full(x << 5, y << 5);
|
||||||
|
|
||||||
// Update the window
|
// Update the window
|
||||||
rct_window *const tile_inspector_window = window_find_by_class(WC_TILE_INSPECTOR);
|
rct_window *const tile_inspector_window = window_find_by_class(WC_TILE_INSPECTOR);
|
||||||
if (tile_inspector_window != NULL)
|
if (tile_inspector_window != NULL && (uint32)x == windowTileInspectorTileX && (uint32)y == windowTileInspectorTileY)
|
||||||
{
|
{
|
||||||
|
windowTileInspectorElementCount--;
|
||||||
|
|
||||||
if (tile_inspector_window->selected_list_item > element_index)
|
if (tile_inspector_window->selected_list_item > element_index)
|
||||||
{
|
{
|
||||||
tile_inspector_window->selected_list_item--;
|
tile_inspector_window->selected_list_item--;
|
||||||
|
|
Loading…
Reference in New Issue