Thanks for keeping up with lazer updates as always! Check out the video digest version of this changelog!
Code Quality
- Use
TriangleBorder
shader inTriangles
background (#22386 by @EVAST9919) - Fix incorrect naming of badge header container (#22472 by @Joehuu)
- Apply NRT to all skin editor classes (#22430 by @peppy)
- Implement Masking property for
TrianglesV2
background (#22428 by @EVAST9919) - Move skin editor to overlays namespace (#22490 by @peppy)
- Specify
texelSize
value in theTriangles
background (#22491 by @EVAST9919) - Apply NRT in
IWindow
and related classes (ppy/osu-framework#5642 by @Susko3) - Apply single inspection from newer inspectcode versions (#22531 by @peppy)
- Apply a few new rider quick fixes (ppy/osu-framework#5645 by @peppy)
- Similar to #22531.
Editor
Add ability to snap slider tails with other nearby objects (#22265 by @Wleter)
22265.mp4
Fix creating a copy of a difficulty in the editor removing the original beatmap from user collections (#22318 by @naoey)
Changes beatmap saving so that by default it does not transfer the hashes in collections, and only transfers them when saving the same difficulty in the editor.
Fix argon hit circles occasionally going missing during editor seeking (#22391 by @peppy)
Add preview time verification module (#22281 by @cdwcgt)
You will now be informed when preview time is not set, or doesn't match across all difficulties.
Allow snapping objects to slider tails and repeats (#22498 by @Wleter)
Fix nudging object positions using j
/ k
not being undoable (#22504 by @peppy)
Smaller changes
- Make PathControlPointVisualiser generic (#21560 by @OliBomby)
- This allows any osu! hit object with a path to draw a path control point visualiser. For future use.
Framework
Fix emphasised markdown text not flowing correctly (ppy/osu-framework#5631 by @Joehuu)
Smaller changes
- Return the handling drawable on calling
TriggerPressed
(ppy/osu-framework#5634 by @peppy) - Fix bindable list/dictionary not correctly checking for already bound instances (ppy/osu-framework#5633 by @frenzibyte)
- Implement Masking property for
Triangles
background (#22409 by @EVAST9919) - Fix div-by-zero in
TriangleBorder
shader (ppy/osu-resources#242 by @EVAST9919) - Fix
AudioManager.GetSampleStore()
mutating provided store (ppy/osu-framework#5638 by @bdach) - Add texelSize slider to
TriangleBorder
shader test scene (#22478 by @EVAST9919)
Gameplay
Add "accuracy challenge" mod (#18402 by @ggliv)
This mod adds a new failure condition to gameplay based on current accuracy. If accuracy goes below a set threshold (defaulting to 90% for an A rank), the beatmap will fail. Accuracy is checked continuously throughout the map.
This mod is intended to be used as a general challenge/difficulty increase for local and playlist play, much like SD and PF.
accuracychallenge.mp4
Fix beatmaps with multiple osb
files potentially reading the storyboard from the wrong one (#22406 by @peppy)
In stable, the storyboard filename is fixed (reference). In lazer, we were always looking for the first .osb
in the database. In the case a beatmap archive housed more than one .osb
files, this may load the incorrect one.
Fixes storyboard playback for this beatmap, which had three osb
files.
Allow pausing replays with middle mouse button (#22000 by @Joehuu)
This can also be customised in key binding settings.
Ensure pause sample loop is stopped on exiting player (#22535 by @peppy)
Fix storyboard outro time potentially running too long (#22532 by @peppy)
If a storyboard has a loop with a very high loop count (under the premise of it being ignored, ie. how stable handles this case), lazer would try to play out the full length of the loop.
Smaller changes
Gameplay (osu!)
Add support for disabling "hit lighting" with osu! argon skin (#22404 by @peppy)
Keep in mind that the "hit lighting" toggle is only supposed to remove the afterimage lighting which is present on classic skins.
Any further tweaking that players want from the skin (ie. making animations shorter or removing more flashiness) will come with future settings.
Add empty space tap-streaming support for osu! ruleset on touchscreen devices (#22375 by @peppy)
Use one finger to track cursor position while using up to two more to tap (and actuate left/right keys).
I've implemented this in a relatively naive way to begin with. We'll adjust with more feedback.
One unavoidable caveat here is that the game will give the user one extra input if they tap on a hit circle directly then "stream" using two other fingers. In other words, you can hit stacks of three objects by pressing three fingers in quick succession (one on the circle, two anywhere else) without releasing any, which is not possible with keyboard + mouse.
22375.mp4
Add very basic kiai flash to argon hit circles (#22412 by @peppy)
22412.mp4
Fix miss animation on old skins not moving correctly (#22421 by @EXtremeExploit)
22421.mp4
Smaller changes
- Fix touches not being handled outside
OsuTouchInputMapper
when using screen scaling (#22381 by @Susko3) - Adjust argon hit lighting further (#22440 by @peppy)
Gameplay (osu!mania)
Add basic support for stupidly long hold note skin textures (#22389 by @peppy)
Also known by the affectionate "percy long notes" name in the community.
Rough visual pass. Not going to overthink this one. Not accepting any proposed changes to make it match stable visually until we get this out for testing.
I am interested if anyone finds a skin which doesn't use stupid-long textures and gets broken/affected by this change.
Note that this will cause some long notes to look visually worse due to the downscaling. I think it's the best we can do, though. Going forward, we need to
- Address user concerns regarding hold note visibility so they don't need to do this hackery in the first place (ie. support faded ends in default skins as discused in #20576, including a proposal from me).
- Add a better skinning interface for hold note bodies.
Improve argon hold notes visuals and fix reverse scroll direction looking wrong (#22402 by @itsMapleLeaf)
22402.mp4
Gameplay (osu!taiko)
Fix scroll speed not being constant since last release when adjusting window width (#22325 by @sw1tchbl4d3r)
The assertions made in the previous release (i.e. looking identical to classic mod and stable) weren't quite true yet, due to the fact that constant SV scaling must be moved out of the classic mod as well.
This change makes taiko notes scroll at a constant speed, no matter the size of the playfield.
22325.mp4
Add ability to change osu!taiko touch screen layout from KDDK to DDKK / KKDD alternative control schemes (#22109 by @OpenSauce04)
This adds a new setting under rulesets/osu!taiko that allows you to select which control scheme you would prefer to use when using a touch screen.
22109.mp4
Smaller changes
- Add missing
spinner-warning
legacy skin asset (ppy/osu-resources#244 by @bdach)
Localisation
Add localisation support for most skinnable components (#22489 by @ItsShamed)
Smaller changes
- Update translations (ppy/osu-resources#243 by @peppy)
Platform
Fix original files not being deleted when importing to game on android (#22361 by @Susko3)
Allow importing beatmaps via file associations on desktop platforms (#22515 by @Susko3)
Note that the game doesn't yet hook up associations, so this still requires a manual step (or dragging directly to the executable).
Smaller changes
- Fix migration putting game files in root of disk if no other files exist (#22467 by @Cootz)
- Add a way to raise the window (ppy/osu-framework#5640 by @Susko3)
- Use case is raising the primary window when opening files/links via IPC (non-primary instance passing arguments to the primary), see #22519.
Only implemented on desktop platforms. Raising a window is not a thing on mobile platforms, the OS has full control there (on Android we set LaunchMode.SingleInstance
so every intent is passed to the same instance).
The tests are finicky on windows, as windows doesn't allow a window to raise/focus itself and will instead flash the taskbar button orange. If the window is minimised beforehand, there is a much better chance of the raise working.
For the use case described above, the raise always works. Windows probably does some heuristics to figure out if this is a "valid" raise request, and doing IPC like this is a common pattern.
Settings
- Add more keywords to settings based on feedback (#22371 by @peppy)
- Fix touch input handler settings not matching search for "touchscreen" (#22385 by @peppy)
Skin Editor
Allow to change font of text elements (#21504 by @Feodor0090)
Improve transition and "non-skinnable screen" display in skin editor (#22494 by @peppy)
Adjust transition and replace ugly white box screen display with something that fits better with the interface (and reduces noise rather than adding more).
22494.mp4
Avoid showing skin save message when changing scenes after making no changes (#22495 by @peppy)
This got pretty annoying when moving between screens in the editor (it would show the "changes saved" on each screen change). Now it will only show when changes have actually occurred.
Smaller changes
- Fix default health bar having a very weird anchor point in the skin editor (#22429 by @peppy)
- Fix skin texture store attempting to read image data from samples (#22464 by @bdach)
- Fix skin editor component list having uneven padding (#22502 by @peppy)
Song Select
Fix beatmap leaderboard potentially showing incorrect leaderboard when switching to non-ranked beatmap (#22387 by @peppy)
Add ability to disable background blur at song select (#22382 by @JDECOMBE)
Improve messaging in song select right-click context menu actions (#22227 by @OliBomby)
The main purpose of this PR is to allow different song select menus to have different context menu actions on the carousel beatmaps. The online play song select now has a more accurate 'Select' context menu item instead of the 'Play' and 'Edit' which wouldn't make sense in that context.
Smaller changes
- Fix advanced statistics display potentially performing invalid difficulty calculation (#22032 by @frenzibyte)
Testing
- Update
WikiMarkdownContainer
tests (#22383 by @jai-x) - Fix intermittent failure in multiplayer queue mode tests (#22450 by @frenzibyte)
- Output gameplay clock progress in
PlayerTestScene
s (#22483 by @peppy) - Add more logging in
TestScenePause
to better understand test failures (#22484 by @peppy)
Tooling
- Fix iOS workflow still targeting old Xcode version (#22400 by @frenzibyte)
- Remove fastlane build scripts (#22477 by @peppy)
UI
Add tiered level badge colouring (#22277 by @stanriders)
For future use.
Update appearance of profile cover area to match web (#22399 by @bdach)
This is the last one of the user profile overlay changes I had lying around. Just want to get this over and done with.
2023-01-24.23-34-08.mp4
Fix expanded beatmap cards getting cut off at the end of profile sections (#22518 by @Joehuu)
Before:
After:
Fix some clickable elements having no hover and click sounds (#22505 by @Joehuu)
Smaller changes
- Fix changelog overlay potentially showing up behind mod select overlay (#22390 by @Joehuu)
- Fix beatmap listing potentially not sorting by relevance when searching via metadata (#22449 by @Joehuu)
- Make probationary groups a bit transparent (#22357 by @EXtremeExploit)
New Contributors
- @Wleter made their first contribution in #22265
- @JDECOMBE made their first contribution in #22382
- @Cootz made their first contribution in #22467
- @itsMapleLeaf made their first contribution in #22402
- @OpenSauce04 made their first contribution in #22109
Full Changelog: 2023.123.0...2023.207.0