1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-19 06:02:56 +08:00
Commit Graph

1209 Commits

Author SHA1 Message Date
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