Merge pull request #1726 from janisozaur/portability

Portability fixes
This commit is contained in:
Ted John 2015-08-04 18:47:47 +01:00
commit f4b530db70
6 changed files with 27 additions and 38 deletions

View File

@ -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++){

View File

@ -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;
}
}

View File

@ -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);
}
/**

View File

@ -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);

View File

@ -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;

View File

@ -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