mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-04 13:42:55 +01:00
Add LightFXAddLightsMagicVehicle to RTD (#17211)
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
#include "../interface/Window_internal.h"
|
||||
#include "../paint/Paint.h"
|
||||
#include "../ride/Ride.h"
|
||||
#include "../ride/RideData.h"
|
||||
#include "../ride/Vehicle.h"
|
||||
#include "../util/Util.h"
|
||||
#include "../world/Climate.h"
|
||||
@@ -697,106 +698,98 @@ uint32_t lightfx_get_light_polution()
|
||||
return _lightPolution_front;
|
||||
}
|
||||
|
||||
void lightfx_add_lights_magic_vehicle(const Vehicle* vehicle)
|
||||
static constexpr const int16_t offsetLookup[] = {
|
||||
10, 10, 9, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -9, -10, -10, -10, -9, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 9, 10,
|
||||
};
|
||||
void LightFxAddLightsMagicVehicle_ObservationTower(const Vehicle* vehicle)
|
||||
{
|
||||
static constexpr const int16_t offsetLookup[] = {
|
||||
10, 10, 9, 8, 7, 6, 4, 2, 0, -2, -4, -6, -7, -8, -9, -10, -10, -10, -9, -8, -7, -6, -4, -2, 0, 2, 4, 6, 7, 8, 9, 10,
|
||||
};
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y + 16, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 1, { vehicle->x + 16, vehicle->y, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 2, { vehicle->x - 16, vehicle->y, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 3, { vehicle->x, vehicle->y - 16, vehicle->z }, LightType::Spot3);
|
||||
}
|
||||
|
||||
void LightFxAddLightsMagicVehicle_MineTrainCoaster(const Vehicle* vehicle)
|
||||
{
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
int16_t place_x = vehicle->x - offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
int16_t place_y = vehicle->y - offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 0, { place_x, place_y, vehicle->z }, LightType::Spot3);
|
||||
}
|
||||
}
|
||||
|
||||
void LightFxAddLightsMagicVehicle_ChairLift(const Vehicle* vehicle)
|
||||
{
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z - 16 }, LightType::Lantern2);
|
||||
}
|
||||
void LightFxAddLightsMagicVehicle_BoatHire(const Vehicle* vehicle)
|
||||
{
|
||||
Vehicle* vehicle_draw = vehicle->TrainHead();
|
||||
auto* nextVeh = GetEntity<Vehicle>(vehicle_draw->next_vehicle_on_train);
|
||||
if (nextVeh != nullptr)
|
||||
{
|
||||
vehicle_draw = nextVeh;
|
||||
}
|
||||
int16_t place_x = vehicle_draw->x;
|
||||
int16_t place_y = vehicle_draw->y;
|
||||
place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32];
|
||||
place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32];
|
||||
LightfxAdd3DLight(*vehicle, 0, { place_x, place_y, vehicle_draw->z }, LightType::Spot2);
|
||||
place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32];
|
||||
place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32];
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle_draw->z }, LightType::Spot2);
|
||||
}
|
||||
void LightFxAddLightsMagicVehicle_Monorail(const Vehicle* vehicle)
|
||||
{
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z + 12 }, LightType::Spot2);
|
||||
int16_t place_x = vehicle->x;
|
||||
int16_t place_y = vehicle->y;
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 3;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 3;
|
||||
LightfxAdd3DLight(*vehicle, 2, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
if (vehicle == vehicle->TrainTail())
|
||||
{
|
||||
place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 3, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 4, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
}
|
||||
void LightFxAddLightsMagicVehicle_MiniatureRailway(const Vehicle* vehicle)
|
||||
{
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
int16_t place_x = vehicle->x - offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
int16_t place_y = vehicle->y - offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 2, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
else
|
||||
{
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
}
|
||||
}
|
||||
|
||||
void LightfxAddLightsMagicVehicle(const Vehicle* vehicle)
|
||||
{
|
||||
auto ride = vehicle->GetRide();
|
||||
if (ride == nullptr)
|
||||
return;
|
||||
|
||||
switch (ride->type)
|
||||
{
|
||||
case RIDE_TYPE_OBSERVATION_TOWER:
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y + 16, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 1, { vehicle->x + 16, vehicle->y, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 2, { vehicle->x - 16, vehicle->y, vehicle->z }, LightType::Spot3);
|
||||
LightfxAdd3DLight(*vehicle, 3, { vehicle->x, vehicle->y - 16, vehicle->z }, LightType::Spot3);
|
||||
break;
|
||||
case RIDE_TYPE_MINE_TRAIN_COASTER:
|
||||
case RIDE_TYPE_GHOST_TRAIN:
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
int16_t place_x = vehicle->x - offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
int16_t place_y = vehicle->y - offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 0, { place_x, place_y, vehicle->z }, LightType::Spot3);
|
||||
}
|
||||
break;
|
||||
case RIDE_TYPE_CHAIRLIFT:
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z - 16 }, LightType::Lantern2);
|
||||
break;
|
||||
case RIDE_TYPE_BOAT_HIRE:
|
||||
case RIDE_TYPE_CAR_RIDE:
|
||||
case RIDE_TYPE_MONSTER_TRUCKS:
|
||||
case RIDE_TYPE_GO_KARTS:
|
||||
case RIDE_TYPE_DODGEMS:
|
||||
case RIDE_TYPE_MINI_HELICOPTERS:
|
||||
case RIDE_TYPE_MONORAIL_CYCLES:
|
||||
case RIDE_TYPE_SUBMARINE_RIDE:
|
||||
case RIDE_TYPE_SPLASH_BOATS:
|
||||
case RIDE_TYPE_WATER_COASTER:
|
||||
{
|
||||
Vehicle* vehicle_draw = vehicle->TrainHead();
|
||||
auto* nextVeh = GetEntity<Vehicle>(vehicle_draw->next_vehicle_on_train);
|
||||
if (nextVeh != nullptr)
|
||||
{
|
||||
vehicle_draw = nextVeh;
|
||||
}
|
||||
int16_t place_x = vehicle_draw->x;
|
||||
int16_t place_y = vehicle_draw->y;
|
||||
place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32];
|
||||
place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32];
|
||||
LightfxAdd3DLight(*vehicle, 0, { place_x, place_y, vehicle_draw->z }, LightType::Spot2);
|
||||
place_x -= offsetLookup[(vehicle_draw->sprite_direction + 0) % 32];
|
||||
place_y -= offsetLookup[(vehicle_draw->sprite_direction + 8) % 32];
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle_draw->z }, LightType::Spot2);
|
||||
break;
|
||||
}
|
||||
case RIDE_TYPE_MONORAIL:
|
||||
{
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z + 12 }, LightType::Spot2);
|
||||
int16_t place_x = vehicle->x;
|
||||
int16_t place_y = vehicle->y;
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 3;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 3;
|
||||
LightfxAdd3DLight(*vehicle, 2, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
if (vehicle == vehicle->TrainTail())
|
||||
{
|
||||
place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 3, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x += offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y += offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 4, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RIDE_TYPE_MINIATURE_RAILWAY:
|
||||
if (vehicle == vehicle->TrainHead())
|
||||
{
|
||||
int16_t place_x = vehicle->x - offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
int16_t place_y = vehicle->y - offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 1, { place_x, place_y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
place_x -= offsetLookup[(vehicle->sprite_direction + 0) % 32] * 2;
|
||||
place_y -= offsetLookup[(vehicle->sprite_direction + 8) % 32] * 2;
|
||||
LightfxAdd3DLight(*vehicle, 2, { place_x, place_y, vehicle->z + 2 }, LightType::Lantern3);
|
||||
}
|
||||
else
|
||||
{
|
||||
LightfxAdd3DLight(*vehicle, 0, { vehicle->x, vehicle->y, vehicle->z + 10 }, LightType::Lantern3);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
const auto& rtd = GetRideTypeDescriptor(ride->type);
|
||||
if (rtd.LightFXAddLightsMagicVehicle != nullptr)
|
||||
rtd.LightFXAddLightsMagicVehicle(vehicle);
|
||||
}
|
||||
|
||||
void LightFxAddKioskLights(const CoordsXY& mapPosition, const int32_t height, const uint8_t zOffset)
|
||||
|
||||
@@ -63,7 +63,13 @@ void LightfxAdd3DLight(const EntityBase& entity, const uint8_t id, const CoordsX
|
||||
void lightfx_add_3d_light_magic_from_drawing_tile(
|
||||
const CoordsXY& mapPosition, int16_t offsetX, int16_t offsetY, int16_t offsetZ, LightType lightType);
|
||||
|
||||
void lightfx_add_lights_magic_vehicle(const Vehicle* vehicle);
|
||||
void LightfxAddLightsMagicVehicle(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_ObservationTower(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_MineTrainCoaster(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_ChairLift(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_BoatHire(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_Monorail(const Vehicle* vehicle);
|
||||
void LightFxAddLightsMagicVehicle_MiniatureRailway(const Vehicle* vehicle);
|
||||
|
||||
void LightFxAddKioskLights(const CoordsXY& mapPosition, const int32_t height, const uint8_t zOffset);
|
||||
void LightFxAddShopLights(const CoordsXY& mapPosition, const uint8_t direction, const int32_t height, const uint8_t zOffset);
|
||||
|
||||
@@ -119,7 +119,7 @@ void EntityPaintSetup(paint_session& session, const CoordsXY& pos)
|
||||
spr->As<Vehicle>()->Paint(session, image_direction);
|
||||
if (lightfx_for_vehicles_is_available())
|
||||
{
|
||||
lightfx_add_lights_magic_vehicle(spr->As<Vehicle>());
|
||||
LightfxAddLightsMagicVehicle(spr->As<Vehicle>());
|
||||
}
|
||||
break;
|
||||
case EntityType::Guest:
|
||||
|
||||
@@ -156,6 +156,8 @@ using RideTrackGroup = OpenRCT2::BitSet<TRACK_GROUP_COUNT>;
|
||||
using RideMusicUpdateFunction = void (*)(Ride*);
|
||||
using PeepUpdateRideLeaveEntranceFunc = void (*)(Guest*, Ride*, CoordsXYZD&);
|
||||
using StartRideMusicFunction = void (*)(const OpenRCT2::RideAudio::ViewportRideMusicInstance&);
|
||||
using LightFXAddLightsMagicVehicleFunction = void (*)(const Vehicle* vehicle);
|
||||
|
||||
struct RideTypeDescriptor
|
||||
{
|
||||
uint8_t AlternateType;
|
||||
@@ -203,6 +205,8 @@ struct RideTypeDescriptor
|
||||
|
||||
// json name lookup
|
||||
std::string_view Name;
|
||||
|
||||
LightFXAddLightsMagicVehicleFunction LightFXAddLightsMagicVehicle = nullptr;
|
||||
StartRideMusicFunction StartRideMusic = OpenRCT2::RideAudio::DefaultStartRideMusicChannel;
|
||||
|
||||
TrackDesignCreateMode DesignCreateMode = TrackDesignCreateMode::Default;
|
||||
@@ -403,6 +407,7 @@ constexpr const RideTypeDescriptor DummyRTD =
|
||||
SET_FIELD(ColourPreview, { static_cast<uint32_t>(SPR_NONE), static_cast<uint32_t>(SPR_NONE) }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "invalid"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -51,6 +51,5 @@ constexpr const RideTypeDescriptor HybridCoasterRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_HYBRID_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_HYBRID_COASTER_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "hybrid_rc"),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -52,5 +53,6 @@ constexpr const RideTypeDescriptor MineTrainCoasterRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINE_TRAIN_COASTER_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "mine_train_rc"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_MineTrainCoaster),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -53,5 +54,6 @@ constexpr const RideTypeDescriptor WaterCoasterRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_WATER_COASTER_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "water_coaster"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -57,5 +58,6 @@ constexpr const RideTypeDescriptor CarRideRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "car_ride"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -50,6 +50,7 @@ constexpr const RideTypeDescriptor CircusRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "circus"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::CircusStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, CircusMusicUpdate),
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -54,5 +55,6 @@ constexpr const RideTypeDescriptor DodgemsRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_DODGEMS_TRACK, SPR_RIDE_DESIGN_PREVIEW_DODGEMS_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "dodgems"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -58,5 +59,6 @@ constexpr const RideTypeDescriptor GhostTrainRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_TRACK, SPR_RIDE_DESIGN_PREVIEW_GHOST_TRAIN_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "ghost_train"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_MineTrainCoaster),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -52,6 +52,7 @@ constexpr const RideTypeDescriptor MazeRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "maze"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Maze),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -58,5 +59,6 @@ constexpr const RideTypeDescriptor MiniHelicoptersRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINI_HELICOPTERS_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "mini_helicopters"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -54,5 +55,6 @@ constexpr const RideTypeDescriptor MonorailCyclesRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_CYCLES_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "monorail_cycles"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
#include "../../Track.h"
|
||||
@@ -56,5 +57,6 @@ constexpr const RideTypeDescriptor MonsterTrucksRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_CAR_RIDE_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "monster_trucks"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -53,5 +54,6 @@ constexpr const RideTypeDescriptor ObservationTowerRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_TRACK, SPR_RIDE_DESIGN_PREVIEW_OBSERVATION_TOWER_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "observation_tower"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_ObservationTower),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -53,6 +53,7 @@ constexpr const RideTypeDescriptor SpiralSlideRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_SPIRAL_SLIDE_TRACK, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "spiral_slide"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -47,6 +47,7 @@ constexpr const RideTypeDescriptor CashMachineRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::CashMachine),
|
||||
SET_FIELD(Name, "cash_machine"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor DrinkStallRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Drink),
|
||||
SET_FIELD(Name, "drink_stall"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor FirstAidRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::FirstAid),
|
||||
SET_FIELD(Name, "first_aid"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor FoodStallRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Food),
|
||||
SET_FIELD(Name, "food_stall"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor InformationKioskRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::InfoKiosk),
|
||||
SET_FIELD(Name, "information_kiosk"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor ShopRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Shop),
|
||||
SET_FIELD(Name, "shop"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -48,6 +48,7 @@ constexpr const RideTypeDescriptor ToiletsRTD =
|
||||
SET_FIELD(ColourPreview, { 0, 0 }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Toilets),
|
||||
SET_FIELD(Name, "toilets"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, nullptr),
|
||||
SET_FIELD(StartRideMusic, OpenRCT2::RideAudio::DefaultStartRideMusicChannel),
|
||||
SET_FIELD(DesignCreateMode, TrackDesignCreateMode::Default),
|
||||
SET_FIELD(MusicUpdateFunction, DefaultMusicUpdate),
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -54,5 +55,6 @@ constexpr const RideTypeDescriptor GoKartsRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_TRACK, SPR_RIDE_DESIGN_PREVIEW_GO_KARTS_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "go_karts"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -55,5 +56,6 @@ constexpr const RideTypeDescriptor ChairliftRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_TRACK, SPR_RIDE_DESIGN_PREVIEW_CHAIRLIFT_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "chairlift"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_ChairLift),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -55,5 +56,6 @@ constexpr const RideTypeDescriptor MiniatureRailwayRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_TRACK, SPR_RIDE_DESIGN_PREVIEW_MINIATURE_RAILWAY_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "miniature_railway"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_MiniatureRailway),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -58,5 +59,6 @@ constexpr const RideTypeDescriptor MonorailRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_MONORAIL_TRACK, SPR_RIDE_DESIGN_PREVIEW_MONORAIL_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "monorail"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_Monorail),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -54,5 +55,6 @@ constexpr const RideTypeDescriptor BoatHireRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_BOAT_HIRE_TRACK, SPR_RIDE_DESIGN_PREVIEW_BOAT_HIRE_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "boat_hire"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -55,5 +56,6 @@ constexpr const RideTypeDescriptor SplashBoatsRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_TRACK, SPR_RIDE_DESIGN_PREVIEW_SPLASH_BOATS_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "splash_boats"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../../../drawing/LightFX.h"
|
||||
#include "../../../sprites.h"
|
||||
#include "../../RideData.h"
|
||||
#include "../../ShopItem.h"
|
||||
@@ -53,5 +54,6 @@ constexpr const RideTypeDescriptor SubmarineRideRTD =
|
||||
SET_FIELD(ColourPreview, { SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_TRACK, SPR_RIDE_DESIGN_PREVIEW_SUBMARINE_RIDE_SUPPORTS }),
|
||||
SET_FIELD(ColourKey, RideColourKey::Ride),
|
||||
SET_FIELD(Name, "submarine_ride"),
|
||||
SET_FIELD(LightFXAddLightsMagicVehicle, LightFxAddLightsMagicVehicle_BoatHire),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
Reference in New Issue
Block a user