prepare track place and remove game commands

This commit is contained in:
IntelOrca 2015-06-27 17:53:28 +01:00
parent d45cf519e3
commit 457e7862b3
4 changed files with 39 additions and 9 deletions

View File

@ -909,8 +909,8 @@ static uint32 game_do_command_table[58] = {
0,
0x0066397F,
0,
0x006C511D,
0x006C5B69,
0,
0,
0,
0x006B3F0F,
0,
@ -972,8 +972,8 @@ static GAME_COMMAND_POINTER* new_game_command_table[58] = {
game_command_set_ride_appearance,
game_command_emptysub,
game_pause_toggle,
game_command_emptysub,
game_command_emptysub,
game_command_place_track,
game_command_remove_track,
game_load_or_quit,
game_command_emptysub,
game_command_demolish_ride,
@ -1016,7 +1016,7 @@ static GAME_COMMAND_POINTER* new_game_command_table[58] = {
game_command_remove_large_scenery,
game_command_set_current_loan,
game_command_set_research_funding,
game_command_place_track,
game_command_place_track_design,
game_command_start_campaign,
game_command_emptysub,
game_command_place_banner, // 50

View File

@ -561,6 +561,8 @@ enum {
STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP = 1460,
STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP = 1461,
STR_TOO_STEEP_FOR_LIFT_HILL = 1462,
STR_GUESTS = 1463,
STR_HELIX_UP_SMALL = 1464,
@ -688,6 +690,9 @@ enum {
STR_NUMBER_OF_SWINGS = 1769,
STR_NUMBER_OF_SWINGS_TIP = 1770,
STR_ONLY_ONE_ON_RIDE_PHOTO_PER_RIDE = 1773,
STR_ONLY_ONE_CABLE_LIFT_HILL_PER_RIDE = 1774,
STR_OFF = 1775,
STR_ON = 1776,
STR_MUSIC = 1777,
@ -1154,6 +1159,8 @@ enum {
STR_TOP_SECTION = 3069,
STR_SLOPE_TO_LEVEL = 3070,
STR_NOT_ALLOWED_TO_MODIFY_STATION = 3092,
// Cheats
STR_CHEAT_TITLE = 5217,
STR_CHEAT_TITLE_FINANCIAL = 5345,

View File

@ -20,23 +20,25 @@
#include "../addresses.h"
#include "../audio/audio.h"
#include "../cheats.h"
#include "../config.h"
#include "../game.h"
#include "../interface/viewport.h"
#include "../localisation/localisation.h"
#include "../management/finance.h"
#include "../platform/platform.h"
#include "../rct1.h"
#include "../util/sawyercoding.h"
#include "../util/util.h"
#include "../world/map_animation.h"
#include "../world/park.h"
#include "../world/scenery.h"
#include "../world/footpath.h"
#include "../windows/error.h"
#include "ride_ratings.h"
#include "ride.h"
#include "ride_ratings.h"
#include "track.h"
#include "track_data.h"
#include "../rct1.h"
/**
*
@ -3170,7 +3172,7 @@ int install_track(char* source_path, char* dest_name){
}
/* rct2: 0x006D13FE */
void game_command_place_track(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp){
void game_command_place_track_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp){
int x = *eax;
int y = *ecx;
int z = *edi;
@ -3439,3 +3441,21 @@ rct_preview_track *get_track_def_from_ride_index(int rideIndex, int trackType)
{
return get_track_def_from_ride(GET_RIDE(rideIndex), trackType);
}
/**
*
* rct2: 0x006C511D
*/
void game_command_place_track(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp)
{
RCT2_CALLFUNC_X(0x006C511D, eax, ebx, ecx, edx, esi, edi, ebp);
}
/**
*
* rct2: 0x006C5B69
*/
void game_command_remove_track(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp)
{
RCT2_CALLFUNC_X(0x006C5B69, eax, ebx, ecx, edx, esi, edi, ebp);
}

View File

@ -486,7 +486,7 @@ int sub_6D01B3(uint8 bl, uint8 rideIndex, int x, int y, int z);
int save_track_design(uint8 rideIndex);
int install_track(char* source_path, char* dest_name);
void window_track_list_format_name(char *dst, const char *src, char colour, char quotes);
void game_command_place_track(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp);
void game_command_place_track_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp);
void track_save_reset_scenery();
void track_save_select_nearby_scenery(int rideIndex);
@ -494,4 +494,7 @@ void track_save_select_nearby_scenery(int rideIndex);
rct_preview_track *get_track_def_from_ride(rct_ride *ride, int trackType);
rct_preview_track *get_track_def_from_ride_index(int rideIndex, int trackType);
void game_command_place_track(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp);
void game_command_remove_track(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp);
#endif