diff --git a/Build/Builder.exe.config b/Build/Builder.exe.config
deleted file mode 100755
index de20aa9a95e8baba3e5f25012cf3038c3d5bd455..0000000000000000000000000000000000000000
--- a/Build/Builder.exe.config
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<configuration>
-  <startup useLegacyV2RuntimeActivationPolicy="true">
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
-  </startup>
-  <runtime>
-    <loadFromRemoteSources enabled="true"/>
-  </runtime>
-  <dllmap dll="devil.dll" target="libIL.so.1" os="linux" />
-</configuration>
diff --git a/Build/Setup/dxwebsetup.exe b/Build/Setup/dxwebsetup.exe
deleted file mode 100755
index c15749ed7506f2c363d810b12e11d7e9a708a95d..0000000000000000000000000000000000000000
Binary files a/Build/Setup/dxwebsetup.exe and /dev/null differ
diff --git a/Build/Updater.exe b/Build/Updater.exe
index 731e3c9d314a2b355bd77bd4850b472cbd650ff7..eee943d65b30e098df96d15fd9ec9c3b1667ac39 100755
Binary files a/Build/Updater.exe and b/Build/Updater.exe differ
diff --git a/Make Release.bat b/Make Release.bat
deleted file mode 100755
index 3e1d7099718203e9b0351924b079df993f0ee661..0000000000000000000000000000000000000000
--- a/Make Release.bat	
+++ /dev/null
@@ -1,216 +0,0 @@
-@ECHO OFF
-
-ECHO.
-ECHO.     This build script requires the following software to be installed:
-ECHO.       - Git command-line client
-ECHO.       - Microsoft Visual Studio 2008 or newer
-ECHO.       - Microsoft HTML Help compiler
-ECHO.       - Inno Setup 5
-ECHO.
-ECHO.     You have to commit your work before using this script.
-ECHO.     Results will be in the 'Release' directory. Anything currently in
-ECHO.     the 'Release' directory may be overwritten.
-ECHO.
-ECHO.
-
-SET STUDIODIR=c:\Program Files (x86)\Microsoft Visual Studio 14.0
-SET HHWDIR=c:\Program Files (x86)\HTML Help Workshop
-SET ISSDIR=c:\Program Files (x86)\Inno Setup 5
-
-CALL "%STUDIODIR%\Common7\Tools\vsvars32.bat"
-
-MKDIR "Release"
-
-git.exe checkout "Source/Core/Properties/AssemblyInfo.cs" > NUL
-git.exe checkout "Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs" > NUL
-
-ECHO.
-ECHO Writing GIT log file...
-ECHO.
-IF EXIST "Release\Changelog.xml" DEL /F /Q "Release\Changelog.xml" > NUL
-(
-echo [OB]?xml version="1.0" encoding="UTF-8"?[CB]
-echo [OB]log[CB]
-git.exe log master --since=2012-04-17 --pretty=format:"[OB]logentry commit=\"%%h\"[CB]%%n[OB]author[CB]%%an[OB]/author[CB]%%n[OB]date[CB]%%aI[OB]/date[CB]%%n[OB]msg[CB]%%B[OB]/msg[CB]%%n[OB]/logentry[CB]"
-echo [OB]/log[CB]
-) >"Release\Changelog.xml"
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Release\Changelog.xml" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling HTML Help file...
-ECHO.
-IF EXIST "Build\Refmanual.chm" DEL /F /Q "Build\Refmanual.chm" > NUL
-"%HHWDIR%\hhc" Help\Refmanual.hhp
-IF %ERRORLEVEL% NEQ 1 GOTO ERRORFAIL
-IF NOT EXIST "Build\Refmanual.chm" GOTO FILEFAIL
-
-ECHO.
-ECHO Looking up current repository revision numbers...
-ECHO.
-IF EXIST "setenv.bat" DEL /F /Q "setenv.bat" > NUL
-VersionFromGIT.exe "Source\Core\Properties\AssemblyInfo.cs" "Source\Plugins\BuilderModes\Properties\AssemblyInfo.cs" -O "setenv.bat"
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "setenv.bat" GOTO FILEFAIL
-
-CALL "setenv.bat"
-DEL /F /Q "setenv.bat"
-
-ECHO.
-ECHO Compiling GZDoom Builder core...
-ECHO.
-IF EXIST "Build\Builder.exe" DEL /F /Q "Build\Builder.exe" > NUL
-IF EXIST "Source\Core\obj" RD /S /Q "Source\Core\obj"
-msbuild "Source\Core\Builder.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Builder.exe" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Automap Mode plugin...
-ECHO.
-IF EXIST "Build\Plugins\AutomapMode.dll" DEL /F /Q "Build\Plugins\AutomapMode.dll" > NUL
-IF EXIST "Source\Plugins\AutomapMode\obj" RD /S /Q "Source\Plugins\AutomapMode\obj"
-msbuild "Source\Plugins\AutomapMode\AutomapMode.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\AutomapMode.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Builder Effects plugin...
-ECHO.
-IF EXIST "Build\Plugins\BuilderEffects.dll" DEL /F /Q "Build\Plugins\BuilderEffects.dll" > NUL
-IF EXIST "Source\Plugins\BuilderEffects\obj" RD /S /Q "Source\Plugins\BuilderEffects\obj"
-msbuild "Source\Plugins\BuilderEffects\BuilderEffects.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\BuilderEffects.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Builder Modes plugin...
-ECHO.
-IF EXIST "Build\Plugins\BuilderModes.dll" DEL /F /Q "Build\Plugins\BuilderModes.dll" > NUL
-IF EXIST "Source\Plugins\BuilderModes\obj" RD /S /Q "Source\Plugins\BuilderModes\obj"
-msbuild "Source\Plugins\BuilderModes\BuilderModes.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\BuilderModes.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Color Picker plugin...
-ECHO.
-IF EXIST "Build\Plugins\ColorPicker.dll" DEL /F /Q "Build\Plugins\ColorPicker.dll" > NUL
-IF EXIST "Source\Plugins\ColorPicker\obj" RD /S /Q "Source\Plugins\ColorPicker\obj"
-msbuild "Source\Plugins\ColorPicker\ColorPicker.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\ColorPicker.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Comments Panel plugin...
-ECHO.
-IF EXIST "Build\Plugins\CommentsPanel.dll" DEL /F /Q "Build\Plugins\CommentsPanel.dll" > NUL
-IF EXIST "Source\Plugins\CommentsPanel\obj" RD /S /Q "Source\Plugins\CommentsPanel\obj"
-msbuild "Source\Plugins\CommentsPanel\CommentsPanel.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\CommentsPanel.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Nodes Viewer plugin...
-ECHO.
-IF EXIST "Build\Plugins\NodesViewer.dll" DEL /F /Q "Build\Plugins\NodesViewer.dll" > NUL
-IF EXIST "Source\Plugins\NodesViewer\obj" RD /S /Q "Source\Plugins\NodesViewer\obj"
-msbuild "Source\Plugins\NodesViewer\NodesViewer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\NodesViewer.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Sound Propagation Mode plugin...
-ECHO.
-IF EXIST "Build\Plugins\SoundPropagationMode.dll" DEL /F /Q "Build\Plugins\SoundPropagationMode.dll" > NUL
-IF EXIST "Source\Plugins\SoundPropagationMode\obj" RD /S /Q "Source\Plugins\SoundPropagationMode\obj"
-msbuild "Source\Plugins\SoundPropagationMode\SoundPropagation.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\SoundPropagationMode.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Stair Sector Builder plugin...
-ECHO.
-IF EXIST "Build\Plugins\StairSectorBuilder.dll" DEL /F /Q "Build\Plugins\StairSectorBuilder.dll" > NUL
-IF EXIST "Source\Plugins\StairSectorBuilder\obj" RD /S /Q "Source\Plugins\StairSectorBuilder\obj"
-msbuild "Source\Plugins\StairSectorBuilder\StairSectorBuilder.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\StairSectorBuilder.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Tag Explorer plugin...
-ECHO.
-IF EXIST "Build\Plugins\TagExplorer.dll" DEL /F /Q "Build\Plugins\TagExplorer.dll" > NUL
-IF EXIST "Source\Plugins\TagExplorer\obj" RD /S /Q "Source\Plugins\TagExplorer\obj"
-msbuild "Source\Plugins\TagExplorer\TagExplorer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\TagExplorer.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Tag Range plugin...
-ECHO.
-IF EXIST "Build\Plugins\TagRange.dll" DEL /F /Q "Build\Plugins\TagRange.dll" > NUL
-IF EXIST "Source\Plugins\TagRange\obj" RD /S /Q "Source\Plugins\TagRange\obj"
-msbuild "Source\Plugins\TagRange\TagRange.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\TagRange.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Compiling Visplane Explorer plugin...
-ECHO.
-IF EXIST "Build\Plugins\VisplaneExplorer.dll" DEL /F /Q "Build\Plugins\VisplaneExplorer.dll" > NUL
-IF EXIST "Source\Plugins\VisplaneExplorer\obj" RD /S /Q "Source\Plugins\VisplaneExplorer\obj"
-msbuild "Source\Plugins\VisplaneExplorer\VisplaneExplorer.csproj" /t:Rebuild /p:Configuration=Release /p:Platform=x86 /v:minimal
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
-
-ECHO.
-ECHO Creating changelog...
-ECHO.
-ChangelogMaker.exe "Release\Changelog.xml" "Build" "m-x-d>MaxED" %REVISIONNUMBER%
-IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL
-
-ECHO.
-ECHO Building Setup Installer...
-ECHO.
-IF EXIST "Release\*.exe" DEL /F /Q "Release\*.exe" > NUL
-"%ISSDIR%\iscc.exe" "Setup\gzbuilder_setup.iss"
-IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "Release\GZDB-Bugfix Setup.exe" GOTO FILEFAIL
-
-REN "Release\GZDB-Bugfix Setup.exe" "GZDB-Bugfix R%REVISIONNUMBER% Setup.exe"
-
-git.exe checkout "Source\Core\Properties\AssemblyInfo.cs" > NUL
-git.exe checkout "Source\Plugins\BuilderModes\Properties\AssemblyInfo.cs" > NUL
-
-ECHO.
-ECHO.     BUILD DONE !
-ECHO.
-ECHO.     Revision:  %REVISIONNUMBER%
-ECHO.
-PAUSE > NUL
-GOTO LEAVE
-
-:ERRORFAIL
-ECHO.
-ECHO.     BUILD FAILED (Tool returned error  %ERRORLEVEL%)
-ECHO.
-PAUSE > NUL
-GOTO LEAVE
-
-:FILEFAIL
-ECHO.
-ECHO.     BUILD FAILED (Output file was not built)
-ECHO.
-PAUSE > NUL
-GOTO LEAVE
-
-:LOGFAIL
-ECHO.
-ECHO.     CHANGELOG GENERATION FAILED (Tool returned error %ERRORLEVEL%)
-ECHO.
-PAUSE > NUL
-GOTO LEAVE
-
-:LEAVE
-exit
\ No newline at end of file
diff --git a/README.md b/README.md
index 9beab06cea3d8b8ea98a6e873e34e918b595516f..1b0e65a1a18b2de134a943585c10f8349763fbbe 100755
--- a/README.md
+++ b/README.md
@@ -5,15 +5,10 @@
 
 **Required software:**
 - [Microsoft .Net Framework 4.6.1](https://www.microsoft.com/en-ca/download/details.aspx?id=49981)
-- [DirectX 9.0 Runtime](https://www.microsoft.com/en-us/download/details.aspx?id=35&44F86079-8679-400C-BFF2-9CA5F2BCBDFC=1)
 
 **Links:**
-- [Official thread at ZDoom.org](http://forum.zdoom.org/viewtopic.php?f=3&t=32392) 
-- [Unofficial thread at iddqd.ru](http://i.iddqd.ru/viewtopic.php?t=522) (in russian)
-
-**This fork:**
-- [Official thread link](https://forum.zdoom.org/viewtopic.php?f=44&t=54957)
-- [Git builds at DRDTeam.org](http://devbuilds.drdteam.org/gzdbbf/) 
+- [Official thread link](https://forum.zdoom.org/viewtopic.php?f=232&t=66745)
+- [Git builds at DRDTeam.org](https://devbuilds.drdteam.org/ultimatedoombuilder/) 
 
 More detailed info can be found in the **editor documentation** (Refmanual.chm)
 
diff --git a/Setup/WizModernImage-IS.bmp b/Setup/WizModernImage-IS.bmp
index 4ad634dd129318e61f04a56ceacf2392024808be..61c19181768e1aef83bc5f06b680d02ee8804977 100755
Binary files a/Setup/WizModernImage-IS.bmp and b/Setup/WizModernImage-IS.bmp differ
diff --git a/Setup/WizModernSmallImage-IS.bmp b/Setup/WizModernSmallImage-IS.bmp
index abcaa5d84da7dd73e71eada06d5365b8b282bad9..8c9eba9924f0744687e46a64396c48a9d36c9dc3 100755
Binary files a/Setup/WizModernSmallImage-IS.bmp and b/Setup/WizModernSmallImage-IS.bmp differ
diff --git a/Setup/gzbuilder_setup.iss b/Setup/gzbuilder_setup.iss
index 6d4bc0c79356f60f9127dca220e9ec72714924f4..39431b4810c608395a0dcb81c4b4f3f412ed3478 100755
--- a/Setup/gzbuilder_setup.iss
+++ b/Setup/gzbuilder_setup.iss
@@ -2,18 +2,18 @@
 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
 [Setup]
-AppName=GZDoom Builder
-AppVerName=GZDoom Builder 2.4
-AppPublisher=MaxED
+AppName=Ultimate Doom Builder
+AppVerName=Ultimate Doom Builder
+AppPublisher=ZZYZX
 AppPublisherURL=http://forum.zdoom.org/memberlist.php?mode=viewprofile&u=7012
 AppSupportURL=http://forum.zdoom.org/viewtopic.php?f=3&t=32392
 AppUpdatesURL=http://devbuilds.drdteam.org/doombuilder2-gzdb/
 DefaultDirName={pf}\GZDoom Builder
 DefaultGroupName=GZDoom Builder
 AllowNoIcons=true
-InfoBeforeFile=..\LICENSE.txt
+LicenseFile=..\LICENSE.txt
 OutputDir=..\Release
-OutputBaseFilename=GZDB-Bugfix Setup
+OutputBaseFilename=Setup
 Compression=lzma/ultra64
 SolidCompression=true
 SourceDir=..\Build
@@ -22,7 +22,7 @@ AppMutex=gzdoombuilder
 PrivilegesRequired=admin
 ShowLanguageDialog=no
 LanguageDetectionMethod=none
-MinVersion=0,5.01.2600
+MinVersion=0,6.0
 UninstallDisplayIcon={app}\Updater.exe
 WizardImageFile=..\Setup\WizModernImage-IS.bmp
 WizardSmallImageFile=..\Setup\WizModernSmallImage-IS.bmp
@@ -35,7 +35,6 @@ Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:Ad
 
 [Files]
 Source: Setup\dotnetfx35setup.exe; DestDir: {tmp}; Flags: dontcopy
-Source: Setup\dxwebsetup.exe; DestDir: {tmp}; Flags: dontcopy
 Source: Setup\vcredist_x86.exe; DestDir: {tmp}; Flags: dontcopy
 Source: Builder.exe; DestDir: {app}; Flags: ignoreversion
 Source: GZBuilder.default.cfg; DestDir: {app}; Flags: ignoreversion
@@ -43,9 +42,8 @@ Source: Updater.exe; DestDir: {app}; Flags: ignoreversion
 Source: Updater.ini; DestDir: {app}; Flags: ignoreversion
 Source: Refmanual.chm; DestDir: {app}; Flags: ignoreversion
 Source: DevIL.dll; DestDir: {app}; Flags: ignoreversion
-Source: SharpCompress.3.5.dll; DestDir: {app}; Flags: ignoreversion
-Source: ScintillaNET.3.5.dll; DestDir: {app}; Flags: ignoreversion
-Source: SlimDX.dll; DestDir: {app}; Flags: ignoreversion
+Source: SharpCompress.dll; DestDir: {app}; Flags: ignoreversion
+Source: ScintillaNET.dll; DestDir: {app}; Flags: ignoreversion
 Source: TabControlEX.dll; DestDir: {app}; Flags: ignoreversion
 Source: GPL.txt; DestDir: {app}; Flags: ignoreversion
 Source: Compilers\*; DestDir: {app}\Compilers; Flags: ignoreversion recursesubdirs
@@ -91,17 +89,12 @@ var
 	page_info_net: TOutputMsgWizardPage;
 	page_info_netfailed: TOutputMsgWizardPage;
 	page_setup_net: TOutputProgressWizardPage;
-	page_info_dx: TOutputMsgWizardPage;
-	page_info_dxfailed: TOutputMsgWizardPage;
-	page_setup_dx: TOutputProgressWizardPage;
 	page_info_vc: TOutputMsgWizardPage;
 	page_info_vcfailed: TOutputMsgWizardPage;
 	page_setup_vc: TOutputProgressWizardPage;
 	restartneeded: Boolean;
 	netinstallfailed: Boolean;
 	netisinstalled: Boolean;
-	dxinstallfailed: Boolean;
-	dxisinstalled: Boolean;
 	vcinstallfailed: Boolean;
 	vcisinstalled: Boolean;
 
@@ -112,34 +105,6 @@ begin
 					  RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5');
 end;
 
-function CheckDXVersion(): Boolean;
-var
-	MajorVer, MinorVer: Integer;
-	StartPos: Integer;
-	TempStr, VerStr: string;
-	HasRequiredDll : Boolean;
-begin
-	if (RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\DirectX', 'Version', VerStr)) then begin
-		(* Extract major version *)
-		StartPos := Pos('.', VerStr);
-		MajorVer := StrToInt(Copy(VerStr, 1, StartPos - 1));
-		(* Remove major version and decimal point that follows *)
-		TempStr := Copy(VerStr, StartPos + 1, MaxInt);
-		(* Find next decimal point *)
-		StartPos := Pos('.', TempStr); 
-		(* Extract minor version *)
-		MinorVer := StrToInt(Copy(TempStr, 1, StartPos - 1));
-
-		//mxd. The DX version alone is not accurate enough...
-		HasRequiredDll := FileExists(ExpandConstant('{syswow64}\d3dx9_43.dll'));
-
-		Result := ((MajorVer > 4) or ((MajorVer = 4) and (MinorVer >= 9))) and HasRequiredDll;
-	end
-	else begin
-		Result := false;
-	end;
-end;
-
 function CheckVCIsInstalled(): Boolean;
 begin
 	//mxd. Any VC++ 2008 package will do, I assume...
@@ -155,8 +120,6 @@ begin
 	restartneeded := false;
 	netinstallfailed := false;
 	netisinstalled := CheckNetIsInstalled();
-	dxinstallfailed := false;
-	dxisinstalled := CheckDXVersion();
 	vcinstallfailed := false;
 	vcisinstalled := CheckVCIsInstalled();
 
@@ -176,22 +139,6 @@ begin
 
 	page_setup_net := CreateOutputProgressPage('Installing Microsoft .NET Framework 3.5', 'Setup is installing Microsoft .NET Framework 3.5, please wait...');
 
-	// Create DirectX pages
-	page_info_dx := CreateOutputMsgPage(wpPreparing,
-		'Installing DirectX 9.0', '',
-		'Setup has detected that your system is missing the required version of the DirectX. ' +
-		'Setup will now install or update your DirectX. This may take several minutes to complete.' + #10 + #10 +
-		'WARNING: The installer will download DirectX from the internet, but the progress bar will not ' +
-		'go forward until the download is complete. You may send Microsoft an angry letter about that.' + #10 + #10 +
-		'Click Install to begin.');
-
-	page_info_dxfailed := CreateOutputMsgPage(page_info_net.ID,
-		'Installing DirectX 9.0', '',
-		'Setup could not install DirectX 9.0.' + #10 + #10 +
-		'Click Back to try again, or Cancel to exit Setup.');
-
-	page_setup_dx := CreateOutputProgressPage('Installing DirectX 9.0', 'Setup is installing DirectX 9.0, please wait...');
-
 	// Create VC++ 2008 pages
 	page_info_vc := CreateOutputMsgPage(wpPreparing,
 		'Installing Visual C++ 2008 SP1 ATL Security Update', '',
@@ -214,10 +161,6 @@ begin
 		Result := netisinstalled
 	else if(PageID = page_info_netfailed.ID) then
 		Result := (not netinstallfailed) and netisinstalled
-	else if(PageID = page_info_dx.ID) then // Skip DX pages?
-		Result := dxisinstalled
-	else if(PageID = page_info_dxfailed.ID) then
-		Result := (not dxinstallfailed) and dxisinstalled
 	else if(PageID = page_info_vc.ID) then // Skip VC++ pages?
 		Result := vcisinstalled
 	else if(PageID = page_info_vcfailed.ID) then
@@ -236,13 +179,13 @@ end;
 procedure CurPageChanged(CurPageID: Integer);
 begin
 	if(CurPageID = wpReady) then begin
-		if(netisinstalled = false) or (dxisinstalled = false) or (vcisinstalled = false) then
+		if(netisinstalled = false) or (vcisinstalled = false) then
 			WizardForm.NextButton.Caption := 'Next';
 	end
-	else if(CurPageID = page_info_net.ID) or (CurPageID = page_info_dx.ID) or (CurPageID = page_info_vc.ID) then begin
+	else if(CurPageID = page_info_net.ID) or (CurPageID = page_info_vc.ID) then begin
 		WizardForm.NextButton.Caption := 'Install';
 	end
-	else if(CurPageID = page_info_netfailed.ID) or (CurPageID = page_info_dxfailed.ID) or (CurPageID = page_info_vcfailed.ID) then begin
+	else if(CurPageID = page_info_netfailed.ID) or (CurPageID = page_info_vcfailed.ID) then begin
 		WizardForm.NextButton.Visible := true;
 		WizardForm.NextButton.Enabled := false;
 		WizardForm.BackButton.Visible := true;
@@ -288,35 +231,6 @@ begin
 			page_setup_net.Hide;
 		end;
 	end
-	// Next pressed on DX info page?
-	else if(CurPage = page_info_dx.ID) then begin
-		// Show progress page and run setup
-		page_setup_dx.Show;
-		try
-		begin
-			dxinstallfailed := false;
-			ExtractTemporaryFile('dxwebsetup.exe');
-			// We copy the file to the real temp directory so that it isn't removed when Setup is closed.
-			// Judging from the return codes, this installer may want to run again after a reboot.
-			// See the return codes here: http://support.microsoft.com/kb/177430
-			tempfile := RemoveBackslash(GetTempDir()) + '\dxwebsetup.exe';
-			FileCopy(ExpandConstant('{tmp}\dxwebsetup.exe'), tempfile, false);
-			Exec(tempfile, '/Q', '', SW_SHOW, ewWaitUntilTerminated, errorcode);
-
-			if(errorcode = 1) then begin
-				// Success, but restart needed!
-				restartneeded := true;
-			end
-			else if(errorcode <> 0) then begin
-				dxinstallfailed := true;
-			end;
-
-			dxisinstalled := CheckDXVersion();
-		end
-		finally
-			page_setup_dx.Hide;
-		end;
-	end
 	// Next pressed on VC info page?
 	else if(CurPage = page_info_vc.ID) then begin
 		// Show progress page and run setup
diff --git a/Source/Core/Properties/AssemblyInfo.cs b/Source/Core/Properties/AssemblyInfo.cs
index 00db9a507e1dcbe3bdd3bd56671d0967018e3326..5688ca13cdcb4457b0c9d98e5c98b858218789e2 100755
--- a/Source/Core/Properties/AssemblyInfo.cs
+++ b/Source/Core/Properties/AssemblyInfo.cs
@@ -30,6 +30,6 @@ using CodeImp.DoomBuilder;
 //      Build Number
 //      Revision
 //
-[assembly: AssemblyVersion("3.0.0.3050")]
+[assembly: AssemblyVersion("3.0.0.3111")]
 [assembly: NeutralResourcesLanguageAttribute("en")]
-[assembly: AssemblyHash("3d156a3")]
+[assembly: AssemblyHash("e187872")]
diff --git a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
index 4f57060aa873eedf124f43a53d965975674cb227..34194de4cd5b5540763808c25a89a81a10171943 100755
--- a/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
+++ b/Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Resources;
 //      Build Number
 //      Revision
 //
-[assembly: AssemblyVersion("3.0.0.3050")]
+[assembly: AssemblyVersion("3.0.0.3111")]
 [assembly: NeutralResourcesLanguageAttribute("en")]
diff --git a/Source/Plugins/VisplaneExplorer/Resources/vpo.dll b/Source/Plugins/VisplaneExplorer/Resources/vpo.dll
index 885ed944bcd4a2f3a01365c51a5169df3da12b5d..cd9d8dbc4fbe2cd07caf4e9616d8baf57f5c5cdd 100755
Binary files a/Source/Plugins/VisplaneExplorer/Resources/vpo.dll and b/Source/Plugins/VisplaneExplorer/Resources/vpo.dll differ
diff --git a/build_git_generic.cmd b/build_git_generic.cmd
index c52fde6669f7091f082722c051e38792fb0b1d58..4b38f5d48f8c3a695948fd4f1fe82c67e643c89f 100755
--- a/build_git_generic.cmd
+++ b/build_git_generic.cmd
@@ -16,15 +16,21 @@ ECHO.
 SET STUDIODIR=c:\Program Files (x86)\Microsoft Visual Studio 14.0
 SET HHWDIR=c:\Program Files (x86)\HTML Help Workshop
 SET SEVENZIPDIR=c:\Program Files\7-Zip
+SET ISSDIR=c:\Program Files (x86)\Inno Setup 6
 
 IF NOT DEFINED PLATFORM SET PLATFORM=x86
 
+SET DB_OUTDIR="%CD%\GIT_Build"
+IF DEFINED BUILD_RELEASE SET DB_OUTDIR="%CD%\Release"
+
+ECHO %DB_OUTDIR%
+
 CALL "%STUDIODIR%\Common7\Tools\vsdevcmd.bat" %PLATFORM%
 ECHO.
 ECHO Building for platform %PLATFORM%
 ECHO.
 
-MKDIR "GIT_Build"
+MKDIR %DB_OUTDIR%
 
 git.exe checkout "Source/Core/Properties/AssemblyInfo.cs" > NUL
 git.exe checkout "Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs" > NUL
@@ -32,15 +38,15 @@ git.exe checkout "Source/Plugins/BuilderModes/Properties/AssemblyInfo.cs" > NUL
 ECHO.
 ECHO Writing GIT log file...
 ECHO.
-IF EXIST "GIT_Build\Changelog.xml" DEL /F /Q "GIT_Build\Changelog.xml" > NUL
+IF EXIST "%DB_OUTDIR%\Changelog.xml" DEL /F /Q "%DB_OUTDIR%\Changelog.xml" > NUL
 (
 echo [OB]?xml version="1.0" encoding="UTF-8"?[CB]
 echo [OB]log[CB]
 git.exe log master --since=2012-04-17 --pretty=format:"[OB]logentry commit=\"%%h\"[CB]%%n[OB]author[CB]%%an[OB]/author[CB]%%n[OB]date[CB]%%aI[OB]/date[CB]%%n[OB]msg[CB]%%B[OB]/msg[CB]%%n[OB]/logentry[CB]"
 echo [OB]/log[CB]
-) >"GIT_Build\Changelog.xml"
+) >"%DB_OUTDIR%\Changelog.xml"
 IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
-IF NOT EXIST "GIT_Build\Changelog.xml" GOTO FILEFAIL
+IF NOT EXIST "%DB_OUTDIR%\Changelog.xml" GOTO FILEFAIL
 
 ECHO.
 ECHO Compiling HTML Help file...
@@ -220,31 +226,46 @@ IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
 ECHO.
 ECHO Creating changelog...
 ECHO.
-ChangelogMaker.exe "GIT_Build\Changelog.xml" "Build" "m-x-d>MaxED" %REVISIONNUMBER%
+ChangelogMaker.exe "%DB_OUTDIR%\Changelog.xml" "Build" "m-x-d>MaxED" %REVISIONNUMBER%
 IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL
 
 ECHO.
 ECHO Packing release...
 ECHO.
-SET DEL_PATHSPEC="GIT_Build\UltimateDoomBuilder*-%PLATFORM%.7z"
+
+IF NOT DEFINED BUILD_RELEASE GOTO PACKGIT
+
+set DEL_PATHSPEC="%DB_OUTDIR%\UltimateDoomBuilder-Setup*-%PLATFORM%.exe"
+IF EXIST %DEL_PATHSPEC% DEL /F /Q %DEL_PATHSPEC% > NUL
+"%ISSDIR%\iscc.exe" "Setup\gzbuilder_setup.iss"
+IF %ERRORLEVEL% NEQ 0 GOTO ERRORFAIL
+IF NOT EXIST "%DB_OUTDIR%\Setup.exe" GOTO FILEFAIL
+
+REN "%DB_OUTDIR%\Setup.exe" "UltimateDoomBuilder-Setup-R%REVISIONNUMBER%-%PLATFORM%.exe"
+
+GOTO BUILDDONE
+
+:PACKGIT
+SET DEL_PATHSPEC="%DB_OUTDIR%\UltimateDoomBuilder*-%PLATFORM%.7z"
 IF EXIST %DEL_PATHSPEC% DEL /F /Q %DEL_PATHSPEC% > NUL
-IF EXIST "GIT_Build\UDB_Updater-%PLATFORM%.7z" DEL /F /Q "GIT_Build\UDB_Updater-%PLATFORM%.7z" > NUL
-"%SEVENZIPDIR%\7z" a .\GIT_Build\udb.7z .\Build\* -xr!*.xml -xr!JetBrains.Profiler.Core.Api.dll -xr!ScintillaNET.3.5.pdb -x!Setup
-"%SEVENZIPDIR%\7z" a .\GIT_Build\UDB_Updater-%PLATFORM%.7z .\Build\Updater.exe .\Build\Updater.ini
+IF EXIST "%DB_OUTDIR%\UDB_Updater-%PLATFORM%.7z" DEL /F /Q "%DB_OUTDIR%\UDB_Updater-%PLATFORM%.7z" > NUL
+"%SEVENZIPDIR%\7z" a %DB_OUTDIR%\udb.7z .\Build\* -xr!*.xml -xr!JetBrains.Profiler.Core.Api.dll -xr!ScintillaNET.3.5.pdb -x!Setup
+"%SEVENZIPDIR%\7z" a %DB_OUTDIR%\UDB_Updater-%PLATFORM%.7z .\Build\Updater.exe .\Build\Updater.ini
 IF %ERRORLEVEL% NEQ 0 GOTO PACKFAIL
-IF NOT EXIST .\GIT_Build\udb.7z GOTO FILEFAIL
-IF NOT EXIST .\GIT_Build\UDB_Updater-%PLATFORM%.7z GOTO FILEFAIL
+IF NOT EXIST %DB_OUTDIR%\udb.7z GOTO FILEFAIL
+IF NOT EXIST %DB_OUTDIR%\UDB_Updater-%PLATFORM%.7z GOTO FILEFAIL
 
-REN "GIT_Build\udb.7z" UltimateDoomBuilder-r%REVISIONNUMBER%-%PLATFORM%.7z
+REN "%DB_OUTDIR%\udb.7z" UltimateDoomBuilder-r%REVISIONNUMBER%-%PLATFORM%.7z
 
 IF EXIST "Build\Changelog.txt" DEL /F /Q "Build\Changelog.txt" > NUL
 
-@ECHO %REVISIONNUMBER%> .\GIT_Build\Version.txt
-@ (ECHO %REVISIONNUMBER% && ECHO %EXEREVISIONNUMBER%) > .\GIT_Build\Versions.txt
+@ECHO %REVISIONNUMBER%> %DB_OUTDIR%\Version.txt
+@ (ECHO %REVISIONNUMBER% && ECHO %EXEREVISIONNUMBER%) > %DB_OUTDIR%\Versions.txt
 
 git.exe checkout "Source\Core\Properties\AssemblyInfo.cs" > NUL
 git.exe checkout "Source\Plugins\BuilderModes\Properties\AssemblyInfo.cs" > NUL
 
+:BUILDDONE
 ECHO.
 ECHO.     BUILD DONE !
 ECHO.
diff --git a/build_setup_x64.cmd b/build_setup_x64.cmd
new file mode 100755
index 0000000000000000000000000000000000000000..8e8b4776bc59cff9b9df00eb7062788649e7b418
--- /dev/null
+++ b/build_setup_x64.cmd
@@ -0,0 +1,3 @@
+SET PLATFORM=x64
+SET BUILD_RELEASE=true
+build_git_generic.cmd
\ No newline at end of file
diff --git a/build_setup_x86.cmd b/build_setup_x86.cmd
new file mode 100755
index 0000000000000000000000000000000000000000..f008aed8a55cddb44847aec528bcc41dffec5b02
--- /dev/null
+++ b/build_setup_x86.cmd
@@ -0,0 +1,3 @@
+SET PLATFORM=x86
+SET BUILD_RELEASE=true
+build_git_generic.cmd
\ No newline at end of file