Dean Herbert
98f1c1cc29
Avoid allocating list storage in Pattern
until first usage
...
Patterns can often be constructed only to never be used.
2021-09-20 16:02:03 +09:00
Dean Herbert
03291e3897
Avoid LINQ overhead in PatternGenerator.isValid
2021-09-20 15:09:27 +09:00
Dean Herbert
0d58530dbe
Reduce overhead of ColumnHasObject
calls by storing column usage separately
2021-09-20 15:09:27 +09:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder
2021-09-18 14:38:38 +02:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
smoogipoo
34bde293ab
Fix tests
2021-09-15 13:26:39 +09:00
smoogipoo
c009e1473d
Add extra safety check
2021-09-14 17:47:12 +09:00
smoogipoo
63aa3ddcba
Add animation support for mania notes
2021-09-14 17:45:23 +09:00
Bartłomiej Dach
922fa96d41
Fix notes not updating snap colour on application
2021-09-12 18:18:55 +02:00
Dean Herbert
1c3c32b724
Add test ensuring converter doesn't modify original beatmap
2021-09-10 00:00:12 +09:00
Dean Herbert
b16e0cda3d
Move control point modification to ConvertBeatmap
method
2021-09-09 23:45:32 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Dean Herbert
1a26658ba4
Add description for mania special style
2021-09-05 13:40:49 +09:00
Dean Herbert
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b
Update usages of DifficultyPointAt
2021-09-03 16:58:16 +09:00
Bartłomiej Dach
565f147a5c
Add special style setting for osu!mania
2021-09-02 23:29:14 +02:00
Dean Herbert
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Dean Herbert
6252b8aa42
Fix hold notes handling all input ever
2021-08-24 19:08:04 +09:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
Henry Lin
e89f33483d
Code formatting fixes
2021-07-28 21:52:01 +08:00
Henry Lin
22d83c75e3
Revert imports re-ordering
...
Out of the scope of this PR
2021-07-28 18:32:38 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option
2021-07-26 10:46:41 -04:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Dan Balasescu
da7e880e46
Merge pull request #13893 from peppy/mouse-settings-localisation
...
Add localisation coverage of `MouseSettings`
2021-07-16 23:25:12 +09:00
smoogipoo
05234d6c30
Fix mania hitobjects not appearing early enough
2021-07-16 19:33:34 +09:00
smoogipoo
3ac58d6838
Fix min/max values not being passed to inner time range
2021-07-16 19:32:31 +09:00
smoogipoo
fa8e5013c5
Adjust mania speed range
2021-07-16 18:22:34 +09:00
Dean Herbert
5b91111eda
Update SettingsSubsection.Header
to accept a LocalisableString
2021-07-15 13:09:51 +09:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Dean Herbert
1b0aadcc6f
Merge branch 'master' into transformers-per-skin
2021-06-22 16:03:15 +09:00
ekrctb
a4f362dca6
Remove lifetime override of DrawableManiaHitObject
...
The `AlwaysAlive` logic is now in all DHOs and it is now not necessary (and potentially conflicting).
2021-06-17 10:15:24 +09:00
ekrctb
9dcd0bf311
Remove IPlayfieldProvider
by caching Playfield
2021-06-17 10:15:24 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
ekrctb
ef96ceb4ab
Introduce IPlayfieldProvider
2021-06-15 14:43:04 +09:00
ekrctb
d0e57f7dd9
Use HitObject
instead of DHO for mania selection blueprint layout
...
- Fix moving selected hold note between columns will cause a crash
2021-06-15 13:20:51 +09:00
Salman Ahmed
fbb856d84b
Call base
when overriding lookup methods
...
Rather than arbitrarily accessing `Skin` here and there.
2021-06-11 12:44:44 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Salman Ahmed
cf40282f1f
Convert LegacySkinTransformer
s to accept raw ISkin
s rather than a full ISkinSource
2021-06-09 22:49:31 +03:00
Dean Herbert
d248bbd4c8
Use candidate skin for mania skin key lookup rather than this
2021-06-09 15:00:55 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
Dean Herbert
d26c9a66c2
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-07 12:01:19 +09:00
Dean Herbert
06275a6a7d
Merge branch 'master' into legacy-skin-default-fallback
2021-06-04 16:00:30 +09:00
Pasi4K5
7a4fc9ffc8
Move seed to base class
2021-06-03 18:16:11 +02:00
Dan Balasescu
15b43beef1
Merge pull request #11857 from Syriiin/diffcalc/refactor/catch-clockrate-effects
...
Refactor catch Movement skill to not require explicit clockrate usage
2021-06-03 17:29:27 +09:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Dean Herbert
14570b6fb1
Merge branch 'master' into autoplay-pause-support
2021-06-01 14:19:21 +09:00
Dean Herbert
00b3eea840
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-05-31 21:39:04 +09:00
Dean Herbert
33577cbad5
Fix multiple issues with default lookups
2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012
Add FindProvider
lookup function
2021-05-31 21:29:47 +09:00
Dean Herbert
de0e51a81d
Merge branch 'master' into fix-skin-sample-lookup
2021-05-31 15:27:39 +09:00
Dean Herbert
17574833fb
Update other transformers with similar refactored logic
2021-05-30 19:15:59 +09:00
Salman Ahmed
fbc316ea1d
Fix legacy skin transformers potentially ignoring source implementations
2021-05-29 21:23:22 +03:00
Dean Herbert
70a844ac10
Remove allowFallback
parameters completely
2021-05-27 14:50:42 +09:00
Dean Herbert
a3c78674a1
Add new interface for autoplay mods
2021-05-25 18:09:24 +09:00
Dean Herbert
cc5c702a92
Apply all properties after cast (looks cleaner)
2021-05-19 17:31:47 +09:00
Dean Herbert
bddc3121dc
Merge branch 'master' into mania-pooling
2021-05-19 17:23:45 +09:00
Dean Herbert
9ede358e7e
Merge branch 'master' into mania-pooling
2021-05-18 22:25:54 +09:00
Dan Balasescu
ef81bdf63f
Merge branch 'master' into always-use-lifetime-entry
2021-05-18 20:10:12 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
562ac73e96
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-18 14:54:00 +09:00
smoogipoo
72beddaadc
Remove nested blueprints from hold notes
2021-05-18 14:25:07 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
PercyDan54
166974506e
Duplicate implementions
2021-05-15 11:55:50 +08:00
smoogipoo
b5afe4e506
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-13 21:53:38 +09:00
smoogipoo
2307889bf8
Fix incorrect cast
2021-05-13 21:41:28 +09:00
smoogipoo
98e77a30d3
Move column changing logic to ManiaSelectionHandler
2021-05-13 20:13:50 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
smoogipoo
0fa3027ab9
Increase pool sizes a bit
2021-05-12 17:37:59 +09:00
smoogipoo
f992b59b4f
Fix DrawableHoldNote retaining hit states through applications
2021-05-12 17:07:42 +09:00
smoogipoo
1af3bbf400
Fix base.OnLoadComplete() not being called
2021-05-12 17:06:44 +09:00
smoogipoo
7913189aa9
Turn on pooling
2021-05-12 16:56:23 +09:00
smoogipoo
789025a7ce
Update playfield/stage/column implementations for pooling
2021-05-12 16:56:07 +09:00
smoogipoo
4e7551d50e
Fix crashes
2021-05-12 16:40:46 +09:00
smoogipoo
5692cecaa4
Initial implementation of DHO pooling
2021-05-12 16:35:05 +09:00
Dean Herbert
87dfd9672d
Merge pull request #12748 from smoogipoo/fix-mania-sample-crash
...
Fix mania crashing on playing samples after skin change
2021-05-12 14:10:08 +09:00
smoogipoo
05c21fb5b3
Increase mania HP lenience
2021-05-12 13:27:30 +09:00
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