Beatsaber Rust Utilities: A Beatsaber V3 parsing library.
beatsaber beatmap
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix negative wave offset not working.

AlephCubed 1869e1ba 4c2de3ae

+35 -1
+35 -1
src/difficulty/lightshow.rs
··· 39 39 last_data_offset: Option<f32>, 40 40 easing: Option<Easing>, 41 41 ) -> f32 { 42 + if dist_value == 0.0 { 43 + return 0.0; 44 + } 45 + 42 46 let filtered_size = filter.count_filtered(group_size) as f32; 43 47 let filtered_id = filter.get_relative_index(light_id, group_size) as f32; 44 48 ··· 54 58 fraction = easing.ease(fraction); 55 59 } 56 60 57 - fraction * modified_value.max(0.0) 61 + fraction * modified_value 58 62 } 59 63 DistributionType::Step => dist_value * filtered_id, 60 64 DistributionType::Unknown(_) => 0.0, ··· 105 109 } 106 110 107 111 #[test] 112 + fn wave_negative() { 113 + for i in 0..12 { 114 + assert_eq!( 115 + DistributionType::Wave.compute_offset(i, 12, &Filter::default(), -12.0, None, None), 116 + -i as f32 117 + ); 118 + } 119 + } 120 + 121 + #[test] 108 122 fn step() { 109 123 for i in 0..12 { 110 124 assert_eq!( 111 125 DistributionType::Step.compute_offset(i, 12, &Filter::default(), 1.0, None, None), 112 126 i as f32 127 + ); 128 + } 129 + } 130 + 131 + #[test] 132 + fn wave_zero() { 133 + for i in 0..12 { 134 + assert_eq!( 135 + DistributionType::Wave.compute_offset(i, 12, &Filter::default(), 0.0, None, None), 136 + 0.0 137 + ); 138 + } 139 + } 140 + 141 + #[test] 142 + fn step_zero() { 143 + for i in 0..12 { 144 + assert_eq!( 145 + DistributionType::Step.compute_offset(i, 12, &Filter::default(), 0.0, None, None), 146 + 0.0 113 147 ); 114 148 } 115 149 }