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

489 Commits

Author SHA1 Message Date
Josh
757d236e14 Add the UI file 2022-08-13 18:55:31 +08:00
Josh
fa2ebe1d5f add basic touch functionality 2022-08-13 18:02:29 +08:00
Dean Herbert
c95eb2d2c1 Fix incorrect case in CatcherArea parameter 2022-07-06 14:28:50 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Darius Wattimena
38edeac710 Moved the logic to the bottom as placeCaughtObject is otherwise not called yet 2021-11-18 20:24:40 +01:00
Darius Wattimena
95891bc655 Moved clear plate logic to Catcher class 2021-11-18 20:03:41 +01:00
Darius Wattimena
2c4f1817d3 Fixed an issue where banana showers don't clear the plate when missing the last banana 2021-11-14 20:43:31 +01:00
Dan Balasescu
cab254dc81
Merge branch 'master' into var-inspections-update 2021-10-27 14:02:49 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
ekrctb
e5050b90a5 Don't assume catcher dash speed is 2x the walk speed 2021-10-26 20:09:48 +09:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Bartłomiej Dach
e79150d4da
Reorder constructor arguments for HitExplosionEntry 2021-08-12 21:48:08 +02:00
Bartłomiej Dach
68f454b51a
Enable NRT in explosion-related classes and streamline null handling 2021-08-12 21:48:07 +02:00
Bartłomiej Dach
98ce69d1d3
Fix explosion reading out time values from wrong clock 2021-08-11 23:32:58 +02:00
Bartłomiej Dach
4bcbe6ac90
Restructure explosion to ensure proper lifetime bounds 2021-08-11 21:23:34 +02:00
Bartłomiej Dach
8c8a64fe6e
Add legacy hit lighting implementation 2021-08-11 21:23:33 +02:00
Bartłomiej Dach
95a58ca366
Store judgement directly in hit explosion entry 2021-08-11 21:23:33 +02:00
Bartłomiej Dach
a1f50e39aa
Add basic structure for skinning catch explosions 2021-08-11 21:23:32 +02:00
smoogipoo
3e56388ba8 Match casing in enum value 2021-08-02 15:08:42 +09:00
ekrctb
4c68268d98 Call ApplyTransformsAt on free 2021-07-31 08:31:08 +09:00
ekrctb
4e2f928d65 Fix comment 2021-07-30 15:44:09 +09:00
ekrctb
a204ef39dd Prevent catcher trail generation while rewinding 2021-07-29 17:32:38 +09:00
ekrctb
81f23e1111 Manage catcher trails by lifetime entries 2021-07-29 17:12:01 +09:00
ekrctb
90f3611ed0 Replace "sprite" variable names in CatcherTrailDisplay
The `CatcherTrail` was originally named `CatcherTrailSprite`, but it is not a sprite anymore.
2021-07-28 19:11:22 +09:00
ekrctb
a960a28d06 Replace "end glow" terminology with "hyper-dash after-image"
Because the is "end glow" is when a hyper-dash is *started*, the name was confusing.
The "after-image" was already used in the code as a synonym of "end glow" inconsistently.
2021-07-28 19:11:22 +09:00
Dean Herbert
2b107d624a
Merge pull request #14024 from ekrctb/trail-generation
Move catcher trail generation logic to `CatcherArea` to remove mutual dependency of `Catcher` and `CatcherTrailDisplay`
2021-07-28 19:06:44 +09:00
ekrctb
0bf04ece34 Avoid internal property by using ChildrenOfType 2021-07-28 18:13:43 +09:00
ekrctb
846f539428 Avoid usage of LINQ in last dash trail computation 2021-07-27 19:11:08 +09:00
ekrctb
da69867fd4 Move catcher trail generation logic to CatcherArea 2021-07-27 19:07:37 +09:00
ekrctb
de68fd12b3 Move catcher trail colouring logic to CatcherTrailDisplay 2021-07-27 19:07:37 +09:00
ekrctb
8045534fa5 Remove outdated comment and simplify code 2021-07-26 18:18:24 +09:00
ekrctb
4282442278 Make Catcher.body private as it is no longer needed by CatcherTrailDisplay 2021-07-26 17:58:34 +09:00
ekrctb
c08130398c Add some comments 2021-07-26 17:58:34 +09:00
ekrctb
bb046fa3b8 Move catcher trail generation logic to Catcher
It resolves mutual dependency of `Catcher` and `CatcherTrailDisplay`.
Trail generation logic is moved to `Catcher`.
The generation logic no longer uses delayed scheduling because the hidden state is hard to manage.
Instead, the last time a trail is generated is calculated and used.
The new logic has a different behavior when the dash key is pressed in succession under 50ms, but it is not noticeable for normal plays.
2021-07-26 17:51:59 +09:00
ekrctb
d9f9ad35be Move catcher base size constant to Catcher. 2021-07-21 16:43:24 +09:00
ekrctb
30777795ce Add some doc comment to CatcherArea 2021-07-21 16:40:35 +09:00
ekrctb
94678064ff Rename CatcherArea.MovableCatcher to Catcher 2021-07-21 16:28:31 +09:00
ekrctb
81d0a9bd9c Fix item ordering 2021-07-19 21:05:36 +09:00
ekrctb
41169fbdaf Add [NotNull] 2021-07-19 20:20:10 +09:00
ekrctb
7201cfe0b4 Move child drawable creation of CatchPlayfield from constructor to load. 2021-07-19 20:18:17 +09:00
ekrctb
879467961f Fix catcher trails displayed in wrong place 2021-07-19 20:13:31 +09:00
ekrctb
b88ee3c1a1 Pass DroppedObjectContainer via constructor instead of DI
It is now just one level deep, so it is not beneficial to use DI here.
This effectively reverts ae09c23e.
2021-07-19 20:11:49 +09:00
ekrctb
50f9e5f362 Replace usage of CatcherArea.MovableCatcher with Catcher 2021-07-19 19:52:40 +09:00
ekrctb
97059a9f50 Create Catcher in CatchPlayfield 2021-07-19 19:44:40 +09:00
Dean Herbert
01961fe4f9
Merge pull request #13747 from ekrctb/catcher-flip
Don't flip catcher plate contents when catcher changes direction
2021-07-06 00:02:23 +09:00
ekrctb
83c80291d4 Don't flip catcher plate contents in legacy skin 2021-07-02 23:23:21 +09:00
ekrctb
fbba32647e Decouple direction of catcher from its scale 2021-07-02 23:22:39 +09:00
ekrctb
170513568b Move caught object stack vertical offset logic 2021-07-02 20:43:47 +09:00
Dean Herbert
ee6cf4396a
Merge pull request #13648 from ekrctb/dropped-object-container
Use DI to resolve "dropped object target" container in `Catcher`
2021-06-25 18:23:39 +09:00
ekrctb
c0c1b8d620 Fix catcher hyper-dash afterimage is not always displayed 2021-06-24 16:12:43 +09:00
ekrctb
ae09c23e4e Resolve DroppedObjectContainer via DI 2021-06-24 16:09:13 +09:00
ekrctb
16d5893535 Add DroppedObjectContainer class 2021-06-24 15:51:54 +09:00
ekrctb
b54e82eb99 Remove unused argument from CatchPlayfield 2021-06-22 15:23:50 +09:00
ekrctb
b087c95581 Use a frozen clock for catcher trails 2021-06-16 16:17:32 +09:00
ekrctb
1632450918 Add comments 2021-06-16 16:17:32 +09:00
ekrctb
73e443a0d9 Add comments 2021-06-16 14:01:12 +09:00
ekrctb
df16d4bacc Remove CurrentTexture from catcher 2021-06-14 20:26:33 +09:00
ekrctb
38a56d64d3 Rename CatcherTrailSprite -> CatcherTrail 2021-06-14 19:47:18 +09:00
ekrctb
c094914023 Simplify catcher trail creation 2021-06-14 19:46:48 +09:00
ekrctb
9b6ab4360e Use common skinnable catcher in catcher trails 2021-06-14 19:45:58 +09:00
ekrctb
ca061c4b93 Factor out SkinnableDrawable component of the catcher to SkinnableCatcher 2021-06-14 19:41:51 +09:00
ekrctb
7f7c2c73e0 Move catcher movement logic of Catcher to CatcherArea 2021-06-11 15:39:06 +09:00
Dean Herbert
05b46b4743
Merge pull request #13379 from ekrctb/catcher-sprite
Refactor osu!catch catcher sprite to factor out skinning logic
2021-06-10 16:52:17 +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
0192549d6c Refactor catcher sprite to use skinned piece pattern 2021-06-08 21:29:41 +09: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
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
Dean Herbert
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +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
Dean Herbert
ddf1b560f3 Remove catcher fade during hyperdash
Closes https://github.com/ppy/osu/issues/12472.
2021-04-20 18:18:51 +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
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
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
ekrctb
96f3e0dad8 Replace CatchHitObject.X usage to EffectiveX and OriginalX 2020-12-14 11:03:14 +09:00
ekrctb
2634c6b8d9 Combine DisplayRadius and Scale to DisplaySize 2020-12-10 20:43:01 +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
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
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
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
56721a6fa9 Compute object position in stack via a pure function 2020-12-08 20:36:59 +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
ekrctb
22a5df6309 Clear all transforms of catcher trail sprite before returned to pool 2020-12-08 17:31:00 +09:00
ekrctb
02571ec7ae Remove hit explosion on revert result 2020-12-08 15:43:17 +09:00