1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 22:32:55 +08:00
Commit Graph

681 Commits

Author SHA1 Message Date
Dean Herbert
e7b78b1ea5 Adjust transform logic to hopefully be a bit easier to parse 2021-07-13 20:26:05 +09:00
Dean Herbert
4314946e10 Reorganise functions to order more logically (hitcircle before slider methods) 2021-07-13 19:37:17 +09:00
Dean Herbert
6b663037e4 Use switch for pattern matching 2021-07-13 19:37:02 +09:00
Dean Herbert
db8ffc6316
Merge branch 'master' into osu-random-mod-improvements 2021-07-13 19:31:37 +09:00
Bartłomiej Dach
63dedb36de Rename variable 2021-07-11 16:49:23 +02:00
Bartłomiej Dach
7aecafeecb Rename constant to reflect its purpose 2021-07-11 16:46:30 +02:00
Henry Lin
c181a724c6 Refactor hit object clamping 2021-07-11 22:01:28 +08:00
Bartłomiej Dach
e10b7867c1 Rewrite method again to hopefully help readability 2021-07-10 12:13:36 +02:00
Dean Herbert
90326f8864 Standardise variables 2021-07-09 13:24:26 +09:00
Dean Herbert
88b00123f6 Use existing reflection methods to avoid manual binding of ExtendedLimits 2021-07-08 17:49:00 +09:00
Dean Herbert
bd7c334588 Avoid the need for per-settings control classes 2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491 Add back extended limits support 2021-07-08 17:49:00 +09:00
Dean Herbert
c4313d6e96 Initial implementation of new flow (only working for approach rate) 2021-07-08 17:48:08 +09:00
Dean Herbert
0e4f4a6fde Initial storage changes 2021-07-08 14:28:13 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
Henry Lin
eecf4af029 Rename getSliderBoundingBox and add comments 2021-07-05 09:16:01 +08:00
Henry Lin
d1862d8cff Rename map to mapRange 2021-07-04 10:01:56 +08:00
Henry Lin
1470bb1563 Use IHidesApproachCircles 2021-07-03 13:02:39 +08:00
Henry Lin
f18c17d1a8
Merge branch 'master' into osu-target-mod 2021-07-03 13:00:52 +08:00
Henry Lin
b0a619bb4c Prevent multiple enumeration in checkForOverlap 2021-07-01 12:49:34 +08:00
Henry Lin
34be437d7a Added definitelyBigger 2021-07-01 12:21:41 +08:00
Henry Lin
58f80abe32 Several requested changes
- Rename `origHitObjects` to `originalHitObjects`
- Use `Value` instead of `GetValueOrDefault()`
- Remove `endObj`
- Added comments
- Rename `closestIdx` to `precedingIndex`
- Changed an `almostEquals` call
2021-07-01 11:57:57 +08:00
Henry Lin
c69455cfd0 Fixed slider bounding box calculation 2021-07-01 11:20:55 +08:00
Henry Lin
7585f1f790 Move special case handling back to moveSliderIntoPlayfield 2021-07-01 11:03:22 +08:00
Henry Lin
6e1839fcf2 Rename shift_object_count to objects_to_shift_before_slider 2021-07-01 11:03:22 +08:00
Henry Lin
328dcb4d6b Use Math.Clamp instead of MathHelper.Clamp 2021-07-01 11:03:22 +08:00
Henry Lin
3c1f0452a2 Refactor and rename getMinSliderMargin to getSliderBoundingBox. 2021-07-01 11:03:22 +08:00
Bartłomiej Dach
913f7602e4 Change seed control type in line with changes 2021-06-30 20:41:08 +02:00
Salman Ahmed
4b56d94a98 Revert accidentally pushed part of change 2021-06-30 10:26:34 +03:00
Salman Ahmed
e3344c33ea Better convey reason of "Spin In" incompatibility with "Hidden" 2021-06-30 09:57:15 +03:00
Henry Lin
3f185a0622 Fixed an exception when clamping large sliders 2021-06-30 10:35:06 +08:00
Salman Ahmed
dbe3150f88 Mention about marker interfaces even more explicitly 2021-06-29 11:37:08 +03:00
Salman Ahmed
7997d57030 Mention interfaces being "markers" for the time being 2021-06-29 11:25:35 +03:00
Henry Lin
8d1eae7c70 Use IndexInCurrentCombo 2021-06-29 14:25:45 +08:00
Henry Lin
2722565204 Take circle radius into account when clamping to playfield 2021-06-29 13:36:30 +08:00
Henry Lin
0c5777c2c8 Added comments 2021-06-29 12:56:05 +08:00
Henry Lin
d4ff4b26f5 Split part of addHitSamples to a subroutine 2021-06-29 12:49:25 +08:00
Henry Lin
96e09605d8 Osu random mod improvements
- Reduce "jump streams" by increasing maximum jump angle and variance in jump angle
- Reduce weird jumps to sliders by shifting hit circles in front of sliders
2021-06-29 12:33:40 +08:00
Salman Ahmed
69dac018c7 Make OsuModSpinIn as incompatible with other IHidesApproachCircles mods
Respecting the TODO comment above it, mark `OsuModSpinIn` as
incompatible with other `IHidesApproachCircles` mods as well.
2021-06-28 21:20:07 +03:00
Salman Ahmed
baf736026b Mark IHidesApproachCircles mods as incompatible with IRequiresApproachCircles 2021-06-28 21:20:07 +03:00
Salman Ahmed
6a67a6736a Mark IRequireApproachCircles mods as incompatible with IHidesApproachCircles 2021-06-28 21:20:07 +03:00
Salman Ahmed
006cc331c8 Separate IMutateApproachCircles to requiring and hiding 2021-06-28 21:20:07 +03:00
Henry Lin
ea8993d6d6 Use IHasRepeats instead of IHasPathWithRepeats 2021-06-28 11:33:19 +08:00
Henry Lin
3eaa04115f Use OsuHitObjectGenerationUtils 2021-06-26 11:34:10 +08:00
Henry Lin
c543080923 Merge branch 'master' into osu-target-mod 2021-06-26 11:26:00 +08:00
Henry Lin
26086ca1ef Rename VectorUtils to OsuHitObjectGenerationUtils 2021-06-25 09:43:14 +08:00
Henry Lin
3fcda83713 Rename VectorHelper to VectorUtils 2021-06-24 22:00:19 +08:00
Henry Lin
1a47bc254d Increase acceptable difference for Precision calls 2021-06-24 14:55:49 +08:00
Henry Lin
be55c7e075 Minor fixes in comments 2021-06-24 13:39:50 +08:00
Henry Lin
2268d7f8a5 Extract utility methods into helper class; Better xmldoc and naming 2021-06-24 13:19:42 +08:00
Henry Lin
6629f8706a Directly fade to gray instead of computing the color values 2021-06-24 12:31:25 +08:00
Henry Lin
877c775e35 Added comments 2021-06-24 12:20:46 +08:00
Henry Lin
f8fe4ab482 Refactor and rename isOverlappingWithRecent 2021-06-24 12:02:48 +08:00
Henry Lin
71b5ed16c0 Avoid using osuTK constants; Use MathF 2021-06-24 11:37:00 +08:00
Henry Lin
f74275a3b5 Moved RNG initialisation to a better place 2021-06-24 11:29:10 +08:00
Henry Lin
6fca8ba5b0 Better explanation for fixComboInfo 2021-06-24 11:21:43 +08:00
Henry Lin
6202eed5e2 Moved a misplaced ! 2021-06-24 10:56:14 +08:00
Henry Lin
04510f1ace Removed odd-looking decrement and checks in addHitSamples 2021-06-24 10:54:21 +08:00
Henry Lin
58b439b728 Switch to IHasPathWithRepeats 2021-06-24 10:38:21 +08:00
Henry Lin
98003ec548 Avoid modulo when finding slider node index 2021-06-24 10:33:54 +08:00
Henry Lin
3eab540bcc Converted an inline lambda into a method (isInsideBreakPeriod); moved origHitObjects to be a private class field 2021-06-24 10:07:29 +08:00
Henry Lin
dae7b8025d Converted an inline lambda into a method (getBeatsForTimingPoint) 2021-06-24 09:51:45 +08:00
Henry Lin
a7ea7b8b0b Use GetEndTime() instead of a switch expression 2021-06-24 09:34:39 +08:00
Henry Lin
b7dd26612d Reordered things and added regions 2021-06-23 16:50:05 +08:00
Henry Lin
6dc5f406b2 Implement IMutateApproachCircles 2021-06-23 16:29:36 +08:00
Henry Lin
10541dbc0a Merge branch 'master' into osu-target-mod
# Conflicts:
#	osu.Game.Rulesets.Osu/Mods/OsuModTraceable.cs
#	osu.Game/Rulesets/Mods/IHasSeed.cs
2021-06-23 16:26:23 +08:00
Henry Lin
5a031eada8 Revert "Display results after fail"
This commit reverts 7815b3c7
2021-06-23 16:22:10 +08:00
Henry Lin
e52a58c1bc Switched to a more reasonable sample sound for now 2021-06-21 16:24:37 +08:00
Salman Ahmed
01478d780d Generalize IHasSpinnerApproachCircle from being spinner-specifc 2021-06-21 03:43:11 +03:00
Salman Ahmed
c04b09520d Replace spinner approach circle proxying logic with hooking up to OnSkinChange in mod 2021-06-19 20:06:28 +03:00
Henry Lin
c867940584 Marked target mod and traceable mod as incompatible; extracted playfield clamping logic
Nothing is visible when target mod and traceable mod are enabled together.
2021-06-19 12:26:16 +08:00
Henry Lin
b09165a074 Remove the circle size buff 2021-06-19 11:13:19 +08:00
Henry Lin
0cf3119006 Guard against edge cases 2021-06-19 11:12:29 +08:00
Henry Lin
ca8f08ca84 Avoid overlapping with recent circles 2021-06-19 10:04:48 +08:00
Salman Ahmed
843c8bd7a4 Move spinner approach circle to its own SkinnableDrawable 2021-06-18 20:33:50 +03:00
Salman Ahmed
f7b5341663 Merge branch 'master' into legacy-spinner-approach-circle 2021-06-18 19:50:52 +03:00
Henry Lin
cca26d4651 Take circle radius into account when clamping hit objects to playfield 2021-06-18 16:05:09 +08:00
Henry Lin
f5134c7fc2 Extract constants and add xmldoc 2021-06-18 14:39:46 +08:00
Henry Lin
dca2d8af4f Animate circles undimming 2021-06-18 13:18:44 +08:00
Dean Herbert
860626152a Mark all mods which adjust approach circle as incompatible with each other
Closes https://github.com/ppy/osu/issues/13543.
2021-06-18 13:21:53 +09:00
Salman Ahmed
c9458fd9ce Hide spinner approach circle in "Hidden" mod 2021-06-18 06:23:54 +03:00
Henry Lin
639e8b62b9 Make circles light up 1 beat length before start time 2021-06-18 11:20:04 +08:00
Henry Lin
b7f43405fc Dim circles instead of fade; improved hit samples; changed jump distance to be closer to cuttingedge 2021-06-17 22:01:58 +08:00
Henry Lin
f22beaeb5b Increase distance between combos; pull circles closer to center 2021-06-17 14:30:59 +08:00
Henry Lin
14622f4734 Improved guesstimations; fixed hit samples 2021-06-17 10:20:50 +08:00
ekrctb
90a13b8ed3 Use IApplicableToDrawableHitObject for OsuModApproachDifferent
Replacing the obsolete interface.
2021-06-16 22:05:40 +09:00
ekrctb
b6a9fa9999 Merge branch 'master' into applicable-to-dho 2021-06-16 22:04:10 +09:00
ekrctb
af80418ee8 Implement IApplicableToDrawableHitObject for mods
A breaking change in `ModWithVisibilityAdjustment` if the method was overriden.
2021-06-16 18:52:01 +09:00
Dean Herbert
7891ee4f32 Change order of settings to make scrolling easier
There's an issue with dropdown menus nested inside a scroll view being
very frustrating to scroll to off-screen items. This works around that
to some extent by giving the user more "parent-scrollable" space to
mouse wheel or drag over.
2021-06-16 17:32:31 +09:00
Dean Herbert
0c1023da31 Simplify transform logic 2021-06-16 17:27:52 +09:00
Dean Herbert
ee5f4f1856 Remove default (and make default "Gravity") 2021-06-16 17:27:43 +09:00
Dean Herbert
f6f1a068b2 Rename "easing" references to be "style" instead 2021-06-16 15:15:12 +09:00
Dean Herbert
b1dd502e06 Rename class to match new name 2021-06-16 15:09:42 +09:00
Dean Herbert
2ce487bdac Rename mod and fix easing mappings / naming 2021-06-16 14:31:22 +09:00
Dean Herbert
c5f76c7352
Merge branch 'master' into AddApproachCircleMod 2021-06-16 14:30:58 +09:00
Henry Lin
4ffff06dcb Break ApplyToBeatmap into subroutines 2021-06-15 11:06:56 +08:00
Henry Lin
04c0db6dce Code cleanup 2021-06-14 21:34:34 +08:00
Henry Lin
12a17d0983 Extract seed setting contorl to IHasSeed 2021-06-10 15:31:20 +08:00
Henry Lin
80f38b347b Merge branch 'ppy:master' into osu-target-mod 2021-06-10 15:13:27 +08:00
Henry Lin
7815b3c72b Display results after fail 2021-06-10 10:58:42 +08:00
Bartłomiej Dach
020c63017e Fix inspectcode issues 2021-06-09 09:21:02 +02:00
Dean Herbert
d0e9f8ef90 Replace and obsolete Ranked flag with IsUserPlayable 2021-06-09 14:17:03 +09:00
Pasi4K5
b214f2ae0e Remove repeat and simplify getMinSliderMargin 2021-06-05 17:13:08 +02:00
Pasi4K5
f59263932a Use SliderPath.GetPathToProgress for getting the SliderPath's positions 2021-06-05 17:04:58 +02:00
Pasi4K5
b4f190c6ff Rename iteration variable 2021-06-04 17:22:36 +02:00
Pasi4K5
32e41048ff Fix System.ArgumentException caused by sliders bigger than the playfield 2021-06-04 16:50:27 +02:00
Pasi4K5
6357d1363c Add comment for slider_path_checking_rate 2021-06-04 16:26:40 +02:00
Pasi4K5
a0a6f3ef81 Replace Vector2 methods with math operators 2021-06-04 16:23:03 +02:00
Pasi4K5
9f2a9608f2 Rework slider positioning 2021-06-04 16:17:54 +02:00
Pasi4K5
7a4fc9ffc8 Move seed to base class 2021-06-03 18:16:11 +02:00
Dan Balasescu
d39eb7eac2
Merge pull request #12952 from peppy/autoplay-pause-support
Externalise autoplay generation from `Player` to allow use of replay playback functions
2021-06-03 17:29:17 +09:00
Dean Herbert
8b43cfdd7d
Merge pull request #12568 from Pasi4K5/mod-osu-random
Add mod "Random" for osu! ruleset
2021-06-03 17:14:27 +09:00
Pasi4K5
d5de5ae640 Add comments explaining the usage of shiftNestedObjects() 2021-05-26 20:50:31 +02:00
Dean Herbert
a08a4aa911 Move second call to shiftNestedObjects to a more understandable location 2021-05-26 16:48:16 +09:00
Dean Herbert
d6c4be207b Simplify naming 2021-05-26 16:44:44 +09:00
Dean Herbert
ad3e4287cd Move distanceToPrev inside randomisation function 2021-05-26 16:44:05 +09:00
Dean Herbert
6ca9b37c28 Make random generator a field to avoid passing around internally 2021-05-26 16:42:20 +09:00
Dean Herbert
6181b1ac92 Simplify previous object handling by using a class instead of struct 2021-05-26 16:42:20 +09:00
Dean Herbert
c5ff052096 Change internal to public 2021-05-26 16:31:25 +09:00
Pasi4K5
c85d5513be Remove redundant parameter and unused setters 2021-05-25 21:42:26 +02:00
Pasi4K5
bdbd64c88d Fix sliders being partly outside of the playfield in some cases 2021-05-25 21:32:18 +02:00
Dean Herbert
a3c78674a1 Add new interface for autoplay mods 2021-05-25 18:09:24 +09:00
Pasi4K5
098d8c2131 Add complete randomisation for first hit object and hit objects after spinners 2021-05-24 15:13:31 +02:00
Dean Herbert
53b5341bb9 Simplify application logic 2021-05-24 14:34:27 +09:00
Dean Herbert
a92ded8a2f Apply renaming and general code clean-up 2021-05-24 14:28:07 +09:00
Dean Herbert
88d7bc195d Split out and clean up playfield sizing references 2021-05-24 14:27:56 +09:00
Dean Herbert
8dd3f11d28 Tidy up struct and previous object handling 2021-05-24 14:19:10 +09:00
Henry Lin
15e7cce264 Added seed setting, fixed mod ignoring IncreaseFirstObjectVisibility 2021-05-22 14:14:41 +08:00
Henry Lin
d20b5c2d5a Refactored ApplyToBeatmap 2021-05-20 11:57:13 +08:00
Henry Lin
fe099be443 Implemented osu target mod 2021-05-19 22:25:56 +08:00
PercyDan54
63ac430386
Rename startTime in parameters 2021-05-15 11:26:16 +08:00
Pasi4K5
878182fbdf Fix slider ticks not being shifted along with their parent sliders 2021-05-15 02:07:24 +02:00
Pasi4K5
3fa6a0413b Add slider position randomisation 2021-05-14 23:04:09 +02:00
PercyDan54
a4c1b9a1a7
Rename startTime to fadeStartTime 2021-05-14 21:56:13 +08:00
PercyDan54
a86a4bab91
Remove empty override 2021-05-14 21:55:32 +08:00
PercyDan54
393ac4fdd1
Destruct declaration 2021-05-14 21:30:58 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden 2021-05-14 21:29:13 +08:00
Dean Herbert
dbc2318710 Initial tidying up 2021-05-14 14:13:35 +09:00
Pasi4K5
ac04e8afa2 Change name of option "Custom seed" to "Seed" and set its value to the generated seed 2021-05-14 01:50:11 +02:00
Pasi4K5
a9d5211e81 Remove seed from the ScorePanel and "Paste" button 2021-05-14 01:42:39 +02:00
Pasi4K5
946abfbb83 Rework settings; Add seed to ScorePanel; Apply requested changes from @bdach 2021-05-12 18:11:50 +02:00
Pasi4K5
6bed268bd8 Enhance mod settings and add option "Random seed"
+ slight adjustments
2021-05-01 04:01:43 +02:00
Pasi4K5
d90708d646
Merge branch 'master' into mod-osu-random 2021-05-01 02:45:32 +02:00
Andrei Zavatski
7bf3498e2a Calculate playfield scale locally 2021-04-30 02:49:19 +03:00
Andrei Zavatski
25e0fb1cf9 Refactor OsuModBarrelRoll to allow it's usage by other rulesets 2021-04-30 01:59:59 +03:00
Pasi4K5
95040f7edc Change initial seed to a random number 2021-04-27 22:19:04 +02:00
Pasi4K5
a141a4e9e6 Add setting "Seed"
Random numbers are now generated with the seed specified in the mod settings.
2021-04-27 20:44:36 +02:00
Pasi4K5
4b05568d2d Revert "Fix bug causing the star rating to change when Random is enabled"
This reverts commit 1dfe028c02.
2021-04-27 19:39:58 +02:00
Pasi4K5
1dfe028c02 Fix bug causing the star rating to change when Random is enabled 2021-04-26 22:26:13 +02:00
Pasi4K5
6e85c4e069 Change randomisation process to keep distances between objects
Remove now unnecessary settings;
Remove spinners;
Sliders are not implemented yet
2021-04-25 23:57:01 +02:00