Dean Herbert
2dd99ef1fd
Refactor FPSCounter
to not use scheduled tasks
...
While on the surface this looks harmless (ignoring allocations),
`Scheduler` doesn't clear cancelled tasks until they reach their
execution time. This can cause an increase in time spent processing the
scheduler itself.
I don't think a per-frame updating component should use scheduled tasks
in this way in the first place, so I've just rewritten the logic to
avoid that overhead altogether.
2022-07-25 16:26:48 +09:00
Salman Ahmed
4332e6cae9
Fix OsuSliderBar
throwing on negative draw width
2022-07-24 08:34:24 +03:00
Dean Herbert
b9f5074c13
Merge branch 'fps-counter-no-rolling-counter' into fps-counter-cleanup
2022-07-22 02:22:01 +09:00
Dean Herbert
0eeafea500
Increase responsiveness to change slightly
2022-07-21 23:37:32 +09:00
Dean Herbert
c140601c2d
Cleanup pass on FPSCounter
2022-07-21 23:02:31 +09:00
Dean Herbert
fc6445caea
Rate limit updates for good measure
2022-07-21 22:55:45 +09:00
Dean Herbert
3d2603e0eb
Remove unused classes
2022-07-21 22:51:35 +09:00
Dean Herbert
3fad481a96
Avoid using RollingCounter
in fps counter
...
It wasn't made to be updated every frame, and it shows. Inaccurate for
reasons I'm not really interested in investigating, because I don't want
to incur the `Transorm` overhead in the first place for an fps counter.
Was only used originally out of convenience.
2022-07-21 22:50:02 +09:00
Dean Herbert
5db4d9437a
Add missing using statement
2022-07-21 21:39:24 +09:00
Dan Balasescu
6fac34c721
Merge pull request #19274 from peppy/fix-fps-counter-fps-inaccuracy
...
Fix draw FPS being inaccurate due to using `ElapsedFrameTime`
2022-07-21 20:55:14 +09:00
Dean Herbert
4c4939d18d
Fix draw FPS being inaccurate due to using ElapsedFrameTime
...
Had a feeling this would be the case.
Basically, we're calculating on the update thread and checking the last
value of draw thread's `ElapsedFrameTime`. In the case that value is
spiky, a completely incorrect fps can be displayed.
I've left the spike display do use `ElapsedFrameTime`, as
`FramesPerSecond` is too averaged to see spikes.
2022-07-21 19:17:58 +09:00
Dean Herbert
fb728fbed1
Fix FPS counter not being wide enough to show large fps numbers
2022-07-21 18:56:39 +09:00
Dean Herbert
56106e43d2
Avoid div-by-zero
2022-07-21 13:06:43 +09:00
Dean Herbert
311a0a3de0
Always show counter temporarily when aim FPS changes
2022-07-21 12:57:40 +09:00
Dean Herbert
705ff06ea5
Better handle spikes and significant changes
2022-07-21 12:50:39 +09:00
Dean Herbert
285516b111
Fix isDisplayed
never actually being set
2022-07-21 12:40:27 +09:00
Dean Herbert
728e22fbce
Improve tooltip display when running single thread
2022-07-21 12:06:22 +09:00
Dean Herbert
e1a577ea48
Adjust spacing to make things feel more even
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:51 +09:00
Dean Herbert
57ecc3a6df
Remove unnecessary negative spacing from thread names
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:59:26 +09:00
Dean Herbert
c7313b4198
Fix alignment glitching due to non-matching anchor/origin
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-21 11:58:28 +09:00
Dean Herbert
75453b78c0
Adjust colours and metrics
2022-07-21 00:09:46 +09:00
Dean Herbert
f54aff2ece
Add global key binding for FPS toggle
2022-07-21 00:09:46 +09:00
Dean Herbert
0a1744faca
Add to game and bind with configuration setting
2022-07-20 23:49:19 +09:00
Dean Herbert
0fb959a565
Stay displayed while hovering
2022-07-20 23:49:19 +09:00
Dean Herbert
03e644e548
Choose colours based on relative performance goals
2022-07-20 23:49:19 +09:00
Dean Herbert
0c3d43026d
Add initial structure for fps counter
2022-07-20 23:49:19 +09:00
Gabe Livengood
d6abdc597d
correct label positioning
2022-07-11 17:12:41 -04:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
...
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dean Herbert
b626135940
Fix dragging slider bars on nub not performing correctly relative movement
2022-07-02 17:49:38 +09:00
Dean Herbert
545df0a8e8
Display difficulty on nub
2022-07-01 15:17:26 +09:00
Dean Herbert
d54f7fc728
Move slider range control to song select
2022-07-01 14:41:36 +09:00
Dean Herbert
3785027284
Update OsuSliderBar
colours to not use transparency
2022-07-01 14:41:36 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dean Herbert
f71f6302fd
Remove unnecessary null
casts
2022-06-24 14:50:11 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Jamie Taylor
930ec2a197
Add specific samples for dialog 'Ok' and 'Cancel' buttons
2022-06-15 15:41:27 +09:00
Jamie Taylor
396a566a0e
Add some randomness to click samples
2022-06-03 22:33:11 +09:00
Jamie Taylor
2878bb592f
Use more appropriate sounds for certain components
2022-06-03 22:32:12 +09:00
Jamie Taylor
365819865e
Remove 'submit' sample usages
2022-06-03 22:31:35 +09:00
Bartłomiej Dach
3847a586f1
Make GlobalAction.Back
close all opened dropdown menus
2022-05-23 23:37:40 +02:00
Bartłomiej Dach
21e1576b2f
Fix appearance of sheared button borders after click
...
The border would previously get brighter after click, but then dim
instantly when the flash layer has fully faded out. The underlying issue
there is https://github.com/ppy/osu-framework/issues/5191 , but
`ShearedButton` was placing the flashing layer incorrectly anyway, as
the intent was that it should also apply to the border.
2022-05-21 20:53:23 +02:00
Dan Balasescu
a633501687
Change FilterTerms to use LocalisableString
2022-05-16 14:09:37 +09:00
Dan Balasescu
8a559ff58a
Merge pull request #18191 from frenzibyte/button-use-overlay-colour
...
Fix buttons no longer coloured using `OverlayColourProvider`
2022-05-10 12:14:10 +09:00
Salman Ahmed
1fcfeac05f
Fix RoundedButton
not using its default background colour
2022-05-09 21:07:43 +03:00
Salman Ahmed
ace25af949
Revert "Move default background colour specification to OsuButton
"
...
This reverts commit 172524ff8a
.
2022-05-09 20:55:26 +03:00
Salman Ahmed
172524ff8a
Move default background colour specification to OsuButton
2022-05-09 18:21:00 +03:00
Dean Herbert
70a90722e8
Fix dropdown item hover colour not being set in time
...
Turns out to be an osu!-side issue. The colour transform was being
shortcutted for the non-displayed case, which meant it was not in a good
state in time for the first hover.
Closes https://github.com/ppy/osu/issues/18163#issuecomment-1120747301
2022-05-09 19:49:45 +09:00
Dean Herbert
983eed32fc
Reduce complexity of icon container nesting
2022-05-03 14:48:00 +09:00
Dean Herbert
b5ea26f2fa
Fix incorrect shear masking on nested textbox
2022-05-03 14:45:17 +09:00
Dean Herbert
bc88c4ee8e
Reduce container nesting by one level
2022-05-03 14:34:18 +09:00
Dean Herbert
8e0235392f
Inline single-use constants
2022-05-03 14:31:20 +09:00
Dean Herbert
4a56297c1c
Add localisation and improve visuals of placeholder text
2022-05-03 14:29:04 +09:00
Dean Herbert
4fb66a812f
Merge branch 'master' into sheared-search-textbox
2022-05-03 14:12:59 +09:00
Dean Herbert
04fb0f5e63
Merge pull request #18063 from GSculerlor/split-searchbox
...
Split `SearchTextBox` implementation for reusability
2022-05-03 14:12:44 +09:00
Ganendra Afrasya
a35502a834
Move implementation to ctor instead of bdl method
2022-05-03 11:33:03 +07:00
Ganendra Afrasya
e03d086305
Inherit SearchTextBox
instead
2022-05-03 11:24:48 +07:00
Ganendra Afrasya
a436ff877f
Apply review
2022-05-03 11:13:07 +07:00
Ganendra Afrasya
e6fbb19951
Implement new search textbox design
2022-05-03 11:13:07 +07:00
Dean Herbert
faeefc5e18
Merge pull request #16576 from frenzibyte/osu-distance-spacing
...
Add "distance spacing" support in editor for osu! ruleset
2022-05-03 12:15:18 +09:00
Ganendra Afrasya
81be69e72e
Update search textbox implementation to use BasicSearchTextBox
instead
2022-05-03 06:18:42 +07:00
Ganendra Afrasya
d7919f462c
Split SearchTextBox
into SearchTextBox
and BasicSearchTextBox
2022-05-03 06:18:27 +07:00
Dean Herbert
f9a1d9df56
Reduce scale effect slightly (was feeling too bouncy)
2022-05-02 20:32:33 +09:00
Dean Herbert
55949e8407
Make disabled sheared buttons darker
2022-05-02 20:32:33 +09:00
Salman Ahmed
d052321eee
Revert "Fix context menus not working"
...
This reverts commit 51aa17eb52
.
2022-04-28 12:11:06 +03:00
Salman Ahmed
8880ff16c3
Merge branch 'master' into sheared-button
2022-04-26 13:09:10 +03:00
Dean Herbert
4a370f429e
Reorder initialisation of bindable action binding to make more sense
2022-04-26 18:21:46 +09:00
Dean Herbert
52a8f3848d
Expose font size and add big button test
2022-04-26 18:14:57 +09:00
Dean Herbert
cd197a9380
Reduce the hover lightening effect slightly
2022-04-26 18:11:03 +09:00
Dean Herbert
4bc4ff179a
Add flash effect on click
2022-04-26 18:03:34 +09:00
Dean Herbert
4e260e7410
Fix all buttons gamewide not animating properly on click
...
Not sure how or when this happened.
2022-04-26 17:32:25 +09:00
Dean Herbert
9f33e627de
Split out ShearedButton
from ShearedToggleButton
2022-04-26 17:31:55 +09:00
Dean Herbert
51aa17eb52
Fix context menus not working
2022-04-24 22:17:38 +09:00
Salman Ahmed
4f8f27a58b
Merge branch 'master' into osu-distance-spacing
2022-04-24 05:23:30 +03:00
Dean Herbert
0f4b40ab15
Add better click-to-dismiss logic for sheared overlays
2022-04-21 16:27:27 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Dean Herbert
1032dc235d
Rename PopupScreenTitle
to ShearedOverlayHeader
2022-04-20 16:01:15 +09:00
Dean Herbert
8d31b0bc01
Split out the base design of sheared overlay into its own abstract class
...
This will allow for reuse with the first-run overlay.
2022-04-20 15:50:16 +09:00
Bartłomiej Dach
1c7b259f8e
Merge branch 'master' into mod-overlay/sheared-toggle
2022-03-31 22:20:20 +02:00
Bartłomiej Dach
e180db145d
Add constructor argument to facilitate fixed width/autosizing
2022-03-31 22:19:08 +02:00
Bartłomiej Dach
b3896257ca
Move shear amount to constant
2022-03-31 22:09:03 +02:00
Dean Herbert
726b49fdf3
Focus focus not being transferred correctly to parent settings panel on exiting nested panel
...
Seemingly harmless schedule delay ommission meant that the textbox may
not be in a state it can handle the incoming focus event. Regressed in
https://github.com/ppy/osu/pull/14345#discussion_r690697501 .
2022-03-31 15:24:21 +09:00
Bartłomiej Dach
3ac0da2da3
Implement sheared toggle button
2022-03-30 22:50:21 +02:00
Dean Herbert
b42081dd9b
Add DangerousButton
for use in popup dialogs
2022-03-21 16:06:45 +09:00
Bartłomiej Dach
54275813b5
Use text flow container in popup screen title
2022-03-06 20:41:31 +01:00
Bartłomiej Dach
df0617f34c
Implement popup screen title component
2022-03-06 16:09:18 +01:00
Bartłomiej Dach
346cec3577
Merge branch 'add-offset-adjust-tooltip-text' into combine-time-slider-implementation
2022-03-05 14:58:56 +01:00
Dean Herbert
ce51ce49cf
Revert changes to GetTooltipText
and use TooltipText
override directly
2022-03-05 22:46:13 +09:00
Dean Herbert
524b8e02ef
Revert "Update all usages of OsuSlider.TooltipText
overrides to instead implement GetTooltipText
"
...
This reverts commit abba49fd8f
.
2022-03-05 22:37:36 +09:00
Dean Herbert
33862fc0db
Centralise implementation of slider bars which display millisecond time values
2022-03-04 12:25:19 +09:00
Dean Herbert
abba49fd8f
Update all usages of OsuSlider.TooltipText
overrides to instead implement GetTooltipText
2022-03-04 12:16:05 +09:00
Dean Herbert
5cfa8b8821
Revert back to private set
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-03-03 21:31:56 +09:00
Dean Herbert
7ee30024e8
Restructure OsuSliderBar
to allow for custom tooltips
2022-03-03 17:07:26 +09:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Dean Herbert
b9d9fc56af
Move files to UI namespace
2022-02-14 17:51:39 +09:00
Bartłomiej Dach
b613aedeb8
Fix menu item width changing when hovered
2022-02-02 21:23:35 +01:00
Dean Herbert
39c9c4985b
Merge branch 'master' into textbox-AllowIme-false
2022-01-18 17:03:51 +09:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Susko3
a0842838e7
Add AllowIme => false
where applicable
...
Also adds `AllowWordNavigation => false` to password text box.
2022-01-12 00:15:17 +01:00
Dean Herbert
2bf6b55b19
Fix failing test due to changed reset page logic
2022-01-05 14:53:32 +09:00
Dean Herbert
5ed69338a6
Add omission of pages when there are too many
2022-01-04 19:05:14 +09:00