Commit Graph

373 Commits

Author SHA1 Message Date
Bartłomiej Dach a1f50e39aa
Add basic structure for skinning catch explosions 2021-08-11 21:23:32 +02:00
Bartłomiej Dach 637e5cb6b7
Fix offsets not being mirrored 2021-08-10 22:33:28 +02:00
Bartłomiej Dach 30cb4280a4
Add test for catch beatmap mirroring 2021-08-10 22:33:28 +02: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
ekrctb 0bf04ece34 Avoid `internal` property by using `ChildrenOfType` 2021-07-28 18:13:43 +09:00
ekrctb da69867fd4 Move catcher trail generation logic to `CatcherArea` 2021-07-27 19:07:37 +09:00
ekrctb d9d9db6f62 Revert "Modify catcher autoplay test pattern to see more variety movement"
I found `TestSceneHyperDash` is useful for visual inspection of hyper dash trails.
This reverts commit 0fbe950a
2021-07-27 19:07:37 +09:00
ekrctb 0fbe950a3c Modify catcher autoplay test pattern to see more variety movement 2021-07-26 18:06:30 +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 b1fd6c0ded Apply changes to tests of juice stream placement 2021-07-23 10:45:33 +09:00
ekrctb 4e9ac5dc7b Add tests of juice stream placement blueprint 2021-07-22 15:47:23 +09:00
Dean Herbert 1d2fdd9841
Merge pull request #13937 from ekrctb/selection-editable-path
Add initial implementation of juice stream path editing
2021-07-22 14:48:02 +09:00
ekrctb 179ba3c9a8 Merge branch 'master' into catcher-area-catcher
# Conflicts:
#	osu.Game.Rulesets.Catch.Tests/TestSceneCatcher.cs
2021-07-21 16:45:28 +09:00
ekrctb 94678064ff Rename `CatcherArea.MovableCatcher` to `Catcher` 2021-07-21 16:28:31 +09:00
ekrctb da3499f10e Simplify the way of getting catcher 2021-07-21 16:27:44 +09:00
Dean Herbert 6cc81c24b4
Merge pull request #13785 from ekrctb/dependency-providing-container
Add a convenient way to provide ad-hoc dependency to children in visual test
2021-07-20 14:18:17 +09:00
ekrctb 9db5847344 Add test that a slider path is resampled when the path is edited 2021-07-19 22:53:32 +09:00
ekrctb 8586458704 Implement vertex deletion in juice stream selection blueprint 2021-07-19 22:53:32 +09:00
ekrctb 08f8d4e65e Implement vertex addition in juice stream selection blueprint 2021-07-19 22:53:32 +09:00
ekrctb 01f5258a26 Add tests of juice stream selection blueprint 2021-07-19 22:53:32 +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 87c39909c6 Simplify `DependencyProvidingContainer`
Using an array of tuple for dependencies instead of using children.
2021-07-19 14:37:19 +09:00
ekrctb fffe0d2e57 Add tests of `JuiceStreamPath`.
"Property testing" is heavily used, tests that generates random cases and asserting properties.
That gives high confidence of round-trip correctness of `SliderPath` conversion, for example.
2021-07-19 13:59:10 +09:00
ekrctb 25b94061fd Fix assert step not waiting for transformation 2021-07-08 16:40:18 +09:00
ekrctb 8ac3015f14 Add tests of banana shower placement blueprint 2021-07-08 16:36:44 +09:00
ekrctb 68116aa042 Fix placement blueprint animation is not running in test scene 2021-07-08 16:17:09 +09:00
ekrctb ae67409f41 Add a test of fruit placement blueprint 2021-07-08 16:12:08 +09:00
ekrctb 8da1335e5f Add catch placement blueprint visual test scenes (without tests) 2021-07-08 15:51:46 +09:00
ekrctb bd4b3f5268 Add catch selection blueprint visual test scene (without tests) 2021-07-08 15:42:29 +09:00
PercyDan54 e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08: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 5a0a223b1b Use `DependencyProvidingContainer` in `TestSceneCatcher` 2021-07-05 19:07:48 +09:00
ekrctb 623ba15919 Relax caught object stacking test
The stacking code currently uses an unseeded RNG and there is a non-zero chance the stack will be very flat (small Y position difference).
Technically, `RNG.NextSingle(0, 5)` can return `0`, but extremely unlikely that the all RNG calls return 0.
2021-07-04 10:23:49 +09:00
ekrctb 333caca386 Add test for catcher plate flipping configuration 2021-07-02 23:23:23 +09:00
ekrctb 170513568b Move caught object stack vertical offset logic 2021-07-02 20:43:47 +09:00
dependabot[bot] 0d3de488de
Bump NUnit3TestAdapter from 3.17.0 to 4.0.0
Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter) from 3.17.0 to 4.0.0.
- [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases)
- [Commits](https://github.com/nunit/nunit3-vs-adapter/compare/V3.17...V4.0.0)

---
updated-dependencies:
- dependency-name: NUnit3TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 17:02:17 +00: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 fbe44dac34 Add empty catch hit object composer 2021-06-22 17:20:13 +09:00
ekrctb 67d8e0059f Use singular `IApplicableToDrawableHitObject` for consumers 2021-06-16 18:47:04 +09:00
Dean Herbert 33aec57238 Replace 1.0 version in old skin test assets with none 2021-06-11 15:45:34 +09:00
ekrctb 8d0840020b Specify legacy skin version of old-skin testing skin
Old-style catcher sprite is not supported for all versions
2021-06-11 15:33:13 +09:00
Dean Herbert e388a896e8 Don't apply visibility increase to first object in osu!catch
The goal of the visibility increase is to help in cases where timing is
an issue (by showing the approach circle etc.). This doesn't need to
apply to catch.

@smoogipoo interested as to whether you agree with this one. Visually it
looks better to me but it does change the behaviour for only osu!catch,
so I'm not 100% confident on it.

Closes #13367.
2021-06-08 16:02:26 +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 5366e7f61e
Merge branch 'master' into remove-hud-component-lookup 2021-06-02 16:10:06 +09:00
Dean Herbert f8ae70e562 Update existing function type rather than adding an override 2021-06-02 16:04:53 +09:00
dependabot[bot] 967a7c3db5
Bump Microsoft.NET.Test.Sdk from 16.9.4 to 16.10.0
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.9.4 to 16.10.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Commits](https://github.com/microsoft/vstest/compare/v16.9.4...v16.10.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-01 19:59:27 +00:00
Dean Herbert f60e9cb085 Remove weird override logic in `TestCase` methods 2021-05-31 20:00:47 +09:00