Merge branch 'launcherviewdistance' into 'master'

Make launcher viewing distance setup more precise

See merge request OpenMW/openmw!2034
This commit is contained in:
jvoisin 2022-06-19 20:51:18 +00:00
commit 4bca91198e

View file

@ -74,12 +74,12 @@ namespace
double convertToCells(double unitRadius) double convertToCells(double unitRadius)
{ {
return std::round((unitRadius + 1024) / CellSizeInUnits); return unitRadius / CellSizeInUnits;
} }
double convertToUnits(double CellGridRadius) int convertToUnits(double CellGridRadius)
{ {
return CellSizeInUnits * CellGridRadius - 1024; return static_cast<int>(CellSizeInUnits * CellGridRadius);
} }
} }
@ -284,10 +284,10 @@ void Launcher::AdvancedPage::saveSettings()
} }
saveSettingBool(activeGridObjectPagingCheckBox, "object paging active grid", "Terrain"); saveSettingBool(activeGridObjectPagingCheckBox, "object paging active grid", "Terrain");
double viewingDistance = viewingDistanceComboBox->value(); int viewingDistance = convertToUnits(viewingDistanceComboBox->value());
if (viewingDistance != convertToCells(Settings::Manager::getInt("viewing distance", "Camera"))) if (viewingDistance != Settings::Manager::getInt("viewing distance", "Camera"))
{ {
Settings::Manager::setInt("viewing distance", "Camera", convertToUnits(viewingDistance)); Settings::Manager::setInt("viewing distance", "Camera", viewingDistance);
} }
double objectPagingMinSize = objectPagingMinSizeComboBox->value(); double objectPagingMinSize = objectPagingMinSizeComboBox->value();
if (objectPagingMinSize != Settings::Manager::getDouble("object paging min size", "Terrain")) if (objectPagingMinSize != Settings::Manager::getDouble("object paging min size", "Terrain"))