mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix placing track designs when ride 0 is not allocated
This commit is contained in:
parent
cd4eb86a7c
commit
746d784b0e
|
@ -267,7 +267,7 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI
|
|||
// Check if tool map position has changed since last update
|
||||
if (mapX == _window_track_place_last_x && mapY == _window_track_place_last_y)
|
||||
{
|
||||
place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, true, get_ride(0), mapX, mapY, 0);
|
||||
place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), mapX, mapY, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -306,7 +306,7 @@ static void window_track_place_toolupdate(rct_window* w, rct_widgetindex widgetI
|
|||
widget_invalidate(w, WIDX_PRICE);
|
||||
}
|
||||
|
||||
place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, true, get_ride(0), mapX, mapY, mapZ);
|
||||
place_virtual_track(_trackDesign, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), mapX, mapY, mapZ);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -436,7 +436,7 @@ static int32_t window_track_place_get_base_z(int32_t x, int32_t y)
|
|||
if (tileElement->AsSurface()->GetWaterHeight() > 0)
|
||||
z = std::max(z, tileElement->AsSurface()->GetWaterHeight() << 4);
|
||||
|
||||
return z + place_virtual_track(_trackDesign, PTD_OPERATION_GET_PLACE_Z, true, get_ride(0), x, y, z);
|
||||
return z + place_virtual_track(_trackDesign, PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(0), x, y, z);
|
||||
}
|
||||
|
||||
static void window_track_place_attempt_placement(
|
||||
|
|
|
@ -1750,7 +1750,7 @@ static bool track_design_place_preview(rct_track_td6* td6, money32* cost, Ride**
|
|||
int32_t mapSize = gMapSize << 4;
|
||||
|
||||
_currentTrackPieceDirection = 0;
|
||||
int32_t z = place_virtual_track(td6, PTD_OPERATION_GET_PLACE_Z, true, get_ride(0), mapSize, mapSize, 16);
|
||||
int32_t z = place_virtual_track(td6, PTD_OPERATION_GET_PLACE_Z, true, GetOrAllocateRide(0), mapSize, mapSize, 16);
|
||||
|
||||
if (_trackDesignPlaceStateHasScenery)
|
||||
{
|
||||
|
|
|
@ -989,7 +989,7 @@ static bool track_design_save_to_td6_for_maze(const Ride* ride, rct_track_td6* t
|
|||
|
||||
// Save global vars as they are still used by scenery
|
||||
int16_t startZ = gTrackPreviewOrigin.z;
|
||||
place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, true, get_ride(0), 4096, 4096, 0);
|
||||
place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), 4096, 4096, 0);
|
||||
gTrackPreviewOrigin = { startX, startY, startZ };
|
||||
|
||||
gMapSelectFlags &= ~MAP_SELECT_FLAG_ENABLE_CONSTRUCT;
|
||||
|
@ -1180,7 +1180,7 @@ static bool track_design_save_to_td6_for_tracked_ride(const Ride* ride, rct_trac
|
|||
td6->entrance_elements, numEntranceElements * sizeof(rct_td6_entrance_element) + 1);
|
||||
*((uint8_t*)&td6->entrance_elements[numEntranceElements]) = 0xFF;
|
||||
|
||||
place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, true, get_ride(0), 4096, 4096, 0);
|
||||
place_virtual_track(td6, PTD_OPERATION_DRAW_OUTLINES, true, GetOrAllocateRide(0), 4096, 4096, 0);
|
||||
|
||||
// Resave global vars for scenery reasons.
|
||||
gTrackPreviewOrigin = { start_x, start_y, start_z };
|
||||
|
|
Loading…
Reference in New Issue