diff --git a/assets/app/changelog.md b/assets/app/changelog.md index 18052a9f1..aea2cb410 100644 --- a/assets/app/changelog.md +++ b/assets/app/changelog.md @@ -1,366 +1,29 @@ -Version 1.8 Patch 4 -=================== - -# Bug Fixes - -- Fixed hitsounds resources not being cleared properly, resulting in excessive CPU and memory consumption - -Version 1.8 Patch 3 -=================== - -# Additions - -- Added support for `skin.ini`'s `CursorTrailRotate` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Cursor": { - "rotateCursorTrail": true - } - } - ``` - -# Bug Fixes - -- Fixed fail animation still playing when the Perfect mod is enabled -- Fixed a potential case where hitsounds may not be stopping until the game is restarted - -Version 1.8 Patch 2 -=================== +Version 1.8.1 +============= # Additions -- Added osu!stable gameplay failing animation - -# Changes - -- Revamped slider judgement (again) - - Should actually match osu!stable now, minus slider end leniency (non-existent) and expanded follow circle area - (16.7% smaller than osu!stable). -- Improved FPS counter accuracy -- Improved gameplay loading time moderately -- In-game leaderboard and hit error meter now remain visible even if gameplay UI is disabled, provided that their - respective settings are enabled -- Reduced update frequency of FPS counter -- Reduced pause menu fade in animation duration - -# Removals - -- Removed update FPS counter -- Removed random button press cooldown - -# Bug Fixes - -- Fixed note stacking not being applied properly to slider paths -- Fixed another possible memory leak when loading and saving replays -- Fixed a possible crash when migrating beatmap collections -- Fixed pause menu animation being affected by speed multiplier -- Fixed `spinnerspin` samples potentially sounding choppy -- Fixed `sliderslide`, `sliderwhistle`, and `spinnerspin` samples not looping properly -- Fixed beatmap import from osu.direct failing on beatmaps with a slash character in their artist or title -- Fixed game window potentially scaling down when searching for a beatmap in song selection menu -- Fixed a potential case where gameplay HUD remains visible when going back from gameplay to room lobby in multiplayer -- Fixed beatmap star rating occasionally showing 0 when switching beatmaps rapidly -- Fixed previous selection not cancelling when random button selection is cancelled by dragging out of the button -- Fixed a possible crash when leaving a multiplayer room -- Fixed hit circle judgement potentially being behind by a frame -- Fixed combo counter misplacement when pausing the game before the first hit object or during breaks -- Fixed combo text scale from `skin.json` not being applied properly -- Fixed unintended looping in follow point animation -- Fixed beatmap global leaderboard taking too long to load when switching beatmaps rapidly -- Fixed rapid beatmap switching in song selection menu potentially freezing the entire game - -Version 1.8 Patch 1 -=================== +- Added support for displaying banners in main menu + - To be used for announcements, events, etc. +- Added support for [Mino](https://catboy.best/) beatmap mirror in beatmap listing search +- Added support for sorting beatmap listing search result by: + - Title + - Artist + - BPM + - osu!standard star rating + - Beatmap drain length + - Pass count + - Play count + - Beatmap total length + - Favorite count + - Last update + - Ranked date + - Submitted date # Changes -- The `animationFramerate` setting of `skin.json` now defaults to -1 -- Reduced follow point persistence duration in higher approach rates -- Revamped background difficulty calculation progress indicator - - It is now displayed in the bottom-right corner of the screen -- Background difficulty calculation now only uses half of the available CPU cores - - This allows players to still navigate around the game at the expense of longer completion time -- Optimized gameplay loading by only reprocessing slider paths when necessary - -# Removals - -- Removed difficulty switcher button from song selection menu's bottom-left button row. It is now accessible under - beatmap options or from main menu options under "General" category +- Replaced game information in main menu with a clickable dialog box # Bug Fixes -- Fixed device back button not working properly when used after playing a beatmap once -- Fixed room settings being visible to non-hosts in multiplayer -- Fixed crash when attempting to play a beatmap with negative duration hitobjects -- Fixed stacked scores in gameplay leaderboard -- Fixed positioning of combo, circle number, and score overlaps in gameplay when there are more than 2 number digits -- Fixed a potential case where mod settings menu is not dismissed properly -- Fixed multiplayer lobby search not showing -- Fixed pie song progress potentially being drawn improperly -- Fixed replays before version 1.8 not using old slider judgements -- Fixed inputs being registered one frame late in gameplay -- Fixed "fix frame offset" setting offsetting input time even further from the actual input time -- Fixed "fix frame offset" setting not being applied to slider head judgements -- Fixed beatmap collections not being migrated to the new storage location -- Fixed some gameplay hitsounds potentially not stopping after the hitobject's lifetime has finished or the game was paused - -Version 1.8 -=========== - -# Additions - -## User interface redesigns - -Many of menu-related user interfaces in the game have been redesigned to bring a refresh to old user interfaces. -The following menus have been redesigned: - -- Options menu -- Mod customization menu (that pops up when "Settings" in the mod menu is pressed) -- Beatmap management dialog -- Score management dialog -- Game exit -- Beatmap search bar in song selection menu -- Multiplayer chat -- Multiplayer options -- Beatmap downloader download progress - -## New ranking system - -This update switches the global ranking system to use a metric called performance points that more accurately measures the -skill of a player. - -Starting from this version, the "Score" text in your in-game profile card is replaced with "Performance" which denotes -your performance points. - -Consequently, this switch also changes how your overall accuracy is calculated: -- Previously, your overall accuracy was calculated by averaging the accuracy of all scores you have submitted. -- Now, your overall accuracy is calculated by calculating a weighted average of your top scores' accuracy. - -Your in-game profile and in the website now displays your top 100 scores in terms of performance points. - -If you are coming from osu!stable, osu!lazer, or know what performance points are, it should be noted that osu!droid -does not use the same algorithm as osu!standard. The algorithm used in osu!droid is a heavily modified algorithm that -is designed to reflect osu!droid's gameplay environment. This algorithm is colloquially known as "osu!droid pp" or -dpp for short. - -## Input block area - -This new addition allows you to block specific areas within your screen from receiving presses during gameplay. Useful -for preventing accidental touches. - -## Smaller additions - -- Added support for pp-based global beatmap leaderboard in song selection menu -- Added video setting summary regarding supported video formats -- Added support for manually importing replay files in options - - Can be accessed under the "Library" section - - Both `.odr` and `.edr` files are supported. However, only `.odr` files from osu!droid version 1.6.7 onwards are supported -- Added a new button in song selection menu to switch difficulty algorithm between osu!droid and osu!standard - - The button can be skinned with the following skin element names: - - `selection-difficulty-droid` - - `selection-difficulty-droid-over` - - `selection-difficulty-standard` - - `selection-difficulty-standard-over` - - The button can be customized in `skin.json`'s `Layout` configuration under `DifficultySwitcher`, just like `ModsButton` - and the like. Here is an example configuration: - ```json - { - "Layout": { - "useNewLayout": true, - "DifficultySwitcher": { - "x": 108.2, - "y": 195.4, - "w": 120.5, - "h": 132.1, - "scale": 1.25 - } - } - } - ``` -- Added support for `sliderslide` and `sliderwhistle` hitsounds -- Added support for `check-off`, `check-on`, `click-short`, and `click-short-confirm` skin samples -- Added support for `SamplesMatchPlaybackRate` beatmap configuration -- Added support for `scorebar-marker` texture -- Added support for custom file hitsounds -- Added support for circular song progress indicator in gameplay -- Added support to cancel gameplay loading by pressing the back button -- Added an animation to slider end arrow rotation when snaking animation is enabled -- Added a slight dim to hitobjects that cannot be hit yet in gameplay -- Added a rotation effect to miss hit judgement effects in gameplay -- Added most common BPM metric to beatmap information in song selection menu -- Added force maximum refresh rate setting - - This may not work as the system may prevent the game from setting its own refresh rate -- Added support for `skin.ini`'s `AnimationFramerate` setting in `skin.json` - - The default value is `-1` when converting a `skin.ini` to `skin.json`, and `60` otherwise - - To use in `skin.json`, add the following entry: - ```json - { - "Utils": { - "animationFramerate": 60 - } - } - ``` -- Added support for `skin.ini`'s `LayeredHitSounds` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Utils": { - "layeredHitSounds": true - } - } - ``` -- Added support for `skin.ini`'s `SpinnerFrequencyModulate` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Utils": { - "spinnerFrequencyModulate": true - } - } - ``` -- Added support for `skin.ini`'s `SliderBallFlip` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Slider": { - "sliderBallFlip": true - } - } - ``` -- Added support for `skin.ini`'s `ScoreOverlap` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Fonts": { - "scoreOverlap": 0 - } - } - ``` -- Added support for `skin.ini`'s `ComboOverlap` setting in `skin.json` - - To use in `skin.json`, add the following entry: - ```json - { - "Fonts": { - "comboOverlap": 0 - } - } - ``` - -# Changes - -## Minimum Android version requirement - -osu!droid version 1.8 has an increased minimum Android version of 7, effectively removing support for Android 5, 5.1, and 6. - -## Storage migration - -This update migrates the storage location of local scores, beatmap collections, and beatmap options into an integrated -database. Doing this increases the import time of beatmaps and fixes a few problems, namely: -- Duplicated beatmapsets in song selection menu -- Scores in local leaderboard potentially not showing in its beatmap - -## Background difficulty calculation - -This update moves the difficulty calculation process of beatmaps that would normally be done during import into a -background process. This significantly improves the import time of beatmaps. As consequences, the star rating sorting in -song select menu will not work properly while the background process is running, and all beatmaps that have not been -calculated will display a star rating of 0. - -During gameplay, background difficulty calculation is paused to prevent performance degradation. - -## Updated gameplay elements - -The following gameplay elements' display has been updated to match osu!stable: - -- Follow points - - In addition to display parity, its skin element (`followpoint`) can now be animated -- Health bar -- Hit lighting -- Score counter -- Combo counter -- Accuracy counter - -## Smaller changes - -- Circles and sliders can now be hit as early as 400ms before the circle's start time - - Previously, circles could immediately be hit after the approach circle has progressed halfway. - - Consequently, sliders could be hit only after its slider head enters the meh hit window, preventing the player from - slider breaking for hitting a slider's head too early. -- More significant performance improvements in gameplay than version 1.7.2 -- Separated average offset and unstable rate displays in gameplay into separate settings -- Miss hit judgement effect only plays in a slider's tail rather than its head and tail -- The `sliderfollowcircle` and `sliderb` skin elements can now be animated -- Optimized engine buffer update and writing logic -- Optimized gameplay loading time by only reloading beatmap when necessary -- Optimized real-time PP counter by not recalculating a beatmap's difficulty when retrying it -- Optimized real-time PP counter's update operation after an object's judgement -- Optimized osu!standard difficulty calculation's difficulty spike nerf application -- Optimized beatmap switching operation in song selection menu -- The `x` and `y` properties in `skin.json`'s `Layout` configuration now affects a button's position -- CS and OD conversions in song selection menu are now displayed using osu!droid metrics rather than osu!standard -- Background music in song selection menu now adjusts based on selected mods and settings -- Changed "chimu.moe" mention to beatmap downloader when there are no songs -- Reversed the way offsets are applied - positive values now mean objects appear earlier -- Background music now reduces its volume when going from song selection menu to main menu -- Increased the speed of background music volume ramp up after selecting a beatmapset in song selection menu -- Matched skip time behavior with osu!stable -- Revamped FPS counter - - Maximum FPS is now displayed - - Now displays two FPS counters: update FPS and draw FPS. The previous FPS counter only displays update FPS - - Changes color based on current FPS compared to maximum FPS -- Gameplay HUD now ignores playfield size setting -- The real-time PP counter has been moved next to circular song progress or accuracy counter - - Its `d` and `p` letters can be skinned with the `score-d` and `score-p` skin elements -- Average offset and unstable rate counters are now hidden during autoplay -- Updated Korean, Japanese, and Russian translations - -# Removals - -- Removed the "Calculate slider path" setting. It is now enabled by default thanks to the aforementioned performance improvements -- Removed internal volume adjustment of normal, whistle, and clap hitsounds, where normal and whistle hitsounds' volume -were reduced by 20% and clap hitsounds' volume were reduced by 15% -- Removed the "Player Name" setting. It is now combined with the "Username" option -- Removed fractional part of real-time PP and unstable rate counters -- Removed fractional part of beatmap BPM displays in song selection menu - -# Bug fixes - -- Fixed beatmapsets potentially getting duplicated after import operation -- Fixed login fail messages other than "Cannot connect to server" not displaying properly -- Fixed "Show FPS" setting affecting the display of other counters (average offset, unstable rate, and real-time PP counter) -- Fixed wrong textures being displayed before in-game video plays on devices with Mali GPUs -- Fixed real-time pp counter taking the next object's difficulty attributes when the current object is active in gameplay -- Fixed real-time pp counter text potentially getting cut off -- Fixed some gameplay animations not being affected by speed multiplier -- Fixed pp being calculated and displayed in multiplayer team mode -- Fixed multitouch detection not working properly due to improperly specified hardware features from the system -- Fixed device back button resuming gameplay after game over when playing Sudden Death + Relax/Autopilot -- Fixed object hits potentially playing a different (and unintended) hitsound when hit with a different offset -- Fixed kiai flashing time being based on the first timing point rather than the currently active timing point -- Fixed slider tick judgement in reversed spans being inaccurate under certain conditions -- Fixed slider tick judgement in a slider's span potentially resuming even after all ticks in the span have been judged, giving more combo than intended -- Fixed slider tick judgement in a slider's span potentially being completely skipped in very short sliders under low frame rate -- Fixed slider tracking state recovering when the player enters the follow circle area rather than the slider ball -- Fixed modern spinners not playing sampleset-specific and addition-specific hitsounds on a successful (non-miss) hit -- Fixed modern spinners being able to be spun before the start time of the spinner, giving more score than classical spinners -- Fixed modern spinners not auto-completing like classical spinners when its duration is under 50ms -- Fixed a slider's length potentially falling short from its expected length -- Fixed force OD not being affected by speed multiplier in song selection menu -- Fixed a slider head's hit window not being capped at the slider's span duration -- Fixed slider ends increasing combo when not hit -- Fixed animatable textures not being unloaded properly when changing skins -- Fixed old (non-skin.json) button layouts using fixed height for offset rather than texture-based height -- Fixed beatmap background and video paths potentially being parsed incorrectly -- Fixed music preview time defaulting at 50% music length instead of 40% -- Fixed ScoreV2 value not updating after misses -- Fixed sound volume setting being doubly applied in some situations -- Fixed current mods state not being saved when going out from song selection menu -- Fixed background music volume not ramping up upon leaving song selection menu -- Fixed object starting point potentially being screwed up -- Fixed object approach rate being rounded up (making it off by at most 0.5ms in real time) -- Fixed memory leak when reading and saving replays -- Fixed misleading metronome effect setting description, denoting that it is only applied to the NightCore mod -- Fixed crash when attempting to restore game state after the system kills the game due to low memory -- Fixed cancel button in beatmap downloader not working properly -- Fixed object judgement relying on non-replay judgement processing when replaying in gameplay \ No newline at end of file +- Fixed an issue where the game could potentially crash after quitting gameplay \ No newline at end of file