Commit Graph

70072 Commits

Author SHA1 Message Date
Bartłomiej Dach
00e795cf76
Merge pull request #30484 from peppy/store-scale-origin-mode
Remember origin for editor scale/rotation popover
2024-11-04 12:58:06 +01:00
Dean Herbert
795477372f
Merge pull request #30456 from smoogipoo/revert-taiko-convert-diffcalc-change
Bring back convert nerf to fix overweighted taiko difficulty
2024-11-04 20:00:58 +09:00
Dean Herbert
c99c82ab08
Merge pull request #30460 from Lawtrohux/t-speed-deviation
Implement stamina consideration for Mono (single-coloured) patterns.
2024-11-04 19:38:50 +09:00
Bartłomiej Dach
7d39765f71
Merge pull request #30482 from peppy/adjust-minimum-scale
Allow scaling down to 5% in popover scale dialog
2024-11-04 11:34:42 +01:00
Bartłomiej Dach
e2a4a9b300
Fix rotation popover potentially crashing due to activating selection origin just before disabling it 2024-11-04 10:58:48 +01:00
Dean Herbert
c4a02b7991
Merge pull request #30489 from iSlodinxOsu/loved
Remove `by the beatmap creator` in `PlayerLoaderStrings`
2024-11-04 18:39:21 +09:00
Bartłomiej Dach
d0d28e5bd4
Merge branch 'master' into adjust-minimum-scale 2024-11-04 10:37:01 +01:00
Bartłomiej Dach
f616c7b752
Fix scale clamps undoing the intended 5% scaling minimum 2024-11-04 10:36:49 +01:00
Bartłomiej Dach
1868549a3f
Merge pull request #30454 from lukektx/key-reversion-conflict
Prevent key bind conflict popup when default key is assigned to secondary binding
2024-11-04 08:56:15 +01:00
iSlodinx
a49b2eaa3b
Update PlayerLoaderStrings.cs 2024-11-03 18:52:40 +01:00
Dean Herbert
3a3471c202
Remember origin for editor rotation popover 2024-11-03 15:23:55 +09:00
Dean Herbert
b03963ac84
Remember origin for editor scale popover 2024-11-03 15:20:51 +09:00
Dean Herbert
57227b5aab
Allow scaling down to 5% in popover scale dialog
Request from mapper IRL.
2024-11-03 14:19:57 +09:00
Jay Lawton
4eee1f429b fix spelling error 2024-11-03 00:47:53 +10:00
Bartłomiej Dach
7e3bb763cd
Merge branch 'master' into key-reversion-conflict 2024-11-01 19:40:27 +01:00
Bartłomiej Dach
f5a2674f66
Rewrite fix in a more legible way
- Use better param name ("restoring" what bindings? the key information
  there is that the *defaults* are being restored)
- Split ugly and not easily understandable (but probably
  best-that-can-be-done) conditional out to a method and comment it
  appropriately
2024-11-01 19:38:45 +01:00
Bartłomiej Dach
0a33d71671
Add test coverage 2024-11-01 19:26:56 +01:00
Bartłomiej Dach
0811de728e
Merge pull request #30300 from Darius-Wattimena/resizable-catcher
Fix catcher size and hyperdashes indication on adjusting CircleSize
2024-11-01 18:22:51 +01:00
Dan Balasescu
3e7fcc3c24
Fix NaN values when stamina difficulty is 0 2024-11-01 22:52:51 +09:00
Bartłomiej Dach
37c2ab9e6f
Merge branch 'master' into resizable-catcher 2024-11-01 13:08:06 +01:00
Bartłomiej Dach
488fabcd54
Use alternative method of resizing the catcher trails
This one preserves the catcher afterimage, which I'd count as a win.
2024-11-01 13:07:32 +01:00
Bartłomiej Dach
9df9a97188
Merge pull request #30321 from smoogipoo/bat-mods
Make `BeatmapAttributeText` show values inclusive of mods
2024-11-01 12:41:38 +01:00
Bartłomiej Dach
1b5d1347aa
Merge branch 'master' into bat-mods 2024-11-01 11:27:06 +01:00
Bartłomiej Dach
5f63950598
Add missing disposal 2024-11-01 11:26:59 +01:00
Dan Balasescu
44535d72ac
Merge pull request #30455 from smoogipoo/cap-effective-miss-count
Cap effective miss count to total hits
2024-11-01 18:46:21 +09:00
Dan Balasescu
9766d51559
Store attribute to the database 2024-11-01 16:02:02 +09:00
Dan Balasescu
052adc9446
Merge pull request #30459 from Joehuu/fix-android-gameplay-rotation-lock
Fix android screen orientation locking in portrait mode during gameplay when exiting/re-entering app
2024-11-01 15:40:46 +09:00
Dean Herbert
9872097513
Merge pull request #30458 from smoogipoo/ignore-acronym-casing
Ignore casing when matching mods acronyms
2024-10-31 20:22:21 +09:00
Jay Lawton
ff05bbd63f Add mono streak index calculation to strain values 2024-10-31 15:25:25 +10:00
Jay Lawton
abe2ee90e0 Change naming of onlyMono to SingleColourStamina 2024-10-31 12:12:14 +10:00
Jay Lawton
21b458d268 change convert specific omissions 2024-10-31 12:08:12 +10:00
Joseph Madamba
4a26989084
Fix android screen orientation locking in portrait mode during gameplay when exiting/re-entering app 2024-10-30 17:51:06 -07:00
Jay Lawton
85aa2ea8af Change Convert Bonuses to Performance 2024-10-31 10:15:29 +10:00
Dan Balasescu
372162de5d
Ignore casing when matching mods acronyms 2024-10-31 08:55:42 +09:00
Nathen
101a4028fa LTCA save me 2024-10-30 18:57:47 -04:00
Dan Balasescu
e8540a3e7b
Bring back convert nerf to fix overweighted taiko difficulty 2024-10-31 02:15:00 +09:00
Dan Balasescu
c1a40388ff
Cap effective miss count to total hits 2024-10-30 23:47:56 +09:00
Dean Herbert
50be7fb077
Merge pull request #30453 from bdach/everything-is-terrible
Fix several issues with beatmap online ID management
2024-10-30 19:22:37 +09:00
Bartłomiej Dach
7e3564cb4a
Bring back matching by filename when performing online metadata lookups 2024-10-30 10:25:20 +01:00
Bartłomiej Dach
d52f8c6379
Merge pull request #30450 from Joehuu/fix-polygon-popover-anchor
Fix editor sidebar resizing on hover repeatedly when polygon popover is opened
2024-10-30 09:47:24 +01:00
Luke Knight
0f61e19857 Fixed formatting for InspectCode 2024-10-30 03:02:51 -05:00
Bartłomiej Dach
2b0fd3558f
Remove more no-longer-required checks
The scenario that remaining guard was trying to protect against is
obviated by and no longer possible after
776fabd77c.
2024-10-30 08:44:23 +01:00
Bartłomiej Dach
0e52797f29
Prefer not deleted models when picking model instances for reuse when importing
This fell out while investigating why the issue with online IDs
mismatching in the `.osu` could be worked around by importing the map
three times in total when starting from it not being available locally.

