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

396 Commits

Author SHA1 Message Date
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
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
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
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
89bff32274 Fix metrics not matching between skins and lazer 2020-02-17 19:16:40 +09:00
Dean Herbert
7ce00bebf0 Add basic structure for skinning fruits 2020-02-17 18:47:22 +09:00
Dean Herbert
bb541f5ae4 Update inspectcode version and fix new issues 2020-02-15 11:54:29 +09:00
Dean Herbert
daf5fa9da4 Throw NotSupportedException instead 2020-02-06 13:16:32 +09:00
Dean Herbert
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
smoogipoo
a554ca728b Don't reuse the same control point references 2019-12-16 15:27:54 +09:00
smoogipoo
fa1468325e Refactor hitobjects to remove default control point 2019-12-09 17:48:27 +09:00
smoogipoo
b9d12e5fe4 Fix nested hitobjects not updating 2019-12-06 20:53:40 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Berkan Diler
fccdbffa93 Use MathF instead of Math- functions when possible
MathF-functions are faster than the Math-counterpart and it looks cleaner, so use MathF when we cast to float or int anyway.
2019-11-25 00:45:42 +01:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
Huo Yaoyuan
bbeab6fa76 Use auto property. 2019-11-12 19:53:25 +08:00
Dean Herbert
b37bf4ea01 Merge remote-tracking branch 'upstream/master' into selection-hitsound-addition 2019-11-12 10:44:53 +09:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
smoogipoo
6fc1be64c2 Make hitobject samples a bindable list 2019-11-08 14:04:57 +09:00
smoogipoo
f429a8f7c2 Add back/obsolete old AddNested() method 2019-10-17 14:02:08 +09:00
smoogipoo
d8f3678c3c Rename parameter 2019-10-17 12:53:54 +09:00
smoogipoo
1a0dfcdd46 Make catch use the new nested hitobject structure 2019-10-17 12:37:09 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
smoogipoo
bbf0544a8d Add bindables for IHasComboInformation properties 2019-09-26 16:55:08 +09:00
Dean Herbert
1c317bc9dc Merge branch 'reset-dho-lifetimes' into fix-catch-rewind 2019-09-12 19:40:26 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
Dean Herbert
ec7a50b75f Fix already caught osu!catch objects not correctly disappearing 2019-09-08 00:10:31 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
Dean Herbert
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00
iiSaLMaN
fb69755869 Use transform management for catch hit objects 2019-08-26 15:15:23 +03:00
Dean Herbert
48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
smoogipoo
38a2b9d92b Fix multiple invocations by using a separate variable 2019-08-01 13:33:00 +09:00