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.
This commit is contained in:
Matt Feemster
2025-12-18 14:46:04 -07:00
parent 9e4a335877
commit a0b4059ae5
28 changed files with 212 additions and 165 deletions

View File

@ -1,7 +1,7 @@
<Project Sdk="WixToolset.Sdk/6.0.2">
<PropertyGroup>
<ProductVersion>3.7</ProductVersion>
<OutputName>Fractorium_24.24.12.1</OutputName>
<OutputName>Fractorium_25.25.12.1</OutputName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutputPath>
@ -47,4 +47,13 @@
<ItemGroup>
<PackageReference Include="WixToolset.UI.wixext" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Solution\Ember.vcxproj" />
<ProjectReference Include="..\Solution\EmberAnimate.vcxproj" />
<ProjectReference Include="..\Solution\EmberCL.vcxproj" />
<ProjectReference Include="..\Solution\EmberGenome.vcxproj" />
<ProjectReference Include="..\Solution\EmberRender.vcxproj" />
<ProjectReference Include="..\Solution\EmberTester.vcxproj" />
<ProjectReference Include="..\Solution\Fractorium.vcxproj" />
</ItemGroup>
</Project>

View File

@ -1,5 +1,5 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
<?define ProductVersion="24.24.12.1" ?>
<?define ProductVersion="25.25.12.1" ?>
<?define ProductName="Fractorium $(var.ProductVersion) ($(var.GpuType))" ?>
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
<?define Manufacturer="Fractorium"?>
@ -12,8 +12,8 @@
<!--
Change this for every release.
-->
<?define ProductCode="{EFB26FEB-73CD-41CB-B2A2-FD8C660F6FCF}"?>
<?define ProductCode="{ff79d2d9-336d-4ff5-9d70-8530df2d2b16}"?>
<Package Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)" InstallerVersion="400" Scope="perMachine" ProductCode="$(var.ProductCode)">
<SummaryInformation Keywords="Installer" Description="$(var.Manufacturer)" Manufacturer="$(var.Manufacturer)" />
@ -72,18 +72,14 @@
</Fragment>
<Fragment>
<Component Id="FractoriumStartMenuShortcut" Directory="ProgramMenuDirLevel1" Guid="f1eaf3ba-9b61-48b6-8994-49ebc6b405aa" Condition="1">
<Shortcut Id="FractoriumStartMenuShortcut" Directory="ProgramMenuDirLevel1" Name="Fractorium" Target="[INSTALLFOLDER]\Fractorium.exe" WorkingDirectory="INSTALLFOLDER" Icon="AddRemoveProgramsIcon" />
<RemoveFolder Id="FractoriumStartMenuShortcut" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
<Component Id="FractoriumDesktopShortcut" Directory="DesktopFolder" Guid="b73ff21c-08ac-47ad-a510-b3ce90e43979" Condition="1">
<Shortcut Id="FractoriumDesktopShortcut" Directory="DesktopFolder" Name="Fractorium" Target="[INSTALLFOLDER]\Fractorium.exe" WorkingDirectory="INSTALLFOLDER" Icon="AddRemoveProgramsIcon" />
<RemoveFolder Id="FractoriumDesktopShortcut" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Fragment>
@ -93,51 +89,75 @@
<Component Id="Fractorium.exe" Guid="ccc04ca4-c747-4330-8cfd-bdd943b185c0">
<File Id="Fractorium.exe" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\Fractorium.exe" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="EmberRender.exe" Guid="12d49219-9269-495a-b8e4-3d33cb32d280">
<File Id="EmberRender.exe" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\EmberRender.exe" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="EmberAnimate.exe" Guid="ae362704-93a3-48dc-a13b-7c4eabd87ee1">
<File Id="EmberAnimate.exe" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\EmberAnimate.exe" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="EmberGenome.exe" Guid="7a93f079-216a-4d1c-9b02-8ca93a6a8daa">
<File Id="EmberGenome.exe" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\EmberGenome.exe" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="Ember.dll" Guid="c0f80dee-7a16-4d6a-b7ed-d6cd162154eb">
<File Id="Ember.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\Ember.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="EmberCL.dll" Guid="21c0e372-c605-4e0d-9ba8-94e38949833b">
<File Id="EmberCL.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\$(var.Configuration)\EmberCL.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="Iex_3_1.dll" Guid="e485e9d1-c883-46f9-a898-5fdbbe6a83f8">
<File Id="Iex_3_1.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\Iex-3_1.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
<Component Id="Iex_3_4.dll" Guid="e485e9d1-c883-46f9-a898-5fdbbe6a83f8">
<File Id="Iex_3_4.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\Iex-3_4.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="OpenEXR_3_1.dll" Guid="911ec3b1-c2e2-439c-af3b-cd16a9280c7f">
<File Id="OpenEXR_3_1.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\OpenEXR-3_1.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
<Component Id="OpenEXR_3_4.dll" Guid="911ec3b1-c2e2-439c-af3b-cd16a9280c7f">
<File Id="OpenEXR_3_4.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\OpenEXR-3_4.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="IlmThread_3_1.dll" Guid="89d0f2d4-7619-4bd2-8c22-6ae677d666b8">
<File Id="IlmThread_3_1.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\IlmThread-3_1.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
<Component Id="OpenEXRCore_3_4.dll" Guid="0251bbc1-5afc-403c-a362-fae969ba41e8">
<File Id="OpenEXRCore_3_4.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\OpenEXRCore-3_4.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="Imath_3_1.dll" Guid="16c3c309-18b7-4232-b19b-59e56d4b75bf">
<File Id="Imath_3_1.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\Imath-3_1.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
<Component Id="openjph.0.24.dll" Guid="eea12d8f-4f4c-4e24-8537-9f426d012bd7">
<File Id="openjph.0.24.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\openjph.0.24.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="IlmThread_3_4.dll" Guid="89d0f2d4-7619-4bd2-8c22-6ae677d666b8">
<File Id="IlmThread_3_4.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\IlmThread-3_4.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="Imath_3_2.dll" Guid="16c3c309-18b7-4232-b19b-59e56d4b75bf">
<File Id="Imath_3_2.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\Imath-3_2.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="libxml2.dll" Guid="bb3aa687-7a3d-4d16-a27c-28529b472754">
<File Id="libxml2.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\libxml2.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes" />
</Component>
<Component Id="msvcp140.dll" Guid="8f1ffde7-c1bd-45fb-8bc8-26dde552eafd">
<File Id="msvcp140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
<File Id="msvcp140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.50.35710\x64\Microsoft.VC145.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>
<Component Id="vcruntime140.dll" Guid="50c9bc27-c547-4a03-9f6c-cd416f449dd8">
<File Id="vcruntime140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
<File Id="vcruntime140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.50.35710\x64\Microsoft.VC145.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>
<Component Id="vcruntime140_1.dll" Guid="a02507f8-326b-45b2-b734-e5091921559f">
<File Id="vcruntime140_1.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vcruntime140_1.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
<File Id="vcruntime140_1.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.50.35710\x64\Microsoft.VC145.CRT\vcruntime140_1.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>
<Component Id="vccorlib140.dll" Guid="affe33e7-1e64-4bb0-a062-2b56f77459b4">
<File Id="vccorlib140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
<File Id="vccorlib140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.50.35710\x64\Microsoft.VC145.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>
<Component Id="concrt140.dll" Guid="7fb716a1-1b4f-42fb-89c7-4d216ebd6e2e">
<File Id="concrt140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.44.35112\x64\Microsoft.VC143.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
<File Id="concrt140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.50.35710\x64\Microsoft.VC145.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>
<Component Id="flam3palettes.xml" Guid="d3adb0bb-14ef-4923-99d9-a5784b7ef04e">
<File Id="flam3palettes.xml" Source="$(var.SolutionDir)..\..\..\Data\flam3-palettes.xml" KeyPath="yes" Checksum="yes" ReadOnly="yes" />
</Component>