diff --git a/.gitignore b/.gitignore
index 78d4f18..c35a451 100644
--- a/.gitignore
+++ b/.gitignore
@@ -263,3 +263,7 @@ Builds/include/GL
/Builds/QtCreator/Fractorium/.qtc_clangd/compile_commands.json
.DS_Store
/.vs/VSWorkspaceState.json
+/Source/apoconv/.vs
+/Deps/Include/openjph
+/Deps-orig/Include/Imath
+/Deps-orig/Include/OpenEXR
diff --git a/Builds/MSVC/Installer/FractoriumInstaller.wixproj b/Builds/MSVC/Installer/FractoriumInstaller.wixproj
index 05a8a3f..7f98533 100644
--- a/Builds/MSVC/Installer/FractoriumInstaller.wixproj
+++ b/Builds/MSVC/Installer/FractoriumInstaller.wixproj
@@ -1,7 +1,7 @@
3.7
- Fractorium_24.24.12.1
+ Fractorium_25.25.12.1
$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\
@@ -47,4 +47,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Builds/MSVC/Installer/Product.wxs b/Builds/MSVC/Installer/Product.wxs
index 5253463..2ba32c4 100644
--- a/Builds/MSVC/Installer/Product.wxs
+++ b/Builds/MSVC/Installer/Product.wxs
@@ -1,5 +1,5 @@
-
+
@@ -12,8 +12,8 @@
-
-
+
+
@@ -72,18 +72,14 @@
-
-
-
@@ -93,51 +89,75 @@
+
+
+
+
+
-
-
+
+
+
-
-
+
+
+
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
+
-
+
+
-
+
+
-
+
+
diff --git a/Builds/MSVC/Solution/Ember.rc b/Builds/MSVC/Solution/Ember.rc
index 2f2ca76..cdcd7e1 100644
Binary files a/Builds/MSVC/Solution/Ember.rc and b/Builds/MSVC/Solution/Ember.rc differ
diff --git a/Builds/MSVC/Solution/Ember.vcxproj b/Builds/MSVC/Solution/Ember.vcxproj
index 9c3f559..ec9d4e7 100644
--- a/Builds/MSVC/Solution/Ember.vcxproj
+++ b/Builds/MSVC/Solution/Ember.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
DynamicLibrary
false
false
MultiByte
- v143
+ v145
diff --git a/Builds/MSVC/Solution/EmberAnimate.rc b/Builds/MSVC/Solution/EmberAnimate.rc
index 27a6215..d6da0ba 100644
--- a/Builds/MSVC/Solution/EmberAnimate.rc
+++ b/Builds/MSVC/Solution/EmberAnimate.rc
@@ -49,8 +49,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24, 24, 12, 1
- PRODUCTVERSION 24, 24, 12, 1
+ FILEVERSION 25, 25, 12, 1
+ PRODUCTVERSION 25, 25, 12, 1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -67,12 +67,12 @@
BEGIN
VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as animations with motion blur"
- VALUE "FileVersion", "24, 24, 12, 1"
+ VALUE "FileVersion", "25, 25, 12, 1"
VALUE "InternalName", "EmberAnimate.exe"
- VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3"
+ VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2025, GPL v3"
VALUE "OriginalFilename", "EmberAnimate.exe"
VALUE "ProductName", "Ember Animate"
- VALUE "ProductVersion", "24, 24, 12, 1"
+ VALUE "ProductVersion", "25, 25, 12, 1"
END
END
BLOCK "VarFileInfo"
diff --git a/Builds/MSVC/Solution/EmberAnimate.vcxproj b/Builds/MSVC/Solution/EmberAnimate.vcxproj
index 1391a8b..7883e40 100644
--- a/Builds/MSVC/Solution/EmberAnimate.vcxproj
+++ b/Builds/MSVC/Solution/EmberAnimate.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
Application
false
false
MultiByte
- v143
+ v145
@@ -61,7 +61,7 @@
Disabled
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -76,7 +76,7 @@
Console
DebugFull
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
@@ -94,7 +94,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
true
WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -110,7 +110,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
DebugFull
true
true
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
diff --git a/Builds/MSVC/Solution/EmberCL.rc b/Builds/MSVC/Solution/EmberCL.rc
index 9c14b45..7bf843f 100644
Binary files a/Builds/MSVC/Solution/EmberCL.rc and b/Builds/MSVC/Solution/EmberCL.rc differ
diff --git a/Builds/MSVC/Solution/EmberCL.vcxproj b/Builds/MSVC/Solution/EmberCL.vcxproj
index 8f9a45e..809fdfb 100644
--- a/Builds/MSVC/Solution/EmberCL.vcxproj
+++ b/Builds/MSVC/Solution/EmberCL.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
DynamicLibrary
false
false
MultiByte
- v143
+ v145
diff --git a/Builds/MSVC/Solution/EmberGenome.rc b/Builds/MSVC/Solution/EmberGenome.rc
index 027f2fb..9275388 100644
--- a/Builds/MSVC/Solution/EmberGenome.rc
+++ b/Builds/MSVC/Solution/EmberGenome.rc
@@ -49,8 +49,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24, 24, 12, 1
- PRODUCTVERSION 24, 24, 12, 1
+ FILEVERSION 25, 25, 12, 1
+ PRODUCTVERSION 25, 25, 12, 1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -67,12 +67,12 @@
BEGIN
VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Manipulates fractal flame parameter files"
- VALUE "FileVersion", "24, 24, 12, 1"
+ VALUE "FileVersion", "25, 25, 12, 1"
VALUE "InternalName", "EmberGenome.exe"
- VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3"
+ VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2025, GPL v3"
VALUE "OriginalFilename", "EmberGenome.exe"
VALUE "ProductName", "Ember Genome"
- VALUE "ProductVersion", "24, 24, 12, 1"
+ VALUE "ProductVersion", "25, 25, 12, 1"
END
END
BLOCK "VarFileInfo"
diff --git a/Builds/MSVC/Solution/EmberGenome.vcxproj b/Builds/MSVC/Solution/EmberGenome.vcxproj
index 48da8ec..38d53c6 100644
--- a/Builds/MSVC/Solution/EmberGenome.vcxproj
+++ b/Builds/MSVC/Solution/EmberGenome.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
Application
false
false
MultiByte
- v143
+ v145
@@ -61,7 +61,7 @@
Disabled
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -76,7 +76,7 @@
Console
DebugFull
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
@@ -94,7 +94,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
true
WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -110,7 +110,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
DebugFull
true
true
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
diff --git a/Builds/MSVC/Solution/EmberRender.rc b/Builds/MSVC/Solution/EmberRender.rc
index 0ffd345..bcc722c 100644
--- a/Builds/MSVC/Solution/EmberRender.rc
+++ b/Builds/MSVC/Solution/EmberRender.rc
@@ -49,8 +49,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 24, 24, 12, 1
- PRODUCTVERSION 24, 24, 12, 1
+ FILEVERSION 25, 25, 12, 1
+ PRODUCTVERSION 25, 25, 12, 1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -67,12 +67,12 @@
BEGIN
VALUE "CompanyName", "Open Source"
VALUE "FileDescription", "Renders fractal flames as single images"
- VALUE "FileVersion", "24, 24, 12, 1"
+ VALUE "FileVersion", "25, 25, 12, 1"
VALUE "InternalName", "EmberRender.exe"
- VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2024, GPL v3"
+ VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2025, GPL v3"
VALUE "OriginalFilename", "EmberRender.exe"
VALUE "ProductName", "Ember Render"
- VALUE "ProductVersion", "24, 24, 12, 1"
+ VALUE "ProductVersion", "25, 25, 12, 1"
END
END
BLOCK "VarFileInfo"
diff --git a/Builds/MSVC/Solution/EmberRender.vcxproj b/Builds/MSVC/Solution/EmberRender.vcxproj
index 4b14456..da1c135 100644
--- a/Builds/MSVC/Solution/EmberRender.vcxproj
+++ b/Builds/MSVC/Solution/EmberRender.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
Application
false
false
MultiByte
- v143
+ v145
@@ -61,7 +61,7 @@
Disabled
WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -76,7 +76,7 @@
Console
DebugFull
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
@@ -94,7 +94,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
true
WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -111,7 +111,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
DebugFull
true
true
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
diff --git a/Builds/MSVC/Solution/EmberTester.vcxproj b/Builds/MSVC/Solution/EmberTester.vcxproj
index 9593375..a9ef3e9 100644
--- a/Builds/MSVC/Solution/EmberTester.vcxproj
+++ b/Builds/MSVC/Solution/EmberTester.vcxproj
@@ -23,14 +23,14 @@
true
MultiByte
false
- v143
+ v145
Application
false
false
MultiByte
- v143
+ v145
@@ -63,7 +63,7 @@
Disabled
WIN32;_DEBUG;_CONSOLE;OPENEXR_DLL;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -78,7 +78,7 @@
Console
DebugFull
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
@@ -96,7 +96,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
true
WIN32;NDEBUG;_CONSOLE;OPENEXR_DLL;%(PreprocessorDefinitions)
$(TargetDir)$(TargetName).pdb
- $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
+ $(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0
EmberCommonPch.h
@@ -112,7 +112,7 @@ xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
DebugFull
true
true
- libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
+ libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)
$(ProjectDir)..\..\..\Deps;$(OCL_ROOT)\lib\x86_64
diff --git a/Builds/MSVC/Solution/Fractorium.rc b/Builds/MSVC/Solution/Fractorium.rc
index 2fb43b3..1f19fbf 100644
Binary files a/Builds/MSVC/Solution/Fractorium.rc and b/Builds/MSVC/Solution/Fractorium.rc differ
diff --git a/Builds/MSVC/Solution/Fractorium.sln b/Builds/MSVC/Solution/Fractorium.sln
index cf925db..de3692b 100644
--- a/Builds/MSVC/Solution/Fractorium.sln
+++ b/Builds/MSVC/Solution/Fractorium.sln
@@ -1,8 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.7.34202.233
+# Visual Studio Version 18
+VisualStudioVersion = 18.1.11304.174
MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5CD06D80-903E-45D6-90F3-3C3EB4FFE46F}"
+ ProjectSection(SolutionItems) = preProject
+ ..\..\..\Data\Version History.txt = ..\..\..\Data\Version History.txt
+ EndProjectSection
+EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ember", "Ember.vcxproj", "{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberTester", "EmberTester.vcxproj", "{320F611A-F9CE-4196-A8DC-FA24B2E8A320}"
@@ -17,86 +22,51 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberGenome", "EmberGenome.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberCL", "EmberCL.vcxproj", "{F6A9102C-69A9-48FB-BC4B-49E49AF43236}"
EndProject
-Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "FractoriumInstaller", "..\Installer\FractoriumInstaller.wixproj", "{C8096C47-E358-438C-A520-146D46B0637D}"
- ProjectSection(ProjectDependencies) = postProject
- {F6A9102C-69A9-48FB-BC4B-49E49AF43236} = {F6A9102C-69A9-48FB-BC4B-49E49AF43236}
- {4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29} = {4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}
- {2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67} = {2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}
- {7930CAAC-9FC4-4202-B6A3-E760F73F88B7} = {7930CAAC-9FC4-4202-B6A3-E760F73F88B7}
- {35285FCF-6FA8-410E-841B-70AE744D38B8} = {35285FCF-6FA8-410E-841B-70AE744D38B8}
- {6547D5FA-64CE-44BA-9D3C-B6E217456445} = {6547D5FA-64CE-44BA-9D3C-B6E217456445}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5CD06D80-903E-45D6-90F3-3C3EB4FFE46F}"
- ProjectSection(SolutionItems) = preProject
- ..\..\..\Data\Version History.txt = ..\..\..\Data\Version History.txt
- EndProjectSection
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "apoconv", "..\..\..\Source\apoconv\apoconv.csproj", "{4F78C421-8985-4411-8FFD-B0F323F857BE}"
EndProject
+Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "FractoriumInstaller", "..\Installer\FractoriumInstaller.wixproj", "{1265534D-23CB-5891-8CB0-8CF7B75A4086}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
- Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Debug|Any CPU.ActiveCfg = Debug|x64
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Debug|x64.ActiveCfg = Debug|x64
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Debug|x64.Build.0 = Debug|x64
- {2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Release|Any CPU.ActiveCfg = Release|x64
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Release|x64.ActiveCfg = Release|x64
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Release|x64.Build.0 = Release|x64
- {320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Debug|Any CPU.ActiveCfg = Debug|x64
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Debug|x64.ActiveCfg = Debug|x64
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Debug|x64.Build.0 = Debug|x64
- {320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Release|Any CPU.ActiveCfg = Release|x64
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Release|x64.ActiveCfg = Release|x64
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Release|x64.Build.0 = Release|x64
- {6547D5FA-64CE-44BA-9D3C-B6E217456445}.Debug|Any CPU.ActiveCfg = Debug|x64
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Debug|x64.ActiveCfg = Debug|x64
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Debug|x64.Build.0 = Debug|x64
- {6547D5FA-64CE-44BA-9D3C-B6E217456445}.Release|Any CPU.ActiveCfg = Release|x64
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Release|x64.ActiveCfg = Release|x64
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Release|x64.Build.0 = Release|x64
- {4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Debug|Any CPU.ActiveCfg = Debug|x64
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Debug|x64.ActiveCfg = Debug|x64
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Debug|x64.Build.0 = Debug|x64
- {4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Release|Any CPU.ActiveCfg = Release|x64
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Release|x64.ActiveCfg = Release|x64
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Release|x64.Build.0 = Release|x64
- {35285FCF-6FA8-410E-841B-70AE744D38B8}.Debug|Any CPU.ActiveCfg = Debug|x64
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Debug|x64.ActiveCfg = Debug|x64
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Debug|x64.Build.0 = Debug|x64
- {35285FCF-6FA8-410E-841B-70AE744D38B8}.Release|Any CPU.ActiveCfg = Release|x64
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Release|x64.ActiveCfg = Release|x64
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Release|x64.Build.0 = Release|x64
- {7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Debug|Any CPU.ActiveCfg = Debug|x64
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Debug|x64.ActiveCfg = Debug|x64
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Debug|x64.Build.0 = Debug|x64
- {7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Release|Any CPU.ActiveCfg = Release|x64
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Release|x64.ActiveCfg = Release|x64
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Release|x64.Build.0 = Release|x64
- {F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Debug|Any CPU.ActiveCfg = Debug|x64
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Debug|x64.ActiveCfg = Debug|x64
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Debug|x64.Build.0 = Debug|x64
- {F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Release|Any CPU.ActiveCfg = Release|x64
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Release|x64.ActiveCfg = Release|x64
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Release|x64.Build.0 = Release|x64
- {C8096C47-E358-438C-A520-146D46B0637D}.Debug|Any CPU.ActiveCfg = Debug|x86
- {C8096C47-E358-438C-A520-146D46B0637D}.Debug|x64.ActiveCfg = Debug|x64
- {C8096C47-E358-438C-A520-146D46B0637D}.Release|Any CPU.ActiveCfg = Release|x86
- {C8096C47-E358-438C-A520-146D46B0637D}.Release|x64.ActiveCfg = Release|x64
- {C8096C47-E358-438C-A520-146D46B0637D}.Release|x64.Build.0 = Release|x64
- {4F78C421-8985-4411-8FFD-B0F323F857BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4F78C421-8985-4411-8FFD-B0F323F857BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4F78C421-8985-4411-8FFD-B0F323F857BE}.Debug|x64.ActiveCfg = Debug|Any CPU
{4F78C421-8985-4411-8FFD-B0F323F857BE}.Debug|x64.Build.0 = Debug|Any CPU
- {4F78C421-8985-4411-8FFD-B0F323F857BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4F78C421-8985-4411-8FFD-B0F323F857BE}.Release|Any CPU.Build.0 = Release|Any CPU
{4F78C421-8985-4411-8FFD-B0F323F857BE}.Release|x64.ActiveCfg = Release|Any CPU
{4F78C421-8985-4411-8FFD-B0F323F857BE}.Release|x64.Build.0 = Release|Any CPU
+ {1265534D-23CB-5891-8CB0-8CF7B75A4086}.Debug|x64.ActiveCfg = Debug|x64
+ {1265534D-23CB-5891-8CB0-8CF7B75A4086}.Release|x64.ActiveCfg = Release|x64
+ {1265534D-23CB-5891-8CB0-8CF7B75A4086}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Builds/MSVC/Solution/Fractorium.vcxproj b/Builds/MSVC/Solution/Fractorium.vcxproj
index 2b9fb55..4c7f916 100644
--- a/Builds/MSVC/Solution/Fractorium.vcxproj
+++ b/Builds/MSVC/Solution/Fractorium.vcxproj
@@ -19,12 +19,12 @@
Application
MultiByte
- v143
+ v145
Application
MultiByte
- v143
+ v145
@@ -62,7 +62,7 @@
UNICODE;WIN32;QT_CORE_LIB;QT_GUI_LIB;QT_MULTIMEDIA_LIB;QT_HELP_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_XML_LIB;%(PreprocessorDefinitions)
- .;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)
+ .;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)
Disabled
ProgramDatabase
MultiThreadedDebugDLL
@@ -87,7 +87,7 @@
$(OutDir)\$(ProjectName).exe
$(ProjectDir)..\..\..\Deps;$(QTDIR)\lib;$(OCL_ROOT)\lib\x86_64;%(AdditionalLibraryDirectories)
DebugFull
- Qt6Cored.lib;Qt6EntryPointd.lib;Qt6Guid.lib;Qt6OpenGLd.lib;Qt6OpenGLWidgetsd.lib;Qt6Widgetsd.lib;opengl32.lib;glu32.lib;opencl.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;%(AdditionalDependencies)
+ Qt6Cored.lib;Qt6EntryPointd.lib;Qt6Guid.lib;Qt6OpenGLd.lib;Qt6OpenGLWidgetsd.lib;Qt6Widgetsd.lib;opengl32.lib;glu32.lib;opencl.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;%(AdditionalDependencies)
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
@@ -107,7 +107,7 @@ xcopy /F /Y /R /D "$(QTDIR)\plugins\imageformats\qjpegd.dll" "$(OutDir)\imagefor
UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_MULTIMEDIA_LIB;QT_HELP_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_XML_LIB;%(PreprocessorDefinitions)
- .;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\output\include\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)
+ .;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\openexr\_deps\imath-build\config;$(ProjectDir)..\..\..\..\openexr\_deps\imath-src\src\Imath;$(ProjectDir)..\..\..\..\openexr\output\include\OpenEXR;$(ProjectDir)..\..\..\Builds\include\CLs\CL3.0;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)
ProgramDatabase
MultiThreadedDLL
true
@@ -131,7 +131,7 @@ xcopy /F /Y /R /D "$(QTDIR)\plugins\imageformats\qjpegd.dll" "$(OutDir)\imagefor
$(OutDir)\$(ProjectName).exe
$(ProjectDir)..\..\..\Deps;$(QTDIR)\lib;$(OCL_ROOT)\lib\x86_64;%(AdditionalLibraryDirectories)
DebugFull
- Qt6Core.lib;Qt6EntryPoint.lib;Qt6Gui.lib;Qt6OpenGL.lib;Qt6OpenGLWidgets.lib;Qt6Widgets.lib;opengl32.lib;glu32.lib;opencl.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_1.lib;Imath-3_1.lib;OpenEXR-3_1.lib;%(AdditionalDependencies)
+ Qt6Core.lib;Qt6EntryPoint.lib;Qt6Gui.lib;Qt6OpenGL.lib;Qt6OpenGLWidgets.lib;Qt6Widgets.lib;opengl32.lib;glu32.lib;opencl.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;zlib.lib;Iex-3_4.lib;Imath-3_2.lib;OpenEXR-3_4.lib;%(AdditionalDependencies)
0.1
diff --git a/Data/Version History.txt b/Data/Version History.txt
index f0f623b..6a8c48a 100644
--- a/Data/Version History.txt
+++ b/Data/Version History.txt
@@ -1,3 +1,15 @@
+25.25.12.1 12/14/2025
+--User changes
+ -Use the hex palette format when saving xmls from the final render dialog.
+ -Add a button to the toolbar for toggling flam3 compatibility mode.
+ -Update licenses to refer to GPL v3 in the about dialog.
+
+--Bug fixes
+ -Fix error in the curve variation to make compatible with Chaotica and add flam3 compatibility support.
+
+--Code changes
+ -Migrate to Visual Studio 2026 and update various dependencies.
+
24.24.12.1 12/8/2024
--User changes
-Clarify the tooltip for the red squares in the Type column of the variations tree.
@@ -44,7 +56,7 @@
-Bug when duplicating a flame in a file and scrolling to it.
-Null termination bug when reading Xml strings.
-Fix an extremely rare possible memory leak when using motion during animation, which is never used in Fractorium.
- -Do not skip to the current flame index, or attach a prefix in the Final Render Dialog when rendering an animation sequence.
+ -Do not skip to the current flame index, or attach a prefix in the final render dialog when rendering an animation sequence.
-Fix indendation for variations because of Type icon.
-Fix bug when duplicating flame where the new flame wasn't being properly selected.
-Fix bug where clearing a flame was changing size and quality when it shouldn't have.
diff --git a/Source/Ember/EmberDefines.h b/Source/Ember/EmberDefines.h
index ade7bf6..a8253bf 100644
--- a/Source/Ember/EmberDefines.h
+++ b/Source/Ember/EmberDefines.h
@@ -37,7 +37,7 @@ static void sincos(float x, float* s, float* c)
namespace EmberNs
{
-#define EMBER_VERSION "24.24.12.1"
+#define EMBER_VERSION "25.25.12.1"
//#define FLAM3_COMPAT 1//Uncomment this if you want full compatibility with flam3 regarding some of the trig-based variations in Variations01.h
#define EPS6 T(1e-6)
#define EPS std::numeric_limits::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
diff --git a/Source/Ember/Variations01.h b/Source/Ember/Variations01.h
index 79523f5..051c845 100644
--- a/Source/Ember/Variations01.h
+++ b/Source/Ember/Variations01.h
@@ -4116,8 +4116,8 @@ public:
virtual void Func(IteratorHelper& helper, Point& outPoint, QTIsaac& rand) override
{
- helper.Out.x = m_Weight * helper.In.x + m_XAmpV * std::exp(-helper.In.y * helper.In.y * m_XLengthV);
- helper.Out.y = m_Weight * helper.In.y + m_YAmpV * std::exp(-helper.In.x * helper.In.x * m_YLengthV);
+ helper.Out.x = m_Weight * (helper.In.x + (m_XAmp * std::exp(-helper.In.y * helper.In.y * m_XLengthV)));
+ helper.Out.y = m_Weight * (helper.In.y + (m_YAmp * std::exp(-helper.In.x * helper.In.x * m_YLengthV)));
helper.Out.z = DefaultZ(helper);
}
@@ -4132,13 +4132,11 @@ public:
string yAmp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
string xLength = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
string yLength = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
- string xAmpV = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
- string yAmpV = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
string xLengthV = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
string yLengthV = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
ss << "\t{\n"
- << "\t\tvOut.x = fma(" << weight << ", vIn.x, " << xAmpV << " * exp(-vIn.y * vIn.y * " << xLengthV << "));\n"
- << "\t\tvOut.y = fma(" << weight << ", vIn.y, " << yAmpV << " * exp(-vIn.x * vIn.x * " << yLengthV << "));\n"
+ << "\t\tvOut.x = " << weight << " * fma(" << xAmp << ", exp(-vIn.y * vIn.y * " << xLengthV << "), vIn.x);\n"
+ << "\t\tvOut.y = " << weight << " * fma(" << yAmp << ", exp(-vIn.x * vIn.x * " << yLengthV << "), vIn.y);\n"
<< "\t\tvOut.z = " << DefaultZCl()
<< "\t}\n";
return ss.str();
@@ -4146,10 +4144,16 @@ public:
virtual void Precalc() override
{
- m_XAmpV = m_Weight * m_XAmp;
- m_YAmpV = m_Weight * m_YAmp;
- m_XLengthV = 1 / std::max(SQR(m_XLength), T(1e-20));
- m_YLengthV = 1 / std::max(SQR(m_YLength), T(1e-20));
+ if (Compat::m_Compat)
+ {
+ m_XLengthV = 1 / std::max(SQR(m_XLength), T(1e-20));
+ m_YLengthV = 1 / std::max(SQR(m_YLength), T(1e-20));
+ }
+ else
+ {
+ m_XLengthV = 1 / Zeps(m_XLength);
+ m_YLengthV = 1 / Zeps(m_YLength);
+ }
}
virtual void Random(QTIsaac& rand) override
@@ -4169,9 +4173,7 @@ protected:
m_Params.push_back(ParamWithName(&m_YAmp, prefix + "curve_yamp"));
m_Params.push_back(ParamWithName(&m_XLength, prefix + "curve_xlength", 1));
m_Params.push_back(ParamWithName(&m_YLength, prefix + "curve_ylength", 1));
- m_Params.push_back(ParamWithName(true, &m_XAmpV, prefix + "curve_xampv"));//Precalc.
- m_Params.push_back(ParamWithName(true, &m_YAmpV, prefix + "curve_yampv"));
- m_Params.push_back(ParamWithName(true, &m_XLengthV, prefix + "curve_xlenv"));
+ m_Params.push_back(ParamWithName(true, &m_XLengthV, prefix + "curve_xlenv"));//Precalc.
m_Params.push_back(ParamWithName(true, &m_YLengthV, prefix + "curve_ylenv"));
}
@@ -4180,9 +4182,7 @@ private:
T m_YAmp;
T m_XLength;
T m_YLength;
- T m_XAmpV;//Precalc.
- T m_YAmpV;
- T m_XLengthV;
+ T m_XLengthV;//Precalc.
T m_YLengthV;
};
diff --git a/Source/Fractorium/AboutDialog.ui b/Source/Fractorium/AboutDialog.ui
index 787a4f9..677b7be 100644
--- a/Source/Fractorium/AboutDialog.ui
+++ b/Source/Fractorium/AboutDialog.ui
@@ -61,7 +61,7 @@
QFrame::NoFrame
- <html><head/><body><p align="center"><span style=" font-size:10pt;">Fractorium 24.24.12.1</span></p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">fractorium.com</span></a></p></body></html>
+ <html><head/><body><p align="center"><span style=" font-size:10pt;">Fractorium 25.25.12.1</span></p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">fractorium.com</span></a></p></body></html>
Qt::RichText
@@ -105,28 +105,31 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.14286pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Developers:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Lead: </span><a href="http://www.fractorium.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Matt Feemster</span></a><span style=" font-size:10pt;"><br />Contributors: </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Michel Mastriani,</span></a><span style=" font-size:10pt;"> Simon Detheridge</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Builders, Testers and Advisors:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Linux deployment: </span><a href="https://launchpad.net/~fractorium"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gambhiro Bhikkhu</span></a></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Testing and Feedback: </span><a href="http://snicker02.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Brad Stefanov</span></a><span style=" font-size:10pt;">, </span><a href="http://www.fxysw.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fengda</span></a><span style=" font-size:10pt;">, </span><a href="http://www.deviantart.com/b33rheart"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/guephren"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Guephren</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/jeddaka"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Jeddaka,</span></a><span style=" font-size:10pt;"> </span><a href="http://boosthardware.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Patrick Shirkey</span></a><span style=" font-size:10pt;">, </span><a href="http://nightmaretf.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Richard Vollebregt</span></a><span style=" font-size:10pt;">, Simon Detheridge, Tai,</span><span style=" font-size:8pt;"> </span><a href="http://gameryamen.deviantart.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Yamen</span></a></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Code and theory questions: </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Erik Reckase</span></a><span style=" font-size:10pt;">, </span><a href="http://fractron9000.sourceforge.net/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Mike Thiesen</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Scott Draves</span></a><span style=" font-size:10pt;">, </span><a href="https://github.com/stevenrobertson/cuburn"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Steve Robertson</span></a><span style=" font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a></p>
-<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600;"><br /></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Code Copied:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://github.com/scottdraves/flam3"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">flam3</span></a><span style=" font-size:10pt;">: Scott Draves, Erik Reckase (GPL v2)<br /></span><a href="http://github.com/stevenrobertson/cuburn"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">cuburn</span></a><span style=" font-size:10pt;">: Steven Robertson, Michael Semeniuk, Matthew Znoj, Nicolas Mejia (GPL v3)<br /></span><a href="http://fractron9000.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fractron 9000</span></a><span style=" font-size:10pt;">: Mike Thiesen (GPL)<br /></span><a href="http://sourceforge.net/projects/apophysis7x"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Apophysis</span></a><span style=" font-size:10pt;">: Mark Townsend, Ronald Hordijk, Peter Sdobnov, Piotr Borys, Georg Kiehne (GPL)<br /></span><a href="http://jwildfire.org/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">JWildfire</span></a><span style=" font-size:10pt;">: Andreas Maschke (LGPL)<br />gradLib: Stian Broen<br />ColorPickerWidget: Etienne Moutot<br />Numerous Apophysis plugin developers (GPL)<br />Chaotica variations: </span><a href="https://www.deviantart.com/tatasz"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a></p>
-<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:7.875pt;"><br /></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Libraries Linked:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.qt.io/developers/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Qt</span></a><span style=" font-size:10pt;">: Digia Plc (GPL v3, LGPL v2)<br /></span><a href="http://g-truc.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">glm</span></a><span style=" font-size:10pt;">: Christophe Riccio (MIT License)<br /></span><a href="http://threadingbuildingblocks.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Threading Building Blocks</span></a><span style=" font-size:10pt;">: Intel Corporation (GPLv2)<br /></span><a href="http://libjpeg.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libjpeg</span></a><span style=" font-size:10pt;">: Independent JPEG Group (Free Software License)<br /></span><a href="http://libpng.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libpng</span></a><span style=" font-size:10pt;">: Glenn Randers-Pehrson et al (Libpng License)<br /></span><a href="http://xmlsoft.org"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">libxml2</span></a><span style=" font-size:10pt;">: Daniel Veillard (MIT License)<br /></span><a href="http://zlib.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">zlib</span></a><span style=" font-size:10pt;">: Jean-loup Gailly, Mark Adler (Zlib License)<br /></span><a href="http://burtleburtle.net/bob/cplus/isaac.hpp"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">QTIsaac</span></a><span style=" font-size:10pt;">: Robert J. Jenkins, Quinn Tyler Jackson (Public Domain)<br /></span><a href="http://cas.ee.ic.ac.uk/people/dt10/research/rngs-gpu-mwc64x.html"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">MWC64X Random Number Generator</span></a><span style=" font-size:10pt;">: David Thomas (Public Domain)<br /></span><a href="https://github.com/brofield/simpleopt"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">SimpleOpt</span></a><span style=" font-size:10pt;">: Brodie Thiesfield (MIT License)</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><br /></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Icons and Palettes Used:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Palettes: </span><a href="https://www.deviantart.com/boxtail"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Boxtail</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/fardareismai"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">FarDareisMai</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/fractaldesire"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">FractalDesire</span></a><span style=" font-size:10pt;">, Rce, </span><a href="https://www.deviantart.com/rubydeva"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Rubydeva</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/tatasz"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-size:10pt;"> (Public Domain)<br /></span><a href="http://famfamfam.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Silk</span></a><span style=" font-size:10pt;">: Mark James (Creative Commons Attribution 2.5 License)<br /></span><a href="http://momentumdesignlab.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Momentum</span></a><span style=" font-size:10pt;">: Momentum Design Lab (Creative Commons Attribution-ShareAlike 3.5 License)<br /></span><a href="http://everaldo.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Crystal Clear</span></a><span style=" font-size:10pt;">: Everaldo Coelho (LGPL)<br /></span><a href="http://openiconlibrary.sourceforge.net"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Open Icon Library</span></a><span style=" font-size:10pt;">: Jeff Israel (GPL, LGPL, Creative Commons, Public Domain)<br /></span><a href="http://icons.mysitemyway.com/category/3d-transparent-glass-icons/"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">3D Transparent Glass</span></a><span style=" font-size:10pt;">: iconsETC (Public Domain)<br /></span><a href="http://p.yusukekamiyamane.com"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Fugue</span></a><span style=" font-size:10pt;">: Yusuke Kamiyamane (Creative Commons Attribution 3.0 License)</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"><br /></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Benchmark and Example Flames:</span></p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.deviantart.com/c-91"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">C-91</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/b33rheart"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/golubaja"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Golubaja</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/pillemaster"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Pillemaster</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/plangkye"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Plangkye</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/tatasz"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Triptychaos</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/tyrantwave"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">TyrantWave</span></a><span style=" font-size:10pt;">, </span><a href="https://www.deviantart.com/zy0rg"><span style=" font-size:10pt; text-decoration: underline; color:#0000ff;">Zy0rg</span></a></p></body></html>
+hr { height: 1px; border-width: 0; }
+li.unchecked::marker { content: "\2610"; }
+li.checked::marker { content: "\2612"; }
+</style></head><body style=" font-family:'Segoe UI'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Developers:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Lead: </span><a href="http://www.fractorium.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Matt Feemster</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;"><br />Contributors: </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Michel Mastriani,</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;"> Simon Detheridge</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Builders, Testers and Advisors:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Linux deployment: </span><a href="https://launchpad.net/~fractorium"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Gambhiro Bhikkhu</span></a></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Testing and Feedback: </span><a href="http://snicker02.deviantart.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Brad Stefanov</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://www.fxysw.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Fengda</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://www.deviantart.com/b33rheart"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/guephren"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Guephren</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/jeddaka"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Jeddaka,</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;"> </span><a href="http://boosthardware.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Patrick Shirkey</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://nightmaretf.deviantart.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Richard Vollebregt</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, Simon Detheridge, Tai,</span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> </span><a href="http://gameryamen.deviantart.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Yamen</span></a></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Code and theory questions: </span><a href="https://github.com/scottdraves/flam3"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Erik Reckase</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://fractron9000.sourceforge.net/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Mike Thiesen</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://github.com/scottdraves/flam3"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Scott Draves</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://github.com/stevenrobertson/cuburn"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Steve Robertson</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Code Copied:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://github.com/scottdraves/flam3"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">flam3</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Scott Draves, Erik Reckase (GPL v3)<br /></span><a href="http://github.com/stevenrobertson/cuburn"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">cuburn</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Steven Robertson, Michael Semeniuk, Matthew Znoj, Nicolas Mejia (GPL v3)<br /></span><a href="http://fractron9000.sourceforge.net"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Fractron 9000</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Mike Thiesen (GPL)<br /></span><a href="http://sourceforge.net/projects/apophysis7x"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Apophysis</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Mark Townsend, Ronald Hordijk, Peter Sdobnov, Piotr Borys, Georg Kiehne (GPL v3)<br /></span><a href="http://jwildfire.org/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">JWildfire</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Andreas Maschke (LGPL)<br />gradLib: Stian Broen<br />ColorPickerWidget: Etienne Moutot<br />Numerous Apophysis plugin developers (GPL)<br />Chaotica variations: </span><a href="https://www.deviantart.com/tatasz"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="http://www.chaoticafractals.com/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Thomas Ludwig</span></a></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:7.875pt;"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Libraries Linked:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://www.qt.io/developers/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Qt</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Digia Plc (GPL v3, LGPL v2)<br /></span><a href="http://g-truc.net"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">glm</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Christophe Riccio (MIT License)<br /></span><a href="http://libjpeg.sourceforge.net"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">libjpeg</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Independent JPEG Group (Free Software License)<br /></span><a href="http://libpng.org"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">libpng</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Glenn Randers-Pehrson et al (Libpng License)<br /></span><a href="http://xmlsoft.org"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">libxml2</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Daniel Veillard (MIT License)<br /></span><a href="http://zlib.net"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">zlib</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Jean-loup Gailly, Mark Adler (Zlib License)<br /></span><a href="http://burtleburtle.net/bob/cplus/isaac.hpp"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">QTIsaac</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Robert J. Jenkins, Quinn Tyler Jackson (Public Domain)<br /></span><a href="http://cas.ee.ic.ac.uk/people/dt10/research/rngs-gpu-mwc64x.html"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">MWC64X Random Number Generator</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: David Thomas (Public Domain)<br /></span><a href="https://github.com/brofield/simpleopt"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">SimpleOpt</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Brodie Thiesfield (MIT License)</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Icons and Palettes Used:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">Palettes: </span><a href="https://www.deviantart.com/boxtail"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Boxtail</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/fardareismai"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">FarDareisMai</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/fractaldesire"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">FractalDesire</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, Rce, </span><a href="https://www.deviantart.com/rubydeva"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Rubydeva</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/tatasz"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;"> (Public Domain)<br /></span><a href="http://famfamfam.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Silk</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Mark James (Creative Commons Attribution 2.5 License)<br /></span><a href="http://momentumdesignlab.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Momentum</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Momentum Design Lab (Creative Commons Attribution-ShareAlike 3.5 License)<br /></span><a href="http://everaldo.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Crystal Clear</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Everaldo Coelho (LGPL)<br /></span><a href="http://openiconlibrary.sourceforge.net"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Open Icon Library</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Jeff Israel (GPL, LGPL, Creative Commons, Public Domain)<br /></span><a href="http://icons.mysitemyway.com/category/3d-transparent-glass-icons/"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">3D Transparent Glass</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: iconsETC (Public Domain)<br /></span><a href="http://p.yusukekamiyamane.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Fugue</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">: Yusuke Kamiyamane (Creative Commons Attribution 3.0 License)</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:10pt;"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Benchmark and Example Flames:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://www.deviantart.com/c-91"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">C-91</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/b33rheart"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Gabor Timar</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/golubaja"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Golubaja</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/pillemaster"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Pillemaster</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/plangkye"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Plangkye</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/tatasz"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Tatasz</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/triptychaos"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Triptychaos</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/tyrantwave"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">TyrantWave</span></a><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">, </span><a href="https://www.deviantart.com/zy0rg"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; text-decoration: underline; color:#0000ff;">Zy0rg</span></a></p></body></html>
Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::TextBrowserInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
diff --git a/Source/Fractorium/FinalRenderEmberController.cpp b/Source/Fractorium/FinalRenderEmberController.cpp
index 158de3b..57b6518 100644
--- a/Source/Fractorium/FinalRenderEmberController.cpp
+++ b/Source/Fractorium/FinalRenderEmberController.cpp
@@ -1009,7 +1009,7 @@ void FinalRenderEmberController::RenderComplete(Ember& ember, const EmberS
newPath = EmberFile::UniqueFilename(newPath);
const xmlDocPtr tempEdit = ember.m_Edits;
ember.m_Edits = m_XmlWriter.CreateNewEditdoc(&ember, nullptr, "edit", m_Settings->Nick().toStdString(), m_Settings->Url().toStdString(), m_Settings->Id().toStdString(), "", 0, 0);
- m_XmlWriter.Save(newPath.toStdString().c_str(), ember, 0, true, false, true);//Note that the ember passed is used, rather than m_Ember because it's what was actually rendered.
+ m_XmlWriter.Save(newPath.toStdString().c_str(), ember, 0, true, true, true);//Note that the ember passed is used, rather than m_Ember because it's what was actually rendered.
if (tempEdit)
xmlFreeDoc(tempEdit);
diff --git a/Source/Fractorium/Fractorium.h b/Source/Fractorium/Fractorium.h
index 085486d..d878a10 100644
--- a/Source/Fractorium/Fractorium.h
+++ b/Source/Fractorium/Fractorium.h
@@ -189,6 +189,7 @@ public slots:
void OnActionCL(bool checked);
void OnActionSP(bool checked);
void OnActionDP(bool checked);
+ void OnActionCompat(bool checked);
void OnActionStyle(bool checked);
void OnActionStartStopRenderer(bool checked);
void OnActionDrawAffines(bool checked);
diff --git a/Source/Fractorium/Fractorium.ui b/Source/Fractorium/Fractorium.ui
index ae5b8da..fce4efa 100644
--- a/Source/Fractorium/Fractorium.ui
+++ b/Source/Fractorium/Fractorium.ui
@@ -8099,6 +8099,7 @@
+
@@ -8539,6 +8540,17 @@
Use double precision to render
+
+
+ true
+
+
+ Compat
+
+
+ Use flam3 compatibility mode
+
+
true
diff --git a/Source/Fractorium/FractoriumSettings.cpp b/Source/Fractorium/FractoriumSettings.cpp
index 8625119..ce5df54 100644
--- a/Source/Fractorium/FractoriumSettings.cpp
+++ b/Source/Fractorium/FractoriumSettings.cpp
@@ -210,7 +210,7 @@ void FractoriumSettings::LoadLast(bool b) { setValue(LOAD
bool FractoriumSettings::RotateAndScale() { return value(ROTSCALE).toBool(); }
void FractoriumSettings::RotateAndScale(bool b) { setValue(ROTSCALE, b); }
-bool FractoriumSettings::Flam3Compat() { return value(FLAM3COMPAT, true).toBool(); }
+bool FractoriumSettings::Flam3Compat() { return value(FLAM3COMPAT).toBool(); }
void FractoriumSettings::Flam3Compat(bool b) { setValue(FLAM3COMPAT, b); }
///
diff --git a/Source/Fractorium/FractoriumToolbar.cpp b/Source/Fractorium/FractoriumToolbar.cpp
index d881827..6ecbc54 100644
--- a/Source/Fractorium/FractoriumToolbar.cpp
+++ b/Source/Fractorium/FractoriumToolbar.cpp
@@ -23,6 +23,7 @@ void Fractorium::InitToolbarUI()
connect(ui.ActionCL, SIGNAL(triggered(bool)), this, SLOT(OnActionCL(bool)), Qt::QueuedConnection);
connect(ui.ActionSP, SIGNAL(triggered(bool)), this, SLOT(OnActionSP(bool)), Qt::QueuedConnection);
connect(ui.ActionDP, SIGNAL(triggered(bool)), this, SLOT(OnActionDP(bool)), Qt::QueuedConnection);
+ connect(ui.ActionCompat, SIGNAL(triggered(bool)), this, SLOT(OnActionCompat(bool)), Qt::QueuedConnection);
connect(ui.ActionStyle, SIGNAL(triggered(bool)), this, SLOT(OnActionStyle(bool)), Qt::QueuedConnection);
connect(ui.ActionStartStopRenderer, SIGNAL(triggered(bool)), this, SLOT(OnActionStartStopRenderer(bool)), Qt::QueuedConnection);
connect(ui.ActionDrawImage, SIGNAL(triggered(bool)), this, SLOT(OnActionDrawImage(bool)), Qt::QueuedConnection);
@@ -99,6 +100,17 @@ void Fractorium::OnActionDP(bool checked)
}
}
+///
+/// Called when the flam3 compatibility option on the toolbar is clicked.
+///
+/// Check state, action only taken if true.
+void Fractorium::OnActionCompat(bool checked)
+{
+ m_Settings->Flam3Compat(checked);
+ Compat::m_Compat = checked;
+ ShutdownAndRecreateFromOptions(true);
+}
+
///
/// Called when the show style button is clicked.
///
@@ -245,6 +257,7 @@ void Fractorium::SyncOptionsToToolbar()
ui.ActionDP->setChecked(false);
}
+ ui.ActionCompat->setChecked(m_Settings->Flam3Compat());
ui.ActionDrawGrid->setChecked(m_Settings->ShowGrid());
ui.ActionDrawPreAffines->setChecked(m_Settings->ShowXforms());
ui.ActionDrawAllPreAffines->setChecked(m_Settings->ShowXforms());
diff --git a/Source/Fractorium/OptionsDialog.ui b/Source/Fractorium/OptionsDialog.ui
index 90772fb..7c21844 100644
--- a/Source/Fractorium/OptionsDialog.ui
+++ b/Source/Fractorium/OptionsDialog.ui
@@ -246,7 +246,7 @@
-
- <html><head/><body><p>The behavior of the asteria, bipolar, circlecrop, cos, cosh, cot, coth, cropn, cross, csc, csch, depth_ngon2, depth_sine2, edisc, escher, fan2, glynnia, hypershift, hypershift2, hypertile1, julia, julian, juliascope, loonie2, npolar, phoenix_julia, sec, sech, sin, sinh, sphericaln, tan, tanh, and truchet variations are different in flam3/Apophysis versus Chaotica.</p><p>Checked: use the Apophysis behavior.</p><p>Unchecked: use the Chaotica behavior.</p></body></html>
+ <html><head/><body><p>The behavior of the asteria, bipolar, circlecrop, cos, cosh, cot, coth, cropn, cross, csc, csch, curve, depth_ngon2, depth_sine2, edisc, escher, fan2, glynnia, hypershift, hypershift2, hypertile1, julia, julian, juliascope, loonie2, npolar, phoenix_julia, sec, sech, sin, sinh, sphericaln, tan, tanh, and truchet variations are different in flam3/Apophysis versus Chaotica.</p><p>Checked: use the flam3/Apophysis behavior.</p><p>Unchecked: use the Chaotica behavior.</p></body></html>
Flam3 Compatibility
diff --git a/makedeps.bat b/makedeps.bat
index 8983198..ea605b5 100644
--- a/makedeps.bat
+++ b/makedeps.bat
@@ -7,16 +7,16 @@ REM C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\B
REM Move to parent of deps folders
cd ..
git clone https://github.com/madler/zlib.git
-git clone https://github.com/glennrp/libpng.git
+git clone -b v1.6.53 https://github.com/pnggroup/libpng.git
git clone https://github.com/GNOME/libxml2.git
git clone https://github.com/g-truc/glm.git
-git clone -b v3.1.7 https://github.com/AcademySoftwareFoundation/openexr.git
+git clone -b v3.4.4 https://github.com/AcademySoftwareFoundation/openexr.git
REM libjpeg
REM You need to manually go get libjpeg, because it's not on github or bitbucket.
copy fractorium\Builds\MSVC\WIN32.MAK libjpeg
cd libjpeg
-nmake /f makefile.vc setup-v16 CPU=i386
+nmake /f makefile.vc CPU=i386
nmake nodebug=1 /f makefile.vc libjpeg.lib CPU=i386
copy libjpeg.lib ..\fractorium\Deps
cd ..
@@ -52,8 +52,8 @@ SET current=%cd%
if not exist ".\output" mkdir .\output
-cmake -G "Visual Studio 17 2022"^
- -A x64^
+cmake -G "Visual Studio 18 2026"^
+ -A x64^
-DCMAKE_PREFIX_PATH="%current%\output"^
-DCMAKE_INSTALL_PREFIX="%current%\output"^
-DILMBASE_PACKAGE_PREFIX="%current%\output" ^
@@ -70,10 +70,13 @@ cmake --build . --target install --config Release
cd %current%
xcopy %current%\output\Include %current%\..\fractorium\Deps\Include\ /S /Y
-xcopy %current%\output\bin\Iex-3_1.dll %current%\..\fractorium\Deps\ /Y
-xcopy %current%\output\bin\IlmThread-3_1.dll %current%\..\fractorium\Deps\ /Y
-xcopy %current%\output\bin\Imath-3_1.dll %current%\..\fractorium\Deps\ /Y
-xcopy %current%\output\bin\OpenEXR-3_1.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\output\bin\Iex-3_4.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\output\bin\IlmThread-3_4.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\_deps\imath-build\src\Imath\Release\*.lib %current%\..\fractorium\Deps\ /Y
+xcopy %current%\_deps\imath-build\src\Imath\Release\*.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\output\bin\OpenEXR-3_4.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\output\bin\OpenEXRCore-3_4.dll %current%\..\fractorium\Deps\ /Y
+xcopy %current%\output\bin\openjph.0.24.dll %current%\..\fractorium\Deps\ /Y
xcopy %current%\output\lib\*.lib %current%\..\fractorium\Deps\ /Y
-cd ..\fractorium
+cd ..\fractorium
\ No newline at end of file