1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 10:57:26 +08:00
Commit Graph

1715 Commits

Author SHA1 Message Date
Dean Herbert
6995945360 Use With to simplify drawable construction 2021-06-10 15:45:49 +09:00
Salman Ahmed
cf40282f1f Convert LegacySkinTransformers to accept raw ISkins rather than a full ISkinSource 2021-06-09 22:49:31 +03:00
ekrctb
e5deecf459 Check skin version for legacy catcher sprite 2021-06-09 15:47:23 +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
ekrctb
7df971a970 ICatcherPiece -> ICatcherSprite 2021-06-08 22:10:13 +09:00
ekrctb
194c78f67a Make current state bindable protected 2021-06-08 22:08:54 +09:00
ekrctb
109a366722 Use separate classes for old and new catcher legacy skin element
- Fix catcher texture animation is reset for legacy old catcher skin
2021-06-08 21:59:09 +09:00
ekrctb
0192549d6c Refactor catcher sprite to use skinned piece pattern 2021-06-08 21:29:41 +09:00
Samuel Cattini-Schultz
f1bef989b7 Refactor DifficultyAttributes to use auto properties over public fields 2021-06-08 19:43:59 +10:00
ekrctb
6e28c1b29a Move default catcher sprite to its own file 2021-06-08 17:54:57 +09:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup 2021-06-08 17:37:36 +09:00
Dean Herbert
e388a896e8 Don't apply visibility increase to first object in osu!catch
The goal of the visibility increase is to help in cases where timing is
an issue (by showing the approach circle etc.). This doesn't need to
apply to catch.

@smoogipoo interested as to whether you agree with this one. Visually it
looks better to me but it does change the behaviour for only osu!catch,
so I'm not 100% confident on it.

