diff --git a/source/EngineGpuKernels/CellFunctionProcessor.cuh b/source/EngineGpuKernels/CellFunctionProcessor.cuh index 34f807351..cd52d9c98 100644 --- a/source/EngineGpuKernels/CellFunctionProcessor.cuh +++ b/source/EngineGpuKernels/CellFunctionProcessor.cuh @@ -87,7 +87,7 @@ __inline__ __device__ void CellFunctionProcessor::resetFetchedActivities(Simulat auto otherExecutionOrderNumber = cell->connections[i].cell->executionOrderNumber; auto otherInputExecutionOrderNumber = cell->connections[i].cell->inputExecutionOrderNumber; auto otherOutputBlocked = cell->connections[i].cell->outputBlocked; - bool flowToCell = !(cudaSimulationParameters.features.legacyModes && cudaSimulationParameters.legacyCellDirectionalConnection) + bool flowToCell = !(cudaSimulationParameters.features.legacyModes && cudaSimulationParameters.legacyCellDirectionalConnections) ? cell->inputExecutionOrderNumber == otherExecutionOrderNumber && !otherOutputBlocked && cell->executionOrderNumber > otherInputExecutionOrderNumber : false; @@ -135,7 +135,7 @@ __inline__ __device__ Activity CellFunctionProcessor::calcInputActivity(Cell* ce if (connectedCell->outputBlocked || connectedCell->livingState != LivingState_Ready ) { continue; } - if (!(cudaSimulationParameters.features.legacyModes && cudaSimulationParameters.legacyCellDirectionalConnection) && connectedCell->inputExecutionOrderNumber == cell->executionOrderNumber + if (!(cudaSimulationParameters.features.legacyModes && cudaSimulationParameters.legacyCellDirectionalConnections) && connectedCell->inputExecutionOrderNumber == cell->executionOrderNumber && connectedCell->executionOrderNumber > cell->executionOrderNumber && !cell->outputBlocked) { continue; } diff --git a/source/EngineInterface/LegacyAuxiliaryDataParserService.cpp b/source/EngineInterface/LegacyAuxiliaryDataParserService.cpp index c94dcb80e..32ea9daf0 100644 --- a/source/EngineInterface/LegacyAuxiliaryDataParserService.cpp +++ b/source/EngineInterface/LegacyAuxiliaryDataParserService.cpp @@ -173,7 +173,7 @@ void LegacyAuxiliaryDataParserService::activateParametersAndFeaturesForLegacyFil if (programVersion.empty()) { parameters.features.legacyModes = true; parameters.legacyCellFunctionMuscleNoActivityReset = true; - parameters.legacyCellDirectionalConnection = true; + parameters.legacyCellDirectionalConnections = true; } //******************* diff --git a/source/EngineInterface/SimulationParameters.cpp b/source/EngineInterface/SimulationParameters.cpp index 11a22430a..c6ffa4b1e 100644 --- a/source/EngineInterface/SimulationParameters.cpp +++ b/source/EngineInterface/SimulationParameters.cpp @@ -204,6 +204,6 @@ bool SimulationParameters::operator==(SimulationParameters const& other) const && legacyCellFunctionMuscleMovementAngleFromSensor == other.legacyCellFunctionMuscleMovementAngleFromSensor && muscleMovementVisualization == other.muscleMovementVisualization && legacyCellFunctionMuscleNoActivityReset == other.legacyCellFunctionMuscleNoActivityReset - && legacyCellDirectionalConnection == other.legacyCellDirectionalConnection + && legacyCellDirectionalConnections == other.legacyCellDirectionalConnections ; } \ No newline at end of file diff --git a/source/EngineInterface/SimulationParameters.h b/source/EngineInterface/SimulationParameters.h index 6760f71a0..4abd5a5c1 100644 --- a/source/EngineInterface/SimulationParameters.h +++ b/source/EngineInterface/SimulationParameters.h @@ -204,7 +204,7 @@ struct SimulationParameters bool legacyCellFunctionMuscleMovementAngleFromSensor = false; bool legacyCellFunctionMuscleNoActivityReset = false; - bool legacyCellDirectionalConnection = false; + bool legacyCellDirectionalConnections = false; bool operator==(SimulationParameters const& other) const; bool operator!=(SimulationParameters const& other) const { return !operator==(other); } diff --git a/source/Gui/SimulationParametersWindow.cpp b/source/Gui/SimulationParametersWindow.cpp index 9e36a1fd0..c529782a6 100644 --- a/source/Gui/SimulationParametersWindow.cpp +++ b/source/Gui/SimulationParametersWindow.cpp @@ -1596,9 +1596,9 @@ void _SimulationParametersWindow::processBase() AlienImGui::CheckboxParameters() .name("Allow bidirectional connections") .textWidth(RightColumnWidth) - .defaultValue(origParameters.legacyCellDirectionalConnection) + .defaultValue(origParameters.legacyCellDirectionalConnections) .tooltip("If activated, two connected cells can receive each other's input if the 'input execution number' matches."), - parameters.legacyCellDirectionalConnection); + parameters.legacyCellDirectionalConnections); AlienImGui::EndTreeNode(); } }