diff --git a/src/openrct2/object/ImageTable.cpp b/src/openrct2/object/ImageTable.cpp index cf821576e6..92f0f06276 100644 --- a/src/openrct2/object/ImageTable.cpp +++ b/src/openrct2/object/ImageTable.cpp @@ -89,10 +89,10 @@ std::vector> ImageTable::ParseImages( } else if (String::StartsWith(s, "$CSG")) { - if (is_csg_loaded()) + auto range = ParseRange(s.substr(4)); + if (!range.empty()) { - auto range = ParseRange(s.substr(4)); - if (!range.empty()) + if (is_csg_loaded()) { for (auto i : range) { @@ -101,6 +101,16 @@ std::vector> ImageTable::ParseImages( [](uint32_t idx) -> const rct_g1_element* { return gfx_get_g1_element(idx); })); } } + else + { + std::string id(context->GetObjectIdentifier()); + log_warning("CSG not loaded inserting placeholder images for %s", id.c_str()); + result.resize(range.size()); + for (auto& res : result) + { + res = std::make_unique(); + } + } } } else if (String::StartsWith(s, "$G1"))