diff --git a/src/openrct2/game.c b/src/openrct2/game.c index f3c72911dc..582d3673a5 100644 --- a/src/openrct2/game.c +++ b/src/openrct2/game.c @@ -1043,10 +1043,10 @@ void game_autosave() rct2_time currentTime; platform_get_time_local(¤tTime); - utf8 timeName[34]; - snprintf(timeName, 34, "autosave_%d-%02d-%02d_%02d-%02d-%02d%s", - currentDate.year, currentDate.month, currentDate.day, currentTime.hour, currentTime.minute,currentTime.second, - fileExtension); + utf8 timeName[44]; + snprintf(timeName, sizeof(timeName), "autosave_%04u-%02u-%02u_%02u-%02u-%02u%s", + currentDate.year, currentDate.month, currentDate.day, currentTime.hour, + currentTime.minute, currentTime.second, fileExtension); limit_autosave_count(NUMBER_OF_AUTOSAVES_TO_KEEP); diff --git a/src/openrct2/platform/platform.h b/src/openrct2/platform/platform.h index 37badfd9dd..87843a2549 100644 --- a/src/openrct2/platform/platform.h +++ b/src/openrct2/platform/platform.h @@ -74,16 +74,16 @@ typedef struct file_info { } file_info; typedef struct rct2_date { - sint16 day; - sint16 month; + uint8 day; + uint8 month; sint16 year; - sint16 day_of_week; + uint8 day_of_week; } rct2_date; typedef struct rct2_time { - sint16 hour; - sint16 minute; - sint16 second; + uint8 hour; + uint8 minute; + uint8 second; } rct2_time; typedef struct openrct2_cursor { diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index f3f5d8b0d8..9c291d2236 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -482,7 +482,7 @@ private: // Check if there are spare entries available size_t maxEntries = (size_t)object_entry_group_counts[objectType]; - if (entries->GetCount() < maxEntries) + if (entries != nullptr && entries->GetCount() < maxEntries) { entries->GetOrAddEntry(objectName); }