Skip to content

Commit bcdbaca

Browse files
committed
Merge branch 'master-BF'
I adapted UPBGE version format following Blender format (i.e 0.3.0a -> 0.30.1) Additionally, I added UPBGE icon for About.
2 parents 3abec5f + ba71182 commit bcdbaca

File tree

100 files changed

+825
-776
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+825
-776
lines changed

build_files/buildbot/buildbot_utils.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,27 +78,26 @@ def __init__(self, builder):
7878
blender_h = os.path.join(builder.blender_dir, "source", "blender", "blenkernel", "BKE_blender_version.h")
7979

8080
version_number = int(self._parse_header_file(blender_h, 'BLENDER_VERSION'))
81-
self.version = "%d.%d" % (version_number // 100, version_number % 100)
82-
self.version_char = self._parse_header_file(blender_h, 'BLENDER_VERSION_CHAR')
81+
version_number_patch = int(self._parse_header_file(blender_h, 'BLENDER_VERSION_PATCH'))
82+
version_numbers = (version_number // 100, version_number % 100, version_number_patch)
83+
self.short_version = "%d.%02d" % (version_numbers[0], version_numbers[1])
84+
self.version = "%d.%02d.%d" % version_numbers
8385
self.version_cycle = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE')
8486
self.version_cycle_number = self._parse_header_file(blender_h, 'BLENDER_VERSION_CYCLE_NUMBER')
8587
self.hash = self._parse_header_file(buildinfo_h, 'BUILD_HASH')[1:-1]
8688

8789
if self.version_cycle == "release":
8890
# Final release
89-
self.full_version = self.version + self.version_char
91+
self.full_version = self.version
9092
self.is_development_build = False
9193
elif self.version_cycle == "rc":
9294
# Release candidate
9395
version_cycle = self.version_cycle + self.version_cycle_number
94-
if len(self.version_char) == 0:
95-
self.full_version = self.version + version_cycle
96-
else:
97-
self.full_version = self.version + self.version_char + '-' + version_cycle
96+
self.full_version = self.version + version_cycle
9897
self.is_development_build = False
9998
else:
10099
# Development build
101-
self.full_version = self.version + self.version_char + '-' + self.hash
100+
self.full_version = self.version + '-' + self.hash
102101
self.is_development_build = True
103102

104103
def _parse_header_file(self, filename, define):

build_files/buildbot/slave_pack.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def pack_linux(builder):
167167
buildbot_utils.call(builder.command_prefix + ['strip', '--strip-all', blender_executable])
168168

169169
print("Stripping python...")
170-
py_target = os.path.join(builder.install_dir, info.version)
170+
py_target = os.path.join(builder.install_dir, info.short_version)
171171
buildbot_utils.call(builder.command_prefix + ['find', py_target, '-iname', '*.so', '-exec', 'strip', '-s', '{}', ';'])
172172

173173
# Construct package name

build_files/cmake/macros.cmake

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -756,8 +756,7 @@ function(get_blender_version)
756756
# - BLENDER_VERSION (major.minor)
757757
# - BLENDER_VERSION_MAJOR
758758
# - BLENDER_VERSION_MINOR
759-
# - BLENDER_SUBVERSION (used for internal versioning mainly)
760-
# - BLENDER_VERSION_CHAR (a, b, c, ...or empty string)
759+
# - BLENDER_VERSION_PATCH
761760
# - BLENDER_VERSION_CYCLE (alpha, beta, rc, release)
762761

763762
# So cmake depends on BKE_blender.h, beware of inf-loops!
@@ -767,25 +766,15 @@ function(get_blender_version)
767766
file(STRINGS ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender_version.h _contents REGEX "^#define[ \t]+BLENDER_.*$")
768767

769768
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION[ \t]+([0-9]+).*" "\\1" _out_version "${_contents}")
770-
string(REGEX REPLACE ".*#define[ \t]+BLENDER_SUBVERSION[ \t]+([0-9]+).*" "\\1" _out_subversion "${_contents}")
771-
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CHAR[ \t]+([a-z]+).*" "\\1" _out_version_char "${_contents}")
769+
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_PATCH[ \t]+([0-9]+).*" "\\1" _out_version_patch "${_contents}")
772770
string(REGEX REPLACE ".*#define[ \t]+BLENDER_VERSION_CYCLE[ \t]+([a-z]+).*" "\\1" _out_version_cycle "${_contents}")
773771

774772
if(NOT ${_out_version} MATCHES "[0-9]+")
775773
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION")
776774
endif()
777775

778-
if(NOT ${_out_subversion} MATCHES "[0-9]+")
779-
message(FATAL_ERROR "Version parsing failed for BLENDER_SUBVERSION")
780-
endif()
781-
782-
# clumsy regex, only single char are ok but it could be unset
783-
784-
string(LENGTH "${_out_version_char}" _out_version_char_len)
785-
if(NOT _out_version_char_len EQUAL 1)
786-
set(_out_version_char "")
787-
elseif(NOT ${_out_version_char} MATCHES "[a-z]+")
788-
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_CHAR")
776+
if(NOT ${_out_version_patch} MATCHES "[0-9]+")
777+
message(FATAL_ERROR "Version parsing failed for BLENDER_VERSION_PATCH")
789778
endif()
790779

791780
if(NOT ${_out_version_cycle} MATCHES "[a-z]+")
@@ -795,23 +784,11 @@ function(get_blender_version)
795784
math(EXPR _out_version_major "${_out_version} / 100")
796785
math(EXPR _out_version_minor "${_out_version} % 100")
797786

798-
# for packaging, alpha to numbers
799-
string(COMPARE EQUAL "${_out_version_char}" "" _out_version_char_empty)
800-
if(${_out_version_char_empty})
801-
set(_out_version_char_index "0")
802-
else()
803-
set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z)
804-
list(FIND _char_ls ${_out_version_char} _out_version_char_index)
805-
math(EXPR _out_version_char_index "${_out_version_char_index} + 1")
806-
endif()
807-
808787
# output vars
809788
set(BLENDER_VERSION "${_out_version_major}.${_out_version_minor}" PARENT_SCOPE)
810789
set(BLENDER_VERSION_MAJOR "${_out_version_major}" PARENT_SCOPE)
811790
set(BLENDER_VERSION_MINOR "${_out_version_minor}" PARENT_SCOPE)
812-
set(BLENDER_SUBVERSION "${_out_subversion}" PARENT_SCOPE)
813-
set(BLENDER_VERSION_CHAR "${_out_version_char}" PARENT_SCOPE)
814-
set(BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index}" PARENT_SCOPE)
791+
set(BLENDER_VERSION_PATCH "${_out_version_patch}" PARENT_SCOPE)
815792
set(BLENDER_VERSION_CYCLE "${_out_version_cycle}" PARENT_SCOPE)
816793

817794
endfunction()

build_files/cmake/packaging.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ set(PROJECT_VENDOR "Blender Foundation")
77

88
set(MAJOR_VERSION ${BLENDER_VERSION_MAJOR})
99
set(MINOR_VERSION ${BLENDER_VERSION_MINOR})
10-
set(PATCH_VERSION ${BLENDER_VERSION_CHAR_INDEX})
10+
set(PATCH_VERSION ${BLENDER_VERSION_PATCH})
1111

1212
set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
1313
set(CPACK_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})

build_files/utils/make_source_archive.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@ BASE_DIR="$PWD"
77

88
blender_srcdir=$(dirname -- $0)/../..
99
blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
10-
blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
10+
blender_version_patch=$(grep "BLENDER_VERSION_PATCH\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
1111
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
12-
blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
1312

13+
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_version_patch
1414
if [ "$blender_version_cycle" = "release" ] ; then
15-
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)$blender_version_char
1615
SUBMODULE_EXCLUDE="^\(release/scripts/addons_contrib\)$"
1716
else
18-
VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)_$blender_subversion
17+
VERSION=$VERSION-$blender_version_cycle
1918
SUBMODULE_EXCLUDE="^$" # dummy regex
2019
fi
2120

doc/python_api/sphinx_doc_gen.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -403,32 +403,21 @@ def handle_args():
403403

404404
# -------------------------------BLENDER----------------------------------------
405405

406-
blender_version_strings = [str(v) for v in bpy.app.version]
407-
is_release = bpy.app.version_cycle in {"rc", "release"}
408-
409406
# converting bytes to strings, due to T30154
410407
BLENDER_REVISION = str(bpy.app.build_hash, 'utf_8')
411408

412-
if is_release:
413-
# '2.62a'
414-
BLENDER_VERSION_DOTS = ".".join(blender_version_strings[:2]) + bpy.app.version_char
415-
else:
416-
# '2.62.1'
417-
BLENDER_VERSION_DOTS = ".".join(blender_version_strings)
409+
# '2.83.0 Beta' or '2.83.0' or '2.83.1'
410+
BLENDER_VERSION_DOTS = bpy.app.version_string
418411

419412
if BLENDER_REVISION != "Unknown":
420-
# '2.62a SHA1' (release) or '2.62.1 SHA1' (non-release)
413+
# SHA1 Git hash
421414
BLENDER_VERSION_HASH = BLENDER_REVISION
422415
else:
423416
# Fallback: Should not be used
424417
BLENDER_VERSION_HASH = "Hash Unknown"
425418

426-
if is_release:
427-
# '2_62a_release'
428-
BLENDER_VERSION_PATH = "%s%s_release" % ("_".join(blender_version_strings[:2]), bpy.app.version_char)
429-
else:
430-
# '2_62_1'
431-
BLENDER_VERSION_PATH = "_".join(blender_version_strings)
419+
# '2_83'
420+
BLENDER_VERSION_PATH = "%d_%d" % (bpy.app.version[0], bpy.app.version[1])
432421

433422
# --------------------------DOWNLOADABLE FILES----------------------------------
434423

doc/python_api/sphinx_doc_gen.sh

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,10 @@ fi
3636
blender_srcdir=$(dirname -- $0)/../..
3737
blender_version_header="$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h"
3838
blender_version=$(grep "BLENDER_VERSION\s" "$blender_version_header" | awk '{print $3}')
39-
blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_version_header" | awk '{print $3}')
4039
blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_version_header" | awk '{print $3}')
41-
blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_version_header" | awk '{print $3}')
4240
unset blender_version_header
4341

44-
if [ "$blender_version_cycle" = "release" ] ; then
45-
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)$blender_version_char"_release"
46-
else
47-
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion
48-
fi
42+
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)
4943

5044
SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
5145

doc/python_api/sphinx_doc_update.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,10 @@ def main():
127127
" f.write('%d\\n' % is_release)\n"
128128
" f.write('%d\\n' % is_beta)\n"
129129
" f.write('%s\\n' % branch)\n"
130-
" f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char))\n"
131-
" f.write('%d.%d%s\\n' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
130+
" f.write('%d.%d\\n' % (bpy.app.version[0], bpy.app.version[1]))\n"
131+
" f.write('%d.%d\\n' % (bpy.app.version[0], bpy.app.version[1]))\n"
132132
" if (is_release or is_beta) else '%s\\n' % branch)\n"
133-
" f.write('%d_%d%s_release' % (bpy.app.version[0], bpy.app.version[1], bpy.app.version_char)\n"
134-
" if is_release else '%d_%d_%d' % bpy.app.version)\n"
133+
" f.write('%d_%d' % (bpy.app.version[0], bpy.app.version[1]))\n"
135134
)
136135
get_ver_cmd = (args.blender, "--background", "-noaudio", "--factory-startup", "--python-exit-code", "1",
137136
"--python-expr", getver_script, "--", getver_file)

intern/cycles/blender/blender_session.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,13 @@ void BlenderSession::create_session()
168168

169169
void BlenderSession::reset_session(BL::BlendData &b_data, BL::Depsgraph &b_depsgraph)
170170
{
171+
/* Update data, scene and depsgraph pointers. These can change after undo. */
171172
this->b_data = b_data;
172173
this->b_depsgraph = b_depsgraph;
173174
this->b_scene = b_depsgraph.scene_eval();
175+
if (sync) {
176+
sync->reset(this->b_data, this->b_scene);
177+
}
174178

175179
if (preview_osl) {
176180
PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");

intern/cycles/blender/blender_sync.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ BlenderSync::~BlenderSync()
7878
{
7979
}
8080

81+
void BlenderSync::reset(BL::BlendData &b_data, BL::Scene &b_scene)
82+
{
83+
/* Update data and scene pointers in case they change in session reset,
84+
* for example after undo. */
85+
this->b_data = b_data;
86+
this->b_scene = b_scene;
87+
}
88+
8189
/* Sync */
8290

8391
void BlenderSync::sync_recalc(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d)

0 commit comments

Comments
 (0)