mirror of https://github.com/OpenRCT2/OpenRCT2.git
Remove references to game command
This commit is contained in:
parent
d01dfe44d5
commit
e1977d1a2f
|
@ -611,28 +611,6 @@ void game_log_multiplayer_command(int command, const int* eax, const int* ebx, c
|
|||
format_string(log_msg, 256, STR_LOG_DEMOLISH_RIDE, args);
|
||||
network_append_server_log(log_msg);
|
||||
}
|
||||
else if (command == GAME_COMMAND_SET_RIDE_SETTING)
|
||||
{
|
||||
// Get ride name
|
||||
int ride_index = *edx & 0xFF;
|
||||
Ride* ride = get_ride(ride_index);
|
||||
char ride_name[128];
|
||||
format_string(ride_name, 128, ride->name, &ride->name_arguments);
|
||||
|
||||
char* args[2] = {
|
||||
(char*)player_name,
|
||||
ride_name,
|
||||
};
|
||||
|
||||
switch (command)
|
||||
{
|
||||
case GAME_COMMAND_SET_RIDE_SETTING:
|
||||
format_string(log_msg, 256, STR_LOG_RIDE_SETTINGS, args);
|
||||
break;
|
||||
}
|
||||
|
||||
network_append_server_log(log_msg);
|
||||
}
|
||||
else if (command == GAME_COMMAND_SET_PARK_OPEN)
|
||||
{
|
||||
// Log change in park open/close
|
||||
|
@ -1293,7 +1271,7 @@ GAME_COMMAND_POINTER* new_game_command_table[GAME_COMMAND_COUNT] = {
|
|||
game_command_set_ride_status,
|
||||
nullptr,
|
||||
game_command_set_ride_name,
|
||||
game_command_set_ride_setting,
|
||||
nullptr,
|
||||
game_command_place_ride_entrance_or_exit,
|
||||
game_command_remove_ride_entrance_or_exit,
|
||||
nullptr,
|
||||
|
|
|
@ -29,7 +29,7 @@ enum GAME_COMMAND
|
|||
GAME_COMMAND_SET_RIDE_STATUS, // GA
|
||||
GAME_COMMAND_SET_RIDE_VEHICLES, // GA
|
||||
GAME_COMMAND_SET_RIDE_NAME, // GA
|
||||
GAME_COMMAND_SET_RIDE_SETTING,
|
||||
GAME_COMMAND_SET_RIDE_SETTING, // GA
|
||||
GAME_COMMAND_PLACE_RIDE_ENTRANCE_OR_EXIT,
|
||||
GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT,
|
||||
GAME_COMMAND_REMOVE_SCENERY, // GA
|
||||
|
|
|
@ -4007,260 +4007,6 @@ void ride_music_update_final()
|
|||
|
||||
#pragma endregion
|
||||
|
||||
static bool ride_is_mode_valid(Ride* ride, uint8_t mode)
|
||||
{
|
||||
const uint8_t* availableModes = ride_seek_available_modes(ride);
|
||||
|
||||
for (; *availableModes != 0xFF; availableModes++)
|
||||
{
|
||||
if (*availableModes == mode)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool ride_is_valid_lift_hill_speed(Ride* ride, int32_t speed)
|
||||
{
|
||||
int32_t minSpeed = gCheatsFastLiftHill ? 0 : RideLiftData[ride->type].minimum_speed;
|
||||
int32_t maxSpeed = gCheatsFastLiftHill ? 255 : RideLiftData[ride->type].maximum_speed;
|
||||
return speed >= minSpeed && speed <= maxSpeed;
|
||||
}
|
||||
|
||||
static bool ride_is_valid_num_circuits(int32_t numCircuits)
|
||||
{
|
||||
int32_t minNumCircuits = 1;
|
||||
int32_t maxNumCircuits = gCheatsFastLiftHill ? 255 : 20;
|
||||
return numCircuits >= minNumCircuits && numCircuits <= maxNumCircuits;
|
||||
}
|
||||
|
||||
static bool ride_is_valid_operation_option(Ride* ride, uint8_t value)
|
||||
{
|
||||
uint8_t minValue = RideProperties[ride->type].min_value;
|
||||
uint8_t maxValue = RideProperties[ride->type].max_value;
|
||||
if (gCheatsFastLiftHill)
|
||||
{
|
||||
minValue = 0;
|
||||
maxValue = 255;
|
||||
}
|
||||
|
||||
return value >= minValue && value <= maxValue;
|
||||
}
|
||||
|
||||
static money32 ride_set_setting(ride_id_t rideIndex, uint8_t setting, uint8_t value, uint8_t flags)
|
||||
{
|
||||
gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_RUNNING_COSTS;
|
||||
|
||||
Ride* ride = get_ride(rideIndex);
|
||||
if (ride == nullptr || ride->type == RIDE_TYPE_NULL)
|
||||
{
|
||||
log_warning("Invalid ride: #%u.", rideIndex);
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
switch (setting)
|
||||
{
|
||||
case RIDE_SETTING_MODE:
|
||||
if (ride->lifecycle_flags & RIDE_LIFECYCLE_BROKEN_DOWN)
|
||||
{
|
||||
gGameCommandErrorText = STR_HAS_BROKEN_DOWN_AND_REQUIRES_FIXING;
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (ride->status != RIDE_STATUS_CLOSED)
|
||||
{
|
||||
gGameCommandErrorText = STR_MUST_BE_CLOSED_FIRST;
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (!ride_is_mode_valid(ride, value))
|
||||
{
|
||||
log_warning("Invalid ride mode.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
invalidate_test_results(ride);
|
||||
ride_clear_for_construction(ride);
|
||||
ride_remove_peeps(ride);
|
||||
|
||||
ride->mode = value;
|
||||
ride_update_max_vehicles(ride);
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_DEPARTURE:
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->depart_flags = value;
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_MIN_WAITING_TIME:
|
||||
if (value > 250)
|
||||
{
|
||||
log_warning("Invalid minimum waiting time.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->min_waiting_time = value;
|
||||
ride->max_waiting_time = std::max(value, ride->max_waiting_time);
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_MAX_WAITING_TIME:
|
||||
if (value > 250)
|
||||
{
|
||||
log_warning("Invalid maximum waiting time.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->max_waiting_time = value;
|
||||
ride->min_waiting_time = std::min(value, ride->min_waiting_time);
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_OPERATION_OPTION:
|
||||
if (!ride_is_valid_operation_option(ride, value))
|
||||
{
|
||||
log_warning("Invalid operation option value.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
invalidate_test_results(ride);
|
||||
ride->operation_option = value;
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_INSPECTION_INTERVAL:
|
||||
if (value > RIDE_INSPECTION_NEVER)
|
||||
{
|
||||
log_warning("Invalid inspection interval.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (value == RIDE_INSPECTION_NEVER)
|
||||
{
|
||||
ride->lifecycle_flags &= ~RIDE_LIFECYCLE_DUE_INSPECTION;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->inspection_interval = value;
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_MUSIC:
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC;
|
||||
if (value)
|
||||
{
|
||||
ride->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_MUSIC_TYPE:
|
||||
if (value >= MUSIC_STYLE_COUNT)
|
||||
{
|
||||
log_warning("Invalid music style.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
if (value != ride->music)
|
||||
{
|
||||
ride->music = value;
|
||||
ride->music_tune_id = 0xFF;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_LIFT_HILL_SPEED:
|
||||
if (!ride_is_valid_lift_hill_speed(ride, value))
|
||||
{
|
||||
log_warning("Invalid lift hill speed.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
if (value != ride->lift_hill_speed)
|
||||
{
|
||||
ride->lift_hill_speed = value;
|
||||
invalidate_test_results(ride);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_NUM_CIRCUITS:
|
||||
if (ride->lifecycle_flags & RIDE_LIFECYCLE_CABLE_LIFT && value > 1)
|
||||
{
|
||||
gGameCommandErrorText = STR_MULTICIRCUIT_NOT_POSSIBLE_WITH_CABLE_LIFT_HILL;
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (!ride_is_valid_num_circuits(value))
|
||||
{
|
||||
log_warning("Invalid number of circuits.");
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
if (value != ride->num_circuits)
|
||||
{
|
||||
ride->num_circuits = value;
|
||||
invalidate_test_results(ride);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RIDE_SETTING_RIDE_TYPE:
|
||||
if (!gCheatsAllowArbitraryRideTypeChanges)
|
||||
{
|
||||
return MONEY32_UNDEFINED;
|
||||
}
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
ride->type = value;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (flags & GAME_COMMAND_FLAG_APPLY)
|
||||
{
|
||||
if (ride->overall_view.xy != RCT_XY8_UNDEFINED)
|
||||
{
|
||||
LocationXYZ16 coord;
|
||||
coord.x = ride->overall_view.x * 32 + 16;
|
||||
coord.y = ride->overall_view.y * 32 + 16;
|
||||
coord.z = tile_element_height(coord.x, coord.y);
|
||||
network_set_player_last_action_coord(network_get_player_index(game_command_playerid), coord);
|
||||
}
|
||||
|
||||
window_invalidate_by_number(WC_RIDE, rideIndex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* rct2: 0x006B5559
|
||||
*/
|
||||
void game_command_set_ride_setting(
|
||||
[[maybe_unused]] int32_t* eax, int32_t* ebx, [[maybe_unused]] int32_t* ecx, int32_t* edx, [[maybe_unused]] int32_t* esi,
|
||||
[[maybe_unused]] int32_t* edi, [[maybe_unused]] int32_t* ebp)
|
||||
{
|
||||
ride_id_t rideIndex = *edx & 0xFF;
|
||||
uint8_t setting = (*edx >> 8) & 0xFF;
|
||||
uint8_t newValue = (*ebx >> 8) & 0xFF;
|
||||
uint8_t flags = *ebx & 0xFF;
|
||||
*ebx = ride_set_setting(rideIndex, setting, newValue, flags);
|
||||
}
|
||||
|
||||
money32 set_operating_setting(ride_id_t rideId, RideSetSetting setting, uint8_t value)
|
||||
{
|
||||
auto rideSetSetting = RideSetSettingAction(rideId, setting, value);
|
||||
|
|
|
@ -1051,8 +1051,6 @@ void game_command_set_ride_status(
|
|||
void ride_set_name(Ride* ride, const char* name, uint32_t flags);
|
||||
void game_command_set_ride_name(
|
||||
int32_t* eax, int32_t* ebx, int32_t* ecx, int32_t* edx, int32_t* esi, int32_t* edi, int32_t* ebp);
|
||||
void game_command_set_ride_setting(
|
||||
int32_t* eax, int32_t* ebx, int32_t* ecx, int32_t* edx, int32_t* esi, int32_t* edi, int32_t* ebp);
|
||||
int32_t ride_get_refund_price(const Ride* ride);
|
||||
int32_t ride_get_random_colour_preset_index(uint8_t ride_type);
|
||||
void ride_set_colour_preset(Ride* ride, uint8_t index);
|
||||
|
|
Loading…
Reference in New Issue