Merge pull request #170 from Snapmaker/dev_2.3.0_alves

fix a crash caused by a consumables transparency issue.
This commit is contained in:
Alves
2026-02-28 14:03:58 +08:00
committed by GitHub

View File

@@ -3055,29 +3055,19 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping()
long long res = 0;
if ((oriclr.size() != 7 && oriclr.size() != 9) || oriclr[0] != '#') {
return -1;
return 0;
}
if (oriclr.size() == 7) {
for (int i = 1; i <= 6; ++i) {
if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) {
res += std::pow(16, i - 1) * (oriclr[7 - i] - '0');
} else {
res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10);
}
}
} else {
for (int i = 1; i <= 8; ++i) {
if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) {
res += std::pow(16, i - 1) * (oriclr[7 - i] - '0');
} else {
res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10);
}
}
auto colorSize = oriclr.size();//7 or 9
for (auto i = 1; i < colorSize; i++)
{
if (oriclr[colorSize - i] - '0' >= 0 && oriclr[colorSize - i] - '0' <= 9) {
res += std::pow(16, i - 1) * (oriclr[colorSize - i] - '0');
} else {
res += std::pow(16, i - 1) * (oriclr[colorSize - i] - 'A' + 10);
}
}
return res;
};