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