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.

Added test for PhotonBS collider bug.

+70
+70
src/difficulty/lightshow/group/translation.rs
··· 146 146 self.beat_offset 147 147 } 148 148 } 149 + 150 + #[cfg(test)] 151 + #[allow(deprecated)] 152 + mod tests { 153 + use super::*; 154 + use crate::EventGroup; 155 + use serde_json::json; 156 + 157 + // Taken from this map: https://beatsaver.com/maps/40f1f. 158 + #[test] 159 + fn translation_dist() { 160 + let json = json!({ 161 + "b": 6.5, 162 + "g": 9, 163 + "e": 164 + [ 165 + { 166 + "f": 167 + { 168 + "f": 1, 169 + "p": 1, 170 + "t": 0, 171 + "r": 0, 172 + "c": 0, 173 + "n": 2, 174 + "s": 1087373312, 175 + "l": 0, 176 + "d": 0 177 + }, 178 + "w": 0, 179 + "d": 1, 180 + "s": 1, 181 + "t": 1, 182 + "b": 1, 183 + "a": 2, 184 + "r": 0, 185 + "i": 0, 186 + "l": 187 + [ 188 + { 189 + "b": 0, 190 + "p": 0, 191 + "e": -1, 192 + "t": 5.45 193 + }, 194 + { 195 + "b": 2, 196 + "p": 0, 197 + "e": 3, 198 + "t": 0 199 + }, 200 + { 201 + "b": 30.5, 202 + "p": 0, 203 + "e": 3, 204 + "t": 0 205 + } 206 + ] 207 + } 208 + ] 209 + }); 210 + 211 + let event_box: TranslationEventBox = serde_json::from_value(json).unwrap(); 212 + let group = &event_box.groups[0]; 213 + 214 + for i in 0..5 { 215 + assert_eq!(group.get_value_offset(i, 5), i as f32 / 5.0); 216 + } 217 + } 218 + }