Hello community, here is the log from the commit of package slade for openSUSE:Factory checked in at 2017-02-21 13:38:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/slade (Old) and /work/SRC/openSUSE:Factory/.slade.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "slade" Changes: -------- --- /work/SRC/openSUSE:Factory/slade/slade.changes 2017-01-25 23:24:02.456394251 +0100 +++ /work/SRC/openSUSE:Factory/.slade.new/slade.changes 2017-02-21 13:38:35.695784433 +0100 @@ -1,0 +2,25 @@ +Fri Feb 10 01:19:39 UTC 2017 - [email protected] + +- Update to 3.1.1.5 +- Add appdata.xml +- General + * Added an option to always show acc compiler output, even on + success + * Various updates to game and language configurations +- Resource Editor + * Added a button to clear the entry list filter + * Fixed some issues when importing a palette from a PNG + * Fixed some potential crashes when loading corrupted Doom gfx + entries + * Fixed some issues with converting to doom flat format +- Texture Editor + * Patch and texture operations should now work on the correct + item when the texture or patch list is sorted + * Fixed PNG alpha channel being ignored for CopyAlpha/Overlay + patches +- Map Editor + * Added the option not to build nodes when saving a map (select + "Don't build nodes" as the node builder) + * Fixed a potential crash when building nodes + +------------------------------------------------------------------- Old: ---- 3.1.1.4.tar.gz New: ---- 3.1.1.5.tar.gz slade.appdata.xml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ slade.spec ++++++ --- /var/tmp/diff_new_pack.qBR2wR/_old 2017-02-21 13:38:36.335694159 +0100 +++ /var/tmp/diff_new_pack.qBR2wR/_new 2017-02-21 13:38:36.339693595 +0100 @@ -1,7 +1,7 @@ # # spec file for package slade # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: slade -Version: 3.1.1.4 +Version: 3.1.1.5 Release: 0 Summary: An editor for DOOM maps and WAD/PK3 archives License: GPL-2.0+ @@ -25,22 +25,23 @@ Url: https://github.com/sirjuddington/SLADE Source: https://github.com/sirjuddington/%name/archive/%version.tar.gz Source2: slade.desktop +Source100: slade.appdata.xml Patch1: basepk3.diff Patch2: wxChar.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: ImageMagick BuildRequires: cmake BuildRequires: freeimage-devel -BuildRequires: ftgl-devel BuildRequires: gcc-c++ -BuildRequires: sfml2-devel BuildRequires: update-desktop-files BuildRequires: wxWidgets-3_0-devel BuildRequires: zip BuildRequires: pkgconfig(fluidsynth) +BuildRequires: pkgconfig(ftgl) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(sfml-all) BuildRequires: pkgconfig(x11) %description @@ -64,6 +65,7 @@ convert "build/msvc/slade.ico[0]" -alpha on "%name.png" install -Dpm0644 "%name.png" "$b/%_datadir/pixmaps/%name.png" +install -Dpm0644 %{SOURCE100} "$b/%_datadir/appdata/%name.appdata.xml" pushd misc for txtfile in detect_functions.txt old-simage-formats.txt stuff.txt udmf11.txt \ @@ -88,5 +90,6 @@ %_datadir/slade3/ %_datadir/pixmaps/%name.png %_datadir/applications/%name.desktop +%_datadir/appdata/%name.appdata.xml %changelog ++++++ 3.1.1.4.tar.gz -> 3.1.1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/build/msvc/SLADE.rc new/SLADE-3.1.1.5/build/msvc/SLADE.rc --- old/SLADE-3.1.1.4/build/msvc/SLADE.rc 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/build/msvc/SLADE.rc 2017-01-17 15:25:52.000000000 +0100 @@ -60,8 +60,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,1,1,4 - PRODUCTVERSION 3,1,1,4 + FILEVERSION 3,1,1,5 + PRODUCTVERSION 3,1,1,5 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -77,12 +77,12 @@ BLOCK "0c0904b0" BEGIN VALUE "FileDescription", "SLADE" - VALUE "FileVersion", "3.1.1.4" + VALUE "FileVersion", "3.1.1.5" VALUE "InternalName", "SLADE.exe" - VALUE "LegalCopyright", "Copyright (C) 2016" + VALUE "LegalCopyright", "Copyright (C) 2017" VALUE "OriginalFilename", "SLADE.exe" VALUE "ProductName", "SLADE" - VALUE "ProductVersion", "3.1.1.4" + VALUE "ProductVersion", "3.1.1.5" END END BLOCK "VarFileInfo" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/build/msvc/SLADE.sln new/SLADE-3.1.1.5/build/msvc/SLADE.sln --- old/SLADE-3.1.1.4/build/msvc/SLADE.sln 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/build/msvc/SLADE.sln 2017-01-17 15:25:52.000000000 +0100 @@ -1,21 +1,21 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SLADE", "SLADE.vcxproj", "{33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 - Release - FTGL|Win32 = Release - FTGL|Win32 + Release - WinXP|Win32 = Release - WinXP|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Debug|Win32.ActiveCfg = Debug|Win32 {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Debug|Win32.Build.0 = Debug|Win32 - {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release - FTGL|Win32.ActiveCfg = Release - FTGL|Win32 - {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release - FTGL|Win32.Build.0 = Release - FTGL|Win32 + {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release - WinXP|Win32.ActiveCfg = Release - WinXP|Win32 + {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release - WinXP|Win32.Build.0 = Release - WinXP|Win32 {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release|Win32.ActiveCfg = Release|Win32 {33CC5FBD-4EB0-48A9-9069-0EC0B5FF5A46}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/build/msvc/SLADE.vcxproj new/SLADE-3.1.1.5/build/msvc/SLADE.vcxproj --- old/SLADE-3.1.1.4/build/msvc/SLADE.vcxproj 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/build/msvc/SLADE.vcxproj 2017-01-17 15:25:52.000000000 +0100 @@ -5,8 +5,8 @@ <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> - <ProjectConfiguration Include="Release - FTGL|Win32"> - <Configuration>Release - FTGL</Configuration> + <ProjectConfiguration Include="Release - WinXP|Win32"> + <Configuration>Release - WinXP</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|Win32"> @@ -26,10 +26,10 @@ <CharacterSet>Unicode</CharacterSet> <PlatformToolset>v140_xp</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <CharacterSet>Unicode</CharacterSet> - <PlatformToolset>v110_xp</PlatformToolset> + <PlatformToolset>v140_xp</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> @@ -42,7 +42,7 @@ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'" Label="PropertySheets"> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'" Label="PropertySheets"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> </ImportGroup> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> @@ -55,17 +55,17 @@ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir> <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\dist\</OutDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">.\dist\</OutDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">..\..\dist\WinXP\</OutDir> <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">$(Configuration)\</IntDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">$(Configuration)\</IntDir> <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> - <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">false</LinkIncremental> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">false</LinkIncremental> <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest> - <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">true</GenerateManifest> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">true</GenerateManifest> <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)..\..\src;$(ProjectDir)\fluidsynth\include;$(ProjectDir)..\..\src\External\dumb;$(WXWIN)\lib\vc_lib\mswu;$(WXWIN)\include;$(FREEIMAGE)\Dist\x32;$(SFML)\include;$(ProjectDir)..\..\src\Application;$(CURL)\include;$(IncludePath)</IncludePath> - <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">$(ProjectDir)src;$(FLUIDSYNTH)\include;$(WXWIN)\lib\vc_lib\mswu;$(WXWIN)\include;$(FREEIMAGE)\Dist;$(SFML)\include;$(FTGL)\src;$(FREETYPE)\include;$(IncludePath)</IncludePath> + <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">$(ProjectDir)..\..\src;$(ProjectDir)\fluidsynth\include;$(ProjectDir)..\..\src\External\dumb;$(WXWIN)\lib\vc_lib\mswu;$(WXWIN)\include;$(FREEIMAGE)\Dist\x32;$(SFML)\include;$(ProjectDir)..\..\src\Application;$(CURL)\include;$(IncludePath)</IncludePath> <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)\fluidsynth\lib;$(SolutionDir)$(Configuration)\;$(WXWIN)\lib\vc_lib;$(FREEIMAGE)\Dist\x32;$(SFML)\lib;$(CURL)\lib\static-release-x86;$(LibraryPath)</LibraryPath> - <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'">$(FLUIDSYNTH)\lib;$(WXWIN)\lib\vc_lib;$(FREEIMAGE)\Dist;$(SFML)\lib;$(FTGL)\msvc\build;$(FREETYPE)\objs\win32;$(SolutionDir)$(Configuration)\;$(LibraryPath)</LibraryPath> + <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'">$(ProjectDir)\fluidsynth\lib;$(SolutionDir)$(Configuration)\;$(WXWIN)\lib\vc_lib;$(FREEIMAGE)\Dist\x32;$(SFML)\lib;$(CURL)\lib\static-release-x86;$(LibraryPath)</LibraryPath> <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)..\..\src;$(ProjectDir)\fluidsynth\include;$(ProjectDir)..\..\src\External\dumb;$(WXWIN)\lib\vc_lib\mswu;$(WXWIN)\include;$(FREEIMAGE)\Dist\x32;$(SFML)\include;$(ProjectDir)..\..\src\Application;$(CURL)\include;$(IncludePath)</IncludePath> <LibraryPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)\fluidsynth\lib;$(SolutionDir)$(Configuration)\;$(WXWIN)\lib\vc_lib;$(FREEIMAGE)\Dist\x32;$(SFML)\lib;$(CURL)\lib\static-release-x86;$(LibraryPath)</LibraryPath> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">SLADE-dbg</TargetName> @@ -78,8 +78,13 @@ <Linkage-sfml-graphics>static</Linkage-sfml-graphics> <Linkage-sfml-window>static</Linkage-sfml-window> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'"> - <CodeAnalysisRuleSet>MixedRecommendedRules.ruleset</CodeAnalysisRuleSet> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'"> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <Linkage-sfml-audio>static</Linkage-sfml-audio> + <Linkage-sfml-system>static</Linkage-sfml-system> + <Linkage-sfml-graphics>static</Linkage-sfml-graphics> + <Linkage-sfml-window>static</Linkage-sfml-window> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Linkage-sfml-audio>static</Linkage-sfml-audio> @@ -146,28 +151,26 @@ <AdditionalManifestFiles>SLADE.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> </Manifest> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - FTGL|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - WinXP|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <IntrinsicFunctions>true</IntrinsicFunctions> <WholeProgramOptimization>false</WholeProgramOptimization> - <PreprocessorDefinitions>WIN32;SFML_STATIC;__WXMSW__;_WINDOWS;NOPCH;_CRT_SECURE_NO_WARNINGS;NDEBUG;GLEW_STATIC;FTGL_STATIC_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>SFML_STATIC;WIN32;USE_SFML_RENDERWINDOW;USE_WEBVIEW_STARTPAGE;__WXMSW__;_WINDOWS;NOPCH;_CRT_SECURE_NO_WARNINGS;NDEBUG;GLEW_STATIC;NOLIBMODPLUG;NOCURL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessToFile>false</PreprocessToFile> <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> - <PrecompiledHeader> - </PrecompiledHeader> <WarningLevel>Level3</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> <FloatingPointModel>Fast</FloatingPointModel> <MultiProcessorCompilation>true</MultiProcessorCompilation> - <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> </ClCompile> <Link> - <AdditionalDependencies>fluidsynth.lib;ftgl_static.lib;freetype2411.lib;FreeImage.lib;wxbase30u.lib;wxmsw30u_core.lib;wxmsw30u_aui.lib;wxmsw30u_gl.lib;wxmsw30u_webview.lib;wxmsw30u_adv.lib;wxmsw30u_stc.lib;wxmsw30u_propgrid.lib;wxmsw30u_media.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;wxzlib.lib;wxregexu.lib;wxexpat.lib;wxscintilla.lib;sfml-window-s.lib;sfml-audio-s.lib;sfml-system-s.lib;sfml-main.lib;openal32.lib;sndfile.lib;winmm.lib;comctl32.lib;rpcrt4.lib;wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalDependencies>fluidsynth.lib;winmm.lib;rpcrt4.lib;kernel32.lib;user32.lib;gdi32.lib;ole32.lib;oleaut32.lib;comctl32.lib;comdlg32.lib;uuid.lib;advapi32.lib;shell32.lib;wxbase31u.lib;wxbase31u_net.lib;wxmsw31u_core.lib;wxmsw31u_gl.lib;wxmsw31u_aui.lib;wxmsw31u_webview.lib;wxmsw31u_adv.lib;wxmsw31u_stc.lib;wxmsw31u_propgrid.lib;wxmsw31u_media.lib;wxregexu.lib;wxzlib.lib;wxpng.lib;wxtiff.lib;wxjpeg.lib;wxscintilla.lib;opengl32.lib;glu32.lib;FreeImage.lib;sfml-graphics-s.lib;sfml-audio-s.lib;sfml-window-s.lib;sfml-system-s.lib;sfml-main.lib;freetype.lib;openal32.lib;wsock32.lib;flac.lib;ogg.lib;vorbis.lib;vorbisfile.lib;%(AdditionalDependencies)</AdditionalDependencies> <EnableUAC>false</EnableUAC> <GenerateDebugInformation>true</GenerateDebugInformation> <SubSystem>Windows</SubSystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/makebuild.ps1 new/SLADE-3.1.1.5/dist/makebuild.ps1 --- old/SLADE-3.1.1.4/dist/makebuild.ps1 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/makebuild.ps1 2017-01-17 15:25:52.000000000 +0100 @@ -1,5 +1,5 @@ -$version = "3114" -$versionstring = "3.1.1.4" +$version = "3115" +$versionstring = "3.1.1.5" # Check for 7-zip install $7zpath = "$env:ProgramFiles\7-Zip\7z.exe" @@ -21,12 +21,25 @@ # $versionstring = $version+"_b"+$beta #} +# Prompt to build SLADE +Write-Host "`nRebuild SLADE? (y/n) " -foregroundcolor cyan -nonewline +$buildbinaries = Read-Host + +# Build SLADE +if ($buildbinaries.ToLower() -eq "y") +{ + $devenvpath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" + & $devenvpath (resolve-path ..\build\msvc\SLADE.sln).Path /rebuild Release /project SLADE.vcxproj + & $devenvpath (resolve-path ..\build\msvc\SLADE.sln).Path /rebuild "Release - WinXP" /project SLADE.vcxproj +} + # Determine release directory $releasedir = "$PSScriptRoot\$version" # Create release directory if needed Write-Host "`nCreate directory $releasedir" -foregroundcolor yellow New-Item -ItemType directory -Force -Path $releasedir | out-null +New-Item -ItemType directory -Force -Path "$releasedir\XP" | out-null # Remove existing pk3 if it exists $pk3path = ".\slade.pk3" @@ -50,9 +63,11 @@ Write-Host "`nCopying SLADE files..." -foregroundcolor yellow Copy-Item (resolve-path ".\FreeImage.dll") "$releasedir" -Force Copy-Item (resolve-path ".\libfluidsynth.dll") "$releasedir" -Force -Copy-Item (resolve-path ".\openal32.dll") "$releasedir" -Force +Copy-Item (resolve-path ".\openal32.dll") "$releasedir" -Force Copy-Item (resolve-path ".\SLADE.exe") "$releasedir" -Force Copy-Item (resolve-path ".\SLADE.pdb") "$releasedir" -Force +Copy-Item (resolve-path ".\WinXP\SLADE.exe") "$releasedir\XP" -Force +Copy-Item (resolve-path ".\WinXP\SLADE.pdb") "$releasedir\XP" -Force Copy-Item (resolve-path ".\slade.pk3") "$releasedir" -Force Write-Host "Done" -foregroundcolor green @@ -72,6 +87,16 @@ "$releasedir\SLADE.pdb" ` "$releasedir\slade.pk3" Write-Host "Done" -foregroundcolor green + + Write-Host "`nBuilding XP binary 7z..." -ForegroundColor Yellow + & $7zpath a -t7z "$releasedir\slade_${version}_winxp.7z" ` + "$releasedir\FreeImage.dll" ` + "$releasedir\libfluidsynth.dll" ` + "$releasedir\openal32.dll" ` + "$releasedir\XP\SLADE.exe" ` + "$releasedir\XP\SLADE.pdb" ` + "$releasedir\slade.pk3" + Write-Host "Done" -ForegroundColor Green } # Prompt to build installer diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/res/config/entry_types/types_text.txt new/SLADE-3.1.1.5/dist/res/config/entry_types/types_text.txt --- old/SLADE-3.1.1.4/dist/res/config/entry_types/types_text.txt 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/res/config/entry_types/types_text.txt 2017-01-17 15:25:52.000000000 +0100 @@ -291,6 +291,12 @@ icon = "e_texturex"; text_language = "z_textures"; } + + trnslate : text + { + name = "Translation defs"; + match_name = "trnslate"; + } palvers : text { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/res/config/languages/acs.txt new/SLADE-3.1.1.5/dist/res/config/languages/acs.txt --- old/SLADE-3.1.1.4/dist/res/config/languages/acs.txt 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/res/config/languages/acs.txt 2017-01-17 15:25:52.000000000 +0100 @@ -160,7 +160,7 @@ keywords = { function, enter, respawn, death, lightning, unloading, disconnect, kill, fixed, global, net, import, libdefine, library, nocompact, nowadauthor, - EncryptStrings, static, wadauthor, region, endregion, + EncryptStrings, static, wadauthor, region, endregion, reopen, // Skulltag script types BlueReturn, RedReturn, WhiteReturn, Pickup, ClientSide @@ -633,7 +633,7 @@ Thing_ProjectileIntercept = "int tid, int type, int speed, int target, int newtid"; Thing_Raise = "int tid"; Thing_Remove = "int tid"; - Thing_SetConversation = "int tid, conv_id"; + Thing_SetConversation = "int tid, int conv_id"; Thing_SetGoal = "int tid, int goal, int delay, [int chasegoal]"; Thing_SetSpecial = "int tid, int special, int arg1, int arg2, int arg3"; Thing_SetTranslation = "int tid, int translation_num"; @@ -672,7 +672,7 @@ CheckActorClass = "int tid, str class"; CheckActorFloorTexture = "int tid, str texture"; CheckActorInventory = "int tid, str inventory_item"; - CheckActorProperty = "int tid, int property, int value", "int tid, int property, float value", "int tid, int property, str value"; + CheckActorProperty = "int tid, int property, int value", "int tid, int property, fixed value", "int tid, int property, str value"; CheckActorState = "int tid, str statename, [bool exact]"; CheckClass = "str classname"; CheckFlag = "int tid, str flag"; @@ -686,7 +686,7 @@ ClearActorInventory = "int tid"; ClearInventory; ClearLineSpecial; - Cos = "int angle"; + Cos = "fixed angle"; CreateTranslation = "int transnumber, a:b=c:d, ...", "int transnumber, a:b=[red1,green1,blue1]:[red2,green2,blue2], ..."; DamageActor = "int target_tid, int target_pointer, int inflictor_tid, int inflictor_pointer, int amount, str damagetype"; Delay = "int tics"; @@ -718,15 +718,15 @@ GetAirSupply = "int playernum"; GetAmmoCapacity = "str classname"; GetArmorInfo = "int infotype"; - GetArmorType = "string armortype, int playernum"; + GetArmorType = "str armortype, int playernum"; GetChar = "str string, int index"; GetCVar = "str cvar"; GetCVarString = "str cvarname"; GetLevelInfo = "int levelinfo"; GetLineActivation = "int lineid"; GetLineRowOffset; - GetLineUDMFFixed = "int lineid, string key"; - GetLineUDMFInt = "int lineid, string key"; + GetLineUDMFFixed = "int lineid, str key"; + GetLineUDMFInt = "int lineid, str key"; GetMaxInventory = "int tid, str inventory"; GetPlayerInfo = "int playernumber, int playerinfo"; GetPlayerInput = "int player, int input"; @@ -737,13 +737,13 @@ GetSectorCeilingZ = "int tag, int x, int y"; GetSectorFloorZ = "int tag, int x, int y"; GetSectorLightLevel = "int tag"; - GetSectorUDMFFixed = "int tag, string key"; - GetSectorUDMFInt = "int tag, string key"; - GetSideUDMFFixed = "int lineid, bool back, string key"; - GetSideUDMFInt = "int lineid, bool back, string key"; + GetSectorUDMFFixed = "int tag, str key"; + GetSectorUDMFInt = "int tag, str key"; + GetSideUDMFFixed = "int lineid, bool back, str key"; + GetSideUDMFInt = "int lineid, bool back, str key"; GetSigilPieces; - GetThingUDMFFixed = "int tid, string key"; - GetThingUDMFInt = "int tid, string key"; + GetThingUDMFFixed = "int tid, str key"; + GetThingUDMFInt = "int tid, str key"; GetUserArray = "int tid, str name, int pos"; GetUserCVar = "int playernum, str cvarname"; GetUserCVarString = "int playernum, str cvarname"; @@ -751,8 +751,8 @@ GetWeapon; GiveActorInventory = "int tid, str inventory_item, int amount"; GiveInventory = "str inventory_item, int amount"; - HudMessage = "text; int type, int id, int color, fixed x, fixed y, fixed holdTime, alpha", "text; HUDMSG_FADEOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed fadetime, alpha", "text; HUDMSG_TYPEON, int id, int color, fixed x, fixed y, fixed holdTime, fixed typetime, fixed fadetime, alpha", "text; HUDMSG_FADEINOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed inTime, fixed outTime, alpha"; - HudMessageBold = "text; int type, int id, int color, fixed x, fixed y, fixed holdTime, alpha", "text; HUDMSG_FADEOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed fadetime, alpha", "text; HUDMSG_TYPEON, int id, int color, fixed x, fixed y, fixed holdTime, fixed typetime, fixed fadetime, alpha", "text; HUDMSG_FADEINOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed inTime, fixed outTime, alpha"; + HudMessage = "type:expression; int type, int id, int color, fixed x, fixed y, fixed holdTime, fixed alpha", "type:expression; HUDMSG_FADEOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed fadetime, fixed alpha", "type:expression; HUDMSG_TYPEON, int id, int color, fixed x, fixed y, fixed holdTime, fixed typetime, fixed fadetime, fixed alpha", "type:expression; HUDMSG_FADEINOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed inTime, fixed outTime, fixed alpha"; + HudMessageBold = "type:expression; int type, int id, int color, fixed x, fixed y, fixed holdTime, fixed alpha", "type:expression; HUDMSG_FADEOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed fadetime, fixed alpha", "type:expression; HUDMSG_TYPEON, int id, int color, fixed x, fixed y, fixed holdTime, fixed typetime, fixed fadetime, fixed alpha", "type:expression; HUDMSG_FADEINOUT, int id, int color, fixed x, fixed y, fixed holdTime, fixed inTime, fixed outTime, fixed alpha"; IsPointerEqual = "int ptr_select1, int ptr_select2, [int tid1], [int tid2]"; IsTIDUsed = "int tid"; LineSide; @@ -771,7 +771,7 @@ PlayerIsBot = "int playernumber"; PlayerNumber; PlayMovie = "str moviename - but this function does not work anyway"; - PlaySound = "int tid, str sound, [int channel], [fixed volume], [bool looping], [fixed attenuation]"; + PlaySound = "int tid, str sound, [int channel], [fixed volume], [bool looping], [fixed attenuation], [bool local]"; PolyWait = "int polynum"; Print = "type:expression"; PrintBold = "type:expression"; @@ -788,7 +788,7 @@ SetActorFlag = "int tid, str flagname, bool set"; SetActorPitch = "int tid, fixed pitch"; SetActorPosition = "int tid, fixed x, fixed y, fixed z, bool fog"; - SetActorProperty = "int tid, int property, int value", "int tid, int property, float value", "int tid, int property, str value"; + SetActorProperty = "int tid, int property, int value", "int tid, int property, fixed value", "int tid, int property, str value"; SetActorRoll = "int tid, fixed angle"; SetActorState = "int tid, str statename[, bool exact]"; SetActorTeleFog = "int tid, str sourcefog, str destfog"; @@ -820,24 +820,25 @@ SetResultValue = "int value"; SetSectorDamage = "int tag, int amount [, str damagetype [, int interval [, int leaky]]]"; SetSectorTerrain = "int tag, int whichplane, str terraintype"; - SetSkyScrollSpeed = "int sky, float skyspeed"; + SetSkyScrollSpeed = "int sky, fixed skyspeed"; SetThingSpecial = "int tid, int special [, int arg0 [, int arg1 [, int arg2 [, int arg3 [, int arg4]]]]]"; + SetTranslation = "int tid, str transname"; SetUserArray = "int tid, str name, int pos, int value"; SetUserCVar = "int playernum, str cvarname, int newvalue", "int playernum, str cvarname, fixed newvalue", "int playernum, str cvarname, bool newvalue"; SetUserCVarString = "int playernum, str cvarname, str newvalue"; SetUserVariable = "int tid, str name, int value"; SetWeapon = "str weaponname"; - Sin = "int angle"; + Sin = "fixed angle"; SoundSequence = "str sndseq"; SoundSequenceOnActor = "int tid, str sndseq"; SoundSequenceOnPolyobj = "int polynum, str sndseq"; - SoundSequenceOnSector = "int tag, string seqname, int location"; + SoundSequenceOnSector = "int tag, str seqname, int location"; SoundVolume = "int tid, int channel, fixed volume"; Spawn = "str classname, fixed x, fixed y, fixed z [, int tid [, int angle]]"; SpawnDecal = "int tid, str decalname, [int flags], [fixed angle], [fixed zoffset], [fixed distance]"; SpawnForced = "str classname, fixed x, fixed y, fixed z [, int tid [, int angle]]"; - SpawnParticle = "int color [, bool fullbright [, int lifetime [, float size [, fixed x [, fixed y [, fixed z [, fixed velx [, fixed vely [, fixed velz [, fixed accelx [, fixed accely [, fixed accelz [, int startalpha [, int fadestep [, fixed endsize]]]]]]]]]]]]]]]"; - SpawnProjectile = "int tid, string type, int angle, int speed, int vspeed, int gravity, int newtid"; + SpawnParticle = "int color [, bool fullbright [, int lifetime [, fixed size [, fixed x [, fixed y [, fixed z [, fixed velx [, fixed vely [, fixed velz [, fixed accelx [, fixed accely [, fixed accelz [, int startalpha [, int fadestep [, fixed endsize]]]]]]]]]]]]]]]"; + SpawnProjectile = "int tid, str type, int angle, int speed, int vspeed, int gravity, int newtid"; SpawnSpot = "str classname, int spottid [, int tid [, int angle]]"; SpawnSpotFacing = "str classname, int spottid [, int tid]"; SpawnSpotFacingForced = "str classname, int spottid [, int tid]"; @@ -846,7 +847,7 @@ StopSound = "int tid, [int channel]"; StrCaseCmp = "str string1, str string2, [int maxcomparenum]"; StrCmp = "str string1, str string2, [int maxcomparenum]"; - StrCpy = "a:destination, string source[, int source_index]"; + StrCpy = "a:destination, str source[, int source_index]"; StrIcmp = "str string1, str string2, [int maxcomparenum]"; StrLeft = "str string, int length"; StrLen = "str string"; @@ -889,28 +890,30 @@ BlueTeamScore; ConsoleCommand = "str command"; ConsolePlayerNumber; - CountDBResults = "unknown parameters list"; + CountDBResults = "res results"; EndDBTransaction; - FreeDBResults = "unknown parameters list"; - GetDBEntries = "unknown parameters list"; - GetDBEntry = "str table, str variable"; - GetDBEntryRank = "unknown parameters list"; - GetDBEntryString = "unknown parameters list"; - GetDBResultKeyString = "unknown parameters list"; - GetDBResultValue = "unknown parameters list"; - GetDBResultValueString = "unknown parameters list"; + FreeDBResults = "res results"; + GetDBEntries = "str namespace"; + GetDBEntry = "str namespace, str key"; + GetDBEntryRank = "str namespace, str key, bool order"; + GetDBEntryString = "str namespace, str key"; + GetDBResultKeyString = "res results, int row"; + GetDBResultValue = "res results, int row"; + GetDBResultValueString = "res results, int row"; GetGamemodeState; GetInvasionState; GetInvasionWave; - GetPlayerAccountName = "unknown parameters list"; + GetPlayerAccountName = "int player"; GetPlayerLivesLeft = "int player"; GetTeamProperty = "int team, int property"; - IncrementDBEntry = "unknown parameters list"; + GetTimeProperty = "int timestamp, int which, [int utc]"; + IncrementDBEntry = "str namespace, str key, int value"; IsMultiplayer; IsNetworkGame; IsOneFlagCTF; KickFromGame = "int player, str reason"; Music_Change = "str music, int pattern"; + NamedRequestScriptPuke = "str script, [int arg0], [int arg1], [int arg2], [int arg3]"; PlayerArmorPoints; PlayerHealth; PlayerIsLoggedIn = "int playernumber"; @@ -920,13 +923,15 @@ RedScore; RedTeamCount; RedTeamScore; - RequestScriptPuke = "int script, int arg0, int arg1, int arg2"; + RequestScriptPuke = "int script, [int arg0], [int arg1], [int arg2], [int arg3]"; ResetMap; - SetDBEntry = "str table, str variable, int value"; - SetDBEntryString = "unknown parameters list"; + SetDBEntry = "str namespace, str key, int value"; + SetDBEntryString = "str namespace, str key, str value"; SetPlayerLivesLeft = "int player, int amount"; SinglePlayer; - SortDBEntries = "unknown parameters list"; + SortDBEntries = "str namespace, int limit, int offset, bool order"; + Strftime = "int timestamp, str format, [int utc]"; + SystemTime; // ZDaemon functions GetTeamScore = "int team"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/res/config/languages/decorate.txt new/SLADE-3.1.1.5/dist/res/config/languages/decorate.txt --- old/SLADE-3.1.1.4/dist/res/config/languages/decorate.txt 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/res/config/languages/decorate.txt 2017-01-17 15:25:52.000000000 +0100 @@ -15,7 +15,7 @@ Raise, Heal, Crash, Crush, Wound, Greetings, Yes, No, Extreme, Bounce, Floor, Ceiling, Wall, Creature, Loop, Stop, Wait, Fail, Goto, Ready, Deselect, Select, Fire, AltFire, Hold, AltHold, Flash, AltFlash, Reload, Zoom, Pickup, Use, Drop, Bright, Fast, Slow, NoDelay, - CanRaise, Idle, Active, Inactive, Light, Offset, Action, Native, Const, Enum, Replaces, + CanRaise, Idle, Active, Inactive, Action, Native, Const, Enum, Replaces, LightDone, Super, Spray, GenericFreezeDeath, GenericCrush, User1, User2, User3, User4, DeadLowered, @@ -48,7 +48,8 @@ // Rendering RenderStyle, None, Normal, Fuzzy, OptFuzzy, Translucent, SoulTrans, Stencil, AddStencil, StencilColor, Shaded, AddShaded, Shadow, Add, Subtract, DefaultAlpha, Alpha, XScale, YScale, Scale, Translation, - BloodColor, BloodType, Decal, FloatBobPhase, DistanceCheck, SpriteAngle, SpriteRotation, + BloodColor, BloodType, Decal, FloatBobPhase, DistanceCheck, SpriteAngle, SpriteRotation, VisibleAngles, + VisiblePitch, // Sounds SeeSound, AttackSound, PainSound, BounceSound, CrushPainSound, @@ -65,7 +66,7 @@ AttackZOffset, JumpZ, SpawnClass, ViewHeight, ForwardMove, SideMove, MaxHealth, MugshotMaxHealth, RunHealth, MorphWeapon, FlechetteType, ScoreIcon, CrouchSprite, DamageScreenColor, StartItem, InvulnerabilityMode, HealRadiusType, HexenArmor, Portrait, WeaponSlot, FallingScreamSpeed, GruntSpeed, - AirCapacity, UseRange, + AirCapacity, UseRange, ViewBob, // Inventory-specific properties Inventory, RestrictedTo, ForbiddenTo, Amount, Icon, InterHubAmount, MaxAmount, @@ -117,7 +118,7 @@ // DECORATE expressions x, y, z, angle, momx, momy, momz, velx, vely, velz, pitch, tid, tidtohate, ceilingz, floorz, scalex, scaley, score, special, waterlevel, var, int, - roll, + roll, visibleendangle, visibleendpitch, visiblestartangle, visiblestartpitch, // Anonymous functions bool, state, if, else, return, for, while, do, break, continue, @@ -134,7 +135,7 @@ TRUE, FALSE, // Flags - ACTIVATEIMPACT, ACTIVATEMCROSS, ACTIVATEPCROSS, ACTLIKEBRIDGE, ADDITIVEPOISONDAMAGE, + ABSMASKANGLE, ABSMASKPITCH, ACTIVATEIMPACT, ACTIVATEMCROSS, ACTIVATEPCROSS, ACTLIKEBRIDGE, ADDITIVEPOISONDAMAGE, ADDITIVEPOISONDURATION, AIMREFLECT, ALLOWBOUNCEONACTORS, ALLOWPAIN, ALLOWPARTICLES, ALLOWTHRUFLAGS, ALWAYSFAST, ALWAYSPUFF, ALWAYSRESPAWN, ALWAYSTELEFRAG, AMBUSH, AVOIDMELEE, BLASTED, BLOCKEDBYSOLIDACTORS, BLOODLESSIMPACT, BLOODSPLATTER, BOSS, BOSSDEATH, BOUNCEAUTOOFF, BOUNCEAUTOOFFFLOORONLY, @@ -149,7 +150,7 @@ FORCEYBILLBOARD, FRIENDLY, FRIGHTENED, FULLVOLACTIVE, FULLVOLDEATH, GETOWNER, GHOST, GRENADETRAIL, HARMFRIENDS, HERETICBOUNCE, HEXENBOUNCE, HITMASTER, HITTARGET, HITTRACER, ICECORPSE, ICEDAMAGE, ICESHATTER, INCOMBAT, INVISIBLE, INVULNERABLE, ISMONSTER, JUMPDOWN, JUSTATTACKED, JUSTHIT, LAXTELEFRAGDMG, LONGMELEERANGE, LOOKALLAROUND, LOWGRAVITY, - MBFBOUNCER, MISSILE, MISSILEEVENMORE, MISSILEMORE, MIRRORREFLECT, MOVEWITHSECTOR, MTHRUSPECIES, NEVERFAST, + MASKROTATION, MBFBOUNCER, MISSILE, MISSILEEVENMORE, MISSILEMORE, MIRRORREFLECT, MOVEWITHSECTOR, MTHRUSPECIES, NEVERFAST, NEVERRESPAWN, NEVERTARGET, NOBLOCKMAP, NOBLOCKMONST, NOBLOOD, NOBLOODDECALS, NOBOSSRIP, NOBOUNCESOUND, NOCLIP, NODAMAGE, NODAMAGETHRUST, NODECAL, NODROPOFF, NOEXPLODEFLOOR, NOEXTREMEDEATH, NOFEAR, NOFORWARDFALL, NOGRAVITY, NOICEDEATH, NOINFIGHTING, NOINTERACTION, NOKILLSCRIPTS, NOLIFTDROP, NOMENU, NONSHOOTABLE, NOPAIN, @@ -319,7 +320,7 @@ PROP_TOTALLYFROZEN, PROP_WEAPONLEVEL2, PTROP_NOSAFEGUARDS, PTROP_UNSAFEMASTER, PTROP_UNSAFETARGET, // psprite layers flags - PSPF_ADDWEAPON, PSPF_ADDBOB, PSPF_POWDOUBLE, PSPF_CVARFAST, + PSPF_ADDWEAPON, PSPF_ADDBOB, PSPF_POWDOUBLE, PSPF_CVARFAST, PSPF_FLIP, // Default psprite layers PSP_WEAPON, PSP_FLASH, @@ -359,6 +360,11 @@ // A_SpawnParticle flags SPF_FULLBRIGHT, SPF_RELACCEL, SPF_RELANG, SPF_RELATIVE, SPF_RELPOS, SPF_RELVEL, SPF_NOTIMEFREEZE, + // Render styles + STYLE_None, STYLE_Normal, STYLE_Fuzzy, STYLE_SoulTrans, STYLE_OptFuzzy, STYLE_Stencil, STYLE_Translucent, + STYLE_Add, STYLE_Shaded, STYLE_TranslucentStencil, STYLE_Shadow, STYLE_Subtract, STYLE_AddStencil, + STYLE_AddShaded, + // A_SelectWeapon flags SWF_SELECTPRIORITY, @@ -379,6 +385,11 @@ THINGSPEC_TriggerTargets, TIF_NOTAKEINFINITE, VAF_DMGTYPEAPPLYTODIRECT, + + // A_SetVisibleRotation flags + VRF_NOANGLE, VRF_NOANGLEEND, VRF_NOANGLESTART, VRF_NOPITCH, VRF_NOPITCHEND, VRF_NOPITCHSTART, + + // A_WolfAttack flags WAF_NORANDOM, WAF_USEPUFF, // A_Warp flags @@ -408,6 +419,11 @@ } functions { + // Actor states + Light = "string lightname"; + Offset = "int xpos, int ypos"; + + // Action functions A_AlertMonsters = "[float maxdist], [int flags]"; A_Burst = "string classname"; A_CentaurDefend; @@ -487,7 +503,7 @@ A_FreezeDeathChunks; A_IceGuyDie; - A_PlaySound = "[string soundname], [int slot], [float volume], [bool looping], [float attenuation]"; + A_PlaySound = "[string soundname], [int slot], [float volume], [bool looping], [float attenuation], [bool local]"; A_PlaySoundEx = "string soundname, string channel, [bool loop], [int attenuation]"; A_PlayWeaponSound = "string soundname"; A_ActiveSound; @@ -530,7 +546,7 @@ A_SpawnDebris = "string type, [bool translation], [float mult_h], [float mult_v]"; A_SpawnItem = "[string type], [float distance], [float zpos], [bool useammo], [bool translation]"; A_SpawnItemEx = "string type, [float xoffset], [float yoffset], [float zoffset], [float xvelocity], [float yvelocity], [float zvelocity], [float angle], [int flags], [int failchance], [int tid]"; - A_SpawnParticle = "string color1 [, int flags [, int lifetime [, float size [, float angle [, float xoff [, float yoff [, float zoff [, float velx [, float vely [, float velz [, float accelx [, float accely [, float accelz [, float startalphaf [, float fadestepf [, float stepsize]]]]]]]]]]]]]]]]"; + A_SpawnParticle = "string color1, [int flags], [int lifetime], [float size], [float angle], [float xoff], [float yoff], [float zoff], [float velx], [float vely], [float velz], [float accelx], [float accely], [float accelz], [float startalphaf], [float fadestepf], [float stepsize]"; A_CheckCeiling = "string state", "int offset"; A_CheckFloor = "string state", "int offset"; @@ -589,6 +605,7 @@ A_SetShadow; A_ClearShadow; A_SetTranslucent = "float alpha, [int mode]"; + A_SetRenderStyle = "float alpha, int style"; A_FadeIn = "[float increase_amount], [int flags]"; A_FadeOut = "[float reduce_amount], [int flags]"; A_FadeTo = "float target, [float amount], [int flags]"; @@ -624,6 +641,8 @@ A_SetChaseThreshold = "int threshold, [bool def], [int ptr]"; A_SetSpriteAngle = "[float angle], [int ptr]"; A_SetSpriteRotation = "[float angle], [int ptr]"; + A_SetVisibleRotation = "[float anglestart], [float angleend], [float pitchstart], [float pitchend], [int flags], [int ptr]"; + A_SetTranslation = "string transname"; A_SeekerMissile = "angle threshold, angle maxturnangle, [int flags], [int chance_to_reacquire], [int max_acquiring_distance]"; A_Tracer; @@ -646,6 +665,7 @@ A_TakeFromSiblings = "string type, [int count]"; A_TakeFromTarget = "string type, [int count], [int flags], [pointer forward]"; A_DropInventory = "string type"; + A_SetInventory = "string type, int amount, [int ptr], [bool beyondMax]"; A_SelectWeapon = "string type, [int flags]"; A_GiveQuestItem = "int itemno"; A_DropItem = "class item, [int dropamount], [int chance]"; @@ -862,7 +882,7 @@ A_ExtraLightOff; A_Explode512; A_LightGoesOut; // Special functions for DECORATE expressions - abs = "int value"; + abs = "float value"; cos = "angle degrees"; sin = "angle degrees"; tan = "angle degrees"; @@ -872,8 +892,8 @@ cosh = "angle degrees"; sinh = "angle degrees"; tanh = "angle degrees"; - atan2 = "int y, int x", "float y, float x"; - VectorAngle = "int x, int y", "float x, float y"; + atan2 = "float y, float x"; + VectorAngle = "float x, float y"; sqrt = "float value"; random = "int min, int max"; random2 = "int mask"; @@ -882,11 +902,11 @@ frandompick = "float value1, float value2, float value3, ..."; min = "int value1, int value2, int value3, ...", "float value1, float value2, float value3, ..."; max = "int value1, int value2, int value3, ...", "float value1, float value2, float value3, ..."; - exp = "int value", "float value"; - log = "int value", "float value"; - log10 = "int value", "float value"; - ceil = "int value", "float value"; - floor = "int value", "float value"; + exp = "float value"; + log = "float value"; + log10 = "float value"; + ceil = "float value"; + floor = "float value"; clamp = "int value, int min, int max", "float value, float min, float max"; ACS_NamedExecute = "string script, [int mapnum], [int s_arg1], [int s_arg2], [int s_arg3]"; ACS_NamedExecuteAlways = "string script, [int mapnum], [int arg1], [int arg2], [int arg3]"; @@ -910,6 +930,10 @@ GetSpriteAngle = "[int ptr]"; GetSpriteRotation = "[int ptr]"; CountProximity = "string classname, float distance, [int flags], [int ptr]"; + GetMissileDamage = "int mask, int add, [int ptr]"; + OverlayID; + OverlayX = "[int layer]"; + OverlayY = "[int layer]"; // Internal use only, normally A_Turn = "[float angle]"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/res/config/languages/usdf.txt new/SLADE-3.1.1.5/dist/res/config/languages/usdf.txt --- old/SLADE-3.1.1.4/dist/res/config/languages/usdf.txt 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/res/config/languages/usdf.txt 2017-01-17 15:25:52.000000000 +0100 @@ -26,6 +26,7 @@ voice, dialog, drop, link, ifitem, item, page, actor, text, displaycost, yesmessage, nomessage, log, giveitem, nextpage, closedialog, special, - arg0, arg1, arg2, arg3, arg4, cost, amount, id + arg0, arg1, arg2, arg3, arg4, cost, amount, id, + goodbye, require, exclude } } \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/dist/res/config/languages/zdoom.txt new/SLADE-3.1.1.5/dist/res/config/languages/zdoom.txt --- old/SLADE-3.1.1.4/dist/res/config/languages/zdoom.txt 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/dist/res/config/languages/zdoom.txt 2017-01-17 15:25:52.000000000 +0100 @@ -364,7 +364,7 @@ ammo2tag, weapontag, inventorytag, time, logtext, linebreaks, normal, pain, ouch, rampage, god, godanimated, grin, death, xdeath, custom, health2, healthspecial, directional, left, right, dontcap, itemflash, alticonfirst, alternateonfail, forcescale, skipalticon, skipicon, skipready, skipspawn, auto, cooperative, singleplayer, teamgame, deathmatch, weaponslot, - equal, + equal, intcvar, //Some default fonts BIGFONT, INDEXFONT, SMALLFONT, HUDFONT_DOOM, INDEXFONT_DOOM, HUDFONT_RAVEN, INDEXFONT_RAVEN, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Application/MainApp.cpp new/SLADE-3.1.1.5/src/Application/MainApp.cpp --- old/SLADE-3.1.1.4/src/Application/MainApp.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Application/MainApp.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -87,8 +87,8 @@ string error = ""; int beta_num = 0; - int version_num = 3114; - string version = "3.1.1.4"; + int version_num = 3115; + string version = "3.1.1.5"; #ifdef GIT_DESCRIPTION string sc_rev = GIT_DESCRIPTION; #else @@ -224,18 +224,26 @@ hbox->Add(picture, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxTOP|wxBOTTOM, 10); // Add general crash message +#ifndef NOCURL string message = "SLADE has crashed unexpectedly. To help fix the problem that caused this crash, " "please (optionally) enter a short description of what you were doing at the time " "of the crash, and click the 'Send Crash Report' button."; +#else + string message = "SLADE has crashed unexpectedly. To help fix the problem that caused this crash, " + "please email a copy of the stack trace below to [email protected], along with a " + "description of what you were doing at the time of the crash."; +#endif wxStaticText* label = new wxStaticText(this, -1, message); hbox->Add(label, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 10); label->Wrap(480 - 20 - picture->GetSize().x); +#ifndef NOCURL // Add description text area text_description = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition, wxSize(-1, 100), wxTE_MULTILINE); sizer->Add(new wxStaticText(this, -1, "Description:"), 0, wxLEFT|wxRIGHT, 10); sizer->AddSpacer(2); sizer->Add(text_description, 0, wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM, 10); +#endif // SLADE info trace = S_FMT("Version: %s\n", Global::version); @@ -278,12 +286,14 @@ // Also dump stack trace to console std::cerr << trace; +#ifndef NOCURL // Add small privacy disclaimer string privacy = "Sending a crash report will only send the information displayed above, " "along with a copy of the logs for this session."; label = new wxStaticText(this, -1, privacy); label->Wrap(480); sizer->Add(label, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxBOTTOM, 10); +#endif // Add 'Copy Stack Trace' button hbox = new wxBoxSizer(wxHORIZONTAL); @@ -298,10 +308,12 @@ hbox->Add(btn_exit, 0, wxLEFT|wxRIGHT|wxBOTTOM, 4); btn_exit->Bind(wxEVT_COMMAND_BUTTON_CLICKED, &SLADECrashDialog::onBtnExit, this); +#ifndef NOCURL // Add 'Send Crash Report' button btn_send = new wxButton(this, -1, "Send Crash Report"); hbox->Add(btn_send, 0, wxLEFT|wxRIGHT|wxBOTTOM, 4); btn_send->Bind(wxEVT_COMMAND_BUTTON_CLICKED, &SLADECrashDialog::onBtnSend, this); +#endif Bind(wxEVT_THREAD, &SLADECrashDialog::onThreadUpdate, this); Bind(wxEVT_CLOSE_WINDOW, &SLADECrashDialog::onClose, this); @@ -1452,6 +1464,11 @@ if (!handled) wxLogMessage("Warning: Action \"%s\" not handled", id); + // Log action (to log file only) + exiting = true; + wxLogMessage("**** Action \"%s\"", id); + exiting = false; + // Return true if handled return handled; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Dialogs/Preferences/ACSPrefsPanel.cpp new/SLADE-3.1.1.5/src/Dialogs/Preferences/ACSPrefsPanel.cpp --- old/SLADE-3.1.1.4/src/Dialogs/Preferences/ACSPrefsPanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Dialogs/Preferences/ACSPrefsPanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -31,6 +31,7 @@ #include "ACSPrefsPanel.h" #include "Utility/SFileDialog.h" #include <wx/button.h> +#include <wx/checkbox.h> #include <wx/dirdlg.h> #include <wx/filedlg.h> #include <wx/listbox.h> @@ -45,6 +46,7 @@ *******************************************************************/ EXTERN_CVAR(String, path_acc) EXTERN_CVAR(String, path_acc_libs) +EXTERN_CVAR(Bool, acc_always_show_output) /******************************************************************* @@ -94,6 +96,10 @@ // Populate include paths list list_inc_paths->Append(wxSplit(path_acc_libs, ';')); + // 'Always Show Output' checkbox + cb_always_show_output = new wxCheckBox(this, -1, "Always Show Compiler Output"); + sizer->Add(cb_always_show_output, 0, wxEXPAND | wxALL, 4); + // Bind events btn_browse_accpath->Bind(wxEVT_BUTTON, &ACSPrefsPanel::onBtnBrowseACCPath, this); btn_incpath_add->Bind(wxEVT_BUTTON, &ACSPrefsPanel::onBtnAddIncPath, this); @@ -113,6 +119,7 @@ void ACSPrefsPanel::init() { text_accpath->SetValue(wxString(path_acc)); + cb_always_show_output->SetValue(acc_always_show_output); } /* ACSPrefsPanel::applyPreferences @@ -131,6 +138,7 @@ paths_string.RemoveLast(1); path_acc_libs = paths_string; + acc_always_show_output = cb_always_show_output->GetValue(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Dialogs/Preferences/ACSPrefsPanel.h new/SLADE-3.1.1.5/src/Dialogs/Preferences/ACSPrefsPanel.h --- old/SLADE-3.1.1.4/src/Dialogs/Preferences/ACSPrefsPanel.h 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Dialogs/Preferences/ACSPrefsPanel.h 2017-01-17 15:25:52.000000000 +0100 @@ -13,6 +13,7 @@ wxButton* btn_incpath_add; wxButton* btn_incpath_remove; wxListBox* list_inc_paths; + wxCheckBox* cb_always_show_output; public: ACSPrefsPanel(wxWindow* parent); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Dialogs/Preferences/NodesPrefsPanel.cpp new/SLADE-3.1.1.5/src/Dialogs/Preferences/NodesPrefsPanel.cpp --- old/SLADE-3.1.1.4/src/Dialogs/Preferences/NodesPrefsPanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Dialogs/Preferences/NodesPrefsPanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -144,6 +144,7 @@ { // Get current builder NodeBuilders::builder_t& builder = NodeBuilders::getBuilder(choice_nodebuilder->GetSelection()); + btn_browse_path->Enable(builder.id != "none"); // Set builder path text_path->SetValue(builder.path); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/External/email/wxMailer.cpp new/SLADE-3.1.1.5/src/External/email/wxMailer.cpp --- old/SLADE-3.1.1.4/src/External/email/wxMailer.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/External/email/wxMailer.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -2,7 +2,9 @@ // wxEmail by Eran Ifrah (https://github.com/eranif/wxEmail) #include "wxMailer.h" +#ifndef NOCURL #include <curl/curl.h> +#endif #ifdef __WXMSW__ #include "wx/msw/winundef.h" #endif @@ -36,6 +38,7 @@ bool wxMailer::Send(const wxEmailMessage& message) { +#ifndef NOCURL CURL* curl; curl = curl_easy_init(); @@ -71,4 +74,7 @@ curl_easy_cleanup(curl); } return true; +#else + return false; +#endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Graphics/Palette/Palette.cpp new/SLADE-3.1.1.5/src/Graphics/Palette/Palette.cpp --- old/SLADE-3.1.1.4/src/Graphics/Palette/Palette.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Graphics/Palette/Palette.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -145,30 +145,31 @@ *******************************************************************/ bool Palette8bit::loadMem(MemChunk& mc, int format) { - // Raw data if (format == FORMAT_RAW) - { return loadMem(mc); - } // Image else if (format == FORMAT_IMAGE) { SImage image; image.open(mc); + // Verify validity and only accept square images if (!image.isValid()) { - wxLogMessage("Palette information cannot be loaded from an invalid image"); + Global::error = "Palette information cannot be loaded from an invalid image"; + LOG_MESSAGE(0, Global::error); return false; } int side = image.getHeight(); if (side != image.getWidth() || side%16) { - wxLogMessage("Palette information cannot be loaded from a non-square image"); + Global::error = "Palette information cannot be loaded from a non-square image"; + LOG_MESSAGE(0, Global::error); return false; } + // Find color cell size int cell = side / 16; @@ -178,23 +179,25 @@ // Find position in grid int x = (a % 16) * cell; int y = (a / 16) * cell; + // Ignore possible borders if (cell > 3) ++x, ++y; + // Get color from image rgba_t col = image.getPixel(x, y); + // Validate color cell for (int b = x; b < (x + (cell > 3 ? cell - 1 : cell)); ++b) for (int c = y; c < (y + (cell > 3 ? cell - 1 : cell)); ++c) if (!col.equals(image.getPixel(b, c))) - { - wxLogMessage("Image does not seem to be a valid palette, color discrepancy in cell %u at [%u, %u]", a, b, c); - return false; - } + LOG_MESSAGE(0, "Image does not seem to be a valid palette, color discrepancy in cell %u at [%u, %u]", a, b, c); // Color is validated, so add it + LOG_MESSAGE(3, "Colour index %d / at %d,%d / rgb %d,%d,%d", a, x, y, col.r, col.g, col.b); setColour(a, col); } + return true; } @@ -214,13 +217,15 @@ { if (!tz.checkToken("JASC-PAL") || !tz.checkToken("0100")) { - wxLogMessage("Invalid JASC palette (unknown header)"); + Global::error = "Invalid JASC palette (unknown header)"; + LOG_MESSAGE(0, Global::error); return false; } int count = tz.getInteger(); if (count > 256 || count < 0) { - wxLogMessage("Invalid JASC palette (wrong count)"); + Global::error = "Invalid JASC palette (wrong count)"; + LOG_MESSAGE(0, Global::error); return false; } } @@ -228,7 +233,8 @@ { if (!tz.checkToken("GIMP") || !tz.checkToken("Palette")) { - wxLogMessage("Invalid GIMP palette (unknown header)"); + Global::error = "Invalid GIMP palette (unknown header)"; + LOG_MESSAGE(0, Global::error); return false; } } @@ -263,7 +269,11 @@ } - else wxLogMessage("Sorry, palette couldn't be imported, this format is not supported yet for import."); + else + { + Global::error = "Palette could not be imported, this format is not supported yet for import."; + LOG_MESSAGE(0, Global::error); + } return false; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Graphics/SImage/Formats/SIFDoom.h new/SLADE-3.1.1.5/src/Graphics/SImage/Formats/SIFDoom.h --- old/SLADE-3.1.1.4/src/Graphics/SImage/Formats/SIFDoom.h 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Graphics/SImage/Formats/SIFDoom.h 2017-01-17 15:25:52.000000000 +0100 @@ -109,11 +109,11 @@ int pos = ((top + p)*width + c); // Stop if we're outside the image - if (pos > width*height) + if (pos >= width*height) break; // Stop if for some reason we're outside the gfx data - if (bits > gfx_data + data.getSize()) + if (bits >= gfx_data + data.getSize()) break; // Fail if bogus data gives a negative pos (this corrupts the heap!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Graphics/SImage/SIFormat.cpp new/SLADE-3.1.1.5/src/Graphics/SImage/SIFormat.cpp --- old/SLADE-3.1.1.4/src/Graphics/SImage/SIFormat.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Graphics/SImage/SIFormat.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -401,12 +401,19 @@ int canWrite(SImage& image) { // If it's the correct size and colour format, it's writable + int width = image.getWidth(); + int height = image.getHeight(); if (image.getType() == PALMASK && validSize(image.getWidth(), image.getHeight())) return WRITABLE; - // Otherwise, it can be converted via palettising and cropping - return CONVERTIBLE; + // Otherwise, check if it can be cropped to a valid size + for (unsigned a = 0; a < n_valid_flat_sizes; a++) + if (width >= valid_flat_size[a][0] && height >= valid_flat_size[a][1] && + valid_flat_size[a][2] == 1 || gfx_extraconv) + return CONVERTIBLE; + + return NOTWRITABLE; } bool convertWritable(SImage& image, convert_options_t opt) @@ -432,28 +439,30 @@ for (unsigned a = 1; a < n_valid_flat_sizes; a++) { - // Ignore non-writable flat sizes - if (valid_flat_size[a][2] == 0) - continue; + bool writable = (valid_flat_size[a][2] == 1 || gfx_extraconv); // Check for exact match (no need to crop) if (image.getWidth() == valid_flat_size[a][0] && - image.getHeight() == valid_flat_size[a][1]) + image.getHeight() == valid_flat_size[a][1] && + writable) return true; // If the flat will fit within this size, crop to the previous size // (this works because flat sizes list is in size-order) if (image.getWidth() <= (int)valid_flat_size[a][0] && - image.getHeight() <= (int)valid_flat_size[a][1] && - width > 0 && height > 0) + image.getHeight() <= (int)valid_flat_size[a][1] && + width > 0 && height > 0) { image.crop(0, 0, width, height); return true; } // Save 'previous' valid size - width = valid_flat_size[a][0]; - height = valid_flat_size[a][1]; + if (writable) + { + width = valid_flat_size[a][0]; + height = valid_flat_size[a][1]; + } } return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/Graphics/SImage/SImage.cpp new/SLADE-3.1.1.5/src/Graphics/SImage/SImage.cpp --- old/SLADE-3.1.1.4/src/Graphics/SImage/SImage.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/Graphics/SImage/SImage.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -1577,31 +1577,32 @@ d_colour = pal->colour(data[p]); else d_colour.set(data[p], data[p+1], data[p+2], data[p+3]); + float alpha = (float)colour.a / 255.0f; // Additive blending if (properties.blend == ADD) { - d_colour.set( MathStuff::clamp(d_colour.r+colour.r*properties.alpha, 0, 255), - MathStuff::clamp(d_colour.g+colour.g*properties.alpha, 0, 255), - MathStuff::clamp(d_colour.b+colour.b*properties.alpha, 0, 255), + d_colour.set( MathStuff::clamp(d_colour.r+colour.r*alpha, 0, 255), + MathStuff::clamp(d_colour.g+colour.g*alpha, 0, 255), + MathStuff::clamp(d_colour.b+colour.b*alpha, 0, 255), MathStuff::clamp(d_colour.a + colour.a, 0, 255)); } // Subtractive blending else if (properties.blend == SUBTRACT) { - d_colour.set( MathStuff::clamp(d_colour.r-colour.r*properties.alpha, 0, 255), - MathStuff::clamp(d_colour.g-colour.g*properties.alpha, 0, 255), - MathStuff::clamp(d_colour.b-colour.b*properties.alpha, 0, 255), + d_colour.set( MathStuff::clamp(d_colour.r-colour.r*alpha, 0, 255), + MathStuff::clamp(d_colour.g-colour.g*alpha, 0, 255), + MathStuff::clamp(d_colour.b-colour.b*alpha, 0, 255), MathStuff::clamp(d_colour.a + colour.a, 0, 255)); } // Reverse-Subtractive blending else if (properties.blend == REVERSE_SUBTRACT) { - d_colour.set( MathStuff::clamp((-d_colour.r)+colour.r*properties.alpha, 0, 255), - MathStuff::clamp((-d_colour.g)+colour.g*properties.alpha, 0, 255), - MathStuff::clamp((-d_colour.b)+colour.b*properties.alpha, 0, 255), + d_colour.set( MathStuff::clamp((-d_colour.r)+colour.r*alpha, 0, 255), + MathStuff::clamp((-d_colour.g)+colour.g*alpha, 0, 255), + MathStuff::clamp((-d_colour.b)+colour.b*alpha, 0, 255), MathStuff::clamp(d_colour.a + colour.a, 0, 255)); } @@ -1617,10 +1618,10 @@ // Normal blending (or unknown blend type) else { - float inv_alpha = 1.0f - properties.alpha; - d_colour.set( d_colour.r*inv_alpha + colour.r*properties.alpha, - d_colour.g*inv_alpha + colour.g*properties.alpha, - d_colour.b*inv_alpha + colour.b*properties.alpha, + float inv_alpha = 1.0f - alpha; + d_colour.set( d_colour.r*inv_alpha + colour.r*alpha, + d_colour.g*inv_alpha + colour.g*alpha, + d_colour.b*inv_alpha + colour.b*alpha, MathStuff::clamp(d_colour.a + colour.a, 0, 255)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/EntryOperations.cpp new/SLADE-3.1.1.5/src/MainEditor/EntryOperations.cpp --- old/SLADE-3.1.1.4/src/MainEditor/EntryOperations.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/EntryOperations.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -60,6 +60,7 @@ CVAR(String, path_pngcrush, "", CVAR_SAVE); CVAR(String, path_deflopt, "", CVAR_SAVE); CVAR(String, path_db2, "", CVAR_SAVE) +CVAR(Bool, acc_always_show_output, false, CVAR_SAVE); /******************************************************************* @@ -1312,7 +1313,7 @@ for (unsigned a = 0; a < errout.size(); a++) { theConsole->logMessage(errout[a]); - output_log += errout[a]; + output_log += errout[a] + "\n"; } } @@ -1324,7 +1325,8 @@ wxRemoveFile(lib_paths[a]); // Check it compiled successfully - if (wxFileExists(ofile)) + bool success = wxFileExists(ofile); + if (success) { // If no target entry was given, find one if (!target) @@ -1371,7 +1373,8 @@ // Delete compiled script file wxRemoveFile(ofile); } - else + + if (!success || acc_always_show_output) { string errors; if (wxFileExists(appPath("acs.err", DIR_TEMP))) @@ -1386,12 +1389,18 @@ else errors = output_log; - ExtMessageDialog dlg(NULL, "Error Compiling"); - dlg.setMessage("The following errors were encountered while compiling, please fix them and recompile:"); - dlg.setExt(errors); - dlg.ShowModal(); + if (errors != "" || !success) + { + ExtMessageDialog dlg(NULL, success ? "ACC Output" : "Error Compiling"); + dlg.setMessage(success ? + "The following errors were encountered while compiling, please fix them and recompile:" : + "Compiler output shown below: " + ); + dlg.setExt(errors); + dlg.ShowModal(); + } - return false; + return success; } return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/UI/ArchivePanel.cpp new/SLADE-3.1.1.5/src/MainEditor/UI/ArchivePanel.cpp --- old/SLADE-3.1.1.4/src/MainEditor/UI/ArchivePanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/UI/ArchivePanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -377,13 +377,16 @@ choice_category->Append(cats[a]); choice_category->SetSelection(0); gb_sizer->Add(new wxStaticText(this, -1, "Show:"), wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); - gb_sizer->Add(choice_category, wxGBPosition(0, 1), wxDefaultSpan, wxEXPAND); + gb_sizer->Add(choice_category, wxGBPosition(0, 1), wxGBSpan(1, 2), wxEXPAND); gb_sizer->AddGrowableCol(1, 1); // Create filter text_filter = new wxTextCtrl(this, -1); gb_sizer->Add(new wxStaticText(this, -1, "Filter:"), wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); gb_sizer->Add(text_filter, wxGBPosition(1, 1), wxDefaultSpan, wxEXPAND); + btn_clear_filter = new wxBitmapButton(this, -1, Icons::getIcon(Icons::GENERAL, "close")); + btn_clear_filter->SetToolTip("Clear Filter"); + gb_sizer->Add(btn_clear_filter, wxGBPosition(1, 2), wxDefaultSpan, wxEXPAND); // Add default entry panel @@ -404,6 +407,7 @@ choice_category->Bind(wxEVT_CHOICE, &ArchivePanel::onChoiceCategoryChanged, this); Bind(EVT_AEL_DIR_CHANGED, &ArchivePanel::onDirChanged, this); btn_updir->Bind(wxEVT_BUTTON, &ArchivePanel::onBtnUpDir, this); + btn_clear_filter->Bind(wxEVT_BUTTON, &ArchivePanel::onBtnClearFilter, this); // Do a quick check to see if we need the path display if (archive->getRoot()->nChildren() == 0) @@ -3721,6 +3725,14 @@ entry_list->goUpDir(); } +/* ArchivePanel::onBtnClearFilter + * Called when the 'Clear Filter' button is clicked + *******************************************************************/ +void ArchivePanel::onBtnClearFilter(wxCommandEvent& e) +{ + text_filter->SetValue(""); +} + /******************************************************************* * ENTRYDATAUS CLASS FUNCTIONS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/UI/ArchivePanel.h new/SLADE-3.1.1.5/src/MainEditor/UI/ArchivePanel.h --- old/SLADE-3.1.1.4/src/MainEditor/UI/ArchivePanel.h 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/UI/ArchivePanel.h 2017-01-17 15:25:52.000000000 +0100 @@ -27,6 +27,7 @@ Archive* archive; ArchiveEntryList* entry_list; wxTextCtrl* text_filter; + wxButton* btn_clear_filter; wxChoice* choice_category; wxStaticText* label_path; wxBitmapButton* btn_updir; @@ -162,6 +163,7 @@ void onChoiceCategoryChanged(wxCommandEvent& e); void onDirChanged(wxCommandEvent& e); void onBtnUpDir(wxCommandEvent& e); + void onBtnClearFilter(wxCommandEvent& e); }; class EntryDataUS : public UndoStep diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/UI/EntryPanel/PaletteEntryPanel.cpp new/SLADE-3.1.1.5/src/MainEditor/UI/EntryPanel/PaletteEntryPanel.cpp --- old/SLADE-3.1.1.4/src/MainEditor/UI/EntryPanel/PaletteEntryPanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/UI/EntryPanel/PaletteEntryPanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -39,6 +39,7 @@ #include <wx/clrpicker.h> #include <wx/colordlg.h> #include <wx/menu.h> +#include <wx/msgdlg.h> #include <wx/radiobut.h> #include <wx/slider.h> #include <wx/stattext.h> @@ -848,6 +849,8 @@ setModified(); showPalette(cur_palette); } + else + wxMessageBox(Global::error, "Import Failed", wxICON_ERROR | wxOK); } return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/UI/TextureXEditor/PatchTablePanel.cpp new/SLADE-3.1.1.5/src/MainEditor/UI/TextureXEditor/PatchTablePanel.cpp --- old/SLADE-3.1.1.4/src/MainEditor/UI/TextureXEditor/PatchTablePanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/UI/TextureXEditor/PatchTablePanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -390,7 +390,7 @@ void PatchTablePanel::onBtnRemovePatch(wxCommandEvent& e) { // Check anything is selected - vector<long> selection = list_patches->getSelection(); + vector<long> selection = list_patches->getSelection(true); if (selection.size() == 0) return; @@ -435,7 +435,7 @@ void PatchTablePanel::onBtnChangePatch(wxCommandEvent& e) { // Check anything is selected - vector<long> selection = list_patches->getSelection(); + vector<long> selection = list_patches->getSelection(true); if (selection.size() == 0) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MainEditor/UI/TextureXEditor/TextureXPanel.cpp new/SLADE-3.1.1.5/src/MainEditor/UI/TextureXEditor/TextureXPanel.cpp --- old/SLADE-3.1.1.4/src/MainEditor/UI/TextureXEditor/TextureXPanel.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MainEditor/UI/TextureXEditor/TextureXPanel.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -614,7 +614,7 @@ tex->setScale(0, 0); // Add it after the last selected item - int selected = list_textures->getLastSelected(); + int selected = list_textures->getItemIndex(list_textures->getLastSelected()); if (selected == -1) selected = texturex.nTextures() - 1; // Add to end of the list if nothing selected texturex.addTexture(tex, selected + 1); @@ -663,7 +663,7 @@ CTexture* tex = newTextureFromPatch(name, patch); // Add texture after the last selected item - int selected = list_textures->getLastSelected(); + int selected = list_textures->getItemIndex(list_textures->getLastSelected()); if (selected == -1) selected = texturex.nTextures() - 1; // Add to end of the list if nothing selected texturex.addTexture(tex, selected + 1); @@ -757,7 +757,7 @@ CTexture* tex = newTextureFromPatch(name, name); // Add texture after the last selected item - int selected = list_textures->getLastSelected(); + int selected = list_textures->getItemIndex(list_textures->getLastSelected()); if (selected == -1) selected = texturex.nTextures() - 1; // Add to end of the list if nothing selected texturex.addTexture(tex, selected + 1); @@ -786,7 +786,7 @@ void TextureXPanel::removeTexture() { // Get selected textures - vector<long> selection = list_textures->getSelection(); + vector<long> selection = list_textures->getSelection(true); // Begin recording undo level undo_manager->beginRecord("Remove Texture(s)"); @@ -824,7 +824,7 @@ void TextureXPanel::moveUp() { // Get selected textures - vector<long> selection = list_textures->getSelection(); + vector<long> selection = list_textures->getSelection(true); // Do nothing if the first selected item is at the top of the list if (selection.size() > 0 && selection[0] == 0) @@ -864,7 +864,7 @@ void TextureXPanel::moveDown() { // Get selected textures - vector<long> selection = list_textures->getSelection(); + vector<long> selection = list_textures->getSelection(true); // Do nothing if the last selected item is at the end of the list if (selection.size() > 0 && selection.back() == list_textures->GetItemCount()-1) @@ -904,7 +904,7 @@ void TextureXPanel::sort() { // Get selected textures - vector<long> selection = list_textures->getSelection(); + vector<long> selection = list_textures->getSelection(true); // Without selection of multiple texture, sort everything instead if (selection.size() < 2) { @@ -972,7 +972,7 @@ void TextureXPanel::copy() { // Get selected textures - vector<long> selection = list_textures->getSelection(); + vector<long> selection = list_textures->getSelection(true); // Do nothing if nothing selected if (selection.size() == 0) @@ -998,7 +998,7 @@ return; // Get last selected index - int selected = list_textures->getLastSelected(); + int selected = list_textures->getItemIndex(list_textures->getLastSelected()); if (selected == -1) selected = texturex.nTextures() - 1; // Add to end of the list if nothing selected // Begin recording undo level @@ -1073,7 +1073,7 @@ void TextureXPanel::renameTexture(bool each) { // Get selected textures - vector<long> selec_num = list_textures->getSelection(); + vector<long> selec_num = list_textures->getSelection(true); vector<CTexture*> selection; if (!tx_entry) return; @@ -1142,7 +1142,7 @@ void TextureXPanel::exportTexture() { // Get selected textures - vector<long> selec_num = list_textures->getSelection(); + vector<long> selec_num = list_textures->getSelection(true); vector<CTexture*> selection; if (!tx_entry) return; @@ -1237,7 +1237,7 @@ void TextureXPanel::extractTexture() { // Get selected textures - vector<long> selec_num = list_textures->getSelection(); + vector<long> selec_num = list_textures->getSelection(true); vector<CTexture*> selection; if (!tx_entry) return; @@ -1326,7 +1326,7 @@ return false; // Go through selection - vector<long> selec_num = list_textures->getSelection(); + vector<long> selec_num = list_textures->getSelection(true); for (unsigned a = 0; a < selec_num.size(); ++a) { // Get texture @@ -1467,7 +1467,7 @@ theApp->getAction("txed_delete")->addToMenu(&context, true); context.AppendSeparator(); theApp->getAction("txed_rename")->addToMenu(&context, true); - if (list_textures->getSelection().size() > 1) + if (list_textures->GetSelectedItemCount() > 1) theApp->getAction("txed_rename_each")->addToMenu(&context, true); if (texturex.getFormat() == TXF_TEXTURES) theApp->getAction("txed_offsets")->addToMenu(&context, true); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MapEditor/MapEditorWindow.cpp new/SLADE-3.1.1.5/src/MapEditor/MapEditorWindow.cpp --- old/SLADE-3.1.1.4/src/MapEditor/MapEditorWindow.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MapEditor/MapEditorWindow.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -670,6 +670,10 @@ command = builder.command; options = nodebuilder_options; + // Don't build if none selected + if (builder.id == "none") + return; + // Switch to ZDBSP if UDMF if (mdesc_current.format == MAP_UDMF && nodebuilder_id != "zdbsp") { @@ -709,7 +713,7 @@ wxWindow* focus = wxWindow::FindFocus(); wxExecute(S_FMT("\"%s\" %s", builder.path, command), out, wxEXEC_HIDE_CONSOLE); theApp->SetTopWindow(theMainWindow); - focus->SetFocusFromKbd(); + if (focus) focus->SetFocusFromKbd(); wxLogMessage("Nodebuilder output:"); for (unsigned a = 0; a < out.size(); a++) wxLogMessage(out[a]); @@ -1094,7 +1098,7 @@ vector<Archive::mapdesc_t> maps = data->detectMaps(); if (!maps.empty()) { - editor.getMap().clearMap(); + editor.clearMap(); editor.openMap(maps[0]); loadMapScripts(maps[0]); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/MapEditor/NodeBuilders.cpp new/SLADE-3.1.1.5/src/MapEditor/NodeBuilders.cpp --- old/SLADE-3.1.1.4/src/MapEditor/NodeBuilders.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/MapEditor/NodeBuilders.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -41,6 +41,7 @@ { vector<builder_t> builders; builder_t invalid; + builder_t none; string custom; vector<string> builder_paths; } @@ -55,8 +56,11 @@ *******************************************************************/ void NodeBuilders::init() { - // Init invalid builder + // Init default builders invalid.id = "invalid"; + none.id = "none"; + none.name = "Don't Build Nodes"; + builders.push_back(none); // Get nodebuilders configuration from slade.pk3 Archive* archive = theArchiveManager->programResourceArchive(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/UI/Lists/VirtualListView.cpp new/SLADE-3.1.1.5/src/UI/Lists/VirtualListView.cpp --- old/SLADE-3.1.1.4/src/UI/Lists/VirtualListView.cpp 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/UI/Lists/VirtualListView.cpp 2017-01-17 15:25:52.000000000 +0100 @@ -204,9 +204,10 @@ } /* VirtualListView::getSelection - * Returns a list of all selected item indices + * Returns a list of all selected item indices. If [item_indices] is + * true, the returned indices will have sorting and filtering applied *******************************************************************/ -vector<long> VirtualListView::getSelection() +vector<long> VirtualListView::getSelection(bool item_indices) { // Init return array vector<long> ret; @@ -223,7 +224,7 @@ break; // Otherwise add the selected index to the vector - ret.push_back(item); + ret.push_back(item_indices ? getItemIndex(item) : item); } return ret; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/src/UI/Lists/VirtualListView.h new/SLADE-3.1.1.5/src/UI/Lists/VirtualListView.h --- old/SLADE-3.1.1.4/src/UI/Lists/VirtualListView.h 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/src/UI/Lists/VirtualListView.h 2017-01-17 15:25:52.000000000 +0100 @@ -55,7 +55,7 @@ void selectItems(long start, long end, bool select = true); void selectAll(); void clearSelection(); - vector<long> getSelection(); + vector<long> getSelection(bool item_indices = false); long getFirstSelected(); long getLastSelected(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SLADE-3.1.1.4/win_installer/SLADE.iss new/SLADE-3.1.1.5/win_installer/SLADE.iss --- old/SLADE-3.1.1.4/win_installer/SLADE.iss 2016-09-26 06:00:29.000000000 +0200 +++ new/SLADE-3.1.1.5/win_installer/SLADE.iss 2017-01-17 15:25:52.000000000 +0100 @@ -2,8 +2,8 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "SLADE" -#define MyAppVersion "3.1.1.4" -#define VersionNum "3114" +#define MyAppVersion "3.1.1.5" +#define VersionNum "3115" #define MyAppURL "http://slade.mancubus.net" #define MyAppExeName "SLADE.exe" @@ -24,7 +24,7 @@ DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} AllowNoIcons=yes -;InfoBeforeFile=..\dist\slade3.txt +;InfoBeforeFile=..\dist\SLADE.html OutputBaseFilename=Setup_{#MyAppName}_{#VersionNum} SetupIconFile=..\build\msvc\slade.ico Compression=lzma @@ -42,10 +42,8 @@ Source: "..\dist\SLADE.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "..\dist\FreeImage.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\dist\libfluidsynth.dll"; DestDir: "{app}"; Flags: ignoreversion -; Source: "..\dist\libsndfile-1.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\dist\openal32.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\dist\slade.pk3"; DestDir: "{app}"; Flags: ignoreversion -; Source: "..\dist\slade3.txt"; DestDir: "{app}"; Flags: ignoreversion Source: "..\dist\SLADE.pdb"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files ++++++ slade.appdata.xml ++++++ <?xml version="1.0" encoding="UTF-8"?> <component type="desktop-application"> <id>slade.desktop</id> <metadata_license>CC0</metadata_license> <project_license>GPL-2.0+</project_license> <name>SLADE 3</name> <summary>An editor for games using the Doom engine</summary> <description> <p> SLADE3 is a modern editor for Doom-engine based games and source ports. It has the ability to view, modify, and write many different game-specific formats, and even convert between some of them, or from/to other generic formats such as PNG. </p> </description> <screenshots> <screenshot type="default"> <caption>Map Editor</caption> <image>http://slade.mancubus.net/shots/map_t.png</image> </screenshot> <screenshot> <caption>3D Map Editor</caption> <image>http://slade.mancubus.net/shots/map3d_t.png</image> </screenshot> <screenshot> <caption>Basic Editor View</caption> <image>http://slade.mancubus.net/shots/gfx_t.png</image> </screenshot> <screenshot> <caption>Advanced Text Editor</caption> <image>http://slade.mancubus.net/shots/text.png</image> </screenshot> <caption>Texture Editor</caption> <image>http://slade.mancubus.net/shots/textures.png</image> </screenshot> </screenshots> <url type="homepage">http://slade.mancubus.net/</url> <provides> <binary>slade</binary> </provides> </component>
