Source files are checked using a small utility in src/build-utils
This is done to prevent bugs in build and localization caused
by weird non-UTF-8 encodings interpreted by MSVC in terms of local codepages
rather than UTF-8.
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.
This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
This fixes a problem where old slicer having found newer incompatible bundle
would not report an incompatibility.
The installed index check was performed too early before
bundle compatibility check. This fix moves the installed index check
to the point where a bundle would've been update (as it should be).
Since the value inserted from the keyboard or clipboard is not updated under OSX,
we forcibly set the input value for SpinControl every time during editing.
Thus we can't set min control value bigger then 0.
Otherwise, it couldn't be possible to input from keyboard value less then min_val.
Upgraded build scripts for clang-cl and MinGW-w64
* clang-cl needs custom boost dependencies
* mingw needs the full deps rebuilt, see deps/deps-mingw
* Enabling full parallel support tree generation
Linear advance is reset by filament start gcode after a toolchange. However, not all moves to the wipe tower
end with a toolchange (brim, empty grid) and it would therefore disable linear advance until the next toolchange
This should solve https://github.com/prusa3d/PrusaSlicer/issues/2770
Changed messagebox text after changing extruder diameter with single extruder printers so it is more obvious why it shows
In case nozzle diameters differ and someone checks 'single_extruder_mm', PrusaSlicer asks whether all diameters should be unified. Answering NO did not undo the SEMM check. It does now.
The initial priming now does not assume anything about bed width and always uses the space it has
In case of circular beds it places the priming lines along the diameter
Custom beds are not supported (they are treated as circular with no extra checks whether it is sane)
Slight refactoring of the WipeTower class (constructor now gets reference to PrintConfig and not the individual values, same with set_extruder). This was legacy from times when the wipe tower was meant to be abstract and independent on the rest)
Calling a printf-like function without a format string will cause gcc to
emit a warhing and causes a build failure on distros which build
everything with -Werror=format-security.
Signed-off-by: Jason Tibbitts <j@tib.bs>
Reported in https://github.com/prusa3d/PrusaSlicer/issues/2752 and was a result of setting support contact z distance to negative value.
This lowered the maximum allowed print_z of the next layer, even though previous layer had object layers too, so the penalty from the contact z should not have been applied.
Fixed simply by rejecting the negative contact_z.
when parsing localized file names by the PlaceholderParser:
UTF8 characters were handled as chars, and the negative char values were
used as indices into 7bit long tables.
used for Perl unit / integration tests only. With this commit,
the code will be cleaner, but likely the unit tests will not run
on Windows, if installed in a localized path.