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

127 Commits

Author SHA1 Message Date
Dean Herbert
c1f23ef211 Add beat snap grid for osu!catch editor
As discussed in https://github.com/ppy/osu/discussions/23462.
2023-06-06 17:52:29 +09:00
ekrctb
812a4b412a Move judgement result revert logic to Playfield
Previously, some judgement results were not reverted
when the source DHO is not alive (e.g. frames skipped in editor).
Now, all results are reverted in the exact reverse order.
2023-01-19 19:57:13 +09:00
ekrctb
b88091262d Remove #nullable disable from Catch.UI 2023-01-15 17:29:35 +09:00
Dean Herbert
775952380f Remove unused using statements 2022-12-13 18:57:17 +09:00
Dylan Nantz
0dd4e0cf94 hide cursor in catch 2022-12-12 21:18:01 -05:00
Bartłomiej Dach
7f68fe429f
Remove unused using directive 2022-11-30 20:01:59 +01:00
Bartłomiej Dach
285248d554
Fix potential null dereference in CatchPlayfield 2022-11-30 20:01:11 +01:00
Dean Herbert
5ce2d6f54a Hide the game mouse cursor when playing osu!catch with relax mod 2022-11-30 18:13:53 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
ekrctb
e8cd9a5d11 Allow arbitrary height catch editor
Useful because can see more notes at once.
2022-10-06 17:26:03 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
ekrctb
da69867fd4 Move catcher trail generation logic to CatcherArea 2021-07-27 19:07:37 +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
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
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
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
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
ekrctb
ccca7e0b25 more specific type droppedObjectContainer 2020-12-09 10:35:01 +09:00
ekrctb
0213f77b4b Move catcher state changing logic to OnNewResult method 2020-12-08 14:28:30 +09:00
ekrctb
e82ca66d3e Fix depth of dropped objects 2020-12-04 10:21:54 +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
e8842eed81 Use bigger initial capacity for catch hit object pool 2020-12-01 14:50:42 +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
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
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
fcf3a1d13c Encapsulate combo display better 2020-09-12 22:40:34 +02:00
Salman Ahmed
ba8a4eb6f0 Move osu!catch combo counter display to inside CatcherArea 2020-09-01 20:17:21 +03:00
Salman Ahmed
4dbf695bca Fix wrong ordering 2020-08-04 00:04:00 +03:00
Salman Ahmed
f37ba49f7f Add catch-specific combo counter with its legacy design 2020-08-03 22:13:02 +03:00
Dean Herbert
c42b315abb Expose via CreateProxiedContent method 2020-07-16 15:35:19 +09:00
Dean Herbert
3666599053 Remove space 2020-07-15 22:00:48 +09:00
Dean Herbert
72789dc0aa Remove redundant array spec 2020-07-15 21:52:37 +09:00
Dean Herbert
2624862e32 Fix osu!catch dropping fruit appearing above the plate instead of behind 2020-07-15 20:58:09 +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