Dean Herbert
7dba21fdac
Move init method to bottom of file
2024-02-11 20:05:58 +08:00
Dean Herbert
01501f3b82
Merge branch 'master' into refactor-metadata-lookup-sources
2024-02-10 14:43:51 +08:00
Andrei Zavatski
c500264306
Cache created judgement in HitObject
2024-02-09 23:20:31 +03:00
Berkan Diler
6adf0ac01e
Use new LINQ Order() instead of OrderBy() when possible
2024-02-08 18:01:00 +01:00
Dan Balasescu
b44f77cee1
Update R# + fix inspections
2024-02-02 21:00:28 +09:00
Dean Herbert
cf97cb1e0c
Merge branch 'master' into dont-round-sv
2024-01-26 19:16:58 +09:00
Dean Herbert
d66a2c452f
Merge branch 'master' into multiplayer-difficulty-tooltip
2024-01-25 21:18:16 +09:00
Dean Herbert
50300adef8
Tidy things up
2024-01-25 21:17:56 +09:00
Dean Herbert
aeac0a2a9d
Nullability
2024-01-25 21:16:12 +09:00
Dean Herbert
3c18efed05
Remove transparency
2024-01-25 21:13:47 +09:00
Dean Herbert
64ba95bbd6
Remove pointless comments
2024-01-25 21:13:47 +09:00
smallketchup82
2305a53a02
Remove max combo reading & remove unnecessary commas
2024-01-22 08:59:37 -05:00
Bartłomiej Dach
493d495992
Merge pull request #26605 from peppy/simplify-gameplay-pause
...
Simplify gameplay pause sequence
2024-01-22 08:49:08 +01:00
Dean Herbert
c9945b41c1
Remove rounding of slider velocity (when applied as scroll speed)
...
This affects both osu!taiko and osu!mania.
Closes https://github.com/ppy/osu/issues/25862 .
2024-01-18 18:37:44 +09:00
smallketchup82
5c70c786b4
Fix extended tooltip content still being shown despite ShowExtendedTooltip being false
2024-01-18 03:18:44 -05:00
Dean Herbert
8ab8c90e33
Remove "pause rate adjust" flow
2024-01-18 14:21:02 +09:00
Andrei Zavatski
42e4c933d3
Fix ConstrainedIconContainer always using masking
2024-01-18 04:06:02 +03:00
smallketchup82
060ea1d4fd
Switch from using a constructor argument to using a public field for ShowExtendedTooltip
2024-01-17 14:04:13 -05:00
smallketchup82
9a6541356e
Refactor the extended tooltip variables to be more descriptive
2024-01-17 13:31:23 -05:00
smallketchup82
b6422bc8bd
Apply suggested changes
...
- Change difficultyicon mods parameter docstring to be more professional
- Add a parameter for controlling whether the difficulty statistics show or not. Defaults to false
- Round the BPM in the tooltip to make sure it displays correctly
2024-01-17 09:07:17 -05:00
smallketchup82
d2efa2e56a
peppy said he prefers the version without pipes so ill remove the pipes
2024-01-14 15:47:50 -05:00
smallketchup82
f7c1e66165
Make the difficulty stats change based on the currently applied mods
2023-12-22 17:28:02 -05:00
smallketchup82
3b58f6a7e7
Implement difficulty statistics
2023-12-21 21:07:12 -05:00
Dean Herbert
f09c6b8c1b
Change default values of new object counts to -1
to identify non-processed values
2023-12-19 18:20:02 +09:00
Dean Herbert
bfa90e9dcb
Also populate ObjectCount
s when running a full beatmap process
...
Saves running things twice on an old install
2023-12-18 18:41:41 +09:00
Dean Herbert
dc5c9837ed
Fix StarRatingDisplay
's display width to avoid text making slight autosize changes
2023-12-15 16:00:03 +09:00
Bartłomiej Dach
c0e68df20f
Fix InverseDifficultyRange()
not working correctly in both directions
2023-12-14 20:41:12 +01:00
Bartłomiej Dach
24e31f7d91
Implement inverse of IBeatmapDifficultyInfo.DifficultyRange()
2023-12-14 20:41:12 +01:00
Dan Balasescu
0171078052
Move object counts to BeatmapInfo
2023-12-13 17:33:24 +09:00
Dan Balasescu
767d5c8018
Add object counts to IBeatmapDifficultyInfo
2023-12-09 22:31:51 +09:00
Dean Herbert
1b50d1011a
Move constant local to taiko
2023-12-06 15:59:34 +09:00
Dean Herbert
b5bae566c2
Fix incorrect slider velocity being written on export for osu!taiko beatmaps
2023-12-06 15:59:34 +09:00
Dean Herbert
0af16732b8
Change default slider velocity to 1.4
...
This is the default in osu!stable and plays better than 1.0.
2023-12-06 13:38:46 +09:00
Dean Herbert
8704dc3505
Fix change in filter behaviour
2023-12-05 18:20:27 +09:00
Dean Herbert
42010574b5
Avoid list construction when doing filtering
2023-12-05 15:26:14 +09:00
Bartłomiej Dach
02c794cc1f
Merge pull request #25552 from peppy/fix-r#-inpsections
...
Fix a couple of new r# inspections
2023-11-24 11:04:08 +09:00
Dean Herbert
268b965ee8
Enable NRT on Beatmap
2023-11-23 17:28:16 +09:00
Dean Herbert
a80a5be4ec
Fix a couple of new r# inspections
2023-11-23 17:11:40 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling
2023-11-23 16:22:01 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners
2023-11-23 13:54:05 +09:00
Dan Balasescu
cb4568c4a1
Fix first object after break not starting a new combo
2023-11-22 17:22:48 +09:00
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders
2023-11-20 12:03:29 +09:00
cs
fa976a5aa0
Fix code style/quality issues
2023-11-13 08:25:27 +01:00
cs
54b8244a18
CI Fixup
2023-11-11 15:02:06 +01:00
Thomas Müller-Höhne
926636cc03
Generalize Bezier curves to BSplines of Nth degree
2023-11-11 13:32:53 +01:00
Dean Herbert
615d8384ab
Refactor everythign back to sanity
2023-11-09 22:31:28 +09:00
Bartłomiej Dach
c58a47760e
Merge pull request #25167 from peppy/fix-circle-radius
...
Fix circle scale not matching stable due to missing multiplier
2023-10-20 20:59:53 +02:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions
and stop applying rounding allowance to catch
...
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Bartłomiej Dach
c89081589c
Fix insufficient leniency when querying sample points
2023-10-20 10:26:16 +02:00
Dean Herbert
040d0970f2
Use DifficultyRange
helper method in one more place
2023-10-18 23:54:18 +09:00
Dean Herbert
3a5490892c
Centralise and repair circle size calculations game-wide
2023-10-18 19:50:42 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Dean Herbert
2781846147
Fix beatmaps with no preview point set getting incorrect default
...
Note that this will require a re-import to fix existing beatmaps
becuse.. it's stored to realm. Probably not worth worrying about for
now.
2023-10-10 19:13:16 +09:00
Dean Herbert
f8455af0d0
Fix double interpolation being applied when applyOffsets=false
2023-10-05 13:20:52 +09:00
Dean Herbert
5a17a86d1d
Merge branch 'master' into clock-fix-attempt-2
2023-10-04 16:57:49 +09:00
Dean Herbert
2481c0b64b
Don't show replay import "missing beatmap" notifications during stable import
...
Closes https://github.com/ppy/osu/issues/24926 .
2023-09-27 17:04:43 +09:00
Dean Herbert
d019cb5167
Update in line with framed clock changes
2023-09-22 22:02:18 +09:00
Dean Herbert
6629a47ed3
Fix FramedBeatmapClock
's source not being processed
2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196
Set source directly in FramedBeatmapClock
ctor
...
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
0200b63fd3
Add note about beatmap offset not being reapplied correctly on ChangeSource
2023-09-22 14:41:07 +09:00
Dean Herbert
a451ab75dd
Remove hopefully-unnecessary workaround
...
It was causing issues with the new implementation.
2023-09-22 14:41:05 +09:00
Dean Herbert
df08c4e1ad
Disable decoupling for OsuGameBase
's beatmap implementation
...
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812
Remove unnecessary encapsulation workaround
...
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).
This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Dean Herbert
21a2e27e5f
Simplify some pieces of FramedBeatmapClock
2023-09-22 12:49:25 +09:00
Dean Herbert
04e6ec8715
Fix interpolation not being applied when applyOffsets
is set
2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6
Update usage of DecoupleableInterpolatingFramedClock
in FramedBeatmapClock
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b
Change FramedBeatmapClock
to always be decoupled
2023-09-22 12:49:25 +09:00
Dean Herbert
bf984388b3
Update clocks in line with framework changes
2023-09-20 21:17:08 +09:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
...
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Dean Herbert
05e05f8160
Increase transition speed slightly
2023-09-19 18:02:08 +09:00
Bartłomiej Dach
62f97a8d83
Adjust beatmap card thumbnail dim state to match web better
2023-09-19 10:28:08 +02:00
Dean Herbert
7f30354e61
Adjust sizing slightly to remove need for CollapsibleButtonContainerSlim
2023-09-19 17:20:58 +09:00
Bartłomiej Dach
8e199de78a
Tweak nano beatmap card UX further to meet expectations
2023-09-19 08:36:32 +02:00
Bartłomiej Dach
5fcd736332
Redo nano beatmap card design to fit needs better
...
Wanting to use this inside notification, it turns out that the original
design did not work very well at such narrow widths, and additionally
the typical button setup borrowed from elsewhere resulted in teeny tiny
action buttons.
To that end, slim down the design (get rid of thumbnail, audio preview,
make expandable right side slimmer), as well as change the entire panel
so that it has only one action associated with it at all times, and
clicking the panel in any place triggers that action.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card
2023-09-18 11:30:14 +02:00
Joseph Madamba
c2685da94c
Fix dummy beatmap showing AR 5 on song select
2023-09-15 20:26:17 -07:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point
2023-09-15 11:14:28 +02:00
Dean Herbert
541cd972e1
Rename ArchiveReader
implementations to read better
2023-09-14 13:36:07 +09:00
Bartłomiej Dach
2bb869732e
Delete outdated warning disables
2023-09-07 18:47:01 +02:00
Dean Herbert
dcbdc114ce
Remove precision limitations of SliderVelocity
2023-09-07 17:41:58 +09:00
Dean Herbert
b34a36f6ce
Remove all usage of LegacyDifficultyControlPoint
2023-09-07 17:41:57 +09:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Dean Herbert
034c887dcb
Add animation support for beatmap status pills
...
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00
cdwcgt
3decadaf51
use realm query
2023-09-04 17:13:46 +09:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap
2023-09-04 12:41:23 +09:00
Bartłomiej Dach
c27f06c0a7
Merge branch 'master' into formats-nrt
2023-08-21 08:17:34 +02:00
Dean Herbert
5e0b89a1a8
Rename GetPath
to GetFullPath
to better match expectations
2023-08-18 17:56:43 +09:00
Dean Herbert
864f1bdb3e
Move population of import time to the Populate
method
...
Feels like a better place to be doing this. I think we want to keep any
kind of potentially expensive work in the `Populate` method.
2023-08-18 17:56:11 +09:00
Dean Herbert
eb2460d180
Remove dead metadata transfer code
2023-08-18 17:40:00 +09:00
Krzysztof Gutkowski
59abb59ee8
Set correct date added value when importing stable beatmapsets
2023-08-17 00:49:48 +02:00
Dean Herbert
49fc9655d2
Apply NRT to osu.Game.Betamaps.Formats
namespace
2023-08-16 19:37:24 +09:00
Bartłomiej Dach
37361cd683
Repurpose Flat{File -> }WorkingBeatmap
2023-08-12 00:49:42 +02:00
Dean Herbert
75c1d5ad7f
Add lenience to FramedBeatmapClock
workaround
2023-08-02 18:49:24 +09:00
cdwcgt
c07a1ec91e
retrun DefaultBeatmap when beatmapset already delete pending
...
reimplement https://github.com/ppy/osu/pull/22741
2023-08-02 17:58:17 +09:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length
2023-07-25 22:40:45 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains
2023-07-25 21:58:13 +02:00
Dean Herbert
9cfe9164fa
Add helper method to get drain length (and rename some usages)
2023-07-25 16:58:41 +09:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains
2023-07-19 21:26:41 +02:00
OliBomby
5d82190b70
Merge remote-tracking branch 'upstream/master' into legacy-export
2023-07-18 12:18:49 +02:00
Dean Herbert
e6e66c6aef
Remove mention of clock being nullable in IBeatSyncProvider
...
Co-authored-by: Susko3 <Susko3@protonmail.com>
2023-07-18 13:08:23 +09:00
Dean Herbert
20e4e2581a
Change IBeatSyncProvider.Clock
to always be non-null
2023-07-13 22:13:40 +09:00
OliBomby
cde8d8e7f1
Optimize realm transactions for editor Save action
2023-07-13 14:33:21 +02:00
OliBomby
1d837a8725
Move all conversion code to LegacyBeatmapExporter
2023-07-13 00:20:01 +02:00
OliBomby
8ca801a224
dispose the streams
2023-07-12 15:18:16 +02:00
OliBomby
3052c317e1
change .osz2 to .olz (osu lazer zip)
2023-07-12 15:04:06 +02:00
OliBomby
b577b6b6ae
Export legacy converted beatmaps as .osz and non-converted beatmaps as .osz2
2023-07-11 21:04:09 +02:00
OliBomby
2db25722cb
It works now
2023-07-11 20:18:54 +02:00
OliBomby
06e5ef88c0
legacy export broken
2023-07-11 02:30:16 +02:00
Bartłomiej Dach
10ba04512d
Add ScoreV2
to LegacyMods
2023-07-09 16:06:05 +02:00
Bartłomiej Dach
832c1c0009
Merge branch 'master' into fix-gameplay-samepl-trigger-source-rewind
2023-07-08 13:33:04 +02:00
Dean Herbert
d72765b6f8
Merge pull request #24114 from peppy/editor-save-local-score-management
...
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Dean Herbert
2e98ab0a48
Expose rewinding state of IGameplayClock
s
...
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
a98a36872e
Bring realm library up-to-date
2023-07-06 13:37:43 +09:00
Dean Herbert
64fc5e40e8
Move score attach logic to a helper method and call during editor save
2023-07-04 15:07:40 +09:00
Bartłomiej Dach
1ce60378be
Rewrite comments further
2023-07-01 20:37:33 +02:00
Dean Herbert
5bd91a531d
Tidy up comments and code
2023-07-01 23:37:22 +09:00
Dean Herbert
a4a9223726
Move score re-attach to PostImport
2023-07-01 23:12:04 +09:00
Cootz
47ccbddfb1
Reword comment
2023-06-29 08:08:10 +03:00
Cootz
351f217c8c
Reassign existing scores to new/re-exported beatmap
2023-06-29 08:07:43 +03:00
Bartłomiej Dach
6876566530
Fix difficulty deletion not deleting records from realm
2023-06-27 23:43:00 +02:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections
2023-06-24 16:07:01 +02:00
Bartłomiej Dach
1f2f522a1e
Mark override as null-accepting
...
`ModelBackedDrawable<T>.CreateDrawable()` is R#-annotated to accept
a potentially null model. Apply nullability there too for better reading
experience.
2023-06-24 15:07:04 +02:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Joseph Madamba
9ae864c219
Fix beatmap info length tooltip not showing actual drain length
2023-06-17 15:00:32 -07:00
Joseph Madamba
fdebf93ae4
Fix incorrect xmldoc of IBeatmapInfo.Length
2023-06-17 14:55:27 -07:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request #23829 from Joehuu/truncating-text-tooltips
...
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
Dean Herbert
a29f6772cd
Fix storyboard being null if file doesn't exist
...
It's expected that `WorkingBeatmap.Storyboard` is non-null.
An example fail case is in `BeatmapBackgroundWithStoryboard.load`.
2023-06-12 17:22:15 +09:00
Salman Ahmed
2823a62b5f
Avoid potential cropping error on very tall backgrounds
2023-06-09 15:27:53 +03:00
Dean Herbert
49c77a64ef
Apply more correct fix, factoring in minimum display ratio
2023-06-09 19:30:28 +09:00
Salman Ahmed
df874b9ae8
Fix beatmap panel background looking different than usual
2023-06-09 09:16:10 +03:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text
2023-06-08 19:44:07 -07:00
Bartłomiej Dach
c930ec97d6
Polish xmldocs
2023-06-08 19:11:48 +02:00
Bartłomiej Dach
29ce27098d
Refactor again to fix test failures
2023-06-08 19:11:48 +02:00
Bartłomiej Dach
b895d4a42f
Adjust logic to preserve existing desired behaviour
2023-06-08 19:11:48 +02:00
Bartłomiej Dach
b384a3258d
Remove unused argument
2023-06-08 19:11:48 +02:00
Bartłomiej Dach
7c8c6790d0
Refactor metadata lookup to streamline online metadata application logic
2023-06-08 19:11:48 +02:00
Bartłomiej Dach
05bd912a21
Revert internal
access modifier application
...
Unfortunately breaks a few classes (which is fixable), and also breaks
Moq/Castle dynamic proxies (which is unfortunate).
Relevant error:
System.TypeLoadException : Method 'GetPanelBackground' in type 'Castle.Proxies.IWorkingBeatmapProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
Stack Trace:
at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
at System.Reflection.Emit.TypeBuilder.CreateTypeInfo()
at Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType()
at Castle.DynamicProxy.Generators.BaseInterfaceProxyGenerator.GenerateType(String typeName, INamingScope namingScope)
at Castle.DynamicProxy.Generators.BaseProxyGenerator.<>c__DisplayClass13_0.<GetProxyType>b__0(CacheKey cacheKey)
at Castle.Core.Internal.SynchronizedDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
at Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyType()
at Castle.DynamicProxy.DefaultProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, IInterceptor[] interceptors)
at Moq.CastleProxyFactory.CreateProxy(Type mockType, IInterceptor interceptor, Type[] interfaces, Object[] arguments) in C:\projects\moq4\src\Moq\Interception\CastleProxyFactory.cs:line 50
In theory it would be possible to fix this via application of
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
onto the `osu.Game` assembly, but I think this would be bad precedent.
2023-06-08 15:23:09 +02:00
Bartłomiej Dach
6dbf02454f
Fix bad math
2023-06-08 14:19:34 +02:00
Dean Herbert
cccc06de48
Fix potential failure if beatmap background isn't tall enough
2023-06-08 21:10:40 +09:00
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