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);
|
format_string(log_msg, 256, STR_LOG_DEMOLISH_RIDE, args);
|
||||||
network_append_server_log(log_msg);
|
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)
|
else if (command == GAME_COMMAND_SET_PARK_OPEN)
|
||||||
{
|
{
|
||||||
// Log change in park open/close
|
// 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,
|
game_command_set_ride_status,
|
||||||
nullptr,
|
nullptr,
|
||||||
game_command_set_ride_name,
|
game_command_set_ride_name,
|
||||||
game_command_set_ride_setting,
|
nullptr,
|
||||||
game_command_place_ride_entrance_or_exit,
|
game_command_place_ride_entrance_or_exit,
|
||||||
game_command_remove_ride_entrance_or_exit,
|
game_command_remove_ride_entrance_or_exit,
|
||||||
nullptr,
|
nullptr,
|
||||||
|
|
|
@ -29,7 +29,7 @@ enum GAME_COMMAND
|
||||||
GAME_COMMAND_SET_RIDE_STATUS, // GA
|
GAME_COMMAND_SET_RIDE_STATUS, // GA
|
||||||
GAME_COMMAND_SET_RIDE_VEHICLES, // GA
|
GAME_COMMAND_SET_RIDE_VEHICLES, // GA
|
||||||
GAME_COMMAND_SET_RIDE_NAME, // 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_PLACE_RIDE_ENTRANCE_OR_EXIT,
|
||||||
GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT,
|
GAME_COMMAND_REMOVE_RIDE_ENTRANCE_OR_EXIT,
|
||||||
GAME_COMMAND_REMOVE_SCENERY, // GA
|
GAME_COMMAND_REMOVE_SCENERY, // GA
|
||||||
|
|
|
@ -4007,260 +4007,6 @@ void ride_music_update_final()
|
||||||
|
|
||||||
#pragma endregion
|
#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)
|
money32 set_operating_setting(ride_id_t rideId, RideSetSetting setting, uint8_t value)
|
||||||
{
|
{
|
||||||
auto rideSetSetting = RideSetSettingAction(rideId, setting, 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 ride_set_name(Ride* ride, const char* name, uint32_t flags);
|
||||||
void game_command_set_ride_name(
|
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);
|
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_refund_price(const Ride* ride);
|
||||||
int32_t ride_get_random_colour_preset_index(uint8_t ride_type);
|
int32_t ride_get_random_colour_preset_index(uint8_t ride_type);
|
||||||
void ride_set_colour_preset(Ride* ride, uint8_t index);
|
void ride_set_colour_preset(Ride* ride, uint8_t index);
|
||||||
|
|
Loading…
Reference in New Issue