- Added hittable dim (hitobjects outside even the miss-range are dimmed, see https://github.com/ppy/osu/pull/20572) - Added Options > Gameplay > HUD > "Draw HitErrorBar UR" (Unstable Rate text display above hiterrorbar, enabled by default) - Added ConVars (1): osu_hud_hiterrorbar_ur_scale, osu_hud_hiterrorbar_ur_alpha, osu_hud_hiterrorbar_ur_offset_x/y_percent - Added ConVars (2): osu_beatmap_max_num_hitobjects, osu_beatmap_max_num_slider_scoringtimes - Added ConVars (3): osu_hitobject_hittable_dim, osu_hitobject_hittable_dim_start_percent, osu_hitobject_hittable_dim_duration, osu_mod_mafham_ignore_hittable_dim - FPoSu: Updated FOV sliders to allow two decimal places - Updated supported beatmap version from 14 to 128 (lazer exports) - Updated "Game Pause" keybind to prevent binding to left mouse click (to avoid menu deadlocks) - Updated mod selection screen to also close when ENTER key is pressed - Fixed even more star calc crashes on stupid deliberate game-breaking beatmaps (~65k sliders * ~9k repeats * 234 ticks = ~126149263360 scoring events) - Linux: Fixed BACKSPACE key not updating ConVar suggestion list in console
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.07)
- Reenabled IME support to fix blocking keyboard language switching hotkeys (add "-noime" launch arg to get the old behavior back in case of problems) - Improved console autocomplete - Fixed pie progressbar fill being invisible under certain conditions
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.05 + 33.06)
- Added option "[Beta] RawInputBuffer" (Options > Input > Mouse) - Added ConVars (1): osu_mod_random_seed, osu_hud_statistics_*_offset_x/y, osu_slider_max_ticks - Added ConVars (2): osu_background_color_r/g/b - Updated mod selection screen to show rng seed when hovering over enabled "Random" experimental mod checkbox - Fixed another set of star calc crashes on stupid aspire beatmaps (lowered slider tick limit, no timingpoints) - Linux: Fixed major executable corruption on newer distros (Ubuntu 23+) caused by gold linker (all files written were corrupt, e.g. scores.db or osu.cfg, also segfaults etc.)
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.04)
- Updated star + pp algorithms to match current lazer implementation aka 20220902 (16) (thanks to @Khangaroo!) - Added option "Disable osu!lazer star/pp algorithm nerfs for relax/autopilot" (Options > General > Player) - Fixed extremely rare AMD OpenGL driver crash when slider preview in options menu comes into view (via workaround) - Added ConVars: osu_options_slider_preview_use_legacy_renderer, osu_songbrowser_scorebrowser_enabled - Disabled new star/pp algorithm relax/autopilot nerfs by default in order to match previous behavior
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.03)
- Added new experimental mod "Half Timing Window" - Added "Quick Seek" key bindings (jump +-5 seconds, default LEFT/RIGHT arrow keys) - Added hitobject type percentage support to songbrowser search (e.g. "sliders>80%") - Added ConVars (1): osu_seek_delta, osu_end_skip, osu_mod_halfwindow_allow_300s - Added ConVars (2): osu_songbrowser_search_hardcoded_filter, osu_hud_scrubbing_timeline_hover_tooltip_offset_multiplier - Added ConVars (3): osu_skin_force_hitsound_sample_set, osu_hitobject_fade_in_time - Added ConVars (4): osu_ar_overridenegative, osu_cs_overridenegative - Added ConVars (5): osu_songbrowser_button_active/inactive_color_a/r/g/b, ...collection_active/inactive_color_a/r/g/b, ...difficulty_inactive_color_a/r/g/b - Added ConVars (6): osu_hitresult_delta_colorize, osu_hitresult_delta_colorize_interpolate/multiplier/early_r/g/b/late_r/g/b - Linux: Upgraded build system from Ubuntu 16 to Ubuntu 18 (anything running older glibc is no longer supported) - Updated scrubbing to keep player invincible while scrubbing timeline is being clicked (even if mouse position does not change) - Updated CS override to hard cap at CS +12.1429 (more than that never made sense anyway, the circle radius just goes negative) - Updated audio output device change logic to restore music state (only in menu, changing output devices while playing will still kick you out) - Improved songbrowser scrolling smoothness when switching beatmaps/sets (should reduce eye strain with less jumping around all the time) - Improved songbrowser scrolling behavior when right-click absolute scrolling to always show full songbuttons (disabled scroll velocity offset) - Improved songbrowser thumbnail/background image loading behavior - Increased osu_ui_top_ranks_max from 100 to 200 by default - Fixed very old legacy beatmaps (< v8) sometimes generating mismatched slider ticks (compared to stable) because of different tickDistance algorithm - Fixed extremely rare infinite font/layout/resolution reloading bug killing performance caused by custom display scaling percentages (e.g. 124%, yes 124% scaling in Windows) - Fixed extremely rare freeze bug caused by potential infinite stars in osu!.db - Fixed multiple audio output devices with the exact same name not being selectable/handled correctly - Fixed minimize_on_focus_lost_if_borderless_windowed_fullscreen not working - Fixed fposu_mouse_cm_360 + fposu_mouse_dpi not updating in options menu if changed live via console/cfg
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.02)
- Windows: Added support for mixed-DPI-scaling-multi-monitor setups (automatic detection based on which monitor the game is on) - Windows: Added support for key binding all remaining mouse buttons (all mouse buttons can now be bound to key binding actions) - macOS: Fixed general breakage hopefully (still no high-DPI support) - Fixed osu_mod_random in cfg affecting main menu button logo text sliders - Fixed very wide back button skin images overlapping other songbrowser buttons and making them impossible/invisible to click - Fixed pen dragging playstyles potentially causing unintentional UI clicks when in-game screens/panels are switched and the pen is released
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33.01)
- Linux: Switched to SDL backend (mostly for Steam Deck multitouch support) - FPoSu: Added cursor trail support (can be disabled in Options > Skin > "Draw Cursor Trail", or fposu_draw_cursor_trail) - Added new experimental mod "Approach Different" - Added new experimental mod "Strict Tracking" - Added new main menu button logo text - Added "most common BPM" in parentheses to top left songbrowser info label (e.g. "BPM: 120-240 (190)") - Added beatmapID and beatmapSetID columns to osu_scores_export csv - Added "Reset all settings" button to bottom of options menu - Added PAGEUP/PAGEDOWN key support to songbrowser - Added ConVars (1): osu_followpoints_connect_spinners, fposu_transparent_playfield - Added ConVars (2): fposu_playfield_position_x/y/z, fposu_playfield_rotation_x/y/z - Added ConVars (3): osu_mod_approach_different_initial_size, osu_mod_approach_different_style - Added ConVars (4): osu_cursor_trail_scale, osu_hud_hiterrorbar_entry_additive, fposu_draw_cursor_trail - Added ConVars (5): osu_mod_strict_tracking_remove_slider_ticks - Updated songbrowser search to use "most common BPM" instead of "max BPM" - Updated "Draw Stats: BPM" to use "most common BPM" instead of "max BPM" - Updated "Sort by BPM" to use "most common BPM" instead of "max BPM" - Updated UI DPI scaling to automatically enable/disable itself based on in-game resolution (instead of OS DPI) - Updated hiterrorbar to use additive blending for entries/lines - Updated preview music handling to fallback to 40% of song length (instead of beginning) if invalid/missing PreviewTime in beatmap - Improved performance slightly (shader uniform caching) - Fixed pp algorithm to allow AR/OD above 10 for non-1.0x speed multipliers and/or EZ/HT/HR/DT (please do Top Ranks > "Recalculate pp") - Fixed "Use mods" inconsistent behavior (custom speed multiplier "ignored once", "sticky" experimental mods)
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 33)
- Added collection management support (Add/Delete/Set/Unset collections, right-click context menu on beatmap buttons) - FPoSu: Added new experimental mod "Strafing" - Added gamemode selection button to songbrowser (no, skins abusing this as a decoration overlay are not supported) - Added support for "ScorePrefix" + "ComboPrefix" + "ScoreOverlap" + "ComboOverlap" in skin.ini - Added option "Show osu! scores.db user names in user switcher" (Options > General > Player) - Added option "Draw Strain Graph in Songbrowser" (Options > General > Songbrowser) - Added option "Draw Strain Graph in Scrubbing Timeline" (Options > General > Songbrowser) - Added startup loading screen and animation - Added beatmap ID to songbrowser tooltip - Added hint text for experimental mods in mod selection screen - Added ConVars (1): osu_mod_fposu_sound_panning, osu_mod_fps_sound_panning, osu_stacking_leniency_override - Added ConVars (2): fposu_mod_strafing_strength_x/y/z, fposu_mod_strafing_frequency_x/y/z - Added ConVars (3): snd_updateperiod, snd_dev_period, snd_dev_buffer, snd_wav_file_min_size - Added ConVars (4): osu_ignore_beatmap_combo_numbers, osu_number_max - Added ConVars (5): osu_scores_export, osu_auto_and_relax_block_user_input - Updated songbrowser search to be async (avoids freezing the entire game when searching through 100k+ beatmaps)\n - Updated "PF" text on scores to differentiate "PFC" (for perfect max possible combo) and "FC" (for no combo break, dropped sliderends allowed) - Updated hitresult draw order to be correct (new results are now on top of old ones, was inverted previously and nobody noticed until now) - Updated user switcher to be scrollable if the list gets too large - Updated score list scrollbar size as to not overlap with text - Updated score buttons to show AR/CS/OD/HP overrides directly in songbrowser (avoids having to open the score and waiting for the tooltip) - Updated osu!.db loading to ignore corrupt entries with empty values (instead of producing empty songbuttons with "//" text in songbrowser) - Linux: Updated osu! database loader to automatically rewrite backslashes into forward slashes for beatmap filepaths (as a workaround) - Improved startup performance (skin loading) - Fixed slider start circle hitresult getting overwritten by slider end circle hitresult in target practice mod - Fixed animated hitresults being broken in target practice mod - Fixed NotificationOverlay sometimes eating key inputs in options menu even while not in keybinding mode - Fixed "osu!stable" notelock type eating the second input of frame perfect double inputs on overlapping/2b slider startcircles - Fixed malformed/corrupt spinnerspin.wav skin files crashing the BASS audio library
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)
Update (version 32!)
- Initial rewrite of songbrowser and entire internal database class architecture (not fully finished yet) - Songbrowser can now handle individual diff buttons and/or split from their parent beatmap/set button - Collections now correctly only show contained diffs (previously always showed entire set) - Similarly, searching will now match individual diffs, instead of always the entire set - However, sorting still only sorts by beatmap set heuristics, this will be fixed over time with one of the next updates - All pp scores can now be recalculated at will, so click on "Recalculate pp" as soon as possible (Songbrowser > User > Top Ranks > Menu) - Added new grouping options to songbrowser: "By Artist", "By Creator", "By Difficulty", "By Length", "By Title" - FPoSu: Added zooming/scoping (Options > Input > Keyboard > FPoSu > Zoom) (Options > FPoSu > "FOV (Zoom)") - Added dynamic star recalculation for all mods in songbrowser (stars will now recalculate to reflect active mods, including overrides and experimentals) - Added ability to recalculate all McOsu pp scores (Songbrowser > User > Top Ranks > Menu > Recalculate) - Added ability to convert/import osu! scores into McOsu pp scores (Songbrowser > User > Top Ranks > Menu > Import) - Added ability to delete all scores of active user (Songbrowser > User > Top Ranks > Menu > Delete) - Added menu button to "Top Ranks" screen (Recalculate pp, Import osu! Scores, Delete All Scores, etc.) - Added "Use Mods" to context menu for score buttons (sets all mods, including overrides and experimentals, to whatever the score has) - Added extra set of keybinds for key1/key2 (Options > Input > Keyboard) - Added bonus pp calculation to user stats (previously total user pp were without bonus. Bonus is purely based on number of scores.) - Added "Max Possible pp" to top left songbrowser info label (shows max possible pp with all active mods applied, including overrides and experimentals) - Added option "Draw Stats: Max Possible Combo" (Options > Gameplay > HUD) - Added option "Draw Stats: pp (SS)" (Options > Gameplay > HUD) - Added option "Draw Stats: Stars* (Total)" (Options > Gameplay > HUD) - Added option "Draw Stats: Stars*** (Until Now)" (aka live stars) (Options > Gameplay > HUD) - Added support for OGG files in skin sound samples - Added Tolerance2B handling to osu!stable notelock algorithm (unlock if within 3 ms overlap) - Added score multiplier info label to mod selection screen - Added ConVars (1): osu_spinner_use_ar_fadein, osu_notelock_stable_tolerance2b - Added ConVars (2): fposu_zoom_fov, fposu_zoom_sensitivity_ratio, fposu_zoom_anim_duration - Added ConVars (3): osu_scores_rename, osu_scores_bonus_pp, osu_collections_legacy_enabled - Added ConVars (4): osu_songbrowser_dynamic_star_recalc, osu_draw_songbrowser_strain_graph, osu_draw_scrubbing_timeline_strain_graph - Updated all right-click context menus to be bigger and easier to hit (score buttons, song buttons) - Updated SearchUIOverlay to simply move left on text overflow - Updated "DPI" and "cm per 360" textboxes to support decimal values with comma (e.g. 4,2 vs 4.2) - Updated mouse_raw_input_absolute_to_window to be ignored if raw input is disabled - Updated pp algorithm (12) (Reverted Xexxar's accidental AR8 buff), see https://github.com/ppy/osu-performance/pull/133 - Updated pp algorithm (11) (Xexxar's miss curve changes), see https://github.com/ppy/osu-performance/pull/129/ - Updated pp algorithm (10) (Xexxar's low acc speed nerf), see https://github.com/ppy/osu-performance/pull/128/ - Updated pp algorithm (9) (StanR's NF multiplier based on amount of misses), see https://github.com/ppy/osu-performance/pull/127/ - Updated pp algorithm (8) (StanR's SO multiplier based on amount of spinners in map), see https://github.com/ppy/osu-performance/pull/110/ - Updated pp algorithm (7) (Xexxar's AR11 nerf and AR8 buff), see https://github.com/ppy/osu-performance/pull/125/ - Linux: Updated BASS + BASSFX libraries - macOS: Updated BASS + BASSFX libraries - Fixed ScoreV2 score multipliers for HR and DT and NF (1.06x -> 1.10x, 1.12x -> 1.20x, 0.5x -> 1.0x) - Fixed UI toggle being hardcoded to SHIFT+TAB and not respecting "Toggle Scoreboard" keybind (in combination with SHIFT) - Fixed star cache not updating instantly when changing Speed Override with keyboard keys while playing (previously only recalculated upon closing mod selection screen) - Fixed drain not being recalculated instantly when changing HP Override while playing (previously only recalculated upon closing mod selection screen) - Fixed clicking mod selection screen buttons also triggering "click on the orange cursor to continue play" (unwanted click-through) - Fixed animated followpoint.png scaling not respecting inconsistent @2x frames - Fixed drawHitCircleNumber for variable number width skins (@yclee126) - Fixed spinners not using hardcoded 400 ms fadein (previously used same AR-dependent fadein as circles, because that makes sense compared to this insanity) - Fixed mod selection screen visually rounding non-1.0x difficulty multipliers to one decimal digit (e.g. HR CS showed 4.55 in songbrowser but 4.5 in override) - Fixed songbrowser visually always showing raw beatmap HP value (without applying mods or overrides) - Fixed skipping while loading potentially breaking hitobject state - Fixed very rare beatmaps ending prematurely with music (hitobjects at exact end of mp3) causing lost scores due to missing judgements
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library. WARNING: New scores achieved in version 32 will vanish when loaded on any previous version of the game, so be careful and make a backup of your scores.db and scoresvr.db)
Update (version 31.11)
- Added option "Inactive" (Options > Audio > Volume) - Added hitresult fadein + scale wobble animations (previously became visible instantly as is) - Added ConVars (1): osu_hitresult_fadein_duration, osu_hitresult_fadeout_start_time, osu_hitresult_fadeout_duration - Added ConVars (2): osu_hitresult_miss_fadein_scale, osu_hitresult_animated, osu_volume_master_inactive - Improved hitresult animation timing and movement accuracy to exactly match osu!stable (fadein, fadeout, scaleanim) - Fixed hitresult animations not respecting speed multiplier (previously always faded at 1x time) - Fixed aspire timingpoint handling (e.g. XNOR) (2)
. (As always, if I broke something with this update, you can go back to the previous version via the "Beta" tab in the right-click properties of the game in your library)