mirror of https://github.com/OpenRCT2/OpenRCT2.git
commit
f4b530db70
|
@ -472,7 +472,7 @@ int cmdline_for_sprite(const char **argv, int argc)
|
|||
}
|
||||
|
||||
const char *spriteFilePath = argv[1];
|
||||
char outputPath[_MAX_PATH];
|
||||
char outputPath[MAX_PATH];
|
||||
|
||||
if (!sprite_file_open(spriteFilePath)) {
|
||||
fprintf(stderr, "Unable to open input sprite file.\n");
|
||||
|
@ -488,10 +488,10 @@ int cmdline_for_sprite(const char **argv, int argc)
|
|||
int maxIndex = (int)spriteFileHeader.num_entries;
|
||||
int numbers = (int)floor(log(maxIndex));
|
||||
|
||||
strncpy(outputPath, argv[2], _MAX_PATH);
|
||||
strncpy(outputPath, argv[2], MAX_PATH);
|
||||
int pathLen = strlen(outputPath);
|
||||
|
||||
if (pathLen >= _MAX_PATH - numbers - 5){
|
||||
if (pathLen >= MAX_PATH - numbers - 5){
|
||||
fprintf(stderr, "Path too long.\n");
|
||||
return -1;
|
||||
}
|
||||
|
@ -499,7 +499,7 @@ int cmdline_for_sprite(const char **argv, int argc)
|
|||
for (int x = 0; x < numbers; x++){
|
||||
outputPath[pathLen + x] = '0';
|
||||
}
|
||||
strncpy(outputPath + pathLen + numbers, ".png", _MAX_PATH);
|
||||
strncpy(outputPath + pathLen + numbers, ".png", MAX_PATH);
|
||||
|
||||
for (int spriteIndex = 0; spriteIndex < maxIndex; spriteIndex++){
|
||||
|
||||
|
|
|
@ -895,4 +895,4 @@ static void platform_refresh_screenbuffer(int width, int height, int pitch)
|
|||
RCT2_GLOBAL(RCT2_ADDRESS_DIRTY_BLOCK_HEIGHT, uint16) = 8;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_DIRTY_BLOCK_COLUMNS, uint32) = (width >> 6) + 1;
|
||||
RCT2_GLOBAL(RCT2_ADDRESS_DIRTY_BLOCK_ROWS, uint32) = (height >> 3) + 1;
|
||||
}
|
||||
}
|
||||
|
|
25
src/rct1.c
25
src/rct1.c
|
@ -64,11 +64,6 @@ static void rct1_fix_paths();
|
|||
static void rct1_fix_walls();
|
||||
static void sub_69E891();
|
||||
|
||||
static void read(void *dst, void *src, int length)
|
||||
{
|
||||
memcpy(dst, src, length);
|
||||
}
|
||||
|
||||
bool rct1_read_sc4(const char *path, rct1_s4 *s4)
|
||||
{
|
||||
char *buffer, *decodedBuffer;
|
||||
|
@ -134,15 +129,15 @@ void rct1_import_s4(rct1_s4 *s4)
|
|||
int i;
|
||||
rct_banner *banner;
|
||||
|
||||
read((void*)RCT2_ADDRESS_CURRENT_MONTH_YEAR, &s4->month, 16);
|
||||
memcpy((void*)RCT2_ADDRESS_CURRENT_MONTH_YEAR, &s4->month, 16);
|
||||
memset((void*)RCT2_ADDRESS_MAP_ELEMENTS, 0, 0x30000 * sizeof(rct_map_element));
|
||||
read((void*)RCT2_ADDRESS_MAP_ELEMENTS, s4->map_elements, sizeof(s4->map_elements));
|
||||
read((void*)0x010E63B8, &s4->unk_counter, 4 + sizeof(s4->sprites));
|
||||
memcpy((void*)RCT2_ADDRESS_MAP_ELEMENTS, s4->map_elements, sizeof(s4->map_elements));
|
||||
memcpy((void*)0x010E63B8, &s4->unk_counter, 4 + sizeof(s4->sprites));
|
||||
|
||||
for (i = 0; i < MAX_BANNERS; i++)
|
||||
gBanners[i].type = 255;
|
||||
|
||||
read((void*)0x013573BC, &s4->next_sprite_index, 12424);
|
||||
memcpy((void*)0x013573BC, &s4->next_sprite_index, 12424);
|
||||
|
||||
for (i = 0; i < MAX_BANNERS; i++) {
|
||||
banner = &gBanners[i];
|
||||
|
@ -150,10 +145,10 @@ void rct1_import_s4(rct1_s4 *s4)
|
|||
banner->string_idx = 778;
|
||||
}
|
||||
|
||||
read((void*)0x0135A8F4, &s4->string_table, 0x2F51C);
|
||||
memcpy((void*)0x0135A8F4, &s4->string_table, 0x2F51C);
|
||||
memset((void*)0x013CA672, 0, 204);
|
||||
read((void*)0x0138B580, &s4->map_animations, 0x258F2);
|
||||
read((void*)0x013C6A72, &s4->patrol_areas, sizeof(s4->patrol_areas));
|
||||
memcpy((void*)0x0138B580, &s4->map_animations, 0x258F2);
|
||||
memcpy((void*)0x013C6A72, &s4->patrol_areas, sizeof(s4->patrol_areas));
|
||||
|
||||
char *esi = (char*)0x13C6A72;
|
||||
char *edi = (char*)0x13B0E72;
|
||||
|
@ -178,9 +173,9 @@ void rct1_import_s4(rct1_s4 *s4)
|
|||
memset(edi, 0, 64); edi += 64;
|
||||
} while (--edx);
|
||||
|
||||
read((void*)0x013CA672, &s4->unk_1F42AA, 116);
|
||||
read((void*)0x013CA73A, &s4->unk_1F431E, 4);
|
||||
read((void*)0x013CA73E, &s4->unk_1F4322, 0x41EA);
|
||||
memcpy((void*)0x013CA672, &s4->unk_1F42AA, 116);
|
||||
memcpy((void*)0x013CA73A, &s4->unk_1F431E, 4);
|
||||
memcpy((void*)0x013CA73E, &s4->unk_1F4322, 0x41EA);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -470,7 +470,7 @@ void track_load_list(ride_list_item item)
|
|||
free(track_list_cache);
|
||||
}
|
||||
|
||||
static void read(void *dst, char **src, int length)
|
||||
static void copy(void *dst, char **src, int length)
|
||||
{
|
||||
memcpy(dst, *src, length);
|
||||
*src += length;
|
||||
|
@ -545,7 +545,7 @@ rct_track_td6* load_track_design(const char *path)
|
|||
// Clear top of track_design as this is not loaded from the td4 files
|
||||
memset(&track_design->track_spine_colour, 0, 67);
|
||||
// Read start of track_design
|
||||
read(track_design, &src, 32);
|
||||
copy(track_design, &src, 32);
|
||||
|
||||
uint8 version = track_design->version_and_colour_scheme >> 2;
|
||||
|
||||
|
@ -557,17 +557,17 @@ rct_track_td6* load_track_design(const char *path)
|
|||
// In td6 there are 32 sets of two byte vehicle colour specifiers
|
||||
// In td4 there are 12 sets so the remaining 20 need to be read.
|
||||
if (version == 2)
|
||||
read(&track_design->vehicle_colours[12], &src, 40);
|
||||
copy(&track_design->vehicle_colours[12], &src, 40);
|
||||
|
||||
read(&track_design->pad_48, &src, 24);
|
||||
copy(&track_design->pad_48, &src, 24);
|
||||
|
||||
// In td4 (version AA/CF) and td6 both start actual track data at 0xA3
|
||||
if (version > 0)
|
||||
read(&track_design->track_spine_colour, &src, version == 1 ? 140 : 67);
|
||||
copy(&track_design->track_spine_colour, &src, version == 1 ? 140 : 67);
|
||||
|
||||
uint8* track_elements = RCT2_ADDRESS(0x9D821B, uint8);
|
||||
// Read the actual track data.
|
||||
read(track_elements, &src, 24572);
|
||||
copy(track_elements, &src, 24572);
|
||||
|
||||
uint8* final_track_element_location = track_elements + 24572;
|
||||
free(decoded);
|
||||
|
|
|
@ -196,7 +196,7 @@ rct_window *window_loadsave_open(int type, char *defaultName)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
window_loadsave_populate_list(includeNewItem, TRUE, path, ".sv6");
|
||||
window_loadsave_populate_list(includeNewItem, true, path, ".sv6");
|
||||
break;
|
||||
case LOADSAVETYPE_LANDSCAPE:
|
||||
platform_get_user_directory(path, "landscape");
|
||||
|
@ -206,7 +206,7 @@ rct_window *window_loadsave_open(int type, char *defaultName)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
window_loadsave_populate_list(includeNewItem, TRUE, path, ".sc6");
|
||||
window_loadsave_populate_list(includeNewItem, true, path, ".sc6");
|
||||
break;
|
||||
case LOADSAVETYPE_SCENARIO:
|
||||
/*
|
||||
|
@ -225,7 +225,7 @@ rct_window *window_loadsave_open(int type, char *defaultName)
|
|||
if (ch != NULL)
|
||||
*ch = 0;
|
||||
|
||||
window_loadsave_populate_list(includeNewItem, TRUE, path, ".sc6");
|
||||
window_loadsave_populate_list(includeNewItem, true, path, ".sc6");
|
||||
break;
|
||||
case LOADSAVETYPE_TRACK:
|
||||
/*
|
||||
|
@ -244,7 +244,7 @@ rct_window *window_loadsave_open(int type, char *defaultName)
|
|||
if (ch != NULL)
|
||||
*ch = 0;
|
||||
|
||||
window_loadsave_populate_list(includeNewItem, TRUE, path, ".td?");
|
||||
window_loadsave_populate_list(includeNewItem, true, path, ".td?");
|
||||
break;
|
||||
}
|
||||
w->no_list_items = _listItemsCount;
|
||||
|
@ -376,7 +376,7 @@ static void window_loadsave_scrollmousedown(rct_window *w, int scrollIndex, int
|
|||
char directory[MAX_PATH];
|
||||
strncpy(directory, _listItems[selectedItem].path, sizeof(directory));
|
||||
|
||||
window_loadsave_populate_list(includeNewItem, TRUE, directory, _extension);
|
||||
window_loadsave_populate_list(includeNewItem, true, directory, _extension);
|
||||
window_init_scroll_widgets(w);
|
||||
|
||||
w->no_list_items = _listItemsCount;
|
||||
|
|
|
@ -737,12 +737,6 @@ static int fast_floor(float x)
|
|||
return (x > 0) ? ((int)x) : (((int)x) - 1);
|
||||
}
|
||||
|
||||
static int mod(int x, int m)
|
||||
{
|
||||
int a = x % m;
|
||||
return a < 0 ? a + m : a;
|
||||
}
|
||||
|
||||
static float grad(int hash, float x, float y)
|
||||
{
|
||||
int h = hash & 7; // Convert low 3 bits of hash code
|
||||
|
@ -772,4 +766,4 @@ static void mapgen_simplex(mapgen_settings *settings)
|
|||
}
|
||||
}
|
||||
|
||||
#pragma endregion
|
||||
#pragma endregion
|
||||
|
|
Loading…
Reference in New Issue