Skip to content

Commit

Permalink
activate externalEnergyBackflowFactor for legacy files + autosave set…
Browse files Browse the repository at this point in the history
…tings corrected
  • Loading branch information
chrxh committed Apr 22, 2024
1 parent 34678f4 commit c2a987f
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
7 changes: 4 additions & 3 deletions source/EngineInterface/AuxiliaryDataParserService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ namespace
void encodeDecode(boost::property_tree::ptree& tree, SimulationParameters& parameters, ParserTask parserTask)
{
SimulationParameters defaultParameters;
MissingParameters missingParameters;

encodeDecodeProperty(tree, parameters.backgroundColor, defaultParameters.backgroundColor, "simulation parameters.background color", parserTask);
encodeDecodeProperty(tree, parameters.cellColoring, defaultParameters.cellColoring, "simulation parameters.cell colorization", parserTask);
Expand Down Expand Up @@ -370,7 +371,7 @@ namespace
defaultParameters.externalEnergyConditionalInflowFactor,
"simulation parameters.cell.function.constructor.pump energy factor",
parserTask);
encodeDecodeProperty(
missingParameters.externalEnergyBackflowFactor = encodeDecodeProperty(
tree,
parameters.externalEnergyBackflowFactor,
defaultParameters.externalEnergyBackflowFactor,
Expand Down Expand Up @@ -1021,8 +1022,8 @@ namespace
"simulation parameters.features.cell color transition rules",
parserTask);
if (parserTask == ParserTask::Decode) {
SimulationParametersService::activateFeaturesBasedOnParameters(missingFeatures, parameters);
SimulationParametersService::activateParametersBasedOnMissingFeatures(missingFeatures, parameters);
SimulationParametersService::activateFeaturesForLegacyFiles(missingFeatures, parameters);
SimulationParametersService::activateParametersForLegacyFiles(missingParameters, parameters);
}
}

Expand Down
8 changes: 4 additions & 4 deletions source/EngineInterface/SimulationParametersService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ namespace
}
}

void SimulationParametersService::activateFeaturesBasedOnParameters(Features const& missingFeatures, SimulationParameters& parameters)
void SimulationParametersService::activateFeaturesForLegacyFiles(Features const& missingFeatures, SimulationParameters& parameters)
{
if (missingFeatures.advancedAbsorptionControl) {
if (!equals(parameters.radiationAbsorptionHighVelocityPenalty, 0.0f) || !equals(parameters.radiationAbsorptionLowConnectionPenalty, 0.0f)) {
Expand Down Expand Up @@ -115,12 +115,12 @@ void SimulationParametersService::activateFeaturesBasedOnParameters(Features con
}
}

void SimulationParametersService::activateParametersBasedOnMissingFeatures(Features const& missingFeatures, SimulationParameters& parameters)
void SimulationParametersService::activateParametersForLegacyFiles(MissingParameters const& missingParameters, SimulationParameters& parameters)
{
if (missingFeatures.externalEnergyControl) {
if (missingParameters.externalEnergyBackflowFactor) {
if (!equals(parameters.externalEnergyConditionalInflowFactor, 0.0f)) {
for (int i = 0; i < MAX_COLORS; ++i) {
parameters.externalEnergyConditionalInflowFactor[i] = parameters.externalEnergyConditionalInflowFactor[i] / 5;
parameters.externalEnergyBackflowFactor[i] = parameters.externalEnergyConditionalInflowFactor[i] / 5;
}
}
}
Expand Down
9 changes: 7 additions & 2 deletions source/EngineInterface/SimulationParametersService.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
#pragma once
#include "SimulationParameters.h"

struct MissingParameters
{
bool externalEnergyBackflowFactor = false;
};

class SimulationParametersService
{
public:
static void activateFeaturesBasedOnParameters(Features const& missingFeatures, SimulationParameters& parameters);
static void activateParametersBasedOnMissingFeatures(Features const& missingFeatures, SimulationParameters& parameters);
static void activateFeaturesForLegacyFiles(Features const& missingFeatures, SimulationParameters& parameters);
static void activateParametersForLegacyFiles(MissingParameters const& missingParameters, SimulationParameters& parameters);
};
2 changes: 1 addition & 1 deletion source/Gui/SimulationParametersWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1360,7 +1360,7 @@ void _SimulationParametersWindow::processBase(
.defaultValue(&origParameters.externalEnergy)
.tooltip(
"This parameter can be used to set the amount of energy of an external energy source. This type of energy can be "
"transferred to all constructor cells at a certain rate.\n\nTip: You can explicitly enter a numerical value by selecting the "
"transferred to all constructor cells at a certain rate (see inflow settings).\n\nTip: You can explicitly enter a numerical value by selecting the "
"slider and then pressing TAB.\n\nWarning: Too much external energy can result in a massive production of cells and slow down or "
"even crash the simulation."),
&parameters.externalEnergy);
Expand Down

0 comments on commit c2a987f

Please sign in to comment.