Here follows an explanation of why that "helped".

Import 1:
- The beatmap set is imported normally.
- Online metadata population sees the online ID mismatch and resets it
  on the problematic beatmap.

Import 2:
- The existing beatmap set is found, but deemed not reusable
  because of the single beatmap having its ID reset to -1.
- The existing beatmap set is marked deleted, and all the IDs of
  its beatmaps are reset to -1.
- The beatmap set is reimported afresh.
- Online metadata population still sees the online ID mismatch
  and resets it on the problematic beatmap.

Note that at this point the first import *is still physically present
in the database* but marked deleted.

Import 3:
- When trying to find the existing beatmap set to see if it can be
  reused, *the one pending deletion and with its IDs reset -
  - the remnant from import 1 - is returned*.
- Because of this, `validateOnlineIds()` resets online IDs
  *on the model representing the current reimport*.
- The beatmap set is reimported yet again.
- With the online ID reset, the online metadata population check for
  online ID mismatch does not run because *the IDs were reset to -1*
  earlier.

Preferring undeleted models when picking the model instance for reuse
prevents this scenario.
2024-10-30 08:18:44 +01:00
Bartłomiej Dach
2c2f307a63
Remove no longer applicable test
After dd06dd0e699311494412e36bc3f37bb055a01477 the behaviour set up on
the mock in the test in question is no longer realistic. Online
metadata lookups will no longer fall back to online ID or filename.
2024-10-30 08:17:54 +01:00
Bartłomiej Dach
776fabd77c
Only use MD5 when performing metadata lookups
Both online and offline using the cache.

The rationale behind this change is that in the current state of
affairs, `TestPartiallyMaliciousSet()` fails in a way that cannot be
reconciled without this sort of change.

The test exercises a scenario where the beatmap being imported has an
online ID in the `.osu` file, but its hash does not match the online
hash of the beatmap. This turns out to be a more frequent scenario than
envisioned because of users doing stupid things with manual file editing
rather than reporting issues properly.

The scenario is realistic only because the behaviour of the endpoint
responsible for looking up beatmaps is such that if multiple parameters
are given (e.g. all three of beatmap MD5, online ID, and filename), it
will try the three in succession:

	f6b341813b/app/Http/Controllers/BeatmapsController.php (L260-L266)

and the local metadata cache implementation reflected this
implementation.

Because online ID and filename are inherently unreliable in this
scenario due to being directly manipulable by clueless or malicious
users, neither should not be used as a fallback.
2024-10-30 08:12:30 +01:00
Luke Knight
b42fa23e42 Prevent key bind conflict on reversion 2024-10-30 02:04:03 -05:00
Bartłomiej Dach
1a2e323c11
Remove problematic online ID check 2024-10-30 07:40:08 +01:00
Bartłomiej Dach
40c2d4e942
Adjust test to match desired reality 2024-10-30 07:35:00 +01:00
Joseph Madamba
74dc0dc480
Fix editor sidebar resizing on hover repeatedly when polygon popover is opened 2024-10-29 20:24:46 -07:00
Dan Balasescu
904b76b9d7
Merge pull request #30424 from bdach/wtf-wtf-wtf-wtf
Do not fall back to beatmap's original ruleset if conversion fails
2024-10-28 17:14:19 +09:00