Closes #13367.
2021-06-08 16:02:26 +09:00
Bartłomiej Dach
122a624b7f Remove bogus CatchHitWindows
`CatchHitWindows` were a vestige from the past, and were not actually
used anywhere except for the hit error meter test, giving off an
appearance that the hit error meter was working properly.
`CatchHitObject` actually specifies empty hit windows.
2021-06-07 13:16:07 +02:00
Dean Herbert
1b93234c76 Merge branch 'master' into fruit-representation 2021-06-07 16:05:00 +09:00
ekrctb
bb02c35f2d Move all osu!catch legacy skin piece files to the correct location 2021-06-07 15:10:47 +09:00
ekrctb
ac5c55bd2c Remove "fruit visual representation" state from DrawableFruit
Instead, skin pieces compute visual representation from `IndexInBeatmap`.
2021-06-07 14:49:37 +09:00
ekrctb
166e4565be Move FruitVisualRepresentation namespace 2021-06-07 13:59:17 +09:00
Dean Herbert
d26c9a66c2 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-07 12:01:19 +09:00
ekrctb
8e20f90ed5 Use seeded RNG for catch explosion animation
The animation is always the same when a replay is rewound or a beatmap is played multiple times.
2021-06-04 19:54:46 +09:00
ekrctb
181f1da3d3 Maintain catch hit explosion by lifetime entries
- Fix hit explosion not showing when a replay is rewound to a time after a hit object is caught
2021-06-04 19:46:50 +09: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
Samuel Cattini-Schultz
7cdef5cb0a Merge branch 'master' into diffcalc/refactor/catch-clockrate-effects 2021-06-03 15:51:03 +10:00
Samuel Cattini-Schultz
94701b77cb Add TODO for variable clockrate support in catch difficulty calculator 2021-06-03 15:44:28 +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
de0e51a81d Merge branch 'master' into fix-skin-sample-lookup 2021-05-31 15:27:39 +09:00
Salman Ahmed
4e186b0cf5 ContentVisible -> HiddenByRulesetImplementation 2021-05-31 09:24:26 +03:00
Salman Ahmed
60b781701f Rewrite catch combo counter hide logic 2021-05-30 14:22:11 +03:00
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
Dean Herbert
f653d37058
Merge pull request #8521 from peppy/remove-scale-down-to-fit
Remove ScaleDownToFit as it was implemented without enough safety
2020-03-31 23:22:04 +09:00
Dean Herbert
03b90fe2db Remove local application of same margin in CatchDifficultyCalculator 2020-03-31 19:01:49 +09:00
Dean Herbert
b7d73f96ea Fix osu!catch catcher hit area being too large 2020-03-31 18:33:09 +09:00
Dean Herbert
1fce7cce01 Remove ScaleDownToFit as it was not implemented without enough safety 2020-03-31 13:50:04 +09:00
Salman Ahmed
16a4525a9c CatchSkinConfiguration -> CatchSkinColour 2020-03-30 09:33:47 +03:00
Dean Herbert
2abb8a37df
Merge branch 'master' into show-mod-settings-tooltip 2020-03-29 14:35:04 +09:00
Salman Ahmed
c2e31f53f1 Merge remote-tracking branch 'upstream/master' into catch-hyperdash-fruit-colouring 2020-03-28 07:44:11 +03:00
Dean Herbert
2949e8dc27 Reduce spread of stacked fruit 2020-03-26 16:58:23 +09:00
Salman Ahmed
fecafc2e48 Fix additive target accidentally clears all of the added containers
It sets the AdditiveTarget on the object initializer but then the catcher is set to Child which wipes up all of the existing children (containers added by Catcher through AdditiveTarget setter)
2020-03-26 09:14:44 +03:00
Salman Ahmed
302fdd834a Add support for custom hyper-dash catcher colouring 2020-03-26 09:11:59 +03:00
Salman Ahmed
e3a7c8a124 Make catcher trails colouring per container 2020-03-26 09:11:31 +03:00
Salman Ahmed
d995f3e1cc Add support for custom hyper-dash legacy fruit colouring 2020-03-26 05:42:13 +03:00
Salman Ahmed
6f2cc5471a Add support for custom hyper-dash fruit colouring 2020-03-26 05:42:12 +03:00
Salman Ahmed
0a368f13d9 Add default hyper-dash colour constant on Catcher 2020-03-26 05:42:11 +03:00
Salman Ahmed
e6b2e3b0ed Add osu!catch skin configurations 2020-03-26 05:42:11 +03:00
Dean Herbert
8a2aac5f83 Rename conversion methods for clarity 2020-03-25 20:21:34 +09:00
Dean Herbert
388cf5c83a Fix catch positional data being incorrectly recorded 2020-03-24 15:38:54 +09:00
Dean Herbert
96a849f897 Add remaining replay recorders 2020-03-24 14:55:49 +09:00
Dean Herbert
022465f546 Add encoding and import support 2020-03-24 14:51:52 +09:00
Dean Herbert
546772192c Add helper method to convert to legacy mods enums 2020-03-24 13:07:51 +09:00
Liam DeVoe
1da590c63f use N1 format instead of 0.# 2020-03-22 22:54:21 -04:00
Liam DeVoe
afe7397d89 remove unnecessary using statements 2020-03-22 22:50:52 -04:00
Liam DeVoe
67667b3d22 enforce precision for ModDifficultyAdjust and derived classes 2020-03-22 21:22:46 -04:00
Liam DeVoe
63e9b2a299 use string.Empty, use base SettingDescription for [Osu/Catch]ModDifficultyAdjust 2020-03-22 18:50:09 -04:00
Liam DeVoe
a440d15620 simplify array initializationstatement 2020-03-20 16:58:02 -04:00
Liam DeVoe
e84b40f8ed remove unnecessary ToString calls 2020-03-20 16:53:40 -04:00
Liam DeVoe
cda1efef0b move overridability to SettingDescription method 2020-03-20 16:34:36 -04:00
Liam DeVoe
7bdbdd25f8 Revert "use SettingSource to define IconTooltip format"
This reverts commit 5a6d8f1932.
2020-03-20 16:05:12 -04:00
Liam DeVoe
5a6d8f1932 use SettingSource to define IconTooltip format 2020-03-20 12:47:17 -04:00
Liam DeVoe
7a0a633ef9 don't use ToString, proper indent level 2020-03-19 00:06:55 -04:00
Liam DeVoe
18bf7c913b show mod settings in ModIcon tooltip 2020-03-18 23:43:26 -04:00
Bartłomiej Dach
f904859943 Remove leftover unused private methods 2020-03-15 15:45:13 +01:00
Dean Herbert
d3f23b766e Move across to new file in line with master 2020-03-14 17:06:23 +09:00
Dean Herbert
9ea0e83f3d Merge branch 'master' into correct-trail-animation-frame 2020-03-14 16:57:35 +09:00
Dean Herbert
45dfb22bd5 Centralise additive texture creation 2020-03-14 16:39:44 +09:00
Dean Herbert
63b4fa0d56 Merge branch 'master' into correct-trail-animation-frame 2020-03-14 16:12:52 +09:00
Dean Herbert
1523c4c63f Merge branch 'master' into catcher-area-file-cleanup 2020-03-14 15:41:26 +09:00
Dean Herbert
202c8cdad8 Add braces to satisfy codefactor 2020-03-14 15:35:59 +09:00
Dean Herbert
1733519c3a Split out CatcherArea nested classes and reorder methods 2020-03-13 12:59:30 +09:00
smoogipoo
c8cdc5fda5 Expose half catcher width to movement skill 2020-03-13 12:43:01 +09:00
Dean Herbert
c30bfa79e7
Merge branch 'master' into correct-trail-animation-frame 2020-03-13 09:55:41 +09:00
Dean Herbert
cc8a413f6b
Merge pull request #8230 from EVAST9919/catcher-fix
Fix catcher showing miss sprite upon missing bananas
2020-03-12 20:10:36 +09:00
Andrei Zavatski
bc2a1cdb62 Apply suggestions 2020-03-12 12:04:36 +03:00
Andrei Zavatski
e46c070d95 Add test scene 2020-03-11 23:09:29 +03:00
Andrei Zavatski
09b9983286 Fix CatcherAnimationState is Fail if missing banana shower 2020-03-11 21:14:07 +03:00
smoogipoo
5c051027e7 Fix different offset being applied from stable 2020-03-11 18:43:08 +09:00
smoogipoo
919410c627 Remove always-false condition 2020-03-11 18:39:50 +09:00
smoogipoo
f8e7579f45 Fix juice stream position reset not ever being applied 2020-03-11 18:38:05 +09:00
smoogipoo
5b03b3e363 Fix hyperdashes not recalculated with HR application 2020-03-11 18:36:37 +09:00
Dan Balasescu
42bc8bc50d
Merge pull request #8199 from peppy/add-banana-scale-rotate
Add random rotation and scale factors to osu!catch bananas
2020-03-11 16:31:18 +09:00
Dean Herbert
966e5bbc8a User helper function to reduce copy paste 2020-03-11 15:54:21 +09:00
Dan Balasescu
03c8140d3c
Merge branch 'master' into add-catcher-animation-states 2020-03-11 14:53:14 +09:00
Dean Herbert
73b225ad62 Make catcher's trail reflect the current animation frame rather than play the full animation 2020-03-11 14:28:13 +09:00
Dan Balasescu
affb227b38
Merge pull request #8200 from peppy/add-hyperdash-afterimage
Add afterimage glow when entering hyperdash
2020-03-11 13:56:19 +09:00
Dan Balasescu
cd5f0d6e96
Merge pull request #8201 from peppy/fix-hyperdash-test
Fix hyperdash test having a zero-length juice stream
2020-03-11 13:46:59 +09:00
Dean Herbert
1bad2ff879 Load all catcher states ahead-of-time to avoid blocking loads 2020-03-11 13:45:55 +09:00
Dan Balasescu
460f564b2b
Merge branch 'master' into add-hyperdash-afterimage 2020-03-11 12:58:24 +09:00
Dan Balasescu
ba98155832
Merge branch 'master' into fix-hyperdash-test 2020-03-11 12:56:40 +09:00
Dan Balasescu
df52b58543
Merge branch 'master' into remove-tiny-droplet-samples 2020-03-11 12:46:16 +09:00
Dan Balasescu
27c31969fd
Merge branch 'master' into fix-catch-hitobject-fadein 2020-03-11 11:49:11 +09:00
Dean Herbert
66a0f3334d
Merge branch 'master' into fix-perfect-judgements 2020-03-10 23:50:57 +09:00
Dean Herbert
8ec2c35c4f Change origin of nested objects inside JuiceStream to fix visibility issues 2020-03-10 19:35:10 +09:00
Dean Herbert
9ad519e5a5 Remove fade and custom InitialLifetimeOffset 2020-03-10 19:35:10 +09:00
Dean Herbert
4daba48a1d Stop rotating DrawableCatchHitObjects at the top level 2020-03-10 19:30:31 +09:00
Dean Herbert
14192c069f Don't play samples on catching a tiny droplet 2020-03-10 18:05:44 +09:00
Dean Herbert
5329b222f6 Fix hyperdash test having a zero-length juice stream 2020-03-10 17:49:51 +09:00
Dean Herbert
eab544b49f Add afterimage glow when entering hyperdash 2020-03-10 16:41:08 +09:00
Dean Herbert
2b33594400 Add random rotation and scale factors to osu!catch bananas 2020-03-10 15:59:13 +09:00
Dean Herbert
7069cef9ce Add catcher kiai/fail animation states 2020-03-10 15:28:37 +09:00
Dan Balasescu
a6cf6207aa
Merge pull request #8192 from peppy/fix-hyperdash
Fix hyperdash not initiating correctly when juice streams are present
2020-03-10 14:00:44 +09:00
Dean Herbert
0d18ea1d29 Add animation and fallback catcher support 2020-03-10 12:36:25 +09:00
Dean Herbert
e7f1f0f38b Fix hyperdash not initiating correctly when juice streams are present 2020-03-10 10:21:32 +09:00
smoogipoo
6d051d9e42 Fix perfect mod failure cases 2020-03-02 13:25:56 +09:00
Dean Herbert
b5306d16cf
Merge pull request #8005 from peppy/fix-catcher-dropping-streams
Fix catcher dropping juice streams due to it considering ignored judgements
2020-02-26 20:58:22 +09:00
Dean Herbert
2aa649e073 Fix catcher dropping juice streams due to it considering ignored judgements 2020-02-26 19:31:49 +09:00
Dean Herbert
e5927447fc Fix hyperdash fruit not visible on custom skins 2020-02-26 19:22:46 +09:00
Dean Herbert
015a39abc7 Fix hyperdash fruit not visible on default skin 2020-02-26 19:22:31 +09:00
Bartłomiej Dach
bf36dc10a5 Fix invalid cast
Since introduction of IgnoreJudgement and its usage in JuiceStream
and BananaShower the hard cast in CatcherArea that was used to check
if the drawable hit object should cause the fruits on the plate explode
at the end of combo caused a hard crash instead, since IgnoreJudgement
was no longer deriving from CatchJudgement.

Replace the hard cast with a soft pattern-matched cast.
2020-02-25 23:21:54 +01:00
Dean Herbert
ffc7eaa3f2 Fix hitobjects with unknown lifetimes by enforcing non-null judgement
We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.

This fixes BananaShower and JuiceStreams in osu!catch.

This also makes HitObject abstract and cleans up convert HitObject implementations.
2020-02-23 13:49:06 +09:00
Dean Herbert
a55b2b8918 Add explosion effect when catching fruit 2020-02-21 18:09:50 +09:00
Dan Balasescu
8d48008dd5
Merge branch 'master' into split-out-pulp-formations 2020-02-21 11:45:06 +09:00
Dean Herbert
9344f62cf0 Merge branch 'master' into catch-droplet-rotation 2020-02-21 11:09:02 +09:00
Dean Herbert
a7e3e8ace9 Merge branch 'master' into catch-drawable-namespace 2020-02-21 10:31:31 +09:00
Dean Herbert
8a6a424893
Merge branch 'master' into catch-droplet-rotation 2020-02-21 10:31:02 +09:00
smoogipoo
6468bfa543 Apply adjustments 2020-02-21 10:01:38 +09:00
Dean Herbert
049975b5a4 Use kebaberize shorthand 2020-02-20 15:45:54 +09:00
Dean Herbert
8f5d3896f6 Remove unnecessary cast by changing method siganture 2020-02-20 15:45:47 +09:00
Dean Herbert
5551343cf3 Throw instead of null return 2020-02-20 15:45:25 +09:00
Dean Herbert
2869128e11 Update in line with combo colour API changes 2020-02-20 15:41:57 +09:00
Dean Herbert
13873ff1b6 Split out pulp formations into own piece classes 2020-02-19 23:32:56 +09:00
Dean Herbert
ea0bbd2926 Rename drawable namespace to avoid clashes with framework class 2020-02-19 18:01:59 +09:00
Dean Herbert
7b27f6b378 Add droplet rotation animation 2020-02-19 17:55:40 +09:00
Dean Herbert
e1140d7c91 Fix caught fruit radius being incorrect due to moved scale 2020-02-19 17:28:40 +09:00
Dean Herbert
4c4140ae54 Adjust droplets to match stable 2020-02-19 15:55:22 +09:00
Dean Herbert
5261579531 Fix indices in beatmap not being transferred to children (and being off by one) 2020-02-19 15:37:12 +09:00
Dean Herbert
69b5d5606a Fix nested catch objects not having a correct IndexInBeatmap 2020-02-19 15:32:24 +09:00
Dean Herbert
3f99d25e37 Use new UpdateComboColour method to simplify colouring 2020-02-19 15:28:29 +09:00
Dean Herbert
26fe15b038 Fix fruit representation not cycling as often as it should 2020-02-19 14:41:25 +09:00
Dean Herbert
aeb45c8442 Fix ordering of fruits to match stable 2020-02-19 14:31:43 +09:00
Dean Herbert
24e33abcbf Fix banana colouring for skins 2020-02-19 14:31:32 +09:00
Dean Herbert
3eeb60f60f Centralise and fix scaling 2020-02-19 14:31:14 +09:00
Dean Herbert
ce1a57550f Add droplet skinning support 2020-02-19 13:29:05 +09:00
Dean Herbert
0f85e81240 Fix handling of bindable changes in accent colour 2020-02-19 12:10:09 +09:00
Dean Herbert
f245fe5934 Fix catch combo colouring 2020-02-19 10:28:20 +09:00
Dean Herbert
ab863cdfd9 Fix incorrect scaling factor being applied 2020-02-19 09:52:29 +09:00
Dean Herbert
73e5018696 Move radius adjust local to fruit piece 2020-02-19 09:39:56 +09:00
Dean Herbert
ded7f5ff1b Merge branch 'master' into catch-fruit-skinning 2020-02-19 09:38:03 +09:00
Dean Herbert
65320ace47 Merge branch 'master' into fix-catch-skin-change 2020-02-18 13:41:00 +09:00
Dean Herbert
79f3249d37 Fix typo in method 2020-02-18 13:40:50 +09:00
Dean Herbert
b4887f9120 Fix dropping fruit as well (with tidying along the way) 2020-02-18 12:24:22 +09:00
Dean Herbert
c51e5a8c1d Fix osu!catch fruit exploding multiple timed is skin is changed during explode animation 2020-02-18 12:11:30 +09:00
Dean Herbert
89bff32274 Fix metrics not matching between skins and lazer 2020-02-17 19:16:40 +09:00
Dean Herbert
2133ba38e5 Add overlay layer 2020-02-17 19:07:43 +09:00
Dean Herbert
7ce00bebf0 Add basic structure for skinning fruits 2020-02-17 18:47:22 +09:00
Dean Herbert
a3e0f84fcc Update catcher test to use SkinnableTestScene 2020-02-17 17:19:46 +09:00
Dean Herbert
bb541f5ae4 Update inspectcode version and fix new issues 2020-02-15 11:54:29 +09:00
smoogipoo
cf12ffd27e Merge remote-tracking branch 'origin/master' into sorcerer-catch-changes
# Conflicts:
#	osu.Game.Rulesets.Catch/Difficulty/CatchPerformanceCalculator.cs
2020-02-13 17:18:32 +09:00
Dean Herbert
53b62816f8 Add index constants for cross-class safety 2020-02-13 14:07:37 +09:00
voidedWarranties
ca237fd987 Simplify ordering by using only numbers, add xmldoc 2020-02-10 16:21:49 -08:00
voidedWarranties
ea521b466f Switch numerical consts to an enum 2020-02-09 21:37:40 -08:00