1
0
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:
IntelOrca
2015-07-25 17:47:47 +01:00
parent 63564998d9
commit 801d2ec341
4 changed files with 25 additions and 12 deletions

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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;
}

View File

@@ -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;