diff --git a/src/interface/keyboard_shortcut.c b/src/interface/keyboard_shortcut.c index bd0cfdeaf2..e6ff26cb8e 100644 --- a/src/interface/keyboard_shortcut.c +++ b/src/interface/keyboard_shortcut.c @@ -403,6 +403,9 @@ static void shortcut_open_cheat_window() { rct_window *window; + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) != SCREEN_FLAGS_PLAYING) + return; + // Check if window is already open window = window_find_by_class(WC_CHEATS); if (window != NULL) { diff --git a/src/object_list.c b/src/object_list.c index 70b0b037b7..09cb0bcf1f 100644 --- a/src/object_list.c +++ b/src/object_list.c @@ -153,21 +153,23 @@ static int object_list_query_directory(int *outTotalFiles, uint64 *outTotalFileS // Enumerate through each object in the directory enumFileHandle = platform_enumerate_files_begin(RCT2_ADDRESS(RCT2_ADDRESS_OBJECT_DATA_PATH, char)); - if (enumFileHandle != INVALID_HANDLE) { - while (platform_enumerate_files_next(enumFileHandle, &enumFileInfo)) { - totalFiles++; - totalFileSize += enumFileInfo.size; - fileDateModifiedChecksum ^= - (uint32)(enumFileInfo.last_modified >> 32) ^ - (uint32)(enumFileInfo.last_modified & 0xFFFFFFFF); - fileDateModifiedChecksum = ror32(fileDateModifiedChecksum, 5); - } - platform_enumerate_files_end(enumFileHandle); + if (enumFileHandle == INVALID_HANDLE) + return 0; + + while (platform_enumerate_files_next(enumFileHandle, &enumFileInfo)) { + totalFiles++; + totalFileSize += enumFileInfo.size; + fileDateModifiedChecksum ^= + (uint32)(enumFileInfo.last_modified >> 32) ^ + (uint32)(enumFileInfo.last_modified & 0xFFFFFFFF); + fileDateModifiedChecksum = ror32(fileDateModifiedChecksum, 5); } + platform_enumerate_files_end(enumFileHandle); *outTotalFiles = totalFiles; *outTotalFileSize = totalFileSize; *outFileDateModifiedChecksum = fileDateModifiedChecksum; + return 1; } /** @@ -573,12 +575,12 @@ static uint32 install_object_entry(rct_object_entry* entry, rct_object_entry* in obj_string += 2; format_string(installed_entry_pointer, obj_string, 0); strcat(installed_entry_pointer, "\t ("); - strcat(installed_entry_pointer, language_get_string(RCT2_GLOBAL(0x00F42BBC, uint32))); + strcat(installed_entry_pointer, language_get_string((rct_string_id)RCT2_GLOBAL(0x00F42BBC, uint32))); strcat(installed_entry_pointer, ")"); while (*installed_entry_pointer++); } else{ - strcpy(installed_entry_pointer, language_get_string(RCT2_GLOBAL(0x00F42BBC, uint32))); + strcpy(installed_entry_pointer, language_get_string((rct_string_id)RCT2_GLOBAL(0x00F42BBC, uint32))); while (*installed_entry_pointer++); } *((uint32*)installed_entry_pointer) = RCT2_GLOBAL(0x009ADAF0, uint32) - 0xF26E; diff --git a/src/scenario.c b/src/scenario.c index 47a6de8f1d..9eef0e7590 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -819,6 +819,7 @@ int scenario_write_available_objects(FILE *file) // Free buffers free(dstBuffer); free(buffer); + return 1; } /**