1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-25 15:54:31 +01:00

fix track design mirror and ride name

This commit is contained in:
Ted John
2016-05-01 19:41:48 +01:00
parent 02a979cad5
commit a19e5feadf
6 changed files with 54 additions and 37 deletions

View File

@@ -68,6 +68,8 @@ bool track_design_open(rct_track_td6 *td6, const utf8 *path)
} else {
track_design_open_from_buffer(td6, decoded, decodedLength);
free(decoded);
td6->name = track_design_get_name_from_path(path);
return true;
}
}
@@ -264,6 +266,15 @@ static bool td4_track_has_boosters(rct_track_td6* track_design, uint8* track_ele
return false;
}
void track_design_dispose(rct_track_td6 *td6)
{
if (td6 != NULL) {
free(td6->elements);
free(td6->name);
free(td6);
}
}
uint32 *sub_6AB49A(rct_object_entry* entry)
{
rct_object_entry* object_list_entry = object_list_find(entry);
@@ -1559,7 +1570,7 @@ money32 place_track_design(sint16 x, sint16 y, sint16 z, uint8 flags, uint8 *out
ride->vehicle_colours_extended[i] = td6->vehicle_additional_colour[i];
}
ride_set_name(rideIndex, RCT2_ADDRESS(0x009E3504, const char));
ride_set_name(rideIndex, td6->name);
gCommandExpenditureType = RCT_EXPENDITURE_TYPE_RIDE_CONSTRUCTION;
*outRideIndex = rideIndex;

View File

@@ -122,6 +122,8 @@ typedef struct {
rct_td6_track_element *track_elements;
rct_td6_entrance_element *entrance_elements;
rct_td6_scenery_element *scenery_elements;
utf8 *name;
} rct_track_td6;
typedef struct{
@@ -159,14 +161,11 @@ extern rct_track_td6 *gActiveTrackDesign;
extern money32 gTrackDesignCost;
extern uint8 gTrackDesignPlaceFlags;
// void track_load_list(ride_list_item item);
// rct_track_design *track_get_info(int index, uint8** preview);
rct_track_design *temp_track_get_info(char* path, uint8** preview);
// int track_rename(const char *text);
int track_delete();
void track_design_mirror();
void track_design_mirror(rct_track_td6 *td6);
bool track_design_open(rct_track_td6 *td6, const utf8 *path);
void draw_track_preview(rct_track_td6 *td6, uint8** preview);
void track_design_dispose(rct_track_td6 *td6);
int sub_6D01B3(rct_track_td6 *td6, uint8 bl, uint8 rideIndex, int x, int y, int z);
int install_track(char* source_path, char* dest_name);
@@ -179,6 +178,11 @@ utf8 *track_design_get_name_from_path(const utf8 *path);
void game_command_place_track_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp);
void game_command_place_maze_design(int* eax, int* ebx, int* ecx, int* edx, int* esi, int* edi, int* ebp);
///////////////////////////////////////////////////////////////////////////////
// Track design preview
///////////////////////////////////////////////////////////////////////////////
void draw_track_preview(rct_track_td6 *td6, uint8** preview);
///////////////////////////////////////////////////////////////////////////////
// Track design saving
///////////////////////////////////////////////////////////////////////////////