From 73356301da9f79fdb5da218fd25aa1febe2c39a0 Mon Sep 17 00:00:00 2001 From: mfeemster Date: Mon, 15 Feb 2016 12:02:37 -0800 Subject: [PATCH] --User changes -Add 4 new possible arguments to EmberGenome: --allvars: Print the names of all supported variations. --regvars: Print the names of all supported regular variations. --prevars: Print the names of all supported pre variations. --postvars: Print the names of all supported post variations. --- Builds/MSVC/Installer/Product.wxs | 4 ++-- Builds/MSVC/VS2013/Ember.rc | Bin 4692 -> 4502 bytes Builds/MSVC/VS2013/EmberCL.rc | Bin 4718 -> 4718 bytes Source/Ember/EmberDefines.h | 2 +- Source/Ember/VariationList.h | 5 +++++ Source/EmberAnimate/EmberAnimate.rc | 8 +++---- Source/EmberCommon/EmberOptions.h | 16 ++++++++++++++ Source/EmberGenome/EmberGenome.cpp | 33 ++++++++++++++++++++++++++++ Source/EmberGenome/EmberGenome.rc | 8 +++---- Source/EmberRender/EmberRender.rc | 8 +++---- Source/Fractorium/AboutDialog.ui | 2 +- Source/Fractorium/Fractorium.rc | Bin 4578 -> 4578 bytes 12 files changed, 70 insertions(+), 16 deletions(-) diff --git a/Builds/MSVC/Installer/Product.wxs b/Builds/MSVC/Installer/Product.wxs index 59bba7f..7c9d8c4 100644 --- a/Builds/MSVC/Installer/Product.wxs +++ b/Builds/MSVC/Installer/Product.wxs @@ -1,6 +1,6 @@ - + @@ -13,7 +13,7 @@ - + BG znG9)Ab60XI19hL}ln0V;IaLKY8PI$`S)I!ei)bwuHnrEeJb~tzbN2$t+uW9%Cb00D zY|P^h6r0G?2_y}9{ek3bUfIc8coo1bdqucPq*z9dan8x9eA-ytv6au27e(D>Zhl`z cprPo2{#PI#7%;G82?`cSzysAy<`VJ(03!`xsQ>@~ delta 888 zcmbQHd_`r$G?vLTSfVC>VKJI4#<*s(0GkxIK7&33F9R0{Pv&NmmR11soETgg+!;I> z{J=Z~1~8m#&!)`p3KVmJ>0mIL%*!Szi$@QG(qu&@(aDF{RFt8nFeov^Fc<(ykgceu z8G}r-$7>o;ZxImZLG@!XbFwp^=Hxzh9gq)Y!x&P5>WdjN8S;U8KsF-#x0l13QDO2) z4q1Ln1|0?vHir0j@^21h46#N|;mK~C5|a}+<$$^xITiVpfu`pGO;3gDYUGrhe2$Yt z5G0<*kOH(d4Jz}JQyHj-mrEW<>T;=yVh`VBE<;tAkFctM!~=uE_5(LxPx# diff --git a/Builds/MSVC/VS2013/EmberCL.rc b/Builds/MSVC/VS2013/EmberCL.rc index 9ad45212f10fca21509347bd5422237c89f23f7f..7e107275a3555a066e74495b7241ccaea714ed47 100644 GIT binary patch delta 46 wcmaE-@=j&LAr3~9$%i=%fuudBpI3Kt0M8djFjIVU44)7S0A;ZaumAu6 delta 46 wcmaE-@=j&LAr404$%i=%fuudBpI3Kt0M8djFjIVU44)7S0A)-KtN;K2 diff --git a/Source/Ember/EmberDefines.h b/Source/Ember/EmberDefines.h index 938b643..16af8aa 100644 --- a/Source/Ember/EmberDefines.h +++ b/Source/Ember/EmberDefines.h @@ -40,7 +40,7 @@ static void sincos(float x, float* s, float* c) namespace EmberNs { -#define EMBER_VERSION "0.9.9.3" +#define EMBER_VERSION "0.9.9.4" #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. #define ISAAC_SIZE 4 diff --git a/Source/Ember/VariationList.h b/Source/Ember/VariationList.h index c993c94..0e2d71e 100644 --- a/Source/Ember/VariationList.h +++ b/Source/Ember/VariationList.h @@ -541,6 +541,11 @@ public: size_t PostSize() const { return m_PostVariations.size(); } size_t ParametricSize() const { return m_ParametricVariations.size(); } + const vector*>& AllVars() const { return m_Variations; } + const vector*>& RegVars() const { return m_RegVariations; } + const vector*>& PreVars() const { return m_PreVariations; } + const vector*>& PostVars() const { return m_PostVariations; } + private: /// /// Make a dyncamically allocated copy of a variation and assign it a specified weight. diff --git a/Source/EmberAnimate/EmberAnimate.rc b/Source/EmberAnimate/EmberAnimate.rc index 5f65a42..11eb202 100644 --- a/Source/EmberAnimate/EmberAnimate.rc +++ b/Source/EmberAnimate/EmberAnimate.rc @@ -49,8 +49,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,9,9,3 - PRODUCTVERSION 0,9,9,3 + FILEVERSION 0,9,9,4 + PRODUCTVERSION 0,9,9,4 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Renders fractal flames as animations with motion blur" - VALUE "FileVersion", "0.9.9.3" + VALUE "FileVersion", "0.9.9.4" VALUE "InternalName", "EmberAnimate.exe" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "OriginalFilename", "EmberAnimate.exe" VALUE "ProductName", "Ember Animate" - VALUE "ProductVersion", "0.9.9.3" + VALUE "ProductVersion", "0.9.9.4" END END BLOCK "VarFileInfo" diff --git a/Source/EmberCommon/EmberOptions.h b/Source/EmberCommon/EmberOptions.h index 2adaedd..fa29ba1 100644 --- a/Source/EmberCommon/EmberOptions.h +++ b/Source/EmberCommon/EmberOptions.h @@ -35,6 +35,10 @@ enum class eOptionIDs : et OPT_DUMP_ARGS, OPT_PROGRESS, OPT_DUMP_OPENCL_INFO, + OPT_ALL_VARS, + OPT_REG_VARS, + OPT_PRE_VARS, + OPT_POST_VARS, //Boolean args. OPT_OPENCL, @@ -306,6 +310,10 @@ public: INITBOOLOPTION(DumpArgs, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_ARGS, _T("--dumpargs"), false, SO_NONE, "\t--dumpargs Print all arguments entered from either the command line or environment variables.\n")); INITBOOLOPTION(DoProgress, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_PROGRESS, _T("--progress"), false, SO_NONE, "\t--progress Display progress. This will slow down processing by about 10%%.\n")); INITBOOLOPTION(OpenCLInfo, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_DUMP_OPENCL_INFO, _T("--openclinfo"), false, SO_NONE, "\t--openclinfo Display platforms and devices for OpenCL.\n")); + INITBOOLOPTION(AllVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_ALL_VARS, _T("--allvars"), false, SO_NONE, "\t--allvars Display the names of all supported variations.\n")); + INITBOOLOPTION(RegVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_REG_VARS, _T("--regvars"), false, SO_NONE, "\t--regvars Display the names of all supported regular variations.\n")); + INITBOOLOPTION(PreVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_PRE_VARS, _T("--prevars"), false, SO_NONE, "\t--prevars Display the names of all supported pre variations.\n")); + INITBOOLOPTION(PostVars, Eob(eOptionUse::OPT_USE_GENOME, eOptionIDs::OPT_POST_VARS, _T("--postvars"), false, SO_NONE, "\t--postvars Display the names of all supported post variations.\n")); //Execution bools. INITBOOLOPTION(EmberCL, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_OPENCL, _T("--opencl"), false, SO_NONE, "\t--opencl Use OpenCL renderer (EmberCL) for rendering [default: false].\n")); INITBOOLOPTION(EarlyClip, Eob(eOptionUse::OPT_USE_ALL, eOptionIDs::OPT_EARLYCLIP, _T("--earlyclip"), false, SO_NONE, "\t--earlyclip Perform clipping of RGB values before spatial filtering for better antialiasing and resizing [default: false].\n")); @@ -448,6 +456,10 @@ public: PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_ARGS, DumpArgs); PARSEBOOLOPTION(eOptionIDs::OPT_PROGRESS, DoProgress); PARSEBOOLOPTION(eOptionIDs::OPT_DUMP_OPENCL_INFO, OpenCLInfo); + PARSEBOOLOPTION(eOptionIDs::OPT_ALL_VARS, AllVars); + PARSEBOOLOPTION(eOptionIDs::OPT_REG_VARS, RegVars); + PARSEBOOLOPTION(eOptionIDs::OPT_PRE_VARS, PreVars); + PARSEBOOLOPTION(eOptionIDs::OPT_POST_VARS, PostVars); PARSEBOOLOPTION(eOptionIDs::OPT_OPENCL, EmberCL); PARSEBOOLOPTION(eOptionIDs::OPT_EARLYCLIP, EarlyClip); PARSEBOOLOPTION(eOptionIDs::OPT_POS_Y_UP, YAxisUp); @@ -708,6 +720,10 @@ public: Eob DumpArgs; Eob DoProgress; Eob OpenCLInfo; + Eob AllVars; + Eob RegVars; + Eob PreVars; + Eob PostVars; Eob EmberCL;//Value bool. Eob EarlyClip; diff --git a/Source/EmberGenome/EmberGenome.cpp b/Source/EmberGenome/EmberGenome.cpp index 7b3b866..25c6191 100644 --- a/Source/EmberGenome/EmberGenome.cpp +++ b/Source/EmberGenome/EmberGenome.cpp @@ -64,6 +64,39 @@ bool EmberGenome(EmberOptions& opt) return true; } + if (opt.AllVars() || opt.RegVars() || opt.PreVars() || opt.PostVars()) + { + VariationList vl; + + if (opt.AllVars()) + { + auto& vars = vl.AllVars(); + + for (auto& v : vars) + cout << v->Name() << "\n"; + + return true; + } + else + { + vector*> vars; + + if (opt.RegVars()) + vars.insert(vars.end(), vl.RegVars().begin(), vl.RegVars().end()); + + if (opt.PreVars()) + vars.insert(vars.end(), vl.PreVars().begin(), vl.PreVars().end()); + + if (opt.PostVars()) + vars.insert(vars.end(), vl.PostVars().begin(), vl.PostVars().end()); + + for (auto& v : vars) + cout << v->Name() << "\n"; + } + + return true; + } + //Regular variables. Timing t; bool exactTimeMatch, randomMode, didColor, seqFlag; diff --git a/Source/EmberGenome/EmberGenome.rc b/Source/EmberGenome/EmberGenome.rc index 2699a12..0f610a8 100644 --- a/Source/EmberGenome/EmberGenome.rc +++ b/Source/EmberGenome/EmberGenome.rc @@ -49,8 +49,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,9,9,3 - PRODUCTVERSION 0,9,9,3 + FILEVERSION 0,9,9,4 + PRODUCTVERSION 0,9,9,4 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Manipulates fractal flames parameter files" - VALUE "FileVersion", "0.9.9.3" + VALUE "FileVersion", "0.9.9.4" VALUE "InternalName", "EmberGenome.exe" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "OriginalFilename", "EmberGenome.exe" VALUE "ProductName", "Ember Genome" - VALUE "ProductVersion", "0.9.9.3" + VALUE "ProductVersion", "0.9.9.4" END END BLOCK "VarFileInfo" diff --git a/Source/EmberRender/EmberRender.rc b/Source/EmberRender/EmberRender.rc index 212060f..75d2198 100644 --- a/Source/EmberRender/EmberRender.rc +++ b/Source/EmberRender/EmberRender.rc @@ -49,8 +49,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,9,9,3 - PRODUCTVERSION 0,9,9,3 + FILEVERSION 0,9,9,4 + PRODUCTVERSION 0,9,9,4 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -67,12 +67,12 @@ BEGIN BEGIN VALUE "CompanyName", "Open Source" VALUE "FileDescription", "Renders fractal flames as single images" - VALUE "FileVersion", "0.9.9.3" + VALUE "FileVersion", "0.9.9.4" VALUE "InternalName", "EmberRender.exe" VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2015, GPL v3" VALUE "OriginalFilename", "EmberRender.exe" VALUE "ProductName", "Ember Render" - VALUE "ProductVersion", "0.9.9.3" + VALUE "ProductVersion", "0.9.9.4" END END BLOCK "VarFileInfo" diff --git a/Source/Fractorium/AboutDialog.ui b/Source/Fractorium/AboutDialog.ui index fdb0917..e78207f 100644 --- a/Source/Fractorium/AboutDialog.ui +++ b/Source/Fractorium/AboutDialog.ui @@ -58,7 +58,7 @@ QFrame::NoFrame - <html><head/><body><p align="center"><br/>Fractorium 0.9.9.3 Beta</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"><span style=" font-size:10pt;">Lead: Matt Feemster<br/>Contributors: Simon Detheridge</span></p></body></html> + <html><head/><body><p align="center"><br/>Fractorium 0.9.9.4 Beta</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"><span style=" font-size:10pt;">Lead: Matt Feemster<br/>Contributors: Simon Detheridge</span></p></body></html> Qt::RichText diff --git a/Source/Fractorium/Fractorium.rc b/Source/Fractorium/Fractorium.rc index c7e6a4bc60003d903dd849633dbe4660d10fb0c4..917fe5a1ea7d00b3911c530ab9bd5735aee2f94f 100644 GIT binary patch delta 50 zcmaE){789&7YC!sWN!{bMw8989PG?Mjv|-%TT@F+qejU*HvD0RU;P B4H^Id delta 50 zcmaE){789&7YC#9WN!{bM&r%39PG?Mjv|-%TT@F+qejU*HvD0RU+^ B4Hf_Z