@@ -22,9 +22,9 @@ public class RushGeneratedBeatmapConverter : BeatmapConverter<RushHitObject>
22
22
private const double sawblade_probability = 0.1 ;
23
23
private const double dualhit_probability = 0.2 ;
24
24
private const double suggest_probability = 0.1 ;
25
- private const double notesheet_start_probability = 0.5 ;
26
- private const double notesheet_end_probability = 0.2 ;
27
- private const double notesheet_dual_probability = 0.1 ;
25
+ private const double starsheet_start_probability = 0.5 ;
26
+ private const double starsheet_end_probability = 0.2 ;
27
+ private const double starsheet_dual_probability = 0.1 ;
28
28
private const double kiai_multiplier = 4 ;
29
29
30
30
private const double sawblade_same_lane_safety_time = 90 ;
@@ -48,7 +48,7 @@ public class RushGeneratedBeatmapConverter : BeatmapConverter<RushHitObject>
48
48
private double previousSourceTime ;
49
49
private HitObjectFlags previousFlags ;
50
50
51
- private readonly Dictionary < LanedHitLane , NoteSheet > currentNoteSheets = new Dictionary < LanedHitLane , NoteSheet > ( ) ;
51
+ private readonly Dictionary < LanedHitLane , StarSheet > currentStarSheets = new Dictionary < LanedHitLane , StarSheet > ( ) ;
52
52
53
53
public RushGeneratedBeatmapConverter ( IBeatmap beatmap , Ruleset ruleset )
54
54
: base ( beatmap , ruleset )
@@ -76,7 +76,7 @@ private void reset()
76
76
previousLane = null ;
77
77
previousSourcePosition = null ;
78
78
previousSourceTime = 0 ;
79
- currentNoteSheets . Clear ( ) ;
79
+ currentStarSheets . Clear ( ) ;
80
80
}
81
81
82
82
// todo: Check for conversion types that should be supported (ie. Beatmap.HitObjects.Any(h => h is IHasXPosition))
@@ -127,23 +127,23 @@ void updatePrevious(LanedHitLane? newLane, HitObjectFlags newFlags)
127
127
lane ??= laneForHitObject ( original ) ;
128
128
129
129
// if we should end a sheet, try to
130
- if ( currentNoteSheets . Count > 0 && ( flags . HasFlag ( HitObjectFlags . ForceEndNotesheet ) || flags . HasFlag ( HitObjectFlags . SuggestEndNotesheet ) && random . NextDouble ( ) < notesheet_end_probability ) )
130
+ if ( currentStarSheets . Count > 0 && ( flags . HasFlag ( HitObjectFlags . ForceEndStarSheet ) || flags . HasFlag ( HitObjectFlags . SuggestEndStarSheet ) && random . NextDouble ( ) < starsheet_end_probability ) )
131
131
{
132
132
// TODO: for now we'll end both sheets where they are and ignore snapping logic
133
- currentNoteSheets . Clear ( ) ;
133
+ currentStarSheets . Clear ( ) ;
134
134
}
135
135
136
- // if we should start a notesheet ...
137
- if ( flags . HasFlag ( HitObjectFlags . ForceStartNotesheet ) || flags . HasFlag ( HitObjectFlags . SuggestStartNotesheet ) && random . NextDouble ( ) < notesheet_start_probability )
136
+ // if we should start a starsheet ...
137
+ if ( flags . HasFlag ( HitObjectFlags . ForceStartStarSheet ) || flags . HasFlag ( HitObjectFlags . SuggestStartStarSheet ) && random . NextDouble ( ) < starsheet_start_probability )
138
138
{
139
139
// TODO: for now, end all existing sheets
140
- currentNoteSheets . Clear ( ) ;
140
+ currentStarSheets . Clear ( ) ;
141
141
142
142
// use the suggested lane or randomly select one
143
143
LanedHitLane sheetLane = lane ?? ( random . NextDouble ( ) < 0.5 ? LanedHitLane . Ground : LanedHitLane . Air ) ;
144
144
145
145
// create a sheet
146
- NoteSheet sheet = currentNoteSheets [ sheetLane ] = createNoteSheet ( original , sheetLane , original . Samples ) ;
146
+ StarSheet sheet = currentStarSheets [ sheetLane ] = createStarSheet ( original , sheetLane , original . Samples ) ;
147
147
LanedHitLane otherLane = sheetLane . Opposite ( ) ;
148
148
149
149
// FIXME: surely this is bad, altering the hit object after it's been returned???
@@ -185,22 +185,22 @@ void updatePrevious(LanedHitLane? newLane, HitObjectFlags newFlags)
185
185
}
186
186
}
187
187
// otherwise we have a chance to make a dual sheet
188
- else if ( random . NextDouble ( ) < notesheet_dual_probability )
188
+ else if ( random . NextDouble ( ) < starsheet_dual_probability )
189
189
{
190
- currentNoteSheets [ otherLane ] = createNoteSheet ( original , otherLane , null ) ;
191
- yield return currentNoteSheets [ otherLane ] ;
190
+ currentStarSheets [ otherLane ] = createStarSheet ( original , otherLane , null ) ;
191
+ yield return currentStarSheets [ otherLane ] ;
192
192
}
193
193
194
194
updatePrevious ( sheetLane , flags ) ;
195
195
yield break ;
196
196
}
197
197
198
198
// if either of the sheets are too long, end them where they are
199
- if ( currentNoteSheets . ContainsKey ( LanedHitLane . Air ) && currentNoteSheets [ LanedHitLane . Air ] . Duration >= max_sheet_length )
200
- currentNoteSheets . Remove ( LanedHitLane . Air ) ;
199
+ if ( currentStarSheets . ContainsKey ( LanedHitLane . Air ) && currentStarSheets [ LanedHitLane . Air ] . Duration >= max_sheet_length )
200
+ currentStarSheets . Remove ( LanedHitLane . Air ) ;
201
201
202
- if ( currentNoteSheets . ContainsKey ( LanedHitLane . Ground ) && currentNoteSheets [ LanedHitLane . Ground ] . Duration >= max_sheet_length )
203
- currentNoteSheets . Remove ( LanedHitLane . Ground ) ;
202
+ if ( currentStarSheets . ContainsKey ( LanedHitLane . Ground ) && currentStarSheets [ LanedHitLane . Ground ] . Duration >= max_sheet_length )
203
+ currentStarSheets . Remove ( LanedHitLane . Ground ) ;
204
204
205
205
// if it's low probability, potentially skip this object
206
206
if ( flags . HasFlag ( HitObjectFlags . LowProbability ) && random . NextDouble ( ) < skip_probability )
@@ -225,10 +225,10 @@ void updatePrevious(LanedHitLane? newLane, HitObjectFlags newFlags)
225
225
// if we still haven't selected a lane at this point, pick a random one
226
226
var finalLane = lane ?? ( random . NextDouble ( ) < 0.5 ? LanedHitLane . Ground : LanedHitLane . Air ) ;
227
227
228
- // check if a lane is blocked by a notesheet
229
- LanedHitLane ? blockedLane = currentNoteSheets . ContainsKey ( LanedHitLane . Air )
228
+ // check if a lane is blocked by a starsheet
229
+ LanedHitLane ? blockedLane = currentStarSheets . ContainsKey ( LanedHitLane . Air )
230
230
? LanedHitLane . Air
231
- : currentNoteSheets . ContainsKey ( LanedHitLane . Ground )
231
+ : currentStarSheets . ContainsKey ( LanedHitLane . Ground )
232
232
? LanedHitLane . Ground
233
233
: ( LanedHitLane ? ) null ;
234
234
@@ -323,8 +323,8 @@ private MiniBoss createMiniBoss(HitObject original) =>
323
323
Samples = original . Samples
324
324
} ;
325
325
326
- private NoteSheet createNoteSheet ( HitObject original , LanedHitLane lane , IList < HitSampleInfo > samples ) =>
327
- new NoteSheet
326
+ private StarSheet createStarSheet ( HitObject original , LanedHitLane lane , IList < HitSampleInfo > samples ) =>
327
+ new StarSheet
328
328
{
329
329
StartTime = original . StartTime ,
330
330
EndTime = original . GetEndTime ( ) ,
@@ -353,13 +353,13 @@ private HitObjectFlags flagsForHitObject(HitObject hitObject, IBeatmap beatmap)
353
353
{
354
354
HitObjectFlags flags = HitObjectFlags . None ;
355
355
356
- // sliders should force a notesheet to start or end
356
+ // sliders should force a starsheet to start or end
357
357
if ( hitObject is IHasDuration hasDuration && hitObject is IHasDistance && hasDuration . Duration >= min_sheet_length )
358
358
{
359
- // if (currentNoteSheets .Count == 2)
360
- // flags |= HitObjectFlags.ForceStartNotesheet | HitObjectFlags.ForceEndNotesheet ;
359
+ // if (currentStarSheets .Count == 2)
360
+ // flags |= HitObjectFlags.ForceStartStarSheet | HitObjectFlags.ForceEndStarSheet ;
361
361
// else
362
- flags |= HitObjectFlags . ForceStartNotesheet | HitObjectFlags . ForceEndNotesheet ;
362
+ flags |= HitObjectFlags . ForceStartStarSheet | HitObjectFlags . ForceEndStarSheet ;
363
363
}
364
364
365
365
// TimingControlPoint timingPoint = beatmap.ControlPointInfo.TimingPointAt(hitObject.StartTime);
@@ -383,37 +383,37 @@ private HitObjectFlags flagsForHitObject(HitObject hitObject, IBeatmap beatmap)
383
383
flags |= newCombo ? HitObjectFlags . ForceNotSameLane : HitObjectFlags . SuggestNotSameLane ;
384
384
// flags |= HitObjectFlags.LowProbability;
385
385
flags |= HitObjectFlags . AllowSawbladeAdd ;
386
- flags |= HitObjectFlags . ForceEndNotesheet ;
386
+ flags |= HitObjectFlags . ForceEndStarSheet ;
387
387
}
388
388
else if ( timeSeparation <= 125 )
389
389
{
390
390
// more than 120 bpm
391
391
flags |= newCombo ? HitObjectFlags . ForceNotSameLane : HitObjectFlags . SuggestNotSameLane ;
392
392
flags |= HitObjectFlags . AllowSawbladeAdd ;
393
- flags |= HitObjectFlags . ForceEndNotesheet ;
393
+ flags |= HitObjectFlags . ForceEndStarSheet ;
394
394
}
395
395
else if ( timeSeparation <= 135 && positionSeparation < 20 )
396
396
{
397
397
// more than 111 bpm stream
398
398
flags |= newCombo ? HitObjectFlags . ForceNotSameLane : HitObjectFlags . ForceSameLane ;
399
399
flags |= HitObjectFlags . AllowSawbladeAdd ;
400
- flags |= HitObjectFlags . ForceEndNotesheet ;
400
+ flags |= HitObjectFlags . ForceEndStarSheet ;
401
401
}
402
402
else
403
403
{
404
404
flags |= newCombo ? HitObjectFlags . ForceNotSameLane : HitObjectFlags . ForceSameLane ;
405
405
// flags |= HitObjectFlags.LowProbability;
406
406
flags |= HitObjectFlags . AllowDoubleHit ;
407
407
flags |= HitObjectFlags . AllowSawbladeAdd ;
408
- flags |= HitObjectFlags . ForceEndNotesheet ;
408
+ flags |= HitObjectFlags . ForceEndStarSheet ;
409
409
// flags |= HitObjectFlags.AllowSawbladeReplace; FIXME: for now, always add rather than replace
410
410
}
411
411
412
412
// new combo should never be low probability
413
413
if ( newCombo ) flags &= ~ HitObjectFlags . LowProbability ;
414
414
415
- // new combo should force note sheets to end
416
- if ( newCombo ) flags |= HitObjectFlags . ForceEndNotesheet ;
415
+ // new combo should force star sheets to end
416
+ if ( newCombo ) flags |= HitObjectFlags . ForceEndStarSheet ;
417
417
418
418
return flags ;
419
419
}
@@ -463,10 +463,10 @@ private enum HitObjectFlags
463
463
/// </summary>
464
464
AllowSawbladeAdd = 1 << 7 ,
465
465
466
- ForceStartNotesheet = 1 << 8 ,
467
- ForceEndNotesheet = 1 << 9 ,
468
- SuggestStartNotesheet = 1 << 10 ,
469
- SuggestEndNotesheet = 1 << 11 ,
466
+ ForceStartStarSheet = 1 << 8 ,
467
+ ForceEndStarSheet = 1 << 9 ,
468
+ SuggestStartStarSheet = 1 << 10 ,
469
+ SuggestEndStarSheet = 1 << 11 ,
470
470
471
471
AllowSawbladeAddOrReplace = AllowSawbladeAdd | AllowSawbladeReplace ,
472
472
}
0 commit comments