From 5737193d81a15892f1807b13bf0a5da001c2e2e4 Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Wed, 30 Jun 2021 10:00:32 -0300 Subject: Fix bad versioning of snapping flags If the value of a macro has changed. We need to change all references to that macro in the versioning code. --- source/blender/blenloader/intern/versioning_260.c | 4 ++-- source/blender/blenloader/intern/versioning_280.c | 22 +++++++++++----------- source/blender/blenloader/intern/versioning_300.c | 1 + 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/source/blender/blenloader/intern/versioning_260.c b/source/blender/blenloader/intern/versioning_260.c index f2ad61f8674..1b8615f7893 100644 --- a/source/blender/blenloader/intern/versioning_260.c +++ b/source/blender/blenloader/intern/versioning_260.c @@ -2411,8 +2411,8 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain) } /* 'Increment' mode disabled for nodes, use true grid snapping instead */ - if (scene->toolsettings->snap_node_mode == SCE_SNAP_MODE_INCREMENT) { - scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID; + if (scene->toolsettings->snap_node_mode == 0) { /* SCE_SNAP_MODE_INCREMENT */ + scene->toolsettings->snap_node_mode = 8; /* SCE_SNAP_MODE_GRID */ } #ifdef WITH_FFMPEG diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index c6514edb417..ecd6ef78ff8 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -2436,41 +2436,41 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) { switch (scene->toolsettings->snap_mode) { case 0: - scene->toolsettings->snap_mode = SCE_SNAP_MODE_INCREMENT; + scene->toolsettings->snap_mode = (1 << 4); /* SCE_SNAP_MODE_INCREMENT */ break; case 1: - scene->toolsettings->snap_mode = SCE_SNAP_MODE_VERTEX; + scene->toolsettings->snap_mode = (1 << 0); /* SCE_SNAP_MODE_VERTEX */ break; case 2: - scene->toolsettings->snap_mode = SCE_SNAP_MODE_EDGE; + scene->toolsettings->snap_mode = (1 << 1); /* SCE_SNAP_MODE_EDGE */ break; case 3: - scene->toolsettings->snap_mode = SCE_SNAP_MODE_FACE; + scene->toolsettings->snap_mode = (1 << 2); /* SCE_SNAP_MODE_FACE */ break; case 4: - scene->toolsettings->snap_mode = SCE_SNAP_MODE_VOLUME; + scene->toolsettings->snap_mode = (1 << 3); /* SCE_SNAP_MODE_VOLUME */ break; } switch (scene->toolsettings->snap_node_mode) { case 5: - scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_NODE_X; + scene->toolsettings->snap_node_mode = (1 << 5); /* SCE_SNAP_MODE_NODE_X */ break; case 6: - scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_NODE_Y; + scene->toolsettings->snap_node_mode = (1 << 6); /* SCE_SNAP_MODE_NODE_Y */ break; case 7: - scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_NODE_X | SCE_SNAP_MODE_NODE_Y; + scene->toolsettings->snap_node_mode = (1 << 5) | (1 << 6); /* SCE_SNAP_MODE_NODE_X | SCE_SNAP_MODE_NODE_Y */ break; case 8: - scene->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID; + scene->toolsettings->snap_node_mode = (1 << 7); /* SCE_SNAP_MODE_GRID */ break; } switch (scene->toolsettings->snap_uv_mode) { case 0: - scene->toolsettings->snap_uv_mode = SCE_SNAP_MODE_INCREMENT; + scene->toolsettings->snap_uv_mode = (1 << 4); /* SCE_SNAP_MODE_INCREMENT */ break; case 1: - scene->toolsettings->snap_uv_mode = SCE_SNAP_MODE_VERTEX; + scene->toolsettings->snap_uv_mode = (1 << 0); /* SCE_SNAP_MODE_VERTEX */ break; } } diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c index b5220f49aa8..4272f32032d 100644 --- a/source/blender/blenloader/intern/versioning_300.c +++ b/source/blender/blenloader/intern/versioning_300.c @@ -441,6 +441,7 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain) short snap_uv_mode = tool_settings->snap_uv_mode; tool_settings->snap_mode &= ~((1 << 4) | (1 << 5) | (1 << 6)); tool_settings->snap_node_mode &= ~((1 << 5) | (1 << 6)); + tool_settings->snap_uv_mode &= ~(1 << 4); if (snap_mode & (1 << 4)) { tool_settings->snap_mode |= (1 << 6); /* SCE_SNAP_MODE_INCREMENT */ } -- cgit v1.2.3