mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
implement window_maze_construction_mousedown
This commit is contained in:
@@ -1247,9 +1247,9 @@ void sub_6C9627()
|
||||
1
|
||||
);
|
||||
break;
|
||||
case RIDE_CONSTRUCTION_STATE_6:
|
||||
case RIDE_CONSTRUCTION_STATE_7:
|
||||
case RIDE_CONSTRUCTION_STATE_8:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_BUILD:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_MOVE:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_FILL:
|
||||
if (_currentTrackSelectionFlags & 1) {
|
||||
map_invalidate_tile_full(
|
||||
_currentTrackBeginX & 0xFFE0,
|
||||
@@ -1594,7 +1594,7 @@ static int ride_modify_entrance_or_exit(rct_map_element *mapElement, int x, int
|
||||
int ride_modify_maze(rct_map_element *mapElement, int x, int y)
|
||||
{
|
||||
_currentRideIndex = mapElement->properties.track.ride_index;
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_6;
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD;
|
||||
_currentTrackBeginX = x;
|
||||
_currentTrackBeginY = y;
|
||||
_currentTrackBeginZ = mapElement->base_height * 8;
|
||||
|
||||
@@ -780,9 +780,9 @@ enum {
|
||||
RIDE_CONSTRUCTION_STATE_SELECTED,
|
||||
RIDE_CONSTRUCTION_STATE_PLACE,
|
||||
RIDE_CONSTRUCTION_STATE_ENTRANCE_EXIT,
|
||||
RIDE_CONSTRUCTION_STATE_6,
|
||||
RIDE_CONSTRUCTION_STATE_7,
|
||||
RIDE_CONSTRUCTION_STATE_8
|
||||
RIDE_CONSTRUCTION_STATE_MAZE_BUILD,
|
||||
RIDE_CONSTRUCTION_STATE_MAZE_MOVE,
|
||||
RIDE_CONSTRUCTION_STATE_MAZE_FILL
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
@@ -242,7 +242,20 @@ static void window_maze_construction_resize(rct_window *w)
|
||||
*/
|
||||
static void window_maze_construction_mousedown(int widgetIndex, rct_window *w, rct_widget *widget)
|
||||
{
|
||||
RCT2_CALLPROC_X(0x006CD48C, 0, 0, 0, widgetIndex, (int)w, (int)widget, 0);
|
||||
switch (widgetIndex) {
|
||||
case WIDX_MAZE_BUILD_MODE:
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD;
|
||||
window_maze_construction_update_pressed_widgets();
|
||||
break;
|
||||
case WIDX_MAZE_MOVE_MODE:
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_MOVE;
|
||||
window_maze_construction_update_pressed_widgets();
|
||||
break;
|
||||
case WIDX_MAZE_FILL_MODE:
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_FILL;
|
||||
window_maze_construction_update_pressed_widgets();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -405,13 +418,13 @@ void window_maze_construction_update_pressed_widgets()
|
||||
pressedWidgets &= ~(1ULL << WIDX_MAZE_FILL_MODE);
|
||||
|
||||
switch (_rideConstructionState) {
|
||||
case RIDE_CONSTRUCTION_STATE_6:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_BUILD:
|
||||
pressedWidgets |= (1ULL << WIDX_MAZE_BUILD_MODE);
|
||||
break;
|
||||
case RIDE_CONSTRUCTION_STATE_7:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_MOVE:
|
||||
pressedWidgets |= (1ULL << WIDX_MAZE_MOVE_MODE);
|
||||
break;
|
||||
case RIDE_CONSTRUCTION_STATE_8:
|
||||
case RIDE_CONSTRUCTION_STATE_MAZE_FILL:
|
||||
pressedWidgets |= (1ULL << WIDX_MAZE_FILL_MODE);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3456,7 +3456,7 @@ void ride_construction_tooldown_construct(int screenX, int screenY)
|
||||
|
||||
if (ride->type == RIDE_TYPE_MAZE) {
|
||||
for (int zAttempts = 41; zAttempts >= 0; zAttempts--) {
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_6;
|
||||
_rideConstructionState = RIDE_CONSTRUCTION_STATE_MAZE_BUILD;
|
||||
_currentTrackBeginX = x;
|
||||
_currentTrackBeginY = y;
|
||||
_currentTrackBeginZ = z;
|
||||
|
||||
Reference in New Issue
Block a user