add setting camera.inertia & add display settings menu page
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user