Salman Ahmed
fb81e5133f
Merge branch 'master' into catch-hide-combo-workaround
2021-05-30 14:16:46 +03:00
Dean Herbert
50d71faf56
Restructure lookup code to avoid repeating the base call
2021-05-30 17:55:10 +09:00
Dean Herbert
dac1a98d8a
Merge branch 'master' into fix-skin-sample-lookup
2021-05-30 15:19:47 +09:00
Salman Ahmed
fbc316ea1d
Fix legacy skin transformers potentially ignoring source implementations
2021-05-29 21:23:22 +03:00
Susko3
2439de1c3d
fix capitalzation of osu!catch HitResults
2021-05-28 18:40:58 +02: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
Salman Ahmed
a4d52a7f52
Use switch—case instead
2021-05-19 23:37:22 +03:00
Salman Ahmed
c98d036b48
Merge branch 'master' into catch-hide-combo-workaround
2021-05-18 17:47:20 +03:00
Salman Ahmed
ff419af512
Hide the combo counter content rather than full death
2021-05-18 09:10:15 +03:00
Salman Ahmed
df248ea41b
Improve code readability
2021-05-17 11:41:53 +03:00
Salman Ahmed
102842bcf1
Expire legacy combo counters on catch ruleset
2021-05-15 16:55:15 +03:00
PercyDan54
166974506e
Duplicate implementions
2021-05-15 11:55:50 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden
2021-05-14 21:29:13 +08:00
Dean Herbert
004798d61d
Update Legacy components to not require skin in ctor
2021-05-11 18:39:14 +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
Salman Ahmed
cd6d070b4a
Consider "combo offsets" as legacy logic and separate from combo information
2021-05-05 07:43:08 +03:00
Salman Ahmed
eeeb001d62
Refactor combo colour retrieval logic to request skin lookups instead
2021-05-05 07:17:27 +03:00
Dean Herbert
0ccdfeea57
Fix code quality issues
2021-04-24 14:35:49 +09:00
Dean Herbert
d4ffd2ef4b
Merge branch 'master' into reversed-fruits
2021-04-23 15:08:18 +09:00
Dean Herbert
bc0e1d8c37
Remove dead newline
2021-04-23 15:06:39 +09:00
smoogipoo
d4d78f7434
Merge branch 'master' into legacy-scores-classic-mod
2021-04-22 18:44:20 +09:00
Dean Herbert
dc2bc462b8
Expose internal catcher width calculation methods
2021-04-22 17:27:23 +09:00
Dean Herbert
84a7138223
Update tests to better support stack regeneration cases
2021-04-22 17:13:19 +09:00
Dean Herbert
3e1002fbf3
Improve osu!catch caught fruit placement algorithm
2021-04-22 17:06:28 +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
Dean Herbert
ddf1b560f3
Remove catcher fade during hyperdash
...
Closes https://github.com/ppy/osu/issues/12472 .
2021-04-20 18:18:51 +09:00
Fabian
eec77b0527
replace icon
2021-04-17 23:55:39 +02:00
Fabian
5d274dbce8
replace IApplicableToPlayer with IApplicableToDrawableRuleset
2021-04-17 16:38:28 +02:00
Fabian
cf3aaff7bd
Add floating fruits mod
2021-04-17 16:01:23 +02:00
ekrctb
a965e8a75d
Remove AutoGenerator workaround of now-fixed issue
2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c
Introduce StartFrame
and EndFrame
to simplify the replay interpolation code
2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de
Make FramedReplayInputHandler.CurrentTime non-null
2021-04-16 14:13:41 +09:00
ekrctb
6d0dc62502
Make sure latest catcher position is used for catching logic
...
A replay frame processed in CatchInputManager is applied to catcher in `CatcherArea`.
The catcher position is then used for the catching logic for each hit object under `HitObjectContainer`.
Thus, if `HitObjectContainer` came before `CatcherArea`, the replay input is delayed one frame.
That was one reason why the catch autoplay misses hit objects (especially when fast-forwarded).
2021-04-09 16:04:45 +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
b24c695146
Merge branch 'master' into hide-caught-fruit-in-hidden
2021-03-30 15:42:00 +09:00
Dean Herbert
89bea2868a
Move bool one level down
2021-03-30 14:33:55 +09:00
Dean Herbert
013ddc734c
Fix osu!catch fruit showing on plate when hidden mod is enabled
...
Closes https://github.com/ppy/osu/issues/12065 .
2021-03-25 17:04:37 +09:00
Salman Ahmed
43c1e1d217
Update existing usages
...
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Samuel Cattini-Schultz
323e4ac26b
Refactor catch Movement skill to not require explicit clockrate usage
...
In catch, rate adjustment mods do not only affect the timings of hitobjects, but also the speed of the player's catcher.
This catcher speed change has an impact on difficulty which is currently accounted for by using the clockrate directly in calculations.
Semantically this is a bad idea because clockrate adjustments are supposed to be fully accounted for in DifficultyHitObjects, but passing clockrate here for the purpose of being used as catcher speed doesn't make much sense, especially since it is copied in every DifficultyHitObject despite being the same value.
It makes more sense to account for this catch specific impact by handling rate adjustment mods in a catch specific way, or more specifically in a Movement skill specific way.
2021-02-21 18:24:30 +11: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
Dean Herbert
aaa0362b12
Merge branch 'master' into autoplay-rate-independence
2021-02-11 17:39:45 +09:00
smoogipoo
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
Bartłomiej Dach
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
Joehu
9ef130cdcc
Fix codefactor style issues
2021-02-04 13:28:35 -08:00
Corentin PALLARD
d168de0ae3
Formatting
2021-01-29 03:03:23 +01:00
Corentin PALLARD
da4c207a73
Fix the ctb auto mod speedup in some occasions
2021-01-29 02:53:26 +01: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
Bartłomiej Dach
303cc62ee7
Transfer flags indicating if settings were changed
2021-01-06 22:46:46 +01: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
Dean Herbert
b81dbfc192
Move shared implementation to a named function
2020-12-14 13:56:46 +09:00
ekrctb
5b5e883904
Remove EffectiveXBindable (setting Value was not handled)
...
And use orthogonal `OriginalXBindable` and `XOffsetBindable`.
2020-12-14 13:39:07 +09:00
ekrctb
0ad256a762
Fix comment
2020-12-14 13:18:32 +09:00
ekrctb
d96399ea42
Revert "Remove X setter from CatchHitObject"
...
This reverts commit 7cbbd74d
2020-12-14 13:18:14 +09:00
ekrctb
7cbbd74df2
Remove X setter from CatchHitObject
2020-12-14 11:38:07 +09:00
ekrctb
f621d977fc
Add some more doc comment
2020-12-14 11:32:34 +09:00
ekrctb
36529bdd1b
Use OriginalX for CatchHitObject.X instead of EffectiveX
...
And explicitly implement IHasXPosition interface to prevent use of the X property.
It should be preferred for beatmap conversion purpose.
2020-12-14 11:26:05 +09:00
ekrctb
089f3bebf5
Add doc comments to catch hit object X properties
2020-12-14 11:15:49 +09:00
ekrctb
cd2db59900
XBindable -> EffectiveXBindable in catch DHO
2020-12-14 11:05:26 +09:00
ekrctb
96f3e0dad8
Replace CatchHitObject.X usage to EffectiveX and OriginalX
2020-12-14 11:03:14 +09:00
ekrctb
c1f3f1c231
Obsolete X
getter
2020-12-14 11:03:10 +09:00
ekrctb
8da502da44
Separate asymmetric CatchHitObject.X to EffectiveX and OriginalX
2020-12-14 11:03:03 +09:00
Dean Herbert
c0d20d8ce4
Add some spacing to interface class
2020-12-11 16:43:00 +09:00
ekrctb
2634c6b8d9
Combine DisplayRadius and Scale to DisplaySize
2020-12-10 20:43:01 +09:00
ekrctb
e097b6e61c
Add ScalingContainer back
...
Don't want to set DHO.Scale or DHO.Rotation because because DHO may be transformed by mods.
DHO.Size is also assigned for drawable visualizer
2020-12-10 19:42:01 +09:00
smoogipoo
ac91f0e270
Add extended limits to difficulty adjustment mod
2020-12-10 00:37:19 +09:00
ekrctb
a8e2f35b62
Remove unneeded check of caught object removal
...
The logic was public but now it is private
so the condition is ensured by the caller
2020-12-09 10:50:35 +09:00
ekrctb
775c4bad97
Remove unneeded lifetime assignment
2020-12-09 10:47:04 +09:00
ekrctb
da2f3d4473
Move classes to separate files
2020-12-09 10:40:42 +09:00
ekrctb
b52e279702
Reword exception message
2020-12-09 10:38:11 +09:00
ekrctb
86445e7c23
Remove unnecessary copy
2020-12-09 10:36:54 +09:00
ekrctb
c8b0934573
Rename caughtFruitContainer -> caughtObjectContainer
2020-12-09 10:35:36 +09:00
ekrctb
ccca7e0b25
more specific type droppedObjectContainer
2020-12-09 10:35:01 +09:00
ekrctb
df9de7a8dd
Remove null check that is not required anymore
2020-12-09 10:28:42 +09:00
ekrctb
b80204642e
Revert rename error
2020-12-09 10:25:35 +09:00
ekrctb
1212ffd24f
Rename to CopyStateFrom, and add comment
2020-12-08 23:35:24 +09:00
ekrctb
5ca98b0033
Add doc comments a bit
2020-12-08 23:11:22 +09:00
ekrctb
1f36bbecd1
Fix dropped objects not removed on revert result
2020-12-08 23:07:30 +09:00
ekrctb
749d5380ca
Pool caught objects and dropped objects
2020-12-08 22:38:10 +09:00
ekrctb
a32dac00dd
Introduce IHasCatchObjectState implemented by DHO and CaughtObject
2020-12-08 21:29:26 +09:00
ekrctb
c301223d8c
Make object on the catcher plate separate CaughtObject class
2020-12-08 21:11:40 +09:00
ekrctb
94a59ac3b2
Make catch hit lighting logic not dependent on caught object
2020-12-08 20:41:26 +09:00
ekrctb
004c705aa9
Remove ScaleContainer and flatten the Drawable tree of catch DHO
2020-12-08 20:37:08 +09:00
ekrctb
56721a6fa9
Compute object position in stack via a pure function
2020-12-08 20:36:59 +09:00
Dan Balasescu
0739f09930
Merge pull request #11110 from ekrctb/fruit-piece-in-place
...
Implement in-place update of catch DrawableHitObject
2020-12-08 18:36:20 +09:00
Dan Balasescu
c3241f163d
Merge pull request #11126 from ekrctb/fix-catcher-trail-sprite-pooled
...
Clear all transforms of catcher trail sprite before returned to pool
2020-12-08 17:59:23 +09:00
Dan Balasescu
1757b9c3e7
Merge branch 'master' into fruit-piece-in-place
2020-12-08 17:42:34 +09:00
ekrctb
22a5df6309
Clear all transforms of catcher trail sprite before returned to pool
2020-12-08 17:31:00 +09:00
ekrctb
4d5c242d35
Use virtual property instead of a field for optional pieces
2020-12-08 17:15:40 +09:00
ekrctb
603cecb2eb
Make CatchHitObjectPiece abstract class
2020-12-08 17:02:57 +09:00
ekrctb
17d48c82f6
Use switch statement instead of an array
2020-12-08 16:59:06 +09:00
ekrctb
02571ec7ae
Remove hit explosion on revert result
2020-12-08 15:43:17 +09:00
ekrctb
1a66d8f2bc
Remove caught objects on revert result
2020-12-08 15:24:39 +09:00
ekrctb
100b365c98
Restore hyper dash state on revert judgement result
2020-12-08 15:21:47 +09:00
ekrctb
cb76a2d7b5
Restore catcher state on revert judgement result
2020-12-08 15:03:03 +09:00
ekrctb
0213f77b4b
Move catcher state changing logic to OnNewResult method
2020-12-08 14:28:30 +09:00
ekrctb
4da6717d0e
Rename things in PulpFormation
2020-12-08 10:33:18 +09:00
ekrctb
3cbdaf5960
Make resolved properties protected
2020-12-08 10:30:23 +09:00
ekrctb
b2e5658d23
Merge branch 'master' into fruit-piece-in-place
2020-12-07 18:57:42 +09:00
Dan Balasescu
fb599e0746
Merge pull request #11114 from ekrctb/pool-catcher-trail
...
Pool catcher trail sprite
2020-12-07 18:48:08 +09:00
ekrctb
12c6b3c1fb
Pool catcher trail sprite
2020-12-07 18:12:55 +09:00
ekrctb
c1d39b6401
Don't inherit Fruit from Banana
2020-12-07 14:10:17 +09:00
ekrctb
7f1ad1040d
Don't inherit DrawableFruit from DrawableBanana
...
- A banana cannot be hyper
2020-12-07 14:08:50 +09:00
ekrctb
c0f39514b9
Fix legacy droplet scale
2020-12-07 14:00:22 +09:00
ekrctb
b8f1c499a4
Allow PulpFormation to update formation dynamically
...
Pulps are lazily allocated but never deallocated for a DrawableFruit
2020-12-07 13:56:22 +09:00
ekrctb
0d73bf8488
Refactor catch default piece to allow reuse
...
But Fruit in-place update is still incomplete,
as child drawables are recreated when reused.
2020-12-07 13:14:00 +09:00
ekrctb
d51d2c5331
Don't recreate pieces when catch DHO is reused
2020-12-07 12:59:03 +09:00
ekrctb
87189452d1
Refactor legacy skin piece to allow texture update
2020-12-07 12:57:24 +09:00
ekrctb
d18397acad
Adjust namespace
2020-12-07 12:35:24 +09:00
ekrctb
b4b9312e0f
Move piece files of Catch ruleset
2020-12-07 12:34:38 +09:00
Dean Herbert
d3a17b65d5
Move public methods upwards
2020-12-04 14:36:40 +09:00
Dean Herbert
8988023407
Tidy up code formatting and remove unnecessarily publicly exposed methods
2020-12-04 14:35:56 +09:00
Dean Herbert
aa24890aff
Merge branch 'master' into caught-object-refactor
2020-12-04 14:12:33 +09:00
Dean Herbert
0134ac94a7
Merge pull request #11055 from ekrctb/catch-stateless-rng
2020-12-04 13:08:30 +09:00
ekrctb
23af70dd32
Invert if
2020-12-04 10:24:25 +09:00
ekrctb
e82ca66d3e
Fix depth of dropped objects
2020-12-04 10:21:54 +09:00
ekrctb
7e66714c2f
Use ApplyCustomUpdateState for dropping transformation
...
We cannot just apply the transforms because DHO clears transforms when state is updated
2020-12-03 18:46:58 +09:00
ekrctb
be456f9c6b
Make DroppedObjectAnimation private
2020-12-03 18:46:58 +09:00
ekrctb
5a5c956ced
Move more logic to Catcher from CatcherArea
2020-12-03 16:44:36 +09:00
ekrctb
2eb2c934cc
Refactor fruit dropping code
...
- The repeated `Remove` call was quadratic complexity.
Now it is linear time.
2020-12-03 16:44:36 +09:00
ekrctb
873f2363c1
Simplify the fruit stacking code
...
It is now more clear that
the expression of distance checking is probably unintended (a bug)
2020-12-03 16:44:36 +09:00
ekrctb
8d32cca5d6
Use more specific type for caught object
2020-12-03 16:44:36 +09:00
ekrctb
a231a4aa6d
Remove unused method
2020-12-03 16:44:36 +09:00
ekrctb
af45e8d97b
Don't delay caught fruit loading
...
It is not needed anymore because
some code in DCHO is moved from `load` to constructor.
2020-12-03 16:44:36 +09:00
ekrctb
e5c8e06c4b
Create children in the constructor
2020-12-03 16:44:36 +09:00
ekrctb
2e8195e059
Use transformation to set fruit rotation
2020-12-03 12:13:14 +09:00
ekrctb
fdcfa81e46
Make RandomSeed a property, not a bindable
2020-12-02 20:53:47 +09:00
ekrctb
08848e49de
Set banana combo colour using random seed
2020-12-02 17:12:30 +09:00
ekrctb
8b6161a51c
Use deterministic randomness in catch hit object
2020-12-02 16:54:18 +09:00
ekrctb
e7c0e9834f
Introduce RandomSeed in catch DHO
2020-12-02 16:53:01 +09:00
smoogipoo
946613e803
Fix bananas not playing sounds
2020-12-02 15:22:54 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dan Balasescu
2e0fdf9bca
Merge pull request #11011 from ekrctb/catch-pooling-initial
...
Initial implementation of hit object pooling in osu!catch ruleset
2020-12-02 13:02:22 +09:00
smoogipoo
6b4a6c12c8
Fix bad equality comparer implementations
2020-12-01 18:13:53 +09:00
smoogipoo
199710b941
Implement equality comparers for HitSampleInfo
2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
ekrctb
e8842eed81
Use bigger initial capacity for catch hit object pool
2020-12-01 14:50:42 +09:00
ekrctb
a16b265090
Apply suggested styling changes
2020-12-01 14:46:04 +09:00
smoogipoo
5945c088cb
A few code standard cleanups
2020-12-01 12:57:37 +09:00
ekrctb
08cb84b325
Pool osu!catch hit explosion
2020-12-01 11:32:20 +09:00
ekrctb
d1076778fd
Convert switch expression to switch statement
2020-12-01 09:50:52 +09:00
ekrctb
4cd234ea05
Fix null reference of LegacyFruitPiece
2020-11-30 19:56:12 +09:00
ekrctb
70628235e3
Use hit object pooling for BananaShower
.
2020-11-30 19:22:40 +09:00
ekrctb
9611aaf09e
Use hit object pooling for JuiceStream
.
...
- Use `Clear(false)` to not dispose pooled children.
- Don't set nested DHO `Origin`.
- Simplify the layout (remove custom `Origin`).
2020-11-30 19:19:14 +09:00
ekrctb
b76ae525b2
Use hit object pooling for Fruit
and Banana
.
2020-11-30 19:07:50 +09:00
ekrctb
94fd607a7c
Use hit object pooling for Droplet
and TinyDroplet
.
2020-11-30 19:04:09 +09:00
ekrctb
05aaa377e7
Don't use CreateDrawableRepresentation in CatcherArea
2020-11-30 19:02:49 +09:00
Dan Balasescu
11d1450c76
Merge branch 'master' into fruit-bindables
2020-11-30 16:48:22 +09:00
Dean Herbert
9fbfb1aa9f
Add comment explaining requirement
2020-11-30 15:22:55 +09:00
Dean Herbert
73990a6674
Fix osu!catch combo counter not showing after 1 combo
2020-11-30 15:20:52 +09:00
ekrctb
8528b2687f
Fix possible null reference.
2020-11-30 14:24:50 +09:00
ekrctb
4228977c86
Store a DHO in FruitPiece
to animate itself.
2020-11-30 13:46:02 +09:00
ekrctb
5e0e4e9db7
Use private access modifier for Border
field.
2020-11-30 13:07:55 +09:00
ekrctb
09b7ba41d6
Consistently use readonly field for bindables.
2020-11-30 13:00:01 +09:00
ekrctb
5d3a5081a0
Remove use of HitObject in DHO constructors.
2020-11-30 12:52:58 +09:00
ekrctb
35cd6674f6
Fix tiny droplet scale factor
2020-11-27 11:56:57 +09:00
ekrctb
e36bb7631d
Fix colour not updated when index changes
2020-11-27 11:41:39 +09:00
ekrctb
dbf67f82c0
Use bindable for DrawableDroplet HyperDash state
2020-11-27 11:40:38 +09:00
ekrctb
23109f5bbc
Add bindable to drawable catch hit obejcts
2020-11-27 11:08:32 +09:00
ekrctb
5e36fb322a
Move fruit visual logic from CHO to DrawableFruit
2020-11-27 11:08:32 +09:00
ekrctb
c272fda416
Add bindables to catch hit objects
2020-11-27 11:02:23 +09:00
smoogipoo
e53f849aa0
Completely separate combo colours from DHOs
2020-11-26 18:14:25 +09:00
ekrctb
cafe8cf7fa
Refactor border of fruits to classes
2020-11-26 15:24:32 +09:00
ekrctb
8a73b335f3
Move catch piece files
2020-11-26 15:24:32 +09:00
ekrctb
c99d34d140
Merge branch 'master' into palpable-catch-hit-object
2020-11-26 12:24:57 +09:00
ekrctb
323533d945
Add hiding Palpable HitObject property
2020-11-25 08:07:59 +09:00
ekrctb
6e55eb2090
Fix and add comments
2020-11-25 08:00:11 +09:00
ekrctb
3c3229ac4b
Remove redundant StaysOnPlate
2020-11-25 07:59:45 +09:00
ekrctb
ab7251d742
Move members to PalpableCatchHitObject
2020-11-24 19:57:37 +09:00
ekrctb
4f7aa7e541
Move Palpable* to separate files
2020-11-24 19:48:13 +09:00
ekrctb
916a313f19
Rename PalpableDrawable -> DrawablePalpable
2020-11-24 19:48:13 +09:00
Dan Balasescu
4311526c0a
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 19:23:54 +09:00
ekrctb
b9c1f782fa
Remove type parameter from DrawableCatchHitObject
2020-11-24 17:03:26 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 16:09:57 +09:00
ekrctb
c506b438bf
Remove more code and make some methods private
2020-11-22 18:51:16 +09:00
ekrctb
4345d8dcb6
Event -> virtual method
2020-11-21 15:20:33 +09:00
ekrctb
82aefa3868
Rework and rename to OnNewDrawableHitObject.
...
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
ekrctb
468b2a97cb
Use events instead of overriding Add (catch)
2020-11-20 17:56:47 +09:00
Bartłomiej Dach
8da40ce2dc
Reduce duplication by extracting ModEasyWithExtraLives
2020-11-16 19:54:00 +01:00
PercyDan54
99ee5e3ad7
Correct inheritance
2020-11-16 18:28:50 +08:00
PercyDan54
017a6b7153
Fix checks
2020-11-16 18:22:17 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy
2020-11-16 18:15:15 +08:00
Dan Balasescu
71a1165209
Merge branch 'master' into drawable-hit-object-hit-state-fix
2020-11-06 13:19:25 +09:00
smoogipoo
628b8be15d
Implement ModWithVisibilityAdjustment
2020-11-05 15:40:25 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Bartłomiej Dach
4e80f1955c
Merge branch 'master' into catcher-moonwalking-in-replays-fix
2020-11-03 23:42:51 +01:00
Dean Herbert
9f8ea93068
Fix osu!catch banana animation not playing due to incorrect lifetimes
...
Closes #10117 .
2020-11-03 18:45:21 +09:00
Dean Herbert
71c04472fa
Fix osu!catch replay conversion applying left movements to wrong frame
2020-11-03 14:21:19 +09:00
Dean Herbert
4024b44a53
Fix unsafe manipulation of parent's children from child
2020-10-19 17:41:21 +09:00
Dean Herbert
8a3bce3cc3
Fix osu!catch showing two combo counters for legacy skins
2020-10-16 18:20:17 +09:00
Dean Herbert
899bac6ca5
Rename catch combo counter for clarity
2020-10-14 19:16:34 +09:00
smoogipoo
696e3d53af
Fix slider samples being overwritten by the last node
2020-10-09 20:50:09 +09:00
Dean Herbert
07558b5bc0
Merge branch 'master' into ruleset-result-types
2020-10-09 13:17:05 +09:00
Dean Herbert
f70252d07b
Match plurality
2020-10-08 12:52:58 +09:00
Dean Herbert
f1a3b6d0ba
Merge branch 'master' into perf-calculator-remove-working-beatmap
2020-10-07 17:43:17 +09:00
Dean Herbert
6020ec9ca3
Add valid result types for all rulesets
2020-10-07 15:43:52 +09:00
Lucas A
d7747ebb2d
Remove unused WorkingBeatmap argument.
2020-10-03 16:51:22 +02:00
Bartłomiej Dach
2b1ef16f89
Replace comparison references to HitResult.Miss with IsHit
2020-10-02 23:31:24 +02:00
Lucas A
abd395a030
Remove unecessary using references.
2020-10-02 19:41:24 +02:00
Lucas A
0163688a17
Remove IBeatmap from PerformanceCalculator.
2020-10-02 19:24:30 +02:00
smoogipoo
f439c1afbc
Make osu/taiko/catch use Ok+Great
2020-09-29 17:16:55 +09:00
smoogipoo
903bcd747e
Revert unintended changes
2020-09-29 16:39:29 +09:00
smoogipoo
bad48d6d44
Merge branch 'master' into scoring-standardisation
2020-09-29 16:33:38 +09:00
smoogipoo
31fae045fa
Update judgement processors with new hit results
2020-09-29 16:33:38 +09:00
smoogipoo
4ca9a69de2
Use new hit results in catch
2020-09-29 16:33:38 +09:00
Dean Herbert
6095446f10
Fix autoplay generators failing on empty hitobjects lists
2020-09-28 15:38:54 +09:00
Dean Herbert
1b261f177f
Disable rewind handling
2020-09-22 13:17:53 +09:00
Dean Herbert
1c58f568d6
Simplify and reformat rewind/transform logic
2020-09-22 12:54:21 +09:00
Dean Herbert
ffd4874ac0
Remove unnecessary double suffixes
2020-09-22 12:37:18 +09:00
Dean Herbert
08d8975566
Remove DisplayInitialCombo method for simplicity
2020-09-22 12:35:18 +09:00
Dean Herbert
92cda6bccb
Adjust xmldoc slightly
2020-09-22 12:27:47 +09:00
Dean Herbert
a27a65bf03
Don't recreate explosion counter each increment
2020-09-22 12:25:40 +09:00
Dean Herbert
f629c33dc0
Make explosion additive to match stable
2020-09-22 12:14:31 +09:00
Salman Ahmed
bfe332909c
Remove "hide combo counter on break time" feature for being too complex
...
The combo counter will be hidden at most one second after the break has started anyways, so why not just remove this feature if the way of implementing it is complicated to be merged within the legacy counter implementation.
2020-09-21 14:32:14 +03:00
Dean Herbert
1e09d8fd1a
Merge branch 'master' into catch-combo-counter
2020-09-21 17:53:00 +09:00
smoogipoo
c7d24203ce
Make beatmap conversion support cancellation tokens
2020-09-17 17:40:05 +09:00
Dan Balasescu
0761aab42f
Merge branch 'master' into catch-combo-counter
2020-09-15 17:20:31 +09:00
Bartłomiej Dach
fcf3a1d13c
Encapsulate combo display better
2020-09-12 22:40:34 +02:00
Bartłomiej Dach
3db0e7cd75
Generalise LegacyRollingCounter
2020-09-12 22:40:32 +02:00
smoogipoo
117c7ec6b2
Merge branch 'master' into score-recalc
2020-09-09 14:38:36 +09:00
Dean Herbert
4680728b9c
Merge branch 'master' into update-dcc-exclusions
2020-09-07 18:01:44 +09:00
smoogipoo
1143d5d992
Update class exclusion for dynamic compilation
2020-09-04 20:41:08 +09:00
Dean Herbert
25e142965d
Strongly type and expose default beatmap information icon implementations for other rulesets
2020-09-04 15:01:32 +09:00
Dean Herbert
72cb65c22f
Update and add missing beatmap statistic icons to info wedge
2020-09-03 17:52:22 +09:00
Salman Ahmed
99a68e880a
Merge remote-tracking branch 'upstream/master' into catch-combo-counter
2020-09-01 20:46:38 +03:00
Salman Ahmed
a0a4501008
Merge remote-tracking branch 'upstream/master' into catch-combo-counter
2020-09-01 20:17:25 +03:00
Salman Ahmed
ba8a4eb6f0
Move osu!catch combo counter display to inside CatcherArea
2020-09-01 20:17:21 +03:00
smoogipoo
1c1afa1c96
Move MaxCombo to base DifficultyAttributes
2020-08-28 19:16:20 +09:00
smoogipoo
8dde512657
Merge branch 'master' into skin-colour-fix-2
2020-08-25 19:39:01 +09:00
smoogipoo
ab8d9be095
Move out into a separate method
2020-08-25 15:16:41 +09:00
Bartłomiej Dach
60695bee8c
Remove fades when changing trail colour across skins
2020-08-24 15:57:41 +02:00
Dean Herbert
db45d9aa8a
Fix catch hyper dash colour defaults not being set correctly
...
As the defaults were not set, if a skin happened to specify 0,0,0,0 it
would be ignored due to the early returns in property setters.
2020-08-24 22:11:10 +09:00
Dean Herbert
997ea2f27e
Merge pull request #9932 from smoogipoo/hyperdash-full-catch-width
...
Use full catcher width for hyperdash calculation
2020-08-24 16:44:35 +09:00
Orosfai I. Zsolt
12ca870b74
Fix osu!catch relax mod
2020-08-23 17:34:57 +02:00
Salman Ahmed
0e9242ee9a
Move combo font retrieval inside the legacy component
2020-08-23 10:29:01 +03:00
Dean Herbert
b98d4d9cff
Merge branch 'master' into hyperdash-full-catch-width
2020-08-22 19:55:45 +09:00
Salman Ahmed
cf6b34db1e
Merge remote-tracking branch 'upstream/master' into catch-combo-counter
2020-08-22 13:07:28 +03:00
Salman Ahmed
7ae45b29db
Finish internal counter transformation regardless of the combo
2020-08-22 12:20:50 +03:00
smoogipoo
eaba323353
Update catch with legacy colour setters
2020-08-22 00:17:35 +09:00
smoogipoo
62d833d63d
Fix comment
2020-08-21 13:14:50 +09:00
smoogipoo
6ad7a3686b
Simplify condition
2020-08-21 13:13:08 +09:00
smoogipoo
855b5ba4ed
Merge branch 'master' into add-droplet-hypers
2020-08-21 13:09:16 +09:00
Dean Herbert
f0ba587515
Merge branch 'master' into fix-catch-double-sample
2020-08-21 12:38:29 +09:00
smoogipoo
f00bc67aaa
Fix pulp and use relative sizse
2020-08-21 12:29:28 +09:00
smoogipoo
738ff7ba21
Use full catcher width for hyperdash calculation
2020-08-21 02:21:16 +09:00
Bartłomiej Dach
9546fbb64b
Prevent catcher from performing invalid catches
2020-08-20 19:06:29 +02:00
Bartłomiej Dach
28534c1599
Reintroduce PalpableCatchHitObject at data level
2020-08-20 19:06:26 +02:00
smoogipoo
f956c9fe37
Clobber in a gameplay test
2020-08-21 02:01:29 +09:00
Bartłomiej Dach
45e2ea71b4
Rename Palpable{-> Drawable}CatchHitObject
2020-08-20 18:41:08 +02:00
Dean Herbert
75db762553
Merge pull request #9926 from peppy/catch-playfield-width-adjust
...
Fix osu!catch playfield bounds not matching expectations
2020-08-20 23:42:17 +09:00
smoogipoo
40a456170b
Add default skin display for hyperdash droplets
2020-08-20 23:34:40 +09:00
smoogipoo
c89509aca0
Fix right bound not being applied correctly
2020-08-20 20:25:40 +09:00
Dean Herbert
a94a86178b
Align osu!catch playfield with stable 1:1
2020-08-20 19:12:37 +09:00
Dean Herbert
1f14d9b690
Use correct width adjust for osu!catch playfield
2020-08-20 18:15:06 +09:00
Salman Ahmed
af52b73b06
Fill out missing documentation
2020-08-19 08:39:40 +03:00
Salman Ahmed
d4bde0afe5
Do not pass accent value on a reverted miss judgement
2020-08-19 08:18:30 +03:00
Salman Ahmed
885f8104f5
Always use public accessors even on legacy classes
...
Because of https://github.com/ppy/osu-framework/issues/3727
2020-08-19 08:00:57 +03:00
Salman Ahmed
422100192c
Move HasFont to legacy skin extensions class instead
2020-08-19 07:58:23 +03:00
Salman Ahmed
4dbf695bca
Fix wrong ordering
2020-08-04 00:04:00 +03:00
Salman Ahmed
65c269e473
Hide combo counter on gameplay break
...
Intentionally inside LegacyComboCounter and not in CatchComboDisplay, to avoid conflicting with how the legacy combo counter fades away after 1 second of no combo update, can move to parent once a DefaultComboCounter design is decided and code is shareable between.
2020-08-03 22:17:11 +03:00
Salman Ahmed
f37ba49f7f
Add catch-specific combo counter with its legacy design
2020-08-03 22:13:02 +03:00
Salman Ahmed
29053048ff
Add support to use legacy combo fonts for the counter on legacy skins
2020-08-03 21:40:20 +03:00
Dean Herbert
6b9102b2a4
Add osu!catch banana catching sounds
2020-07-30 17:58:49 +09:00
bastoo0
2b068298cc
Fix inconsistency between this and osu-performance
...
The bonus value for HD is given twice here (probably a merge issue). The correct bonus is currently used on stable: 736515a034/src/performance/catch/CatchScore.cpp (L68)
2020-07-24 12:01:23 +02:00
Dan Balasescu
2997fb3f4e
Merge pull request #9635 from peppy/perfect-mod-combo-objects-only
...
Make perfect mod ignore all non-combo-affecting hitobjects
2020-07-23 20:54:39 +09:00
Dean Herbert
2c62b23d85
Update naming
2020-07-22 19:53:45 +09:00
Dean Herbert
c1442568b9
Make perfect mod ignore all non-combo-affecting hitobjects
2020-07-21 17:04:45 +09:00
Dean Herbert
648e414c14
Update InputHandlers in line with framework changes
2020-07-19 11:39:11 +09:00
Dean Herbert
02678c04d5
Merge pull request #9556 from gagahpangeran/toggle-hit-lighting-catch
2020-07-17 17:06:40 +09:00
Dan Balasescu
ab477c3be4
Remove returns xmldoc
2020-07-16 15:55:35 +09:00
Dean Herbert
c42b315abb
Expose via CreateProxiedContent method
2020-07-16 15:35:19 +09:00
Dean Herbert
3666599053
Remove space
2020-07-15 22:00:48 +09:00
Dean Herbert
72789dc0aa
Remove redundant array spec
2020-07-15 21:52:37 +09:00
Dean Herbert
2624862e32
Fix osu!catch dropping fruit appearing above the plate instead of behind
2020-07-15 20:58:09 +09:00
Gagah Pangeran
3e2d184a91
change hitlighting bool to bindable
2020-07-14 10:52:34 +07:00
Gagah Pangeran
a25f4880d6
disable hit explotion when hit lighting off
2020-07-14 10:35:01 +07:00
smoogipoo
ede4235884
Increase HP gain of bananas
2020-07-11 20:35:58 +09:00
Dean Herbert
bd5957bc0a
Add dynamic compilation exclusion rules for ruleset types
2020-07-10 14:49:44 +09:00
ekrctb
3278a1d7d8
Standardize osu!catch coordinate system
...
There were two coordinate systems used:
- 0..512 (used in osu!stable)
- 0..1 (relative coordinate)
This commit replaces the usage of
the relative coordinate system to
the coordinate system of 0..512.
2020-07-02 00:21:45 +09:00
Bartłomiej Dach
ad85c5f538
Add base legacy skin transformer
2020-06-21 23:06:55 +02:00
smoogipoo
f3b5149648
Move some suggestions to warnings, resolve issues
2020-06-03 16:48:44 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration
2020-06-01 15:55:48 +09:00
Dean Herbert
cbd563e80b
Rename to IHasDuration
2020-05-27 12:38:39 +09:00
Dean Herbert
b8e0a6f127
Move sett from EndTime to Duration
2020-05-27 12:37:44 +09:00
Dean Herbert
6b5b215299
Split out IHasPath from IHasCurve to better define hitobjects
2020-05-26 17:44:47 +09:00
smoogipoo
bc35bc5efb
Merge branch 'master' into applydefaults-cancellation
2020-05-25 16:45:30 +09:00
smoogipoo
6d29ff0928
Fix banana showers not using cancellation token
2020-05-21 12:13:02 +09:00
Huo Yaoyuan
b43e978156
Unify to use double in CatchPerformanceCalculator.
2020-05-18 17:44:56 +08:00
smoogipoo
1865cd0762
Fix possible exceptions in performance calculators
2020-05-18 15:10:59 +09:00
smoogipoo
4719fcc291
Actually use the cancellation token
2020-05-15 18:17:39 +09:00
smoogipoo
98125102a7
Add cancellation token support to CreateNestedHitObjects()
2020-05-15 18:07:41 +09:00
Salman Ahmed
b161aa72b7
Merge remote-tracking branch 'upstream/master' into catch-legacy-skin-decoding
2020-05-14 07:22:01 +03:00
Bartłomiej Dach
5bab53b04c
Centralise trail visibility state management
2020-05-10 17:05:30 +02:00
Bartłomiej Dach
77e5e131c9
Merge branch 'master' into catch-hyperdash-catcher-colouring
2020-05-10 16:49:44 +02:00
Salman Ahmed
b44a70ef9a
Let the catcher be responsible for stopping the trails
2020-05-07 01:46:37 +03:00
Bartłomiej Dach
25f73c0b9f
Add [NotNull] annotation
2020-05-06 23:40:36 +02:00
Bartłomiej Dach
52d1e2b5f8
Improve xmldoc
2020-05-06 23:28:54 +02:00
Bartłomiej Dach
ed83ac188e
Remove special case for moving catcher sprite
2020-05-06 23:25:25 +02:00
Dean Herbert
c8134162b5
Merge pull request #8934 from smoogipoo/sorcerer-catch-changes
...
Implement Sorcerer's osu!catch difficulty calculation adjustments
2020-05-06 18:10:33 +09:00
alex
0e2ccac33b
Add spaces to comments
2020-05-04 18:36:24 -07:00
smoogipoo
46b0526db7
Remove hack limiting max number of ticks
2020-05-04 15:27:04 +09:00
smoogipoo
f42be7a6d7
Merge branch 'master' into sorcerer-catch-changes
2020-05-04 15:25:09 +09:00
Salman Ahmed
6376128bde
Remove unnecessary using directive
2020-04-23 05:33:28 +03:00
Salman Ahmed
278c3795e4
Merge remote-tracking branch 'upstream/master' into catch-hyperdash-catcher-colouring
2020-04-23 05:21:56 +03:00
Salman Ahmed
883788dd5a
Privatize externally-unused methods
2020-04-22 07:37:49 +03:00
Salman Ahmed
fccb30e031
Adjust documents
...
*whoops*
2020-04-22 07:36:59 +03:00
Salman Ahmed
f841eb7e06
Replace constructing a whole Catcher with static calculation methods
2020-04-22 07:27:15 +03:00
Salman Ahmed
2d4077e713
Reword special default hyper-dash colour constant a bit
2020-04-22 05:25:40 +03:00
Salman Ahmed
9ab0f6d8bc
Separate trail-related logic to its own container
2020-04-22 05:12:29 +03:00
Salman Ahmed
95de2c6f7f
Mark Catcher.additiveTarget to never be null
...
And provide empty containers instead.
2020-04-22 05:04:07 +03:00
Salman Ahmed
c8c2b51108
Remove redundant property set
...
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2020-04-21 11:44:39 +03:00
Salman Ahmed
ee62739b08
Simplify process of adding catcher trails
2020-04-21 11:44:39 +03:00
Salman Ahmed
a82efa626e
Add XMLDoc for default hyper-dash colour constant
2020-04-21 11:44:39 +03:00
Dean Herbert
5e3fad86cf
Fix relax replays playing back incorrectly
2020-04-21 15:28:25 +09:00
Salman Ahmed
282d100109
Fix XMLDoc references
2020-04-21 06:09:57 +03:00
Salman Ahmed
9373520bca
Add constant for special colour of catcher on default skin
2020-04-21 05:59:37 +03:00
Salman Ahmed
e17a44c99b
Merge branch 'master' of github.com:ppy/osu into catch-hyperdash-catcher-colouring
2020-04-21 05:58:56 +03:00
smoogipoo
d7ea5432a8
Fix incorrect combo calculation
2020-04-16 18:15:52 +09:00
smoogipoo
c6aa6acc1b
Apply performance calculator changes
2020-04-16 17:28:06 +09:00
smoogipoo
841d6cfcf9
Merge branch 'master' into sorcerer-catch-changes
2020-04-16 17:25:57 +09:00
Salman Ahmed
5f13dc81be
Remove no longer necessary extensions
2020-04-14 04:38:18 +03:00
Dean Herbert
081a02f748
Merge branch 'master' into catch-hyperdash-fruit-colouring
2020-04-14 10:01:15 +09:00
Dean Herbert
65b96079a0
Move dampening to base implementation and change range to 0..1
2020-04-13 13:01:02 +09:00
Fire937
f274ec297c
Add positional sound support for all rulesets
...
The SamplePlaybackBalance is calculated in a way that the balance
remains between -0.4 and 0.4.
Positional sound is not supported in osu!taiko.
2020-04-12 01:33:25 +02:00
Salman Ahmed
d27d8671ab
Convert all static getter-only properties to static readonly fields
2020-04-08 14:23:29 +03:00
smoogipoo
fd51bbb9ec
Apply latest changes
2020-04-08 12:20:46 +09:00
smoogipoo
c5aae9b757
Fix post-merge errors
2020-04-08 12:19:09 +09:00
smoogipoo
4e55212638
Merge branch 'master' into sorcerer-catch-changes
2020-04-08 12:15:24 +09:00
Salman Ahmed
7f3ad6d5be
Move default colour fallback to the extension methods itself
2020-04-05 22:15:11 +03:00
Salman Ahmed
42ac0c72ea
Fix grammer issue and more rewording
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-04-05 00:46:52 +03:00
Salman Ahmed
b8327ed877
Add test for osu!catch skin colour decoding
...
Tests the skin configuration CatchTheBeat section's colours decoding part
2020-04-05 00:30:10 +03:00
Salman Ahmed
42ccee5e6c
Fix CI issue
2020-04-05 00:15:42 +03:00
Salman Ahmed
55d076d6f3
Transform CatchSkinColour lookup to skin configuration custom colours lookup
2020-04-05 00:10:25 +03:00
Salman Ahmed
c4f7b45768
Revert "Add support for custom hyper-dash fruit colouring"
...
This reverts commit 6f2cc5471a
and also its testing cases.
This became dead code after actual correct osu!catch skin colouring, we don't support modern skinning (non-legacy skinning) at the moment, so for what it's worth this can be reverted to default red-coloured
2020-04-05 00:07:25 +03:00
Salman Ahmed
0014a8404e
GetHyperDashEndGlowColour() -> GetHyperDashCatcherAfterImageColour()
2020-04-04 23:12:42 +03:00
Salman Ahmed
19f39fe632
Change AdditiveTarget into a set method
2020-04-04 19:33:52 +03:00
Salman Ahmed
fbe95a52e3
Remove unnecessary restating comment
2020-04-04 19:29:41 +03:00
Salman Ahmed
50604dc7b2
Update catcher hyper-dashing colours on changing hyper-dash state only
2020-04-04 19:29:06 +03:00
Salman Ahmed
f3bcb0628c
Add helper methods for retrieving other skin hyper-dash colours
2020-04-04 19:09:52 +03:00
Salman Ahmed
ee247e58c8
Merge branch 'catch-hyperdash-fruit-colouring' into catch-hyperdash-catcher-colouring
2020-04-04 18:07:29 +03:00
Salman Ahmed
f67a62699b
Merge remote-tracking branch 'upstream/master' into catch-hyperdash-fruit-colouring
2020-04-03 19:57:52 +03:00
Salman Ahmed
7e82f5740b
Add a skin extension for simplifying falling back on hyper-dash colours
2020-04-03 19:35:50 +03:00
Dean Herbert
53c99d137a
Merge branch 'master' into mania-config-lookup-refactor
2020-04-03 22:22:59 +09:00
Dean Herbert
51db361c32
Update usages of Animation and Video in line with framework changes
2020-04-03 16:00:06 +09:00
smoogipoo
1f797207f7
Rework lookups to not require total playfield columns
2020-04-03 12:31:05 +09:00