diff --git a/build_files/windows/apply_tornavis_patches.cmd b/build_files/windows/apply_tornavis_patches.cmd
new file mode 100644
index 00000000000..16403caf20c
--- /dev/null
+++ b/build_files/windows/apply_tornavis_patches.cmd
@@ -0,0 +1,116 @@
+if "%GIT%" == "" (
+	echo Git not found, cannot apply patches.
+	goto ERR
+)
+
+if "%CURL%" == "" (
+	echo Curl not found, cannot download patches
+	goto ERR
+)
+
+set MB_0001=https://www.tornavis.org/mblender_patches/patches/mb-0001-operator-repeat.patch
+set MB_0002=https://www.tornavis.org/mblender_patches/patches/mb-0002-readme-file.patch
+set MB_0003=https://www.tornavis.org/mblender_patches/patches/mb-0003-mblender-make-target-windows.patch
+set MB_0004=https://www.tornavis.org/mblender_patches/patches/mb-0004-mblender-make-target-linux.patch
+set MB_0005=https://www.tornavis.org/mblender_patches/patches/mb-0005-splash-changes.patch
+set MB_0006=https://www.tornavis.org/mblender_patches/patches/mb-0006-allow-no-modal-transform.patch
+set MB_0007=https://www.tornavis.org/mblender_patches/patches/mb-0007-transform-flags.patch
+set MB_0008=https://www.tornavis.org/mblender_patches/patches/mb-0008-mblender-core.patch
+set MB_0009=https://www.tornavis.org/mblender_patches/patches/mb-0009-addon-menu-references.patch
+set MB_0010=https://www.tornavis.org/mblender_patches/patches/mb-0010-url-presets.patch
+set MB_0011=https://www.tornavis.org/mblender_patches/patches/mb-0011-operator-handlers.patch
+set MB_0012=https://www.tornavis.org/mblender_patches/patches/mb-0012-custom-splash.patch
+set MB_0013=https://www.tornavis.org/mblender_patches/patches/mb-0013-blender-top-bar.patch
+set MB_0013_BIN=https://www.tornavis.org/mblender_patches/patches/mb-0013-blender-top-bar.tar
+set MB_0014=https://www.tornavis.org/mblender_patches/patches/mb-0014-bpy-images.patch
+set MB_0015=https://www.tornavis.org/mblender_patches/patches/mb-0015-image-ui.patch
+set MB_0016=https://www.tornavis.org/mblender_patches/patches/mb-0016-create-object-with-custom-orientation.patch
+set MB_0017=https://www.tornavis.org/mblender_patches/patches/mb-0017-transform-orientation-origin.patch
+set MB_0018=https://www.tornavis.org/mblender_patches/patches/mb-0018-ucs.patch
+
+echo [APPLY] %MB_0001%
+"%CURL%" "%MB_0001%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] %MB_0002%
+"%CURL%" "%MB_0002%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+REM MB-0003 already applied
+
+echo [APPLY] "%MB_0004%
+"%CURL%" "%MB_0004%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY]"%MB_0005%
+"%CURL%" "%MB_0005%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0006%
+"%CURL%" "%MB_0006%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0007%
+"%CURL%" "%MB_0007%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0008%
+"%CURL%" "%MB_0008%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0009%
+"%CURL%" "%MB_0009%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0010%
+"%CURL%" "%MB_0010%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0011%
+"%CURL%" "%MB_0011%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0012%
+"%CURL%" "%MB_0012%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0013%
+"%CURL%" "%MB_0013%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [BINARY] %MB_0013_BIN%
+"%CURL%" "%MB_0013_BIN%" --ssl-no-revoke -o data.tar
+if errorlevel 1 goto ERR
+"%CMAKE%" -E tar xf data.tar
+if errorlevel 1 goto ERR
+del data.tar
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0014%
+"%CURL%" "%MB_0014%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0015%
+"%CURL%" "%MB_0015%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0016%
+"%CURL%" "%MB_0016%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0017%
+"%CURL%" "%MB_0017%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [APPLY] "%MB_0018%
+"%CURL%" "%MB_0018%" --ssl-no-revoke | "%GIT%" apply
+if errorlevel 1 goto ERR
+
+echo [OK] Now build blender as usually.
+
+:EOF
+exit /b 0
+
+:ERR
+echo [ERROR] Something went wrong!
+exit /b 1
diff --git a/build_files/windows/find_dependencies.cmd b/build_files/windows/find_dependencies.cmd
index 1dfb4847e1b..8970946c371 100644
--- a/build_files/windows/find_dependencies.cmd
+++ b/build_files/windows/find_dependencies.cmd
@@ -3,6 +3,7 @@ for %%X in (svn.exe) do (set SVN=%%~$PATH:X)
 for %%X in (cmake.exe) do (set CMAKE=%%~$PATH:X)
 for %%X in (ctest.exe) do (set CTEST=%%~$PATH:X)
 for %%X in (git.exe) do (set GIT=%%~$PATH:X)
+for %%X in (curl.exe) do (set CURL=%%~$PATH:X)
 REM For python, default on 310 but if that does not exist also check
 REM the 311, 312 and finally 39 folders to see if those are there, it checks
 REM this far ahead to ensure good lib folder compatibility in the future
diff --git a/build_files/windows/parse_arguments.cmd b/build_files/windows/parse_arguments.cmd
index a2ff4c1ff95..7a592618ec5 100644
--- a/build_files/windows/parse_arguments.cmd
+++ b/build_files/windows/parse_arguments.cmd
@@ -113,6 +113,13 @@ if NOT "%1" == "" (
 	) else if "%1" == "svnfix" (
 		set SVN_FIX=1
 		goto EOF
+	) else if "%1" == "tornavis-apply" (
+		set MB_PATCHES=1
+		goto EOF
+	) else if "%1" == "tornavis-lite" (
+		set TARGET=Lite
+		set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -C"%BLENDER_DIR%\build_files\cmake\config\blender_lite.cmake"
+		set BUILD_CMAKE_ARGS=%BUILD_CMAKE_ARGS% -DWITH_BOOST=On
 	) else (
 		echo Command "%1" unknown, aborting!
 		goto ERR
diff --git a/build_files/windows/show_help.cmd b/build_files/windows/show_help.cmd
index 00d5bd7a9a8..86b9785ebbc 100644
--- a/build_files/windows/show_help.cmd
+++ b/build_files/windows/show_help.cmd
@@ -6,6 +6,7 @@ echo - lite
 echo - headless
 echo - cycles
 echo - bpy
+echo - tornavis-lite ^(lite adding tornavis deps^)
 echo.
 echo Utilities ^(not associated with building^)
 echo - clean ^(Target must be set^)
@@ -15,6 +16,7 @@ echo - nobuild ^(only generate project files^)
 echo - showhash ^(Show git hashes of source tree^)
 echo - test ^(Run automated tests with ctest^)
 echo - format [path] ^(Format the source using clang-format, path is optional, requires python 3.x to be available^)
+echo - tornavis-apply ^(Apply all tornavis' patches^)
 echo.
 echo Configuration options
 echo - verbose ^(enable diagnostic output during configuration^)
diff --git a/make.bat b/make.bat
index 85a8ba95e70..f490687eeb1 100644
--- a/make.bat
+++ b/make.bat
@@ -16,6 +16,11 @@ if errorlevel 1 goto EOF
 call "%BLENDER_DIR%\build_files\windows\find_dependencies.cmd"
 if errorlevel 1 goto EOF
 
+if "%MB_PATCHES%" == "1" (
+	call "%BLENDER_DIR%\build_files\windows\apply_tornavis_patches.cmd"
+	goto EOF
+)
+
 REM if it is one of the convenience targets and BLENDER_BIN is set
 REM skip compiler detection
 if "%ICONS%%ICONS_GEOM%%DOC_PY%" == "1" (
diff --git a/source/blender/tornavis/patches/MB_0003.h b/source/blender/tornavis/patches/MB_0003.h
new file mode 100644
index 00000000000..ddf2a41c228
--- /dev/null
+++ b/source/blender/tornavis/patches/MB_0003.h
@@ -0,0 +1 @@
+/* Empty File */
