smoogipoo
672108edcf
Use container instead of array for field
2021-05-12 13:27:12 +09:00
Dean Herbert
3428056113
Remove unnecessary usage of ChildrenEnumerable
for array assignment
2021-05-12 13:00:02 +09:00
Dean Herbert
bf44c09a91
Add name identifying container and rename index variable
2021-05-12 12:59:46 +09:00
Bartłomiej Dach
d706073e01
Trim empty remarks xmldoc tag
2021-05-11 23:08:50 +02:00
smoogipoo
713c169332
Fix mania crashing on playing samples after skin change
2021-05-11 16:21:21 +09:00
ekrctb
207f7f1e56
Rename FramedAutoGenerator<T> -> AutoGenerator<T>
2021-05-07 00:31:12 +09:00
ekrctb
cf39178099
Use FramedAutoGenerator in Taiko, Catch, Mania
...
OsuAutoGenerator is not included in this change because it uses SortedList-like thing
2021-05-06 22:57:07 +09:00
ekrctb
4a93e27e83
Revert "Fix mania editor null reference"
...
This reverts commit 1d023dce
2021-05-04 16:46:30 +09:00
Dean Herbert
a551958eeb
Move caching of IBeatmap
to base DrawableRuleset
2021-05-01 21:32:45 +09:00
Dean Herbert
db815f7930
Tidy up implementation in DrawableNote
2021-05-01 20:39:10 +09:00
Justus Franklin Tumacder
fdf8c12947
Replace BeatDivisorFinder with GetClosestBeatDivisor
2021-05-01 11:57:47 +08:00
Justus Franklin Tumacder
ecb053b0de
Merge branch 'master' of https://github.com/ppy/osu into justusft/mania-color-snap
2021-05-01 11:20:28 +08:00
Dan Balasescu
e6eea73b8b
Merge branch 'master' into basic-compose-checks
2021-04-30 23:41:46 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
ekrctb
1d023dcedb
Fix mania editor null reference
2021-04-29 14:39:52 +09:00
ekrctb
d262956146
Always use LifetimeEntry to manage hit objects in HitObjectContainer
...
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.
- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
Justus Franklin Tumacder
c4d28110d6
Add visual tests for timing based note coloring
2021-04-27 19:02:57 +08:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Justus Franklin Tumacder
559d403abe
Rename ColourCodedNotes to TimingBasedNoteColouring
2021-04-26 19:05:12 +08:00
Justus Franklin Tumacder
58ebec4803
Move BindValueChanged hooks to LoadComplete()
2021-04-26 19:00:40 +08:00
Dean Herbert
e8d83f2f99
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 14:33:30 +09:00
Bartłomiej Dach
e14255f395
Rename {Snap -> BeatDivisor}Finder
2021-04-25 17:44:26 +02:00
Bartłomiej Dach
afb67726f0
Reduce casting
2021-04-25 17:41:23 +02:00
Bartłomiej Dach
f9e228d6bf
Use null-permitting BDL to reduce number of fields
2021-04-25 17:40:23 +02:00
Justus Franklin Tumacder
211bff6a8f
Fix cake errors
2021-04-25 09:21:25 +08:00
Justus Franklin Tumacder
8b9d2a6cff
Remove caching for ConfigColourCodedNotes
2021-04-25 08:32:49 +08:00
Justus Franklin Tumacder
d3db19c3ce
Simplify DrawableNote
2021-04-25 08:11:44 +08:00
Justus Franklin Tumacder
e0ca44c908
Move SnapFinder from mania ruleset to osu.Game
2021-04-25 07:35:53 +08:00
Justus Franklin Tumacder
eaac4fe6c7
Simplify FindSnap method
2021-04-25 06:38:15 +08:00
Justus Franklin Tumacder
bedabc1ddf
Fix cake errors
2021-04-24 22:12:07 +08:00
Justus Franklin Tumacder
8b01082cbb
Fix visual tests missing dependency for ColourCodedNotes
2021-04-24 21:28:48 +08:00
Justus Franklin Tumacder
3103fd8343
Move snapping logic into SnapFinder
2021-04-24 21:28:35 +08:00
Justus Franklin Tumacder
91bf0d422d
Rename ColourCode to ColourCodedNotes
2021-04-24 20:40:30 +08:00
Justus Franklin Tumacder
a8b401522b
Remove ManiaColourCode in favor for boolean
2021-04-24 20:39:22 +08:00
Justus Franklin Tumacder
d6d81fb8e5
Move color snap logic from Note to DrawableNote
2021-04-24 19:53:21 +08:00
Justus Franklin Tumacder
f9905ebe68
Remove beatmap argument in Note
2021-04-24 19:37:10 +08:00
Justus Franklin Tumacder
7e3a611f95
Add snap color option for osu!mania
2021-04-24 16:23:52 +08:00
Dean Herbert
a242df31e8
Merge pull request #12534 from smoogipoo/fix-hold-note-crash
...
Fix hold notes with 0 length crashing the game
2021-04-22 21:14:36 +09:00
Dan Balasescu
739d83da2a
Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
...
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
smoogipoo
4148d473e3
Fix hold note crashing with 0 length
2021-04-22 19:51:33 +09:00
Dean Herbert
b37c5a8749
Rollback hold note placement when length is zero
2021-04-22 14:59:57 +09:00
Salman Ahmed
e3398d8f1f
Implement "classic" mod for all other legacy rulesets
...
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
...
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
ekrctb
a965e8a75d
Remove AutoGenerator workaround of now-fixed issue
2021-04-16 14:13:41 +09:00
Dean Herbert
119c9b4294
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 14:11:33 +09:00
Dean Herbert
55421b0065
Add missing full stop
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-04-15 14:41:10 +09:00
Dean Herbert
346e36d32a
Make Mod.Description
abstract and add missing descriptions
2021-04-15 14:36:26 +09:00
Dean Herbert
b5954a55ad
Remove empty <returns> xmldoc
2021-04-12 17:46:14 +09:00
Dan Balasescu
9d8a26f373
Merge branch 'master' into diffcalc/refactor-strain-skill
2021-04-06 08:21:38 +09:00
Dean Herbert
6bcbef9f25
Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
...
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
smoogipoo
3acc612a67
Adjust scoring values to better fit osu!mania
2021-04-05 13:28:46 +09:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
Samuel Cattini-Schultz
5b2dcea8a8
Refactor to encapsulate strain logic into Skill class
...
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Dan Balasescu
345779b19a
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay
2021-04-02 20:58:29 +09:00
smoogipoo
43e48406ca
Miss all ticks when hold note is hit
2021-03-31 12:21:14 +09:00
Dean Herbert
56428a027e
Change static method to public
2021-03-30 16:56:20 +09:00
Dean Herbert
e769ef45be
Fix misplaced parenthesis
2021-03-30 16:55:39 +09:00
Dean Herbert
1d968009c2
Add osu!mania key filtering using "keys=4" at song select
2021-03-30 16:09:35 +09:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Nathan Alo
2bea69456e
remove implementations
2021-03-26 15:24:33 +08:00
smoogipoo
8438fce764
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay
2021-03-26 11:47:38 +09:00
Dan Balasescu
5f2c6b8d59
Merge pull request #12145 from bdach/mania-auto-hold-note-release
...
Remove release delay for hold notes when generating autoplay
2021-03-23 14:24:56 +09:00
Bartłomiej Dach
29d4162e4e
Remove release delay for hold notes when generating autoplay
...
It was more intended for normal notes anyway (as they would be released
pretty much instantaneously, if it weren't for the delay).
2021-03-22 22:45:21 +01:00
Dean Herbert
5b1d9f4cf0
Fix constant case
2021-03-22 16:19:29 +09:00
Dean Herbert
690fb9224a
Combine constants for readability
2021-03-22 16:18:31 +09:00
smoogipoo
db64fac824
Delay key fade in legacy mania skins
2021-03-22 15:26:22 +09:00
Bartłomiej Dach
9a330c4c56
Fix mania hold note heads hiding when frozen
...
This was an insidious regression from a3dc1d5
. Prior to that commit,
`DrawableHoldNoteHead` had `UpdateStateTransforms()` overridden, to set
the hold note head's lifetime. When that method was split into
`UpdateInitialStateTransforms()` and `UpdateHitStateTransforms()`, the
lifetime set was moved to the former.
Unfortunately, that override served two purposes: both to set the
lifetime, and to suppress hit animations which would normally be added
by the base `DrawableManiaHitObject`. That fact being missed led to
`UpdateHitStateTransforms()` hiding the hold note head immediately on
hit and with a slight delay on miss.
To resolve, explicitly override `UpdateHitStateTransforms()` and
suppress the base call, with an explanatory comment.
2021-03-21 18:46:41 +01:00
Bartłomiej Dach
aec859b4d1
Merge branch 'master' into fix-unsafe-skinnable-sample-play
2021-03-18 19:51:46 +01:00
Nathan Alo
51e0304c54
properly format strings per ruleset
2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
Dean Herbert
cd1c1bf534
Centralise cases of performing actions on the current selection
...
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901 , but not fix it completely.
2021-02-26 14:15:13 +09:00
smoogipoo
cf4c88c647
Fix spacing
2021-02-25 21:38:21 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
smoogipoo
6b6811063b
Make ExpandDirection abstract
2021-02-24 15:05:12 +09:00
smoogipoo
dd702ccfd2
Make mania FI/HD incompatible with each other
2021-02-24 14:34:37 +09:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
Samuel Cattini-Schultz
442347df8e
Fix clockrate adjusted difficulty calculations bug in strain decay
...
When starting a new section, the starting strain value was calculated using the unadjusted timing value, meaning decay curves were essentially being stretched or squashed according to the clockrate.
This caused incorrect strain peaks for any section where the peak occurs at the start of the section (none of the objects in the section added enough strain after decay to exceed the starting strain).
This bug caused star ratings with clockrates above 1 to be lower than they should and below 1 to be higher than they should.
2021-02-20 20:23:49 +11:00
Dean Herbert
00574a5288
Use ISample everywhere in Skin GetSample lookup path
2021-02-18 18:32:28 +09:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Bartłomiej Dach
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
Dean Herbert
f86f323625
Add a basic guard against setting ScrollMethod too late in initialisation
2021-02-04 22:28:17 +09:00
smoogipoo
8295fb9081
Implement mania constant speed mod
2021-02-03 16:28:22 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
smoogipoo
1b166d809e
Adjust package titles
2021-01-18 11:08:03 +09:00
smoogipoo
ec00aaef90
Add nuget deploys for all rulesets
2021-01-18 10:53:31 +09:00
Dean Herbert
bf39aa5980
Fix incorrectly converted rotation values
2020-12-22 12:18:42 +09:00
Dean Herbert
e1b2de27a6
Update osu!mania legacy skin's judgement animation to match stable
2020-12-21 17:23:23 +09:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
smoogipoo
a835ca9612
Fix anchors/origins for legacy pieces
2020-12-14 14:20:43 +09:00
smoogipoo
1794bfeddb
Move offset into legacy mania judgement
2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf
Merge branch 'master' into mania-legacyskin-scoreposition
2020-12-14 11:25:34 +09:00
Firmatorenio
cf7303e072
dotnet format
2020-12-13 22:54:01 +06:00
Firmatorenio
3741c2339a
simplify implementation and adjust the default values
2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319
apply ScorePosition to the judgement container
2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e
fetch ScorePosition from the skin
2020-12-13 21:59:04 +06:00
Firmatorenio
60379b09db
added a container for the judgements to move up or down
2020-12-13 18:14:41 +06:00
ekrctb
e3c035fe9c
Adjust namespace
2020-12-07 12:32:52 +09:00
ekrctb
40da799103
Move piece files of Mania ruleset
2020-12-07 12:31:56 +09:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:39:22 +01:00
Dean Herbert
7f34e11467
Merge pull request #10962 from smoogipoo/improve-dho-time-offsets
...
Fix judgement offsets in non-framestable contexts
2020-11-30 19:13:25 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
ekrctb
f3f5ec7665
Fix Column
not calling base.Add
2020-11-26 18:08:40 +09:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez
2020-11-22 13:29:02 +01:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic
2020-11-18 19:20:11 +01:00
Dean Herbert
20bb64c627
Fix mania misses not correctly animating (temporary solution)
2020-11-18 19:34:00 +09:00
Dean Herbert
94886a09b2
Remove fades from DrawableJudgement itself
2020-11-18 19:03:34 +09:00
Dean Herbert
49b8331ccd
Merge pull request #10877 from smoogipoo/fix-mania-judgement-displays
...
Fix hold note judgements displaying incorrectly
2020-11-18 19:00:14 +09:00
Dean Herbert
8247e6ce91
Move result type to ctor
2020-11-17 15:43:54 +09:00
Dean Herbert
f465dd5a5e
Move all extended animation logic out of DrawableJudgement
2020-11-17 14:59:34 +09:00
Dan Balasescu
cb3280af7c
Merge branch 'master' into hold-note-fade
2020-11-17 13:49:28 +09:00
smoogipoo
77942af3a6
Fix hold note judgements displaying incorrectly
2020-11-17 13:37:58 +09:00
Bartłomiej Dach
21f29e28e2
Add clarification comment
2020-11-16 20:36:56 +01:00
Bartłomiej Dach
e88920442c
Use HitStateUpdateTime instead
2020-11-16 20:01:10 +01:00
Bartłomiej Dach
8da40ce2dc
Reduce duplication by extracting ModEasyWithExtraLives
2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017
Merge branch 'master' into change-taiko-ez
2020-11-16 19:37:47 +01:00
PercyDan54
99ee5e3ad7
Correct inheritance
2020-11-16 18:28:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy
2020-11-16 18:15:15 +08:00
Dean Herbert
a4c17906b4
Make comment a bit more explicit
2020-11-16 14:52:18 +09:00
Bartłomiej Dach
e5d9cca9de
Fix mania-specific missing cases
2020-11-15 15:38:12 +01:00
Bartłomiej Dach
ba30800bf4
Extract constant
2020-11-13 22:21:22 +01:00
Bartłomiej Dach
a199a957cc
Use stored hold note break time to fade upon it
2020-11-13 22:16:38 +01:00
Bartłomiej Dach
b62bf5798d
Store time of hold note break
2020-11-13 21:14:34 +01:00
Bartłomiej Dach
4777b1be81
Fix fade not applying to tails sometimes
2020-11-13 20:52:15 +01:00
Bartłomiej Dach
55a91dbbe0
Add fading on hit state change
2020-11-13 20:52:15 +01:00
Bartłomiej Dach
7a89e58483
Disable pressed/released action logic when rewinding
2020-11-13 20:49:06 +01:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
smoogipoo
60f95e897d
Revert unnecessary change
2020-11-12 18:29:22 +09:00
smoogipoo
ad38867b1d
Completely remove check as it can occur for hits too
2020-11-12 18:29:22 +09:00
smoogipoo
44aed19e4e
Fix mania notelock crashing with overlapping hitwindows
2020-11-12 18:29:22 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Dean Herbert
fed4accfea
Update tests to refect new mappings
2020-10-30 12:12:30 +09:00
Dean Herbert
ef2e2894a2
Merge branch 'master' into fix-mania-diffcalc
2020-10-14 23:49:14 +09:00
smoogipoo
26dffbfd3b
Replicate hit window calculation
2020-10-14 20:40:39 +09:00
smoogipoo
1a2dc83740
Make field readonly
2020-10-14 20:40:17 +09:00
smoogipoo
da8565c0fa
Add 10K mod to incompatibility list
2020-10-14 18:28:19 +09:00
smoogipoo
3e6ed6c9ff
Add support for dual stages (keycoop) and score multiplier
2020-10-14 17:53:28 +09:00
Dan Balasescu
4eccb03d71
Add copyright notice
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-10-14 17:08:14 +09:00
Dean Herbert
207c409792
Merge branch 'master' into fix-mania-diffcalc
2020-10-14 15:26:32 +09:00
Dean Herbert
010f86ff34
Merge pull request #10452 from smoogipoo/fix-mania-conversion
...
Make mania beatmap conversions match stable
2020-10-13 01:17:42 +09:00
smoogipoo
ac4290dfb6
Add comment about stable calculation
2020-10-12 15:27:33 +09:00
Bartłomiej Dach
146b15371d
Merge branch 'master' into fix-slider-sample-parsing
2020-10-10 14:02:33 +02:00
smoogipoo
65d8530a11
Fix tests
2020-10-09 22:47:32 +09:00
smoogipoo
306d876d22
Replicate stable's unstable sort
2020-10-09 21:50:20 +09:00