Relax minimum blender requirement, add constants to easily update blender version

This commit is contained in:
Phillip Stephens 2021-02-28 12:32:29 -08:00
parent f302c41ed7
commit cc6d977edc
2 changed files with 9 additions and 6 deletions

View File

@ -7,6 +7,8 @@ def _quitblender():
bpy.ops.wm.quit_blender() bpy.ops.wm.quit_blender()
quit() quit()
MIN_BLENDER_MAJOR = 2
MIN_BLENDER_MINOR = 83
# Extract pipe file descriptors from arguments # Extract pipe file descriptors from arguments
print('HECL Blender Launch', sys.argv) print('HECL Blender Launch', sys.argv)
if '--' not in sys.argv: if '--' not in sys.argv:
@ -57,9 +59,9 @@ class PathHasher:
read_str = readpipestr() read_str = readpipestr()
return int(read_str[0:8], 16) return int(read_str[0:8], 16)
# Ensure Blender 2.90+ is being used # Ensure Blender 2.83+ is being used
if bpy.app.version < (2, 90, 0): if bpy.app.version < (MIN_BLENDER_MAJOR, MIN_BLENDER_MINOR, 0):
writepipestr(b'NOT290') writepipestr(b'INVALIDBLENDERVER')
_quitblender() _quitblender()
# If there's a third argument, use it as the .zip path containing the addon # If there's a third argument, use it as the .zip path containing the addon

View File

@ -50,7 +50,7 @@ namespace hecl::blender {
static const uint32_t MinBlenderMajorSearch = 2; static const uint32_t MinBlenderMajorSearch = 2;
static const uint32_t MaxBlenderMajorSearch = 2; static const uint32_t MaxBlenderMajorSearch = 2;
static const uint32_t MinBlenderMinorSearch = 90; static const uint32_t MinBlenderMinorSearch = 83;
static const uint32_t MaxBlenderMinorSearch = 91; static const uint32_t MaxBlenderMinorSearch = 91;
logvisor::Module BlenderLog("hecl::blender::Connection"); logvisor::Module BlenderLog("hecl::blender::Connection");
@ -547,9 +547,10 @@ Connection::Connection(int verbosityLevel) {
else else
BlenderLog.report(logvisor::Fatal, FMT_STRING(_SYS_STR("Unable to find blender at '{}'")), DEFAULT_BLENDER_BIN); BlenderLog.report(logvisor::Fatal, FMT_STRING(_SYS_STR("Unable to find blender at '{}'")), DEFAULT_BLENDER_BIN);
#endif #endif
} else if (lineStr == "NOT290") { } else if (lineStr == "INVALIDBLENDERVER") {
_closePipe(); _closePipe();
BlenderLog.report(logvisor::Fatal, FMT_STRING(_SYS_STR("Installed blender version must be >= 2.90"))); BlenderLog.report(logvisor::Fatal, FMT_STRING(_SYS_STR("Installed blender version must be >= {}.{}")),
MinBlenderMajorSearch, MinBlenderMinorSearch);
} else if (lineStr == "NOADDON") { } else if (lineStr == "NOADDON") {
_closePipe(); _closePipe();
if (blenderAddonPath != _SYS_STR("SKIPINSTALL")) if (blenderAddonPath != _SYS_STR("SKIPINSTALL"))