Merge pull request #25697 from smoogipoo/fix-mania-conversion

Fix precision issue when converting mania beatmaps
This commit is contained in:
Bartłomiej Dach 2023-12-07 12:49:41 +01:00 committed by GitHub
commit 54f11a0dad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 615 additions and 32 deletions

View File

@ -18,10 +18,12 @@ namespace osu.Game.Rulesets.Mania.Tests
[TestFixture]
public class ManiaBeatmapConversionTest : BeatmapConversionTest<ManiaConvertMapping, ConvertValue>
{
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania";
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania.Tests";
[TestCase("basic")]
[TestCase("zero-length-slider")]
[TestCase("20544")]
[TestCase("100374")]
public void Test(string name) => base.Test(name);
protected override IEnumerable<ConvertValue> CreateConvertValue(HitObject hitObject)

View File

@ -18,7 +18,7 @@ namespace osu.Game.Rulesets.Mania.Tests
[TestFixture]
public class ManiaBeatmapSampleConversionTest : BeatmapConversionTest<ConvertMapping<SampleConvertValue>, SampleConvertValue>
{
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania";
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania.Tests";
[TestCase("convert-samples")]
[TestCase("mania-samples")]

View File

@ -12,7 +12,7 @@ namespace osu.Game.Rulesets.Mania.Tests
{
public class ManiaDifficultyCalculatorTest : DifficultyCalculatorTest
{
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania";
protected override string ResourceAssembly => "osu.Game.Rulesets.Mania.Tests";
[TestCase(2.3493769750220914d, 242, "diffcalc-test")]
public void Test(double expectedStarRating, int expectedMaxCombo, string name)

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,449 @@
osu file format v9
[General]
StackLeniency: 0.4
Mode: 0
[Difficulty]
HPDrainRate:5
CircleSize:4
OverallDifficulty:5
ApproachRate:6
SliderMultiplier:1.7
SliderTickRate:2
[Events]
//Background and Video events
//Break Periods
2,98678,112295
2,185757,200967
//Storyboard Layer 0 (Background)
//Storyboard Layer 1 (Fail)
//Storyboard Layer 2 (Pass)
//Storyboard Layer 3 (Foreground)
//Storyboard Sound Samples
//Background Colour Transformations
3,100,163,162,255
[TimingPoints]
695,530.973451327434,4,2,1,20,1,0
33457,-100,4,2,1,25,0,0
33988,-100,4,2,1,30,0,0
34386,-100,4,1,0,30,0,0
38649,-100,4,1,1,30,0,0
42897,-100,4,1,0,30,0,0
47144,-100,4,1,1,30,0,0
51530,-100,4,2,1,20,0,0
56978,571.428571428571,4,2,1,20,1,0
58692,845.070422535211,4,2,1,20,1,0
60248,530.973451327434,4,2,1,20,1,0
60740,-100,4,1,1,30,0,0
61555,-66.6666666666667,4,1,1,30,0,0
62219,-100,4,1,0,40,0,0
78148,-100,4,1,0,30,0,0
78413,-100,4,1,0,35,0,0
78679,-100,4,1,0,40,0,0
78944,-100,4,1,0,45,0,0
79210,-100,4,1,0,40,0,0
96466,-100,4,2,1,30,0,0
132285,-100,4,2,1,20,0,0
149453,-100,4,1,1,35,0,0
153790,-100,4,2,1,40,0,0
157639,-100,4,1,1,35,0,0
162020,-100,4,2,1,40,0,0
166158,-100,4,1,0,40,0,0
201733,-100,4,2,1,20,0,0
219099,-133.333333333333,4,2,1,20,0,0
221024,-100,4,1,1,30,0,0
221290,-100,4,1,0,30,0,0
[HitObjects]
256,192,15562,12,0,17155
72,120,17686,5,8
128,224,17951,1,0
185,119,18217,1,0
246,220,18482,1,0
128,224,18748,2,0,B|161:262|208:264,1,85,4|0
309,213,19279,2,0,B|297:169|325:120,2,85,0|0|8
309,213,20075,5,0
309,332,20341,1,0
206,272,20606,1,8
309,213,20871,2,0,B|336:117|261:56,1,170,4|0
205,272,21933,6,0,B|183:307|125:328,1,85,8|0
149,256,22464,2,0,B|114:281|45:280,1,85,0|0
101,216,22995,2,0,B|16:264|-56:176|16:72|104:128,1,255,4|0
149,136,24057,6,0,B|170:100|229:80,1,85,8|0
205,149,24588,2,0,B|239:123|309:125,1,85,0|8
253,189,25119,2,0,B|349:144|413:221,1,170,4|8
240,336,26181,5,8
288,264,26447,1,0
344,328,26712,2,0,B|391:339|440:328,1,85,0|0
488,270,27243,2,0,B|424:256|392:200,1,85,4|0
329,230,27774,2,0,B|328:176|386:142,1,85,0|0
363,69,28305,2,0,B|328:40|280:56,2,85,8|0|0
312,136,29102,1,0
224,120,29367,2,0,B|192:168|256:240|224:296,1,170,4|8
96,240,30429,6,0,B|83:195|56:160,1,85,8|0
96,88,30960,2,0,B|83:132|56:168,1,85,0|0
59,164,31491,2,0,B|129:182|187:167|254:149|323:168,1,255,4|0
312,165,32553,6,0,B|302:210|256:237,1,85,8|0
312,166,33084,2,0,B|321:120|368:94,1,85,8|0
312,166,33615,2,0,B|318:204|374:193|426:183|450:247,1,170,8|8
200,232,34677,5,4
119,169,34942,1,0
57,248,35208,1,8
137,311,35473,1,0
200,232,35739,5,0
248,302,36004,1,0
318,254,36270,1,8
270,183,36535,1,0
200,232,36801,6,0,B|120:272|120:272|40:224,1,170,0|8
130,183,37597,1,0
200,232,37863,2,0,B|280:192|280:192|368:240,1,170,0|8
167,111,38925,6,0,B|134:71|98:65,1,85,8|0
167,112,39456,2,0,B|115:116|90:142,1,85,4|0
167,112,39987,2,0,B|120:192|176:248|240:312|152:368,1,255,8|0
173,351,41048,6,0,B|142:305|80:288,1,85,8|0
173,351,41579,2,0,B|194:299|175:238,1,85,4|0
173,351,42110,2,0,B|237:351|253:303|269:255|341:263,1,170,8|8
128,144,43172,5,4
208,176,43438,1,0
288,144,43703,1,8
368,176,43969,1,0
408,272,44234,5,0
312,312,44500,1,0
216,272,44765,1,8
120,312,45031,1,0
48,240,45296,5,0
160,272,45562,1,0
272,240,45827,1,8
384,280,46093,1,0
496,240,46358,2,0,B|448:208|448:208|496:176|504:128|442:127,1,170,0|8
152,128,47420,6,0,B|122:167|120:224,1,85,8|0
88,128,47951,2,0,B|95:177|133:218,1,85,4|0
121,204,48482,2,0,B|140:296|264:280|308:368,1,255,8|0
308,368,49544,6,0,B|293:318|324:264,1,85,8|0
368,348,50075,2,0,B|322:323|305:263,1,85,4|0
324,200,50606,2,0,B|274:214|203:224|142:108|131:56|243:32|243:120|211:160|107:136,1,340,8|2
369,216,52730,5,2
176,312,53792,2,0,B|166:217|64:144,1,170,0|0
179,150,54588,1,0
120,88,54854,2,0,B|107:176|38:232,1,170,2|0
464,320,55916,6,0,B|392:252|288:280,1,170,0|0
280,104,56978,6,0,B|312:192|416:208,1,170,2|0
192,160,58120,2,0,B|182:224|112:240,1,85,2|0
24,240,58692,6,0,B|72:240|88:272,1,56.6666666666667,6|0
224,296,59325,2,0,B|240:200|200:120,1,170
316,136,60513,5,0
400,156,60778,2,0,B|408:100|364:56,1,85,10|0
320,16,61309,1,2
160,112,61840,6,0,B|95:104|28:135,1,127.499996200204,8|0
160,112,62371,6,0,B|80:168|96:296,1,170,4|8
176,280,63168,1,0
224,208,63433,2,0,B|280:288|392:264,1,170,0|8
456,184,64230,1,0
328,144,64495,1,8
416,248,64761,1,0
408,112,65026,1,8
336,232,65292,1,0
388,182,65557,1,8
256,288,66088,5,8
256,288,66354,1,0
256,288,66619,2,0,B|200:360|72:368,1,170,0|8
44,308,67416,1,0
87,234,67681,2,0,B|163:279|207:386,1,170,0|8
256,288,68478,1,0
400,120,68743,5,8
328,256,69009,1,0
400,120,69274,1,8
264,184,69540,1,0
400,120,69805,1,8
400,120,70336,6,0,B|395:173|368:200,1,85,8|0
213,255,70867,2,0,B|279:198|383:198,1,170,4|8
329,125,71663,1,0
248,104,71929,2,0,B|184:168|80:152,1,170,0|8
200,224,72725,1,0
272,339,72991,5,8
151,276,73256,1,0
267,204,73522,1,8
204,322,73787,1,0
287,272,74053,1,8
287,272,74584,6,0,B|336:256|368:208,1,85,8|0
372,140,75115,2,0,B|323:206|324:308,1,170,0|8
240,288,75911,1,0
160,248,76177,2,0,B|216:176|320:216,1,170,0|8
272,136,76973,1,0
200,88,77239,6,0,B|216:136|192:176,1,85,8|0
160,248,77770,2,0,B|160:296|208:320,1,85,8|0
328,232,78301,5,0
233,133,78566,1,8
297,15,78832,1,8
432,40,79097,1,8
453,176,79363,6,0,B|448:240|384:272|328:232,1,170,4|8
286,306,80159,1,0
203,288,80424,2,0,B|208:224|272:192|328:232,1,170,0|8
404,231,81221,1,0
408,160,81486,5,8
360,288,81752,1,0
472,216,82017,1,8
336,208,82283,1,0
440,296,82548,1,8
288,320,83079,5,8
288,320,83345,1,0
288,320,83610,2,0,B|200:314|128:248,1,170,0|8
88,320,84407,1,0
56,240,84672,2,0,B|133:287|176:392,1,170,0|8
163,274,85469,1,0
296,216,85734,5,8
165,75,86000,1,0
99,178,86265,1,8
282,97,86531,1,0
184,264,86796,1,8
184,264,87327,6,0,B|159:295|110:299,1,85,8|0
23,247,87858,2,0,B|91:300|192:261,1,170,4|8
245,326,88655,1,0
293,254,88920,2,0,B|213:198|109:246,1,170,0|8
181,302,89717,1,0
165,166,89982,5,8
141,302,90247,1,0
205,182,90513,1,8
109,278,90778,1,0
229,214,91044,1,8
376,132,91575,6,0,B|424:140|464:100,1,85,8|0
464,192,92106,2,0,B|456:280|352:320,1,170,0|8
300,256,92902,1,0
228,212,93168,2,0,B|268:116|164:60,1,170,0|8
100,32,93964,1,0
84,116,94230,2,0,B|116:156|108:212,1,85,8|0
188,160,94761,2,0,B|188:208|232:244,1,85,8|0
296,196,95292,2,0,B|320:236|349:239|399:242|379:198|379:198|334:185|358:245|368:276|440:260|480:316|416:356,1,340,8|4
256,192,96486,12,8,98478
264,192,113345,5,8
264,192,113876,1,8
264,192,114407,5,0
172,236,114672,1,8
184,336,114938,1,0
284,356,115203,1,8
340,268,115469,1,8
304,100,116000,1,8
304,100,116531,1,0
272,336,117062,5,8
248,200,117327,1,0
376,152,117593,1,8
376,152,118124,1,8
376,152,118655,5,0
240,128,118920,1,8
376,192,119186,1,0
496,152,119451,1,8
376,224,119717,1,8
376,224,120247,1,8
376,224,120778,1,0
376,224,121309,5,8
264,296,121575,1,0
256,160,121840,1,8
256,160,122371,1,8
256,160,122902,1,0
256,160,123433,5,8
168,264,123699,1,0
312,280,123964,1,8
312,280,124495,1,8
312,280,125026,1,0
312,280,125557,5,8
200,200,125823,1,0
312,280,126088,1,8
312,280,126619,1,8
312,280,127150,5,0
416,200,127416,1,8
432,336,127681,1,0
416,200,127947,1,8
312,280,128212,1,8
312,280,128743,1,8
312,280,129274,5,8
264,152,129540,1,8
136,192,129805,1,8
184,320,130071,1,12
88,120,132460,6,0,B|127:224|104:304,1,170,2|0
424,264,133522,2,0,B|384:159|408:80,1,170
448,168,134318,2,0,B|369:240|297:240,1,170,4|0
301,158,135115,2,0,B|277:206|309:262,1,85
395,295,135646,2,0,B|323:263|227:287,1,170,0|2
176,88,136708,6,0,B|134:57|80:64,1,85
176,88,137239,2,0,B|221:64|264:64,1,85,8|0
176,88,137770,2,0,B|137:175|196:220|272:272|208:344,1,255,4|0
136,328,138832,6,0,B|83:306|40:328,1,85
136,328,139363,2,0,B|184:312|224:328,1,85,2|0
300,296,139894,2,0,B|300:198|388:200|468:200|452:104,1,255,4|0
372,100,140955,1,0
292,72,141221,6,0,B|250:102|244:152,2,85,0|8|0
332,148,142017,1,4
388,212,142283,2,0,B|414:243|465:241,1,85
440,148,142814,2,0,B|400:172|388:213,1,85
236,232,143345,1,0
204,84,143610,1,0
356,64,143876,1,0
388,212,144141,2,0,B|350:295|228:308,1,170,4|0
96,304,145203,6,0,B|96:208,1,85
144,203,145734,2,0,B|144:288,1,85,8|0
192,272,146265,2,0,B|192:176|192:176|192:120|256:112,1,170,4|0
312,56,147062,1,0
392,120,147327,6,0,B|392:208,1,85
336,221,147858,2,0,B|336:136,1,85,8|0
280,152,148389,2,0,B|280:256|280:256|264:272|280:288|280:288|296:304|280:320|280:320|248:336|280:352|280:352|312:368|312:368|280:376|224:384,1,340,4|4
172,322,149717,5,0
136,248,149982,1,8
64,208,150247,1,0
147,112,150513,5,0
224,80,150778,1,0
304,112,151044,1,8
384,88,151309,1,0
336,192,151575,6,0,B|280:272|176:264,1,170,0|8
408,216,152637,2,0,B|429:173|464:152,1,85,0|0
360,80,153168,2,0,B|376:168|304:264,1,170,8|0
256,288,153964,5,2
192,240,154230,1,4
272,208,154495,1,0
229,134,154761,2,0,B|276:214,1,85,0|2
160,248,155292,1,4
120,136,155557,1,0
229,134,155823,6,0,B|331:134,1,85,0|2
408,208,156354,2,0,B|312:208,1,85,4|0
216,256,156885,2,0,B|272:280|264:352|208:344|192:296|256:272|328:312,1,170,0|4
456,224,157947,5,0
400,136,158212,1,0
456,224,158478,1,8
392,304,158743,1,0
456,224,159009,1,0
288,232,159540,5,8
200,283,159805,1,0
176,184,160071,1,0
176,184,160601,5,8
278,184,160867,1,0
176,184,161132,2,0,B|88:184,1,85
24,88,161663,2,0,B|192:88,1,170,8|0
280,88,162460,1,2
240,168,162725,1,4
360,48,163256,5,0
280,88,163522,1,2
240,168,163787,2,0,B|344:168,1,85,4|0
376,240,164318,2,0,B|320:312,1,85,2|0
248,304,164849,2,0,B|200:232,1,85,6|0
288,240,165380,2,0,B|288:136|288:136|286:82|344:72,1,170,6|8
480,104,166442,6,0,B|416:168|416:296,1,170,4|8
336,280,167239,1,0
288,208,167504,2,0,B|232:288|120:264,1,170,0|8
56,184,168301,1,0
184,144,168566,1,8
96,248,168832,1,0
104,112,169097,1,8
176,232,169363,1,0
124,182,169628,1,8
272,256,170159,5,8
272,256,170424,1,0
272,256,170690,2,0,B|310:339|428:329,1,170,0|8
487,259,171486,1,0
423,179,171752,2,0,B|340:241|340:329,1,170,0|8
251,346,172548,1,0
260,193,172814,5,8
340,321,173079,1,0
260,193,173345,1,8
404,249,173610,1,0
260,193,173876,1,8
112,120,174407,6,0,B|117:173|144:200,1,85,8|0
309,191,174938,2,0,B|225:225|117:191,1,170,0|8
184,128,175734,1,0
264,104,176000,2,0,B|328:168|432:152,1,170,0|8
312,224,176796,1,0
240,339,177062,5,8
361,276,177327,1,0
245,204,177593,1,8
308,322,177858,1,0
225,270,178124,1,8
225,270,178655,6,0,B|176:256|144:208,1,85,8|0
32,256,179186,2,0,B|120:256|192:312,1,170,0|8
272,288,179982,1,0
352,248,180247,2,0,B|296:176|192:216,1,170,0|8
240,136,181044,1,0
325,129,181309,6,0,B|322:176|285:217,1,85,8|0
167,291,181840,2,0,B|170:244|207:203,1,85,8|0
327,289,182371,2,0,B|280:286|239:249,1,85,8|0
160,120,182902,2,0,B|216:112|248:152|272:192|336:192,1,170,8|4
256,192,183699,12,4,185557
80,104,202017,5,2
152,219,202283,1,0
16,224,202548,2,0,B|88:208|158:111,1,170,8|0
226,87,203345,1,0
304,120,203610,2,0,B|352:120|400:104,1,85,2|0
304,120,204141,2,0,B|336:88|344:32,1,85,0|0
341,45,204672,6,0,B|429:77|450:203,1,170,8|0
360,184,205469,1,0
304,120,205734,2,0,B|264:96|240:48,1,85,2|0
304,120,206265,2,0,B|311:76|344:32,1,85,0|0
408,88,206796,5,4
472,168,207062,1,0
392,224,207327,1,0
304,280,207593,1,0
224,208,207858,2,0,B|309:237|393:224,1,170
472,168,208655,1,0
408,88,208920,6,0,B|368:166|402:252,1,170,8|0
504,280,209717,1,0
403,319,209982,2,0,B|459:276|475:151,1,170,4|0
408,88,210778,1,0
384,200,211044,5,2
240,160,211309,1,0
264,304,211575,1,0
296,224,211840,2,0,B|336:137|464:136,1,170,2|0
296,224,212637,6,0,B|243:220|208:161,1,85,2|0
163,324,213168,2,0,B|244:308|308:204,1,170,8|0
296,136,213964,1,0
264,56,214230,2,0,B|232:96|192:136,1,85,4|0
208,120,214761,2,0,B|200:72|168:32,1,85
175,42,215292,2,0,B|155:86|98:112,1,85,2|0
50,53,215823,2,0,B|98:69|122:109,1,85,0|0
117,102,216354,1,4
168,344,216885,6,0,B|167:287|131:246,1,85
88,160,217416,2,0,B|48:248|96:328,1,170,8|0
144,264,218212,1,0
224,296,218478,2,0,B|328:312|368:216,1,170,6|0
363,110,219274,2,0,B|259:246|139:206|147:94|275:70|355:198|130:268,1,446.249986700714,2|8
160,112,221663,6,0,B|80:168|96:296,1,170,4|8
176,280,222460,1,0
224,208,222725,2,0,B|280:288|392:264,1,170,0|8
456,184,223522,1,0
328,144,223787,5,8
416,248,224053,1,0
408,112,224318,1,8
336,232,224584,1,0
388,182,224849,1,8
240,256,225380,5,8
240,256,225646,1,0
240,256,225911,2,0,B|184:328|76:314,1,170,0|8
3,315,226708,1,0
89,315,226973,2,0,B|184:302|240:374,1,170,0|8
314,332,227770,1,0
252,194,228035,5,8
116,130,228301,1,0
252,194,228566,1,8
140,298,228832,1,0
252,194,229097,1,8
400,120,229628,6,0,B|352:112|288:144,1,85,8|0
203,191,230159,2,0,B|287:225|395:191,1,170,0|8
330,124,230955,1,0
248,104,231221,2,0,B|152:96|80:152,1,170,0|8
200,224,232017,1,0
272,339,232283,5,8
151,276,232548,1,0
267,204,232814,1,8
204,322,233079,1,0
287,270,233345,1,8
287,270,233876,6,0,B|335:254|367:206,1,85,8|0
464,288,234407,2,0,B|368:272|304:344,1,170,0|8
226,317,235203,1,0
165,256,235469,2,0,B|224:192|336:208,1,170,0|8
272,136,236265,1,0
199,63,236531,2,0,B|152:80|120:128,1,85,8|0
203,184,237062,2,0,B|167:218|165:267,1,85,8|0
312,264,237593,5,8
440,264,237858,1,8
256,144,238124,1,8
496,144,238389,1,0
256,192,238655,12,4,240778

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,126 @@
osu file format v5
[General]
StackLeniency: 0.7
Mode: 0
[Difficulty]
HPDrainRate:2
CircleSize:5
OverallDifficulty:2
SliderMultiplier:1
SliderTickRate:2
[Events]
//Background and Video events
//Break Periods
//Storyboard Layer 0 (Background)
//Storyboard Layer 1 (Failing)
//Storyboard Layer 2 (Passing)
//Storyboard Layer 3 (Foreground)
//Storyboard Sound Samples
//Background Colour Transformations
3,100,163,162,255
[TimingPoints]
7460,466.735154027506,4,1,0,100
[HitObjects]
80,56,7693,1,0
120,96,8043,1,0
176,104,8393,1,0
216,104,8626,1,0
256,104,8860,1,0
296,168,9326,5,0
296,208,9560,1,0
296,248,9793,1,0
216,256,10260,1,0
176,256,10493,1,0
136,256,10727,1,0
136,136,11427,5,0
136,72,11777,1,0
192,72,12127,1,0
232,72,12360,1,0
272,72,12594,1,0
280,152,13060,5,0
280,192,13294,1,0
280,232,13527,1,0
360,240,13994,1,0
400,240,14227,1,0
440,240,14461,1,0
256,192,14927,12,0,16561
256,192,16794,12,0,18078
192,96,18661,6,0,B|312:96,1,100
288,176,19595,2,0,B|168:176,1,100
192,256,20528,2,0,B|312:256,1,100
304,176,21462,2,0,B|240:176|248:88,1,100
168,104,22395,5,0
128,104,22628,2,0,B|296:368,1,300
328,352,24262,5,0
368,352,24495,1,0
368,232,25195,1,0
368,192,25429,1,0
280,104,26129,5,0
240,104,26362,2,0,B|40:352,1,300
88,336,27996,5,0
128,336,28229,1,0
136,216,28929,1,0
136,176,29163,1,0
256,176,29863,5,0
312,176,30213,1,0
352,176,30446,2,0,B|360:264|360:280|360:272|272:272,1,150
208,232,31730,5,0
208,168,32080,1,0
208,104,32430,1,0
248,104,32663,1,0
248,104,32780,1,0
120,160,33597,5,0
120,216,33947,1,0
120,256,34180,2,0,B|352:256,1,225
344,216,35464,6,0,B|200:128,1,150
176,136,36397,2,0,B|176:288,1,150
296,288,37564,6,0,B|296:208,1,75
296,152,38264,2,0,B|296:104,2,25
248,32,39197,1,0
208,32,39431,1,0
168,32,39664,1,0
168,72,39898,2,0,B|168:136,4,50
104,128,41298,5,0
168,136,41648,1,0
208,184,41998,1,0
232,216,42231,1,0
344,248,42931,5,0
344,208,43165,1,0
344,168,43398,1,0
304,168,43631,1,0
264,168,43865,1,0
224,168,44098,1,0
184,168,44332,1,0
144,168,44565,1,0
104,176,44798,6,0,B|32:240|160:272,1,150
192,272,45732,2,0,B|280:272|320:200,1,150
320,160,46665,2,0,B|248:96|176:136,1,150
144,144,47599,2,0,B|48:168,1,75
112,256,48532,6,0,B|256:336,1,150
280,320,49466,2,0,B|416:240,1,150
408,200,50399,2,0,B|256:136,1,150
232,144,51333,2,0,B|80:208,1,150
56,216,52266,5,0
96,216,52499,1,0
152,216,52849,2,0,B|248:216,1,75
328,88,54133,5,0
328,88,54366,1,0
328,88,54600,1,0
248,88,55066,5,0
248,88,55300,1,0
248,88,55533,1,0
256,168,56000,6,0,B|184:168,1,50
144,168,56583,1,0
144,168,56700,1,0
104,168,56933,1,0
264,168,57867,5,0
264,168,58100,1,0
264,168,58334,1,0
344,168,58800,5,0
344,168,59034,1,0
344,168,59267,1,0

View File

@ -1,27 +1,27 @@
osu file format v14
[Difficulty]
HPDrainRate:6
CircleSize:4
OverallDifficulty:7
ApproachRate:8.3
SliderMultiplier:1.6
SliderTickRate:1
[TimingPoints]
500,500,4,2,1,50,1,0
13426,-100,4,3,1,45,0,0
14884,-100,4,2,1,50,0,0
[HitObjects]
96,192,500,6,0,L|416:192,2,320
256,192,3000,12,0,4000,0:0:0:0:
256,192,4500,12,0,5500,0:0:0:0:
256,192,6000,12,0,6500,0:0:0:0:
256,128,7000,6,0,L|352:128,4,80
32,192,8500,6,0,B|32:384|256:384|256:192|256:192|256:0|512:0|512:192,1,800
256,192,11500,12,0,12000,0:0:0:0:
512,320,12500,6,0,B|0:256|0:256|512:96|512:96|256:32,1,1280
256,256,17000,6,0,L|160:256,4,80
256,192,18500,12,0,19450,0:0:0:0:
216,231,19875,6,0,B|216:135|280:135|344:135|344:199|344:263|248:327|248:327|120:327|120:327|56:39|408:39|408:39|472:150|408:342,1,1280
osu file format v14
[Difficulty]
HPDrainRate:6
CircleSize:4
OverallDifficulty:7
ApproachRate:8.3
SliderMultiplier:1.6
SliderTickRate:1
[TimingPoints]
500,500,4,2,1,50,1,0
13426,-100,4,3,1,45,0,0
14884,-100,4,2,1,50,0,0
[HitObjects]
96,192,500,6,0,L|416:192,2,320
256,192,3000,12,0,4000,0:0:0:0:
256,192,4500,12,0,5500,0:0:0:0:
256,192,6000,12,0,6500,0:0:0:0:
256,128,7000,6,0,L|352:128,4,80
32,192,8500,6,0,B|32:384|256:384|256:192|256:192|256:0|512:0|512:192,1,800
256,192,11500,12,0,12000,0:0:0:0:
512,320,12500,6,0,B|0:256|0:256|512:96|512:96|256:32,1,1280
256,256,17000,6,0,L|160:256,4,80
256,192,18500,12,0,19450,0:0:0:0:
216,231,19875,6,0,B|216:135|280:135|344:135|344:199|344:263|248:327|248:327|120:327|120:327|56:39|408:39|408:39|472:150|408:342,1,1280

View File

@ -52,14 +52,18 @@ namespace osu.Game.Rulesets.Mania.Beatmaps.Patterns.Legacy
/// <returns>The column.</returns>
protected int GetColumn(float position, bool allowSpecial = false)
{
// Casts to doubles are present here because, although code is originally written as float division,
// the division actually appears to occur on doubles in osu!stable. This is likely a result of
// differences in optimisations between .NET versions due to the presence of the double parameter type of Math.Floor().
if (allowSpecial && TotalColumns == 8)
{
const float local_x_divisor = 512f / 7;
return Math.Clamp((int)MathF.Floor(position / local_x_divisor), 0, 6) + 1;
return Math.Clamp((int)Math.Floor((double)position / local_x_divisor), 0, 6) + 1;
}
float localXDivisor = 512f / TotalColumns;
return Math.Clamp((int)MathF.Floor(position / localXDivisor), 0, TotalColumns - 1);
return Math.Clamp((int)Math.Floor((double)position / localXDivisor), 0, TotalColumns - 1);
}
/// <summary>