@@ -61,6 +61,7 @@ GameModel::GameModel(GameView *newView):
6161 colour(255 , 0 , 0 , 255 ),
6262 edgeMode(EDGE_VOID),
6363 ambientAirTemp(R_TEMP + 273 .15f ),
64+ vorticityCoeff(0 .0f ),
6465 decoSpace(DECOSPACE_SRGB),
6566 view(newView)
6667{
@@ -121,6 +122,17 @@ GameModel::GameModel(GameView *newView):
121122 }
122123 }
123124 sim->air ->ambientAirTemp = ambientAirTemp;
125+
126+ vorticityCoeff = 0 .1f ; // The default for old saves is 0, but use 0.1 for old configs
127+ {
128+ auto vort = prefs.Get (" Simulation.VorticityCoeff" , vorticityCoeff);
129+ if (0 .0f <= vort && vort <= 1 .0f )
130+ {
131+ vorticityCoeff = vort;
132+ }
133+ }
134+ sim->air ->vorticityCoeff = vorticityCoeff;
135+
124136 decoSpace = prefs.Get (" Simulation.DecoSpace" , NUM_DECOSPACES, DECOSPACE_SRGB);
125137 sim->SetDecoSpace (decoSpace);
126138 if (prefs.Get (" Simulation.NewtonianGravity" , false ))
@@ -308,6 +320,17 @@ float GameModel::GetAmbientAirTemperature()
308320 return this ->ambientAirTemp ;
309321}
310322
323+ void GameModel::SetVorticityCoeff (float vorticityCoeff)
324+ {
325+ this ->vorticityCoeff = vorticityCoeff;
326+ sim->air ->vorticityCoeff = vorticityCoeff;
327+ }
328+
329+ float GameModel::GetVorticityCoeff ()
330+ {
331+ return this ->vorticityCoeff ;
332+ }
333+
311334void GameModel::SetDecoSpace (int decoSpace)
312335{
313336 sim->SetDecoSpace (decoSpace);
@@ -736,6 +759,7 @@ void GameModel::SaveToSimParameters(const GameSave &saveData)
736759 sim->customGravityY = saveData.customGravityY ;
737760 sim->air ->airMode = saveData.airMode ;
738761 sim->air ->ambientAirTemp = saveData.ambientAirTemp ;
762+ sim->air ->vorticityCoeff = saveData.vorticityCoeff ;
739763 sim->edgeMode = saveData.edgeMode ;
740764 sim->legacy_enable = saveData.legacyEnable ;
741765 sim->water_equal_test = saveData.waterEEnabled ;
@@ -1112,6 +1136,7 @@ void GameModel::ClearSimulation()
11121136 sim->water_equal_test = false ;
11131137 sim->SetEdgeMode (edgeMode);
11141138 sim->air ->ambientAirTemp = ambientAirTemp;
1139+ sim->air ->vorticityCoeff = vorticityCoeff;
11151140
11161141 sim->clear_sim ();
11171142 ren->ClearAccumulation ();
0 commit comments