Dean Herbert
ff4d376c84
Mark relevant components as internal
2023-06-08 21:01:05 +09:00
Dean Herbert
3978d4babb
Crop and disable mipmaps on beatmap panel backgrounds
...
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.
By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.
You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Dean Herbert
a842f79ad4
Refactor IWorkingBeatmap.Background
to GetBackground()
2023-06-08 16:19:32 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
...
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Dean Herbert
22f7fe1d79
Rename variable and ensure timestamp is updated even when not saving
2023-06-06 15:11:31 +09:00
timiimit
659fb80c16
Add BeatmapInfo.LastEditTime
property
2023-05-31 19:06:41 +02:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls
2023-05-25 21:58:16 +02:00
Bartłomiej Dach
78f41f7109
Fix spelling
2023-05-25 17:33:41 +02:00
Dean Herbert
058edb5d5f
Centralise beatmap playable duration and bounds lookups
2023-05-25 17:32:48 +09:00
Dean Herbert
298989ffd2
Merge branch 'master' into sample-set-controls
2023-05-24 14:03:04 +09:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
...
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dean Herbert
8d925c8a8a
Move combo information updating to an interface level helper method
2023-05-17 17:26:19 +09:00
Dean Herbert
83dcd78826
Make HitSampleInfo.Bank
non-nullable
2023-05-16 18:12:56 +09:00
Dean Herbert
ca5e8b290f
Add clamping to SliderMultiplier
and SliderTickRate
at parsing time
2023-05-09 20:53:20 +09:00
Dean Herbert
d10dd6d5ae
Merge branch 'master' into base-s-v
2023-05-09 20:52:11 +09:00
Dean Herbert
944da06c10
Rename slider multiplier variable back for now
2023-05-09 16:58:19 +09:00
Bartłomiej Dach
30ce86a582
Merge pull request #23437 from peppy/fix-hold-note-input-test
...
Fix `TestSceneHoldNoteInput` not displaying correctly
2023-05-08 22:22:33 +02:00
Dan Balasescu
d2380bd840
Remove usages of [ExcludeFromDynamicCompile]
2023-05-08 18:12:56 +09:00
Dean Herbert
d6ce56e6b1
Fix GetMostCommonBeatLength
returning zero in case of not timing points
2023-05-08 17:09:08 +09:00
Dean Herbert
f7d44c3013
Rename SliderMultiplier
to BaseSliderVelocity
2023-05-08 13:13:09 +09:00
Dean Herbert
0d095c4bb7
Remove non-Live
pathway
2023-05-06 23:10:18 +09:00
cdwcgt
4549a865d9
Merge branch 'master' into export
2023-05-04 00:18:01 +09:00
Dean Herbert
f930c4bd0a
Move struct
to bottom of file
2023-05-03 13:33:31 +09:00
Dean Herbert
48fd99818e
Split out default and sample application
2023-05-03 13:30:45 +09:00
Dean Herbert
cca15f930c
Refactor applyLegacyInfoAndDefaults
for legibility
2023-05-03 13:26:50 +09:00
Dean Herbert
588a4e6196
Move pragma disable to top of LegacyBeatmapDecoder
...
Makes more sense as it's used multiple times in the class.
2023-05-03 13:19:14 +09:00
Dean Herbert
e3c384c6b5
Merge branch 'master' into sample-control-points
2023-05-02 14:38:39 +09:00
Bartłomiej Dach
436ebdcfcb
Fix beatmap leaderboard test failure
...
Because the online info reset (which includes online ID reset) was
happening after encoding,
`TestSceneBeatmapLeaderboard.TestLocalScoresDisplayOnBeatmapEdit()`
started failing, as the hash no longer matched expectations after the
first save of the map.
2023-05-01 19:44:15 +02:00
Bartłomiej Dach
f470b2c9cc
Always reset online info when saving local beatmap
2023-05-01 18:17:45 +02:00
OliBomby
8c21fddb5e
remove all redundancies from encoded control points
2023-05-01 16:53:38 +02:00
OliBomby
8302bb1f37
dont encode custom sample bank for objects without legacy samples
2023-05-01 14:56:29 +02:00
OliBomby
cef9f73d34
dont assign custom sample bank and volume to hitobjects in non-mania gamemodes
...
this makes it easier to edit hitsounds in the stable editor after export because the sample control point effects wont get overwritten by the properties of the hitobject
2023-05-01 12:31:27 +02:00
OliBomby
608fa3cc73
Merge remote-tracking branch 'upstream/master' into sample-control-points
2023-04-30 19:47:03 +02:00
OliBomby
139a1d7e6d
fix legacy encoder writing sample info while not writing node samples
2023-04-30 17:46:47 +02:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
OliBomby
1b4f4372d5
fixed sample control point applying
2023-04-26 14:32:12 +02:00
OliBomby
5accb05f45
fix invalidoperation exception
2023-04-26 14:28:48 +02:00
OliBomby
6c70948681
Remove IContext & add IHasGenerateTicks
2023-04-26 13:10:57 +02:00
OliBomby
c37875bee8
remove hitobject SampleControlPoint usage from LegacyBeatmapEncoder
2023-04-25 16:00:40 +02:00
OliBomby
bf1951fc38
Fix incorrect xmldoc
2023-04-25 12:54:45 +02:00
OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Daniel Kirschten
6c9a90d1ec
Merge branch 'master' into master
2023-04-22 19:23:52 +02:00
Haspamelodica
e90660c1a4
Switched to lowercase
2023-04-21 02:35:28 +02:00
Haspamelodica
b62de5514c
Fixed video importing bug #23259
2023-04-21 02:10:24 +02:00
Dean Herbert
1066dfcbf6
Change default beat divisor to 4
...
This matches stable, and is a much saner default value.
Will apply to new beatmaps and also beatmaps which don't specify a snap
value in the `.osu` file.
2023-04-20 14:35:13 +09:00
Bartłomiej Dach
e72f103c17
Do not look up metadata for locally-modified beatmaps on save
2023-04-11 23:14:35 +02:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export
2023-04-09 15:02:47 +09:00
cdwcgt
de21b4a2f7
use Live<TModel>
...
Use RealmAccess only when needed
2023-04-09 22:21:15 +09:00
Dean Herbert
da947d8661
Gracefully handle beatmaps specifying images using the video storyboard type
2023-03-13 18:24:16 +09:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point
2023-03-07 22:46:24 +01:00
OliBomby
1fcf41379d
Added maintainability patch by bdach
2023-03-06 16:20:36 +01:00
OliBomby
b0cd801405
fix code quality
2023-03-04 19:34:22 +01:00
OliBomby
5146f7c978
using array again in GetSearchableTerms
2023-03-04 16:49:46 +01:00
OliBomby
b90c389ff0
using List instead of Span in GetSearchableTerms
2023-03-04 15:42:35 +01:00
OliBomby
91d206e8d2
Optimised GetSearchableTerms
...
Reduced memory allocations to 1
2023-03-03 19:21:50 +01:00
Dean Herbert
044b0604b2
Move OmitFirstBarLine
to TimingControlPoint
2023-02-28 19:29:31 +09:00
cdwcgt
e84e011d5d
Merge branch 'master' into export
2023-02-17 22:15:19 +09:00
Dean Herbert
7cc4fd4efc
Use the exact method stable uses for generating storyboard filenames
2023-01-26 15:09:36 +09:00
Dean Herbert
d15f8c2f3a
Fix beatmaps with multiple osb
files potentially reading the storyboard from the wrong one
...
In stable, the storyboard filename is fixed. In lazer, we were always
looking for the first `.osb` in the database. In the case a beatmap
archive housed more than one `.osb` files, this may load the incorrect
one.
Using `GetDisplayString` here feels like it could potentially go wrong
in the future, so I'm open to hard-coding this locally (or using string
manipulation to remove the ` [creator_name]` portion of the beatmap's
filename). Open to opinions on that.
Fixes storyboard playback in https://osu.ppy.sh/beatmapsets/1913687#osu/3947758
2023-01-25 17:11:15 +09:00
Dean Herbert
392ff2ffea
Reword comment regarding hash transfer to make more sense
2023-01-25 14:11:02 +09:00
Dean Herbert
741ca96853
Make transferCollections
argument to private method explicitly required
2023-01-25 14:09:13 +09:00
Dean Herbert
739ec8d81d
Add argument hint for nondescript bool
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-01-25 14:04:30 +09:00
naoey
e6de167adb
Revert split and make collections boolean internal to BeatmapManager
2023-01-24 07:27:26 +09:00
naoey
1c1c9915bb
Split saving new and existing beatmaps into separate flows
2023-01-22 10:27:33 +09:00
naoey
a1b5c9d910
Don't transfer MD5 hashes in collections when copying beatmaps
...
Fixes #22306 .
Changes beatmap saving so that by default it does not transfer
the hashes in collections, and only transfers them when saving the same
difficulty in the editor.
Issue seems to have been introduced in https://github.com/ppy/osu/pull/20641 .
2023-01-22 01:14:18 +09:00
Dean Herbert
a1152fa0db
Merge pull request #22147 from Feodor0090/forbid-negative-snap
...
Forbid negative time snap in editor
2023-01-17 17:35:45 +09:00
Bartłomiej Dach
a9facc076f
Fix difficulty creation flow failing for some ruleset combinations
...
In current `master`, the difficulty creation flow would retrieve a
"reference beatmap" to copy metadata and timing points from using
`GetPlayableBeatmap()`. But, importantly, it was calling that method
using *the ruleset of the new difficulty* rather than the ruleset of the
existing one. This would make the difficulty creation flow fail if the
beatmap couldn't be converted between rulesets (like taiko to catch).
Fixing to use the reference beatmap's actual ruleset would be trivial,
but there's no real reason to do all of that work anyway when a
`WorkingBeatmap` is available. Because getting a playable beatmap is not
required to copy across metadata and timing points, remove the
`GetPlayableBeatmap()` step entirely to fix the bug.
Closes #22145 .
2023-01-14 19:46:55 +01:00
ansel
51e21ee6f0
Make snapped time always positive
2023-01-12 03:38:57 +03:00
Salman Ahmed
5ee0665eac
Merge branch 'master' into pause-imports-during-gameplay
2023-01-09 20:09:17 +03:00
Dean Herbert
811a562608
Don't use bindables to avoid potential cross-usage contamination
2023-01-10 01:10:20 +09:00
Dean Herbert
07dae7dc21
Merge branch 'master' into overlay-panels-context-menu
2023-01-09 19:04:56 +09:00
Dean Herbert
62ffb4fe78
Pause imports during active gameplay
2023-01-09 18:54:11 +09:00
Joseph Madamba
0f6735564e
Move and rename nomination response model to singular
2023-01-07 10:54:48 -08:00
Dean Herbert
f908b25dab
Merge pull request #22033 from frenzibyte/decrease-difficulty-list-fadeout
...
Decrease transition duration of extended difficulty list during hide
2023-01-06 20:13:30 +08:00
Dean Herbert
c0cfa66510
Merge pull request #21754 from Feodor0090/waveform-invalidate
...
Reload waveform on track replacement in editor
2023-01-06 19:57:27 +08:00
Salman Ahmed
8da7667b0b
Decrease transition duration of extended difficulty list during hide
2023-01-05 14:22:17 +03:00
Salman Ahmed
4491a5ba9f
Fix editor exporting beatmap combo colours in wrong order
2023-01-03 13:41:08 +03:00
Berkan Diler
182f36c434
Use StringSplitOptions.TrimEntries for string.Split() when possible
2022-12-27 09:41:58 +01:00
Joseph Madamba
bb58976838
Merge remote-tracking branch 'upstream/master' into overlay-panels-context-menu
2022-12-26 17:54:15 -08:00
Bartłomiej Dach
cb2b0d4178
Remove redundant type specs
2022-12-26 23:12:53 +01:00
Berkan Diler
fcbb21c75e
Fix typo
2022-12-26 20:38:35 +01:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
Joseph Madamba
b9dfb8b602
Add localisation for context menu strings
2022-12-25 10:12:02 -08:00
Joseph Madamba
2c2f347e25
Add context menus to overlay panels/cards
2022-12-25 09:57:42 -08:00
Salman Ahmed
30de9ba795
Dispose previous waveform on track reload
2022-12-23 00:35:59 +03:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
ansel
20370bd5ae
Invalidate waveform on track load
2022-12-22 20:49:09 +03:00
ansel
d0645ce151
Rewrite waveform invalidation
2022-12-22 15:59:51 +03:00
ansel
66a02374da
Clear cached waveform on track change in editor
2022-12-22 01:23:24 +03:00
Dean Herbert
4a7d7c6ed9
Use MaxBy
in all locations that can and update inspection level to match dotnet-build
2022-12-19 16:47:10 +09:00
Dean Herbert
192536643c
Fix some more inspections
2022-12-16 20:21:19 +09:00
Dean Herbert
de079e08dc
Fix incorrect ConfigureAwait
call in ImportAsUpdate
2022-12-16 18:54:56 +09:00
Dean Herbert
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
cdwcgt
3d6d3b4025
fix weird async logic
2022-12-15 20:59:11 +09:00
Dean Herbert
b8904fe747
Move ImportParameters
to better home
2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700
Hook up ImportParameter
flow with IModelImporter
caller methods
2022-12-13 21:29:32 +09:00
Dean Herbert
cf2719d4c0
Convert batchImport
parameter to parameters class to allow further import configuration
2022-12-13 19:55:18 +09:00
Dean Herbert
902dff15e3
Add todo regarding validity check
2022-12-12 13:44:09 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers
2022-12-11 18:30:24 +09:00
Andrei Zavatski
94cfcdb338
Remove SmoothCircularProgress usage in BeatmapCardThumbnail
2022-12-03 16:16:21 +03:00
Dean Herbert
809d02cda0
Fix two implementation oversights
2022-12-02 16:05:14 +09:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dan Balasescu
985781bc3b
Merge pull request #21356 from peppy/standardise-broken-storyboard-paths
...
Add support for storyboards with incorrect path specifications (`\\` instead of `\`)
2022-11-22 14:33:51 +09:00
Dean Herbert
2774c1ea49
Merge pull request #21215 from jai-x/triangles-bundled-beatmap
...
Add winner of Triangles mapping competition as a bundled beatmap
2022-11-21 16:22:23 +09:00
Dean Herbert
3da21e596a
Add support for storyboards with incorrect path specifications (\\
instead of \
)
...
Closes https://github.com/ppy/osu/issues/21204 .
2022-11-21 16:12:01 +09:00
Joseph Madamba
4578a96813
Fix beatmap card expanded content not blocking clicks from behind
2022-11-13 08:18:44 -08:00
Jai Sharma
c5cb4e4e7d
Add winner of Triangles mapping competition as a bundled beatmap
...
https://osu.ppy.sh/home/news/2022-10-06-results-triangles
2022-11-12 17:48:40 +00:00
Dean Herbert
064a245c50
Don't trim whitespace from variable keys / values
2022-11-08 13:30:11 +09:00
Dean Herbert
b764d1bd04
Decode variables earlier in flow in case they include indent logic
...
Without this change, the `depth` calculation could be incorrect.
2022-11-08 13:29:42 +09:00
Salman Ahmed
bd512c4937
Remove equality comparison implementation from BeatmapCard
...
This turned out to be a hurdle instead as it disallows adding two
beatmap cards of equal beatmap, which, while being a good behaviour in
client, makes tests more complicated to work.
2022-11-04 19:27:20 +03:00
Dean Herbert
07bfac40fa
Adjust padding to avoid overlap with card border when expanded
2022-11-03 14:03:28 +09:00
Dean Herbert
66a6084d3f
Scale in the background fill alongside the icon
2022-11-03 14:03:19 +09:00
Dean Herbert
df9f49eef2
Move hover layer behind icon
...
Looked bad on the "already downloaded" state where the icon becomes
black.
2022-11-03 13:56:07 +09:00
Dean Herbert
fb0bc597a0
Merge branch 'master' into improve-beatmap-card-buttons
2022-11-03 13:53:29 +09:00
Dean Herbert
978d15955c
Fix control points not being cloned when running beatmap conversion
...
Closes #20994 .
I haven't considered how this affects performance of difficulty
calculation or otherwise. Seems like a sane initial fix which we can
iterate on going forward.
I've tested using the scenario in the linked issue.
I'm not going to add test coverage because
[BeatmapConversionTest](https://github.com/ppy/osu/blob/master/osu.Game/Tests/Beatmaps/BeatmapConversionTest.cs )
should correctly cover this scenario once we are serialising control
points as well.
2022-11-01 17:42:09 +09:00
Bartłomiej Dach
f775741d65
Merge branch 'master' into fix-filename-char-filtering
2022-10-29 12:42:10 +02:00
Dean Herbert
66ed77ac91
Rename and add documentation to function
2022-10-28 18:04:28 +09:00
Dean Herbert
42eafe318c
Remove various simple obsoletions
2022-10-28 13:20:58 +09:00
Dan Balasescu
6177df2a24
Merge branch 'master' into fix-17143
2022-10-25 13:44:58 +09:00
Dan Balasescu
703a8afb11
Merge pull request #20809 from peppy/fix-taiko-broken-drum-roll-ticks
...
Fix taiko drum roll ticks sometimes overflowing outside the drum roll itself
2022-10-21 12:56:14 +09:00
Dean Herbert
5c13c443ff
Fix incorrect fallback logic
...
Regressed when attempting to share implementation of binary search.
2022-10-20 23:08:44 +09:00
Dean Herbert
a754dc6d3b
Expose binary search methods publicly
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2022-10-20 14:34:07 +09:00
Dean Herbert
78943a21d8
Update osu.Game/Beatmaps/ControlPoints/IControlPoint.cs
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-20 08:06:05 +09:00
Dean Herbert
677b8d09f8
Fix huge oversight causing test failures
2022-10-19 23:54:12 +09:00
Dean Herbert
579d5b51eb
Add and consume sample bank constants
2022-10-19 20:47:58 +09:00
Dean Herbert
59e2478b0e
Fix some older beatmaps having missing backgrounds
...
Closes https://github.com/ppy/osu/issues/20824 .
Note that this will require a reimport of beatmaps as it is baked into the database. Probably not worth making a migration for at this point in time.
2022-10-19 16:01:10 +09:00
Dean Herbert
ec3761ced9
Standardise control point search logic in OverlappingScrollAlgorithm
...
Was using a very local algorithm which I cannot guarantee is correct.
I'd rather it just use the one used everywhere else.
2022-10-18 16:01:05 +09:00
Salman Ahmed
ef72b66dad
Remove beatmap card background workaround to fix broken corners
2022-10-13 16:09:54 +03:00
Salman Ahmed
6c316bcc9e
Make beatmap card icon buttons fill up to the area
2022-10-13 16:09:54 +03:00
Salman Ahmed
aa8040d696
Add hover box to beatmap card icon button
2022-10-13 16:09:54 +03:00
Dan Balasescu
338115ff6a
Move check to LegacyDifficultyControlPoint
2022-10-13 15:05:15 +09:00
Dean Herbert
3da54814f8
Merge pull request #20641 from pfgithub/patch-fix-save-collections
...
Preserve collections when saving a beatmap
2022-10-12 18:36:45 +09:00
sw1tchbl4d3
df0501235d
Introduce BpmMultiplierMania
, remove after the fact clamps
2022-10-12 11:14:01 +02:00
Dean Herbert
db148d145b
Fix incorrect offset logic for beatmaps without a preview point specified
2022-10-12 14:47:37 +09:00
Dean Herbert
721bfb5369
Rename parameter to read better
2022-10-12 14:46:35 +09:00
Dean Herbert
9bab02fab4
Remove unused using statement
2022-10-11 16:23:05 +09:00
Dean Herbert
eba3d37a11
Add xmldoc and simplify calling
2022-10-11 15:50:02 +09:00
pfg
e619c9c1e6
fix style
2022-10-10 21:48:41 -04:00
pfg
de8d485305
Move 'transferCollections' to a shared location
2022-10-10 21:45:33 -04:00
NotGumballer91
3cd6ce8e3f
Update WorkingBeatmap.cs
2022-10-11 01:48:55 +08:00
NotGumballer91
749dc40062
Update WorkingBeatmap.cs
2022-10-10 21:03:11 +08:00
NotGumballer91
e3b405cc23
Update IWorkingBeatmap.cs
2022-10-10 21:02:23 +08:00
sw1tchbl4d3
f8036658c7
Move clamps directly to the usages in the conversion algorithm
2022-10-10 09:36:18 +02:00
sw1tchbl4d3
e0904e263f
Fix legacy BpmMultiplier clamp value
2022-10-09 11:25:47 +02:00
pfg
edec613724
Remove unnecessary '?'
2022-10-08 13:58:42 -04:00
pfg
ff14453c2b
Preserve collections when saving a beatmap
2022-10-08 12:42:29 -04:00
o-dasher
feadac1f79
Cleanup all other leftover binding instantiation
2022-09-25 16:02:40 -04:00
Dean Herbert
992441b9de
Disable alpha component parsing in beatmap / skin colour sections
2022-09-21 16:11:41 +09:00
Dean Herbert
5ce67345ae
Catch against sqlite initialisation failures
2022-09-16 01:02:38 +09:00
Dean Herbert
28b15e232d
Remove all EF models
2022-09-15 16:59:36 +09:00
Dean Herbert
0aa92c78ec
Add local sqlite initialisation to BeatmapUpdaterMetadataLookup
for now
2022-09-15 16:58:58 +09:00
Dean Herbert
40a60f7145
Remove all entity framework code and migrations
2022-09-15 16:58:58 +09:00
Salman Ahmed
07f577a0c6
Fix beatmap listing potentially showing duplicate beatmap cards
2022-09-13 01:39:21 +03:00
andy840119
e62999fb16
Merge branch 'master' of https://github.com/ppy/osu into remove-the-nullable-disable-in-the-ruleset
...
# Conflicts:
# osu.Game.Rulesets.Catch/CatchRuleset.cs
# osu.Game.Rulesets.Osu/OsuRuleset.cs
# osu.Game.Rulesets.Taiko/TaikoRuleset.cs
# osu.Game/Rulesets/Ruleset.cs
2022-09-10 10:40:12 +08:00
Dean Herbert
e9ce968ae3
Merge branch 'master' into fix-play-button-touch
2022-09-09 18:08:18 +09:00
Dean Herbert
d6748d6921
Avoid double call to ProcessFrame
2022-09-09 14:35:47 +09:00
Dean Herbert
64cf6b9014
Compare with decoupled clock directly to avoid including offsets
2022-09-09 14:35:35 +09:00
Dean Herbert
20ffbc4676
Fix beat sync stopping after returning to menu from a failed play
...
Closes #20193 .
Explanation is inline comment.
2022-09-09 14:13:03 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Dean Herbert
db15bd56e8
Invalidate working beatmap cache when calling DeleteDifficultyImmediately
rather than in editor code
2022-09-06 18:12:47 +09:00
Dean Herbert
579e7e1f17
Fix deleting a difficulty not updating the beatmap set hash
2022-09-06 18:12:47 +09:00
Dean Herbert
605108c938
Refactor/rename deletion method to read better
2022-09-02 16:59:01 +09:00
Dean Herbert
b388428e1c
Merge branch 'master' into feature/EditorDeleteDiff
2022-09-02 16:48:38 +09:00
Dean Herbert
d3ae60ec6d
Fix tournament population failure when beatmap is not found on server
2022-09-01 22:03:01 +09:00
Dan Balasescu
837b19ab24
Merge pull request #19919 from khang06/nan-sv
...
Emulate osu!stable's NaN slider velocity behavior
2022-08-31 19:06:49 +09:00
Dan Balasescu
0491addbbd
Merge pull request #19974 from peppy/no-gameplay-clock-editor-offset
...
Fix editor not applying offsets
2022-08-29 21:10:29 +09:00
Dean Herbert
3eda284b03
Always reprocess beatmaps after a user update request
...
This covers the rare case where metadata may have changed server-side but not
the beatmap itself.
Tested with the provided user database to resolve the issue.
Closes #19976 .
2022-08-29 18:17:42 +09:00
Dean Herbert
2dafa041a7
Account for offset being applied to editor clock time in TestSceneEditorClock
2022-08-29 16:42:50 +09:00
Dan Balasescu
cf6bb3b030
Merge pull request #19958 from peppy/fix-fail-freq-stuck
...
Ensure fail animation sequence isn't run after the player exit sequence has started
2022-08-27 00:58:41 +09:00
Dean Herbert
ad3dd1c700
Fix a couple of oversights regarding track
nullability
2022-08-25 14:45:00 +09:00
Khang
adea29c106
Fix test failures
2022-08-24 03:37:33 -04:00
Khang
c9f364d6a0
Document why beatLength can be NaN
2022-08-24 02:10:19 -04:00
Khang
c1ced85b5e
Move GenerateTicks to LegacyDifficultyControlPoint and remove support for NaN slider velocity support for other rulesets (at least for now)
2022-08-23 14:07:18 -04:00
Dean Herbert
29fed0c4a3
Avoid setting the source clock until gameplay is ready to start
...
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Khang
fbe8de2757
Disable the GetHashCode warning instead of using bindables
2022-08-23 00:57:25 -04:00
Khang
8f708c1dcf
Turn GenerateTicks into a bindable to pass code quality tests
2022-08-22 22:43:44 -04:00
Khang
9f08c474ca
Treat NaN slider velocity timing points as 1.0x but without slider ticks
2022-08-22 21:58:38 -04:00
Khang
e8d4bc4497
Allow NaN during beatmap parsing if desired
2022-08-22 21:04:26 -04:00
Dean Herbert
17a1df281c
Fix incorrect implicit null specification for user audio offset bindable
2022-08-22 14:03:51 +09:00
Dean Herbert
ba23ce75c2
Make FramedBeatmapClock.Track
non-null
2022-08-22 14:02:41 +09:00
Dean Herbert
85d0b7fc57
Reword class xmldoc to better explain that offset application is optional
2022-08-22 14:02:20 +09:00
Dean Herbert
bcc153f738
Add xmldoc and reorganise FramedBeatmapClock
2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
Dean Herbert
32e127a6fa
Add FramedBeatmapClock
...
Expose `IsCoupled` in `FramedBeatmapClock` for now to provide editor compatibility
2022-08-18 18:54:10 +09:00
Dean Herbert
37799e3b31
Allow preparing preview point without looping
2022-08-17 13:20:24 +09:00
Dean Herbert
11f38e539f
Rename property to LastLocalUpdate
2022-08-16 16:01:19 +09:00
Dean Herbert
c7db4a532c
Merge branch 'master' into store-modified-time
2022-08-16 15:53:51 +09:00
Dan Balasescu
69cbf4185b
Match class name to file
2022-08-10 19:53:40 +09:00
Dean Herbert
ac99c1ad69
Migrate the majority of existing file lookups to use new extension methods
2022-08-10 16:01:16 +09:00
Dean Herbert
5f10ec1955
Add extension methods for case insensitive file lookups
2022-08-10 15:48:25 +09:00
Dean Herbert
e1189da824
Merge branch 'master' into irenderer-glwrapper
2022-08-08 12:31:53 +09:00
Dan Balasescu
cf362a6b4f
Merge pull request #19529 from peppy/locally-modified-pill
...
Show "locally modified" pill when local modifications have been made
2022-08-05 21:12:13 +09:00
Dan Balasescu
c4b9b2a14b
Merge branch 'master' into irenderer-glwrapper
2022-08-05 20:35:06 +09:00
Dean Herbert
94ec653420
Add same load-cancel safeties to ensure tracks are disposed in card PlayButton
2022-08-05 14:26:01 +09:00
Dean Herbert
094eaafd43
Split out common conditional check into local static
method
2022-08-04 17:26:54 +09:00
Salman Ahmed
844430502b
Replace parantheses with nullable-bool equality operation
2022-08-03 20:11:08 +03:00
Dean Herbert
a32149fda1
Convert interface methods to extension methods
2022-08-03 20:07:55 +09:00
Dan Balasescu
b4e55f7309
Apply IRenderer changes
2022-08-02 19:50:57 +09:00
Dean Herbert
258ad7c6b9
Tidy up kiai time access
2022-08-02 18:18:40 +09:00
Dean Herbert
cc4cde2c79
Improve IBeatSyncProvider
interface and reduce beatmap track dependence
2022-08-02 17:59:18 +09:00
Dean Herbert
7022c6382d
Add localisation support for local modification strings
2022-08-02 16:30:14 +09:00
Dean Herbert
8cb02f47eb
Mark BeatmapSet.Status
as modified when any beatmap is modified, rather than all
2022-08-02 16:08:58 +09:00
Dean Herbert
df76f9f4da
Fix some additional metadata being updated when it shouldn't (with local changes)
2022-08-02 15:49:22 +09:00
Dean Herbert
4adc8375e9
Add more xmldoc and avoid BeatmapSet
status being set when it shouldn't be
2022-08-02 12:12:02 +09:00
Dean Herbert
d7a06abcab
Add BeatmapInfo.LastUpdate
to track the time of local changes
2022-08-02 00:53:07 +09:00
Dean Herbert
013cf7a80a
Fix DateAdded
not being set to a sane value when creating a new beatmap in the editor
2022-08-02 00:53:07 +09:00
Dean Herbert
0fcae08d38
Show "locally modified" pill when local modifications have been made
2022-08-02 00:52:38 +09:00
Dean Herbert
cb52b696ed
Merge branch 'master' into bypass-local-metadata-cache
2022-07-29 16:05:54 +09:00
Dean Herbert
2ff6ff06d3
Use tuple to better explain new bool
parameter
2022-07-29 16:05:41 +09:00
Dan Balasescu
a59d7f6710
Merge branch 'master' into collections-track-beatmap-updates
2022-07-28 22:05:34 +09:00
Dean Herbert
a21aee4e9c
Reduce calls to LoadTrack
by implicitly running on test/dummy classes
2022-07-28 18:11:40 +09:00
Dan Balasescu
1da9830145
Merge pull request #19435 from peppy/remove-beatmap-manager-ruleset-store
...
Remove unused `RulesetStore` from `BeatmapManager` constructor
2022-07-28 17:46:12 +09:00
Dean Herbert
8cb4fb35e0
Rename parameter to read better (and still use local cache if no online API is available)
2022-07-28 17:08:59 +09:00
Dean Herbert
c35da62224
Add flow for bypassing local cache lookups when refreshing beatmap metadata
2022-07-28 16:33:51 +09:00
Dean Herbert
17a3fd30fb
Move scheduler from OnlineLookupQueue
to BeatmapUpdater
2022-07-28 16:32:22 +09:00
Dean Herbert
2b9d46d803
Remove unused RulesetStore
from BeatmapManager
constructor
2022-07-28 16:19:05 +09:00
Dan Balasescu
c1aaf27c54
Link to correct model in xmldoc
2022-07-28 16:02:19 +09:00
Dean Herbert
452d82f292
Add more comprehensive xmldoc for beatmap model classes
2022-07-28 15:41:28 +09:00
Dean Herbert
070f56c30c
Add collection transfer logic to beatmap import-as-update flow
2022-07-28 15:03:23 +09:00
Micahel Kelly
dd315ff97b
Adds hard-delete for a beatmap diff
2022-07-27 21:21:16 +10:00
Dean Herbert
41393616d8
Replace BeatmapCollection
with RealmBeatmapCollection
2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48
Remove CollectionManager
2022-07-27 18:45:33 +09:00
Dean Herbert
6b73f7c7ec
Split out legacy import path from realm manager
2022-07-27 15:04:09 +09:00
Dean Herbert
4c22b55ce3
Fix incorrect handling if an update is processed with no changes
2022-07-26 17:00:28 +09:00
Dean Herbert
9939866f7d
Revert one more missed change
2022-07-26 15:54:10 +09:00
Dean Herbert
8370ca9765
Add ImportAsUpdate
method to IModelImporter
to avoid otehr changes
2022-07-26 15:49:04 +09:00
Dean Herbert
d41ac36a69
Fix scenario where import is expected to be empty
2022-07-25 23:59:27 +09:00
Dean Herbert
8a0c8f5fd8
Fix some realm pieces not being cleaned up
2022-07-25 19:51:19 +09:00
Dean Herbert
2e14d8730c
Move implementation of updating a beatmap to BeatmapImporter
2022-07-25 19:51:19 +09:00
Dean Herbert
2363a3fb7b
Persist DateAdded
over beatmap updates
2022-07-25 19:51:19 +09:00
Dean Herbert
e5ad07454c
Ensure previous version prior to update loses online info after marked pending delete
2022-07-25 19:51:19 +09:00
Dean Herbert
912218e123
Ensure scores are transferred after beatmap update if difficulty hash didn't change
2022-07-25 19:51:19 +09:00
Dean Herbert
b7f6413bce
Fix old version of beatmap potentially not being deleted during update flow
...
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Dean Herbert
6a3e8e31de
Centralise calls to reset online info of a BeatmapInfo
2022-07-25 19:51:19 +09:00
Dan Balasescu
068063a43a
Merge pull request #19371 from peppy/fix-working-cache-invalidation
...
Fix calls to `GetWorkingBeatmap` invalidating cache too often
2022-07-25 18:29:46 +09:00
Dean Herbert
6bf2645b1a
Fix StarRatingDisplay
not handling negative numbers as "pending"
2022-07-25 15:44:54 +09:00
Dean Herbert
2ec90e37bb
Fix calls to GetWorkingBeatmap
invalidating cache too often
...
With recent changes, the pathway between refetching (on request) and
refetching (on requirement due to unpopulated files) was combined.
Unfortunately this pathway also added a forced invalidation, which
should not have been applied to the second case.
Closes https://github.com/ppy/osu/issues/19365 .
2022-07-25 15:30:49 +09:00
Dean Herbert
d5e0dba9da
Change default value of StarRating
to -1
2022-07-21 18:20:46 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked
2022-07-20 18:36:57 +09:00
Dan Balasescu
de29078db2
Remove nullable disables
2022-07-20 15:16:40 +09:00
Dean Herbert
6357223341
Fix incorrect DI fetch and apply nullability to ModelDownloader
2022-07-19 20:06:34 +09:00
Dean Herbert
30daa0fd44
Add ranked and submitted date storage and filtering
2022-07-19 19:55:56 +09:00
Dean Herbert
07874efa7f
Set last online update to actual value provided by data source
2022-07-19 19:39:51 +09:00
Dean Herbert
eaf4f6dbb7
Add beatmap update button
2022-07-19 18:29:36 +09:00
Dean Herbert
6adcf82d2e
Add change ingester to handle passing of online changes to correct target components
2022-07-19 17:57:01 +09:00
Dean Herbert
6ea380d649
Add new properties to BeatmapInfo
to track online hash and updates
2022-07-19 17:57:01 +09:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Dean Herbert
22a9e7e275
Fix audio/background equality not correctly using BeatmapInfo
local filenames
2022-07-18 17:05:21 +09:00
Dean Herbert
51071be315
Don't show "missing background" messages to user
...
Bit of an oversight.
As reported on [twitter](https://twitter.com/emyl___/status/1548627793075998720 ) and somewhere else i forgot.
2022-07-17 21:20:51 +09:00
Dean Herbert
ebe0cfefd8
Ensure that multiple BeatmapSetInfo
already in realm don't cause import failures
...
Really this shouldn't happen but I managed to make it happen. Until this
comes up again in a way that matters, let's just fix the LINQ crash from
`SingleOrDefault`.
I've tested this to work as expected in the broken scenario.
2022-07-14 18:21:41 +09:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
...
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
1cfdea911b
Fix audio and background file equality incorrectly comparing BeatmapSet.Hash
2022-07-13 19:41:38 +09:00
Dean Herbert
8820ea4006
Add last played date to BeatmapInfo
2022-07-13 16:36:43 +09:00
為什麼
57c6763556
Mark the CreateBeatmapProcessor()
as nullable.
...
Also, should add the null check in the working beatmap.
2022-07-10 10:15:27 +08:00
Dean Herbert
c53dd4a703
Fix editor saving not updating BeatmapSetInfo
's hash
2022-07-08 02:33:14 +09:00
Dean Herbert
b5c703b62c
Remove unused using statement
2022-07-07 17:59:55 +09:00
Dean Herbert
e2c4c94993
Simplify BeatmapUpdater
transaction handling using nested transaction support
2022-07-07 17:37:46 +09:00
Dean Herbert
79bed0abdf
Merge branch 'realm-nested-writes' into metadata-client
2022-07-07 17:37:06 +09:00
Dean Herbert
e81cebf27d
Change storyboard parsing logic to not completely fail if only .osb
read fails
...
Changes to allow the storyboard to exist if only the `.osu` is
available. Reads better IMO.
2022-07-07 14:33:20 +09:00
Dean Herbert
c4b6893709
Add local handling of cases where a beatmap's file cannot be found on disk
2022-07-07 14:29:19 +09:00
Dean Herbert
a52ea3cabe
Enable NRT and simplify LineBufferedReader
2022-07-06 14:57:56 +09:00
Dean Herbert
59d0bac728
Hook up update flow to metadata stream
2022-07-05 21:32:00 +09:00
Dean Herbert
aab4dcefbd
Remove unnecessary invalidation handling flow
2022-06-30 17:13:26 +09:00
Dean Herbert
0698471627
Move BeatmapOnlineLookupQueue
to inside BeatmapUpdater
2022-06-30 17:03:19 +09:00
Dean Herbert
ef42c6ecdf
Add missing xmldoc
2022-06-30 16:51:31 +09:00
Dean Herbert
e34c2f0aca
Remove unnecessary nullable-enable
2022-06-30 16:47:26 +09:00
Dean Herbert
82134ad1a6
Allow null
parameter to GetWorkingBeatmap
for now
2022-06-30 16:46:28 +09:00
Dean Herbert
98938821e5
Merge branch 'master' into beatmap-update-flow
2022-06-30 16:44:17 +09:00
Dean Herbert
18d465eff7
Guard against NaN
star difficulty results
2022-06-29 21:02:29 +09:00
Dan Balasescu
396e7fc166
Merge pull request #18862 from peppy/empty-beatmap-file-fix-2
...
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 20:37:57 +09:00
Dan Balasescu
f6a6538e96
Add more properties to IBeatmapOnlineInfo
2022-06-27 16:07:15 +09:00
Dean Herbert
13c8d33009
Fix second case of empty beatmaps being reported to sentry as errors
2022-06-27 15:29:01 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
7692bac35a
Simplify refetch (and ensure to invalidate after processing)
2022-06-24 21:02:38 +09:00
Dean Herbert
0c3d890f76
Fix reprocessing not working on import due to realm threading woes
2022-06-24 21:02:38 +09:00
Dean Herbert
30b3973c9f
Difficulty cache invalidation flow
2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2
Allow song select to refresh the global WorkingBeatmap
after an external update
2022-06-24 21:02:38 +09:00
Dean Herbert
6999933d33
Split updater process into realm transaction and non-transaction
2022-06-24 21:02:38 +09:00
Dean Herbert
021b16f2f3
Ensure WorkingBeatmap
is invalidated after update
2022-06-24 21:02:38 +09:00
Dean Herbert
fe570d8052
Queue beatmaps for update after editing
2022-06-24 21:02:38 +09:00
Dean Herbert
06d59b717c
Move beatmap processing tasks to new BeatmapUpdater
class
2022-06-24 21:02:37 +09:00
Dean Herbert
2ca4184eda
Merge pull request #18834 from bdach/ban-implicit-to-lower-upper
...
Disallow usage of `string.To{Upper,Lower}()` without explicit culture
2022-06-24 20:39:58 +09:00
Dan Balasescu
7eb49dac7a
Merge pull request #18832 from peppy/bdc-remove-unused-path
...
Remove unused bindable retrieval flow in `BeatmapDifficultyCache`
2022-06-24 20:20:23 +09:00
Dean Herbert
823b3c1c0f
Ensure WorkingBeatmap
is always using a detached instance
2022-06-24 19:07:54 +09:00
Dean Herbert
2ae48d5a87
Rename incorrect parameter name in BeatmapManager.GetWorkingBeatmap
2022-06-24 19:07:54 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}()
2022-06-24 11:57:45 +02:00
Dean Herbert
c179127670
Remove unused bindable retrieval flow
2022-06-24 17:09:56 +09:00
Dean Herbert
0755430006
Use AddOnce
for update calls
2022-06-24 17:09:56 +09:00
Dean Herbert
8912f07745
Merge branch 'master' into difficulty-icon-refactor-pass
2022-06-24 16:34:35 +09:00
Dean Herbert
28837693e5
Nuke calculating everything
...
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?
To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035 .
2022-06-24 14:24:06 +09:00
Dean Herbert
12ea8369ee
Update retriever to be relatively sized
2022-06-24 14:06:31 +09:00
Dean Herbert
d9c1a9d71f
Use new property to specify no tooltip, rather than passing only ruleset
2022-06-24 14:06:18 +09:00
Dean Herbert
129c907092
Remove unused parameters
2022-06-24 13:58:02 +09:00
Dean Herbert
ef258122d2
Move GetDifficultyRating
helper method to StarDifficulty
2022-06-23 19:51:58 +09:00
Dean Herbert
b068df2149
Enable NRT on BeatmapDiffiultyCache
2022-06-23 19:51:58 +09:00