Commit Graph

24261 Commits

Author SHA1 Message Date
913fc8c3bc Revert the change of not adding non-pooled DHO to HOC until alive 2021-05-04 16:44:48 +09:00
36438175a0 Throw an exception if try to modify lifetime of PoolableDrawableWithLifetime without lifetime 2021-05-04 16:04:58 +09:00
73dfb04df8 Fix uninitialized scrollLength value is used 2021-04-29 15:17:30 +09:00
632bb70e0f Use entry to calculate lifetime in ScrollingHOC
DHOs cannot be used to calculate lifetime, it is not created before the entry became alive.
2021-04-29 15:04:32 +09:00
c83c804057 Expose lifetime entries from HOC 2021-04-29 14:42:41 +09:00
5aa522b1c2 Completely delegate DHO lifetime to Entry lifetime
A downside is lifetime update is not caught by LifetimeManagementContainer if used.
2021-04-29 14:38:01 +09:00
799d2a3300 Replace failed mania test (pooling not accounted) with a more robust test
Also fix null reference in Playfield
2021-04-29 14:38:01 +09:00
d262956146 Always use LifetimeEntry to manage hit objects in HitObjectContainer
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.

- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
d845f82876 Merge remote-tracking branch 'upstream/dependabot/nuget/Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson-5.0.5' 2021-04-29 14:22:39 +09:00
721e7f22da Merge remote-tracking branch 'upstream/dependabot/nuget/Microsoft.AspNetCore.SignalR.Protocols.MessagePack-5.0.5' 2021-04-29 14:22:17 +09:00
73e029da13 Merge remote-tracking branch 'upstream/dependabot/nuget/Microsoft.AspNetCore.SignalR.Client-5.0.5' 2021-04-29 14:21:55 +09:00
f5435cd2d2 Merge remote-tracking branch 'upstream/dependabot/nuget/Humanizer-2.9.9' 2021-04-29 14:21:51 +09:00
20782e69b1 Merge remote-tracking branch 'upstream/dependabot/nuget/NUnit-3.13.2' 2021-04-29 14:21:46 +09:00
80fc7ae89d Merge remote-tracking branch 'upstream/dependabot/nuget/Sentry-3.3.4' 2021-04-29 14:20:38 +09:00
1b3b07d6a9 Bump NUnit from 3.13.1 to 3.13.2
Bumps [NUnit](https://github.com/nunit/nunit) from 3.13.1 to 3.13.2.
- [Release notes](https://github.com/nunit/nunit/releases)
- [Changelog](https://github.com/nunit/nunit/blob/v3.13.2/CHANGES.md)
- [Commits](https://github.com/nunit/nunit/compare/v3.13.1...v3.13.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:51:12 +00:00
1e7feff49d Bump Humanizer from 2.8.26 to 2.9.9
Bumps [Humanizer](https://github.com/Humanizr/Humanizer) from 2.8.26 to 2.9.9.
- [Release notes](https://github.com/Humanizr/Humanizer/releases)
- [Changelog](https://github.com/Humanizr/Humanizer/blob/main/release_notes.md)
- [Commits](https://github.com/Humanizr/Humanizer/compare/v2.8.26...v2.9.9)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:51:08 +00:00
5b071c68e7 Bump Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson
Bumps [Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson](https://github.com/dotnet/aspnetcore) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.4...v5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:51:04 +00:00
437e9201ba Bump Microsoft.AspNetCore.SignalR.Protocols.MessagePack
Bumps [Microsoft.AspNetCore.SignalR.Protocols.MessagePack](https://github.com/dotnet/aspnetcore) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.4...v5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:51:00 +00:00
6c51bf523c Bump SharpCompress from 0.28.1 to 0.28.2
Bumps [SharpCompress](https://github.com/adamhathcock/sharpcompress) from 0.28.1 to 0.28.2.
- [Release notes](https://github.com/adamhathcock/sharpcompress/releases)
- [Commits](https://github.com/adamhathcock/sharpcompress/compare/0.28.1...0.28.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:50:56 +00:00
5720e255c9 Bump Sentry from 3.2.0 to 3.3.4
Bumps [Sentry](https://github.com/getsentry/sentry-dotnet) from 3.2.0 to 3.3.4.
- [Release notes](https://github.com/getsentry/sentry-dotnet/releases)
- [Changelog](https://github.com/getsentry/sentry-dotnet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-dotnet/compare/3.2.0...3.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:50:53 +00:00
921d451047 Bump Microsoft.AspNetCore.SignalR.Client from 5.0.4 to 5.0.5
Bumps [Microsoft.AspNetCore.SignalR.Client](https://github.com/dotnet/aspnetcore) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v5.0.4...v5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-29 03:50:49 +00:00
6cadbd48dc Merge pull request #12603 from smoogipoo/fix-score-processor-base-score
Fix bonus-only maps having only 700K base score
2021-04-28 17:30:58 +09:00
53d93fecd1 Merge branch 'master' into fix-download-button-import-cancel-state 2021-04-28 16:51:31 +09:00
74bf4323d1 Merge pull request #12602 from smoogipoo/setting-source-custom-control
Add support for custom controls to SettingSourceAttribute
2021-04-28 16:39:17 +09:00
05e3a73a7d Fix import cancellation not correctly being forwarded to import notification 2021-04-28 16:09:50 +09:00
05bd6ee50c Add back ctor doc 2021-04-28 03:54:42 +09:00
04454062b7 Fix up xmldoc 2021-04-28 03:52:59 +09:00
61b7dc1e06 Fix bonus-only maps having 700K base score 2021-04-28 03:42:29 +09:00
4e3ee77396 Add support for custom controls to SettingSourceAttribute 2021-04-28 02:51:24 +09:00
5fc731967b Merge pull request #12592 from ekrctb/fix-entry-lifetime
Fix Setting DHO's lifetime doesn't update its entry lifetime
2021-04-28 01:38:19 +09:00
1281993f1f Fix bonus score not calculated from the correct statistics 2021-04-27 22:42:58 +09:00
5dadfd04e7 Update framework 2021-04-27 22:36:25 +09:00
b87446a577 Simplify HitObjectLifetimeEntry logic a bit 2021-04-27 19:37:01 +09:00
2adc751e04 Merge pull request #12585 from LumpBloom7/Reset-DHO-Transforms-method
Add method to safely refresh DrawableHitObject transforms
2021-04-27 19:15:12 +09:00
3ea55314f2 Update osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-04-27 11:29:16 +02:00
3899e500d3 Adopt framework change of LifetimeEntry
Override SetLifetimeStart/SetLifetimeEnd separately to track individual assignment. It is necessary to ensure real lifetime is not lost when lifetime is partially updated.
2021-04-27 17:54:18 +09:00
c9e6ca5378 Use now-public Entry.SetLifetime method 2021-04-27 15:25:05 +09:00
a2c0951d94 Use overriding instead of hiding in HitObjectLifetimeEntry
Hidden properties are used when the type is the base class. It caused issues when `DrawableHitObject` logic is factored out to `PoolableDrawableWithLifetime` because it is using the base `LifetimeEntry`, not `HitObjectLifetimeEntry`.
2021-04-27 15:23:33 +09:00
ea3c5aed2f Merge pull request #12590 from peppy/editor-minor-refactors
Fix a couple of inspections in editor code
2021-04-27 14:09:36 +09:00
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
08a232f7fa Add method to safely refresh DrawableHitObject transforms 2021-04-26 20:08:40 +02:00
213ac88a8b Fix exported scores not being compatible with osu-stable 2021-04-26 20:52:20 +09:00
6560dc2d1f Fix exported replays being wrapped in zip packages 2021-04-26 20:46:44 +09:00
6d2a5b614c Merge branch 'master' into drawable-object 2021-04-26 18:33:44 +09:00
fd5fbaf0db Rename ruleset wrapper class 2021-04-26 15:37:42 +09:00
6561a7c7d6 Rename DrawableObject -> PoolableDrawableWithLifetime 2021-04-26 12:06:21 +09:00
20e3cadd30 freeIfInUse -> free, and add comments 2021-04-26 12:04:59 +09:00
e6474e6ff7 Remove redundant statement (lifetime is set in base) 2021-04-26 11:47:38 +09:00
e937b778f6 Fix potential failure in ensureSourceClockSet()
`ensureSourceClockSet()` was intended to only run when the adjustable
source hasn't been set at all yet. As it turns out permitting it to run
unconditionally can break the state of the underlying interpolated
clock. This is caused by the following factors:

* While the decoupleable clock is running, its `CurrentTime` does not
  come from either the source clock, or the internal stopwatch; it is
  instead calculated using the base `InterpolatingFramedClock` logic.

* A source change of a decoupleable clock seeks the provided source
  clock to the decoupleable's current time.

* When an interpolating clock is seeked (decoupleable clock is also
  an interpolating one), its interpolation state
  (`{Last,Current}InterpolatedTime`) are reset to 0.

* If the interpolating clock determines that its current time is too
  far away from the source's time (which was set when the source is
  changed), it will ignore the source and instead continue to use
  its current time until the source clock has caught up.

Overall, the source change is not really necessary if a source is
already there. The only reason to ensure it was set was to make sure
the first seek of the gameplay clock wasn't performed in decoupled
mode. Therefore, add a guard to make sure the source is only set if
there isn't one already.
2021-04-24 14:19:39 +02:00
34fa51dee9 Merge branch 'master' into gcc-change-source-on-reset 2021-04-24 13:23:02 +02:00