add setting camera.inertia & add display settings menu page

This commit is contained in:
MihailRis
2024-07-15 14:23:31 +03:00
parent af1b32d91d
commit 7c6d620560
9 changed files with 55 additions and 5 deletions
+1
View File
@@ -56,6 +56,7 @@ SettingsHandler::SettingsHandler(EngineSettings& settings) {
builder.add("fov", &settings.camera.fov);
builder.add("fov-effects", &settings.camera.fovEffects);
builder.add("shaking", &settings.camera.shaking);
builder.add("inertia", &settings.camera.inertia);
builder.section("chunks");
builder.add("load-distance", &settings.chunks.loadDistance);
+3 -1
View File
@@ -98,7 +98,9 @@ glm::vec3 CameraControl::updateCameraShaking(const Hitbox& hitbox, float delta)
offset += camera->right * glm::sin(shakeTimer) * oh * shake;
offset += camera->up * glm::abs(glm::cos(shakeTimer)) * ov * shake;
offset -= glm::min(interpVel * 0.05f, 1.0f);
if (settings.inertia.get()) {
offset -= glm::min(interpVel * 0.05f, 1.0f);
}
return offset;
}
+2
View File
@@ -46,6 +46,8 @@ struct CameraSettings {
FlagSetting fovEffects {true};
/// @brief Camera movement shake
FlagSetting shaking {true};
/// @brief Camera movement inertia effect
FlagSetting inertia {true};
/// @brief Camera field of view
NumberSetting fov {90.0f, 10, 120};
/// @brief Camera sensitivity