mirror of https://github.com/OpenRCT2/OpenRCT2.git
Extract environment resetting
This commit is contained in:
parent
a552a80165
commit
486d9da0a0
|
@ -1004,35 +1004,7 @@ private:
|
||||||
|
|
||||||
void CallOriginal(int trackType, int direction, int trackSequence, int height, rct_map_element *mapElement)
|
void CallOriginal(int trackType, int direction, int trackSequence, int height, rct_map_element *mapElement)
|
||||||
{
|
{
|
||||||
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
intercept_reset_environment();
|
||||||
gTrackColours[SCHEME_TRACK] = Intercept2::DEFAULT_SCHEME_TRACK;
|
|
||||||
gTrackColours[SCHEME_SUPPORTS] = Intercept2::DEFAULT_SCHEME_SUPPORTS;
|
|
||||||
gTrackColours[SCHEME_MISC] = Intercept2::DEFAULT_SCHEME_MISC;
|
|
||||||
gTrackColours[SCHEME_3] = Intercept2::DEFAULT_SCHEME_3;
|
|
||||||
|
|
||||||
rct_drawpixelinfo dpi = { 0 };
|
|
||||||
dpi.zoom_level = 1;
|
|
||||||
unk_140E9A8 = &dpi;
|
|
||||||
|
|
||||||
rct_ride ride = {0};
|
|
||||||
|
|
||||||
rct_ride_entry rideEntry = {0};
|
|
||||||
rct_ride_entry_vehicle vehicleEntry { 0 };
|
|
||||||
vehicleEntry.base_image_id = 0x70000;
|
|
||||||
rideEntry.vehicles[0] = vehicleEntry;
|
|
||||||
|
|
||||||
gRideList[0] = ride;
|
|
||||||
gRideEntries[0] = &rideEntry;
|
|
||||||
|
|
||||||
for (int s = 0; s < 9; ++s)
|
|
||||||
{
|
|
||||||
gSupportSegments[s].height = 0;
|
|
||||||
gSupportSegments[s].slope = 0xFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
gSupport.height = 0;
|
|
||||||
gSupport.slope = 0xFF;
|
|
||||||
g141E9DB = G141E9DB_FLAG_1 | G141E9DB_FLAG_2;
|
|
||||||
|
|
||||||
uint32 *trackDirectionList = (uint32 *)RideTypeTrackPaintFunctionsOld[_rideType][trackType];
|
uint32 *trackDirectionList = (uint32 *)RideTypeTrackPaintFunctionsOld[_rideType][trackType];
|
||||||
// Have to call from this point as it pushes esi and expects callee to pop it
|
// Have to call from this point as it pushes esi and expects callee to pop it
|
||||||
|
|
|
@ -332,25 +332,7 @@ static bool testTrackElement(uint8 rideType, uint8 trackType, utf8string error,
|
||||||
surfaceElement.type = MAP_ELEMENT_TYPE_SURFACE;
|
surfaceElement.type = MAP_ELEMENT_TYPE_SURFACE;
|
||||||
surfaceElement.base_height = 2;
|
surfaceElement.base_height = 2;
|
||||||
|
|
||||||
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
intercept_reset_environment();
|
||||||
gTrackColours[SCHEME_TRACK] = DEFAULT_SCHEME_TRACK;
|
|
||||||
gTrackColours[SCHEME_SUPPORTS] = DEFAULT_SCHEME_SUPPORTS;
|
|
||||||
gTrackColours[SCHEME_MISC] = DEFAULT_SCHEME_MISC;
|
|
||||||
gTrackColours[SCHEME_3] = DEFAULT_SCHEME_3;
|
|
||||||
|
|
||||||
rct_drawpixelinfo dpi = {.zoom_level = 1};
|
|
||||||
unk_140E9A8 = &dpi;
|
|
||||||
|
|
||||||
rct_ride ride = { 0 };
|
|
||||||
ride.entrance_style = RIDE_ENTRANCE_STYLE_CANVAS_TENT;
|
|
||||||
|
|
||||||
rct_ride_entry rideEntry = { 0 };
|
|
||||||
rct_ride_entry_vehicle vehicleEntry = {.base_image_id = 0x70000};
|
|
||||||
rideEntry.vehicles[0] = vehicleEntry;
|
|
||||||
|
|
||||||
|
|
||||||
gRideList[0] = ride;
|
|
||||||
gRideEntries[0] = &rideEntry;
|
|
||||||
|
|
||||||
int height = 48;
|
int height = 48;
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@ extern "C"
|
||||||
bool testVerticalTunnels(uint8 rideType, uint8 trackType);
|
bool testVerticalTunnels(uint8 rideType, uint8 trackType);
|
||||||
void intercept_clear_calls();
|
void intercept_clear_calls();
|
||||||
int intercept_get_calls(function_call * buffer);
|
int intercept_get_calls(function_call * buffer);
|
||||||
|
void intercept_reset_environment();
|
||||||
void intercept_simulate_wooden_supports(bool enabled);
|
void intercept_simulate_wooden_supports(bool enabled);
|
||||||
bool assertFunctionCallEquals(function_call expected, function_call actual);
|
bool assertFunctionCallEquals(function_call expected, function_call actual);
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,39 @@ extern "C" {
|
||||||
|
|
||||||
namespace Intercept2
|
namespace Intercept2
|
||||||
{
|
{
|
||||||
|
static void ResetEnvironment() {
|
||||||
|
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
||||||
|
gTrackColours[SCHEME_TRACK] = DEFAULT_SCHEME_TRACK;
|
||||||
|
gTrackColours[SCHEME_SUPPORTS] = DEFAULT_SCHEME_SUPPORTS;
|
||||||
|
gTrackColours[SCHEME_MISC] = DEFAULT_SCHEME_MISC;
|
||||||
|
gTrackColours[SCHEME_3] = DEFAULT_SCHEME_3;
|
||||||
|
|
||||||
|
rct_drawpixelinfo dpi = { 0 };
|
||||||
|
dpi.zoom_level = 1;
|
||||||
|
unk_140E9A8 = &dpi;
|
||||||
|
|
||||||
|
rct_ride ride = {0};
|
||||||
|
ride.entrance_style = RIDE_ENTRANCE_STYLE_PLAIN;
|
||||||
|
|
||||||
|
rct_ride_entry rideEntry = {0};
|
||||||
|
rct_ride_entry_vehicle vehicleEntry { 0 };
|
||||||
|
vehicleEntry.base_image_id = 0x70000;
|
||||||
|
rideEntry.vehicles[0] = vehicleEntry;
|
||||||
|
|
||||||
|
gRideList[0] = ride;
|
||||||
|
gRideEntries[0] = &rideEntry;
|
||||||
|
|
||||||
|
for (int s = 0; s < 9; ++s)
|
||||||
|
{
|
||||||
|
gSupportSegments[s].height = 0;
|
||||||
|
gSupportSegments[s].slope = 0xFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
gSupport.height = 0;
|
||||||
|
gSupport.slope = 0xFF;
|
||||||
|
g141E9DB = G141E9DB_FLAG_1 | G141E9DB_FLAG_2;
|
||||||
|
}
|
||||||
|
|
||||||
static bool SortSegmentSupportCalls(SegmentSupportCall lhs, SegmentSupportCall rhs)
|
static bool SortSegmentSupportCalls(SegmentSupportCall lhs, SegmentSupportCall rhs)
|
||||||
{
|
{
|
||||||
if (lhs.height != rhs.height) {
|
if (lhs.height != rhs.height) {
|
||||||
|
@ -297,26 +330,7 @@ namespace Intercept2
|
||||||
surfaceElement.type = MAP_ELEMENT_TYPE_SURFACE;
|
surfaceElement.type = MAP_ELEMENT_TYPE_SURFACE;
|
||||||
surfaceElement.base_height = 2;
|
surfaceElement.base_height = 2;
|
||||||
|
|
||||||
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
ResetEnvironment();
|
||||||
gTrackColours[SCHEME_TRACK] = DEFAULT_SCHEME_TRACK;
|
|
||||||
gTrackColours[SCHEME_SUPPORTS] = DEFAULT_SCHEME_SUPPORTS;
|
|
||||||
gTrackColours[SCHEME_MISC] = DEFAULT_SCHEME_MISC;
|
|
||||||
gTrackColours[SCHEME_3] = DEFAULT_SCHEME_3;
|
|
||||||
|
|
||||||
rct_drawpixelinfo dpi = { 0 };
|
|
||||||
dpi.zoom_level = 1;
|
|
||||||
unk_140E9A8 = &dpi;
|
|
||||||
|
|
||||||
rct_ride ride = {0};
|
|
||||||
|
|
||||||
rct_ride_entry rideEntry = {0};
|
|
||||||
rct_ride_entry_vehicle vehicleEntry { 0 };
|
|
||||||
vehicleEntry.base_image_id = 0x70000;
|
|
||||||
rideEntry.vehicles[0] = vehicleEntry;
|
|
||||||
|
|
||||||
|
|
||||||
gRideList[0] = ride;
|
|
||||||
gRideEntries[0] = &rideEntry;
|
|
||||||
|
|
||||||
int height = 48;
|
int height = 48;
|
||||||
|
|
||||||
|
@ -497,26 +511,7 @@ namespace Intercept2
|
||||||
|
|
||||||
g_currently_drawn_item = &mapElement;
|
g_currently_drawn_item = &mapElement;
|
||||||
|
|
||||||
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
ResetEnvironment();
|
||||||
gTrackColours[SCHEME_TRACK] = DEFAULT_SCHEME_TRACK;
|
|
||||||
gTrackColours[SCHEME_SUPPORTS] = DEFAULT_SCHEME_SUPPORTS;
|
|
||||||
gTrackColours[SCHEME_MISC] = DEFAULT_SCHEME_MISC;
|
|
||||||
gTrackColours[SCHEME_3] = DEFAULT_SCHEME_3;
|
|
||||||
|
|
||||||
rct_drawpixelinfo dpi { 0 };
|
|
||||||
dpi.zoom_level = 1;
|
|
||||||
unk_140E9A8 = &dpi;
|
|
||||||
|
|
||||||
rct_ride ride = {0};
|
|
||||||
|
|
||||||
rct_ride_entry rideEntry = {0};
|
|
||||||
rct_ride_entry_vehicle vehicleEntry { 0 };
|
|
||||||
vehicleEntry.base_image_id = 0x70000;
|
|
||||||
rideEntry.vehicles[0] = vehicleEntry;
|
|
||||||
|
|
||||||
|
|
||||||
gRideList[0] = ride;
|
|
||||||
gRideEntries[0] = &rideEntry;
|
|
||||||
|
|
||||||
int height = 48;
|
int height = 48;
|
||||||
|
|
||||||
|
@ -689,26 +684,7 @@ namespace Intercept2
|
||||||
|
|
||||||
g_currently_drawn_item = &mapElement;
|
g_currently_drawn_item = &mapElement;
|
||||||
|
|
||||||
gPaintInteractionType = VIEWPORT_INTERACTION_ITEM_RIDE;
|
ResetEnvironment();
|
||||||
gTrackColours[SCHEME_TRACK] = DEFAULT_SCHEME_TRACK;
|
|
||||||
gTrackColours[SCHEME_SUPPORTS] = DEFAULT_SCHEME_SUPPORTS;
|
|
||||||
gTrackColours[SCHEME_MISC] = DEFAULT_SCHEME_MISC;
|
|
||||||
gTrackColours[SCHEME_3] = DEFAULT_SCHEME_3;
|
|
||||||
|
|
||||||
rct_drawpixelinfo dpi = { 0 };
|
|
||||||
dpi.zoom_level = 1;
|
|
||||||
unk_140E9A8 = &dpi;
|
|
||||||
|
|
||||||
rct_ride ride = {0};
|
|
||||||
|
|
||||||
rct_ride_entry rideEntry = {0};
|
|
||||||
rct_ride_entry_vehicle vehicleEntry = { 0 };
|
|
||||||
vehicleEntry.base_image_id = 0x70000;
|
|
||||||
rideEntry.vehicles[0] = vehicleEntry;
|
|
||||||
|
|
||||||
|
|
||||||
gRideList[0] = ride;
|
|
||||||
gRideEntries[0] = &rideEntry;
|
|
||||||
|
|
||||||
int height = 48;
|
int height = 48;
|
||||||
|
|
||||||
|
@ -869,4 +845,8 @@ extern "C"
|
||||||
{
|
{
|
||||||
return Intercept2::testIsIgnored(direction, trackSequence);
|
return Intercept2::testIsIgnored(direction, trackSequence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void intercept_reset_environment() {
|
||||||
|
Intercept2::ResetEnvironment();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue