From 412519293ba28fb82f62ca5623bf2e321de8fc59 Mon Sep 17 00:00:00 2001 From: ruby3141 Date: Mon, 20 May 2024 11:32:02 +0900 Subject: [PATCH] fix one-frame positional desync of lanecover image - make lanecover window size fixed - make lanecover window to move instead of resize when sublength changed --- djmaxplus/src/components/config_editor.rs | 4 ++-- djmaxplus/src/components/lanecover.rs | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/djmaxplus/src/components/config_editor.rs b/djmaxplus/src/components/config_editor.rs index 417796d..1b7a8ad 100644 --- a/djmaxplus/src/components/config_editor.rs +++ b/djmaxplus/src/components/config_editor.rs @@ -253,7 +253,7 @@ impl ConfigEditor { [ lanecover.position()[0] - lanecover.size()[0] * lanecover.position_pivot()[0], - lanecover.size()[1], + lanecover.position()[1], ], Condition::Always, ) @@ -279,7 +279,7 @@ impl ConfigEditor { [ lanecover.position()[0] + lanecover.size()[0] * (1. - lanecover.position_pivot()[0]), - lanecover.size()[1], + lanecover.position()[1], ], Condition::Always, ) diff --git a/djmaxplus/src/components/lanecover.rs b/djmaxplus/src/components/lanecover.rs index e92cb2c..de32381 100644 --- a/djmaxplus/src/components/lanecover.rs +++ b/djmaxplus/src/components/lanecover.rs @@ -129,21 +129,21 @@ impl Lanecover { } } .floor(), - 0., + (runtime.viewport_height() + * (config.lanecover_configs[self.config_index].sub_length as f32 / 1000.) + * 0.7) + .floor(), ]; self.position_pivot = match config.lane_direction { - LaneDirection::Left => &[0., 0.], - LaneDirection::Center => &[0.5, 0.], - LaneDirection::Right => &[1., 0.], + LaneDirection::Left => &[0., 1.], + LaneDirection::Center => &[0.5, 1.], + LaneDirection::Right => &[1., 1.], }; self.size = [ runtime.viewport_effective_width() / 4., - (runtime.viewport_height() - * (config.lanecover_configs[self.config_index].sub_length as f32 / 1000.) - * 0.7) - .floor(), + (runtime.viewport_height() * 0.7).ceil(), ]; self.should_update_metrics = false;