| 1480 | } |
| 1481 | |
| 1482 | uint32_t ModInstance::GetUploadValidity() { |
| 1483 | uint32_t status = 0; |
| 1484 | ModValidity val = GetValidity(); |
| 1485 | |
| 1486 | if (preview_images.size() > 0) { |
| 1487 | Path previewpath = FindFilePath(AssemblePath(path, preview_images[0]).c_str(), kAbsPath, true); |
| 1488 | if (previewpath.valid == false) { |
| 1489 | status |= k_UploadValidityInvalidPreviewImage; |
| 1490 | } |
| 1491 | |
| 1492 | // Check that the file isn't larger than 1MB (SI). Steam API limit for all preview files. |
| 1493 | if (GetFileSize(previewpath) > 1 * 1000 * 1000) { |
| 1494 | status |= k_UploadValidityOversizedPreviewImage; |
| 1495 | } |
| 1496 | } else { |
| 1497 | status |= k_UploadValidityMissingPreview; |
| 1498 | } |
| 1499 | |
| 1500 | Path thumbpath = FindFilePath(AssemblePath(path.c_str(), thumbnail.c_str()).c_str(), kAbsPath, true); |
| 1501 | if (thumbpath.valid == false) { |
| 1502 | status |= k_UploadValidityInvalidThumbnail; |
| 1503 | } |
| 1504 | |
| 1505 | Path modpath = FindFilePath(path.c_str(), kAbsPath, true); |
| 1506 | |
| 1507 | if (modpath.valid == false) { |
| 1508 | status |= k_UploadValidityInvalidModFolder; |
| 1509 | } |
| 1510 | |
| 1511 | if (val.Intersects(kValidityBrokenXml)) { |
| 1512 | status |= k_UploadValidityBrokenXml; |
| 1513 | } |
| 1514 | |
| 1515 | if (val.Intersects(kValidityIDInvalid)) { |
| 1516 | status |= k_UploadValidityInvalidID; |
| 1517 | } |
| 1518 | |
| 1519 | if (val.Intersects(kValidityInvalidVersion)) { |
| 1520 | status |= k_UploadValidityInvalidVersion; |
| 1521 | } |
| 1522 | |
| 1523 | if (val.Intersects(kValidityMissingReadRights)) { |
| 1524 | status |= k_UploadValidityMissingReadRights; |
| 1525 | } |
| 1526 | |
| 1527 | if (val.Intersects(kValidityMissingXml)) { |
| 1528 | status |= k_UploadValidityMissingXml; |
| 1529 | } |
| 1530 | |
| 1531 | ModValidity ignored = |
| 1532 | kValidityBrokenXml | kValidityIDInvalid | kValidityInvalidVersion | kValidityMissingReadRights | kValidityMissingXml; |
| 1533 | |
| 1534 | if ((val & ~ignored).Intersects(kValidityUploadSteamworksBlockingMask)) { |
| 1535 | status |= k_UploadValidityGenericValidityError; |
| 1536 | } |
| 1537 | |
| 1538 | return status; |
| 1539 | } |
no test coverage detected