From 7afb7e2dfd1ae8a62499e371e6b0eda8b27fa429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 4 Aug 2015 00:57:51 +0200 Subject: [PATCH] Portability fixes --- src/cmdline_sprite.c | 8 ++++---- src/platform/shared.c | 2 +- src/rct1.c | 25 ++++++++++--------------- src/ride/track.c | 12 ++++++------ src/windows/loadsave.c | 10 +++++----- src/world/mapgen.c | 8 +------- 6 files changed, 27 insertions(+), 38 deletions(-) diff --git a/src/cmdline_sprite.c b/src/cmdline_sprite.c index 01990e7b9f..3d1c8497dd 100644 --- a/src/cmdline_sprite.c +++ b/src/cmdline_sprite.c @@ -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++){ diff --git a/src/platform/shared.c b/src/platform/shared.c index 053dc00040..cb5dadf239 100644 --- a/src/platform/shared.c +++ b/src/platform/shared.c @@ -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; -} \ No newline at end of file +} diff --git a/src/rct1.c b/src/rct1.c index 2b3eb628a3..21d30629db 100644 --- a/src/rct1.c +++ b/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); } /** diff --git a/src/ride/track.c b/src/ride/track.c index eaf7daf3e2..2bf1419714 100644 --- a/src/ride/track.c +++ b/src/ride/track.c @@ -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); diff --git a/src/windows/loadsave.c b/src/windows/loadsave.c index f5f3bcb00a..ca0ccc0315 100644 --- a/src/windows/loadsave.c +++ b/src/windows/loadsave.c @@ -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; diff --git a/src/world/mapgen.c b/src/world/mapgen.c index d6364dfd0c..ece85d5509 100644 --- a/src/world/mapgen.c +++ b/src/world/mapgen.c @@ -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 \ No newline at end of file +#pragma endregion