1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 15:17:28 +08:00
Commit Graph

1341 Commits

Author SHA1 Message Date
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