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
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
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
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
004c705aa9
Remove ScaleContainer and flatten the Drawable tree of catch DHO
2020-12-08 20:37:08 +09:00
Dan Balasescu
1757b9c3e7
Merge branch 'master' into fruit-piece-in-place
2020-12-08 17:42:34 +09:00
ekrctb
cb76a2d7b5
Restore catcher state on revert judgement result
2020-12-08 15:03:03 +09:00
ekrctb
b2e5658d23
Merge branch 'master' into fruit-piece-in-place
2020-12-07 18:57:42 +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
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
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
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
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
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
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
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
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
ekrctb
468b2a97cb
Use events instead of overriding Add (catch)
2020-11-20 17:56:47 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09: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
smoogipoo
696e3d53af
Fix slider samples being overwritten by the last node
2020-10-09 20:50:09 +09:00
smoogipoo
4ca9a69de2
Use new hit results in catch
2020-09-29 16:33:38 +09:00
smoogipoo
855b5ba4ed
Merge branch 'master' into add-droplet-hypers
2020-08-21 13:09:16 +09:00
smoogipoo
f00bc67aaa
Fix pulp and use relative sizse
2020-08-21 12:29:28 +09:00
Bartłomiej Dach
28534c1599
Reintroduce PalpableCatchHitObject at data level
2020-08-20 19:06:26 +02:00
Bartłomiej Dach
45e2ea71b4
Rename Palpable{-> Drawable}CatchHitObject
2020-08-20 18:41:08 +02:00
smoogipoo
40a456170b
Add default skin display for hyperdash droplets
2020-08-20 23:34:40 +09:00
Dean Herbert
6b9102b2a4
Add osu!catch banana catching sounds
2020-07-30 17:58:49 +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
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
6d29ff0928
Fix banana showers not using cancellation token
2020-05-21 12:13:02 +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
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
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
7e82f5740b
Add a skin extension for simplifying falling back on hyper-dash colours
2020-04-03 19:35:50 +03:00
Salman Ahmed
16a4525a9c
CatchSkinConfiguration -> CatchSkinColour
2020-03-30 09:33:47 +03:00
Salman Ahmed
6f2cc5471a
Add support for custom hyper-dash fruit colouring
2020-03-26 05:42:12 +03: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
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
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
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
2b33594400
Add random rotation and scale factors to osu!catch bananas
2020-03-10 15:59:13 +09:00
Dean Herbert
015a39abc7
Fix hyperdash fruit not visible on default skin
2020-02-26 19:22:31 +09: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