Open
Description
Image *Get_Map_Preview_Image(Utf8String map_name)
{
if (g_theWriteableGlobalData == nullptr) {
return nullptr;
}
captainslog_debug("%s Map Name ", map_name.Str());
Utf8String map_image(map_name);
Utf8String image_file;
Utf8String image_name;
Utf8String str4;
map_image.Remove_Last_Char();
map_image.Remove_Last_Char();
map_image.Remove_Last_Char();
map_image.Remove_Last_Char();
image_file = map_image;
str4 = map_image.Reverse_Find('\\') + 1;
str4.Concat(".tga");
map_image.Concat(".tga");
Utf8String portable_map_path = g_theGameState->Real_To_Portable_Map_Path(image_file);
image_name.Set(Utf8String::s_emptyString);
for (int i = 0; i < portable_map_path.Get_Length(); i++) {
char c = portable_map_path.Get_Char(i);
if (c == '\\' || c == ':') {
image_name.Concat('_');
} else {
image_name.Concat(c);
}
}
image_file = image_name;
image_file.Concat(".tga");
Image *image = g_theMappedImageCollection->Find_Image_By_Name(image_name);
if (image == nullptr) {
if (!g_theFileSystem->Does_File_Exist(map_image.Str())) {
return nullptr;
}
Utf8String preview_image;
preview_image.Format("%sMapPreviews/", g_theWriteableGlobalData->Get_Path_User_Data().Str());
g_theFileSystem->Create_Directory(preview_image);
preview_image += image_file;
Copy_From_Big_To_Dir(map_image, preview_image);
image = new Image();
image->Set_Name(image_name);
image->Set_Filename(image_file);
image->Set_Status(0);
Region2D region;
region.hi.x = 1.0f;
region.hi.y = 1.0f;
region.lo.x = 0.0f;
region.lo.y = 0.0f;
image->Set_UV_Region(®ion);
image->Set_Texture_Height(128);
image->Set_Texture_Width(128);
g_theMappedImageCollection->Add_Image(image);
}
return image;
}
str4
is never used. Can be removed.