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