mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-07-01 05:46:06 -04:00
--Bug fixes
-Numbering of rendered files was wrong. -Truchet_hex_fill was not compiling with some newer Nvidia drivers. --Code changes -Update Wix installer to use VS 2019.
This commit is contained in:
@ -208,13 +208,13 @@ public:
|
||||
QString base = original.completeBaseName();
|
||||
const QString path = original.absolutePath() + '/';
|
||||
const QString extension = original.suffix();
|
||||
newPath = path + base + "." + extension;
|
||||
|
||||
do
|
||||
while (QFile::exists(newPath))
|
||||
{
|
||||
base = IncrementTrailingUnderscoreInt(base);
|
||||
newPath = path + base + "." + extension;
|
||||
}
|
||||
while (QFile::exists(newPath));
|
||||
|
||||
return newPath;
|
||||
}
|
||||
|
@ -733,11 +733,11 @@ tuple<size_t, size_t, size_t> FinalRenderEmberController<T>::SyncAndComputeMemor
|
||||
/// <param name="name">The base filename to compose a full path for</param>
|
||||
/// <returns>The fully composed path</returns>
|
||||
template <typename T>
|
||||
QString FinalRenderEmberController<T>::ComposePath(const QString& name)
|
||||
QString FinalRenderEmberController<T>::ComposePath(const QString& name, bool unique)
|
||||
{
|
||||
const auto path = MakeEnd(m_Settings->SaveFolder(), '/');//Base path.
|
||||
const auto full = path + m_FinalRenderDialog->Prefix() + name + m_FinalRenderDialog->Suffix() + "." + m_FinalRenderDialog->Ext();
|
||||
return EmberFile<T>::UniqueFilename(full);
|
||||
return unique ? EmberFile<T>::UniqueFilename(full) : full;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -939,14 +939,15 @@ void FinalRenderEmberController<T>::RenderComplete(Ember<T>& ember, const EmberS
|
||||
rlg l(m_ProgressCs);
|
||||
const auto renderTimeString = renderTimer.Format(renderTimer.Toc());
|
||||
QString status;
|
||||
const auto filename = ComposePath(QString::fromStdString(ember.m_Name));
|
||||
const auto filename = ComposePath(QString::fromStdString(ember.m_Name), false);
|
||||
const auto itersString = ToString<qulonglong>(stats.m_Iters);
|
||||
const auto itersPerSecString = ToString<qulonglong>(static_cast<size_t>(stats.m_Iters / (stats.m_IterMs / 1000.0)));
|
||||
|
||||
if (m_GuiState.m_SaveXml)
|
||||
{
|
||||
const QFileInfo xmlFileInfo(filename);//Create another one in case it was modified for batch rendering.
|
||||
const QString newPath = xmlFileInfo.absolutePath() + '/' + xmlFileInfo.completeBaseName() + ".flame";
|
||||
QString newPath = xmlFileInfo.absolutePath() + '/' + xmlFileInfo.completeBaseName() + ".flame";
|
||||
newPath = EmberFile<T>::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.
|
||||
|
@ -68,7 +68,7 @@ public:
|
||||
virtual void ResetProgress(bool total = true) { }
|
||||
virtual tuple<size_t, size_t, size_t> SyncAndComputeMemory() { return tuple<size_t, size_t, size_t>(0, 0, 0); }
|
||||
virtual double OriginalAspect() { return 1; }
|
||||
virtual QString ComposePath(const QString& name) { return ""; }
|
||||
virtual QString ComposePath(const QString& name, bool unique = true) { return ""; }
|
||||
virtual bool BumpQualityRender(double d) { return false; }
|
||||
virtual QString SaveCurrentAgain() { return ""; }
|
||||
virtual void CancelRender() { }
|
||||
@ -132,7 +132,7 @@ public:
|
||||
tuple<size_t, size_t, size_t> SyncAndComputeMemory() override;
|
||||
double OriginalAspect() override { return double(m_Ember->m_OrigFinalRasW) / m_Ember->m_OrigFinalRasH; }
|
||||
QString Name() const override { return QString::fromStdString(m_Ember->m_Name); }
|
||||
QString ComposePath(const QString& name) override;
|
||||
QString ComposePath(const QString& name, bool unique = true) override;
|
||||
QString SaveCurrentAgain() override;
|
||||
void CancelRender() override;
|
||||
QString CheckMemory(const tuple<size_t, size_t, size_t>& p) override;
|
||||
|
Reference in New Issue
Block a user