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

42101 Commits

Author SHA1 Message Date
Bartłomiej Dach
83e47b3c4c
Fix exports containing zero byte files after import from specific ZIP archives
Closes https://github.com/ppy/osu/issues/27540.

As it turns out, some ZIP archivers (like 7zip) will decide to add fake
entries for directories, and some (like windows zipfolders) won't.
The "directory" entries aren't really properly supported using any
actual data or attributes, they're detected by sharpcompress basically
by heuristics:

    ab5535eba3/src/SharpCompress/Common/Zip/Headers/ZipFileEntry.cs (L19-L31)

When importing into realm we have thus far presumed that these directory
entries will not be a thing. Having them be a thing breaks multiple
things, like:

- When importing from ZIPs with separate directory entries, a separate
  `RealmFile` is created for a directory entry even though it doesn't
  represent a real file
- As a result, when re-exporting a model with files imported from such
  an archive, a zero-byte file would be created because to the database
  it looks like it was originally a zero-byte file.

If you want to have fun, google "zip empty directories". You'll see
a whole gamut of languages, libraries, and developers stepping on this
rake. Yet another episode of underspecced mistakes from decades ago
that were somebody's "good idea" but continue to wreak havoc forevermore
because now there are two competing conventions you can't just pick one.
2024-03-12 09:06:24 +01:00
Bartłomiej Dach
f30dfcb728
Fix ruleset medals not displaying due to deserialisation failure
🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦

Reported in
https://discord.com/channels/188630481301012481/188630652340404224/1216812697589518386.
2024-03-11 21:34:10 +01:00
Bartłomiej Dach
9bc55be515
Merge pull request #27564 from EVAST9919/editor-blueprint-gradient
Fix incorrect gradient application in `TimelineHitObjectBlueprint`
2024-03-11 16:02:05 +01:00
Bartłomiej Dach
09179f99c0
Merge branch 'master' into wrap-beatmap-listing-filters 2024-03-11 14:59:48 +01:00
Bartłomiej Dach
e5e7c8f268
Wrap beatmap listing filter names too
While we're here fixing...

Addresses
https://github.com/ppy/osu/discussions/15452#discussioncomment-2734237.
2024-03-11 14:58:28 +01:00
Andrei Zavatski
6ecef33fd7 Fic incorrect ExtendableCircle gradient 2024-03-10 22:45:29 +03:00
Andrei Zavatski
549a8d678e Reduce allocations in ControlPointList 2024-03-09 20:50:54 +03:00
Dean Herbert
31739be499
Update resources 2024-03-09 20:48:57 +08:00
Dean Herbert
b8a362fcb6
Simplify assignment by using an auto property 2024-03-09 20:17:27 +08:00
Andrei Zavatski
58b6acde10 Further simplify tooltip text creation 2024-03-09 14:10:32 +03:00
Andrei Zavatski
dd36942508 Reduce allocations in DrawableFlag tooltip 2024-03-09 13:58:05 +03:00
Andrei Zavatski
26c97ef733 Fix WikiPanelContainer causing poor performance 2024-03-09 00:51:33 +03:00
Joseph Madamba
db1c59475b Wrap beatmap listing filters and match web spacing 2024-03-08 12:13:54 -08:00
Dean Herbert
612bc66e86
Merge pull request #27535 from nekodex/argon-hitsounds
Add support for argon hitsounds
2024-03-09 01:47:35 +08:00
Jamie Taylor
27d78fdb08
Add fallback to find spinner samples without a bank prefix 2024-03-09 01:10:28 +09:00
Jamie Taylor
ad842b60f5
Add support for Argon hitsounds 2024-03-08 21:43:18 +09:00
Bartłomiej Dach
44d0dc6113
Fix 1px flashlight gaps when gameplay scaling mode is active
Closes https://github.com/ppy/osu/issues/27522.

Concerns mostly taiko and catch.

Not much of a proper fix rather than a workaround but it is what it is.
I tried a few other things, including setting `MaskingSmoothness = 0` on
the scaling container itself, to no avail.
2024-03-08 11:07:30 +01:00
Dean Herbert
c9b4c684e5
Merge pull request #27403 from Gabixel/increase-modselect-initial-scroll
Change initial scroll effect to mod columns
2024-03-08 14:00:40 +08:00
Dean Herbert
5e7d9ea04a
Adjust scroll speed back to original 2024-03-08 13:59:04 +08:00
Dean Herbert
d9cc619693
Merge branch 'master' into argon-pp-counter 2024-03-08 10:32:16 +08:00
Dean Herbert
9286398633
Move naming migrations to more correct place 2024-03-08 10:26:08 +08:00
Dean Herbert
0ebb12f67f
Move skinnable interface specification to non-abstract classes 2024-03-08 10:23:46 +08:00
Dean Herbert
ae2ef8ee1e
Fix typo in wireframe description 2024-03-08 10:19:00 +08:00
Dean Herbert
f2753ef7a2
Decrease size of pp display relative to accuracy 2024-03-08 09:41:38 +08:00
Dean Herbert
87b4406bdc
Pad at minimum three digits for argon pp display 2024-03-08 09:41:28 +08:00
Dan Balasescu
ca92a31cf9
Fix missing event unbinds 2024-03-07 21:10:11 +09:00
Bartłomiej Dach
fba44e67a0
Merge pull request #27214 from Givikap120/freemod_mapinfo_fix
Fix mod selection in online-play rooms not accounting for mods of selected item
2024-03-07 12:45:14 +01:00
Bartłomiej Dach
3d8fdc52a4
Merge pull request #27501 from turbedi/throw_helper
Use ThrowHelper methods in more places
2024-03-07 11:36:21 +01:00
Bartłomiej Dach
e99030c515
Merge pull request #27516 from frenzibyte/editor-screen-selector
Change editor screen switcher control design and behaviour to act like a button
2024-03-07 11:04:18 +01:00
Bartłomiej Dach
644553d5b4
Merge branch 'master' into freemod_mapinfo_fix 2024-03-07 09:24:44 +01:00
Joseph Madamba
c36232bc02 Fix results screen accuracy circle not showing correctly for failed S with no flair 2024-03-07 00:10:30 -08:00
Dan Balasescu
e0fe33a7a7
Merge pull request #27513 from bdach/osu-score-conversion-bad-very-not-good
Fix osu! standardised score estimation algorithm violating basic invariants
2024-03-07 17:05:32 +09:00
Salman Ahmed
0fe139a189 Adjust editor screen switcher control design and behaviour 2024-03-07 08:20:46 +03:00
Salman Ahmed
336a6180e5 Expose TRANSITION_LENGTH from tab control 2024-03-07 08:20:20 +03:00
Bartłomiej Dach
aa3cd402ca
Fix broken english 2024-03-06 21:30:31 +01:00
Bartłomiej Dach
3121cf81e6
Bump score version 2024-03-06 21:30:09 +01:00
Dean Herbert
13f7480d79
Merge branch 'master' into sb-lifetime-improvements 2024-03-06 19:27:40 +08:00
Dean Herbert
5b6703ec0d
Move optimisation to isolated method 2024-03-06 19:25:13 +08:00
Dean Herbert
29a37e3585
Merge pull request #27491 from bdach/f-rank-appearance
Update F rank badge colours to match latest designs
2024-03-06 18:55:20 +08:00
Bartłomiej Dach
08609e19d6
Fix osu! standardised score estimation algorithm violating basic invariants
As it turns out, the "lower" and "upper" estimates of the combo portion
of the score being converted were misnomers. In selected cases
(scores with high accuracy but combo being lower than max by more than
a few objects) the janky score-based math could overestimate the count
of remaining objects in a map. For instance, in one case the numbers
worked out something like this:

- Accuracy: practically 100%
- Max combo on beatmap: 571x
- Max combo for score: 551x

The score-based estimation attempts to extract a "remaining object
count" from score, by doing something along of sqrt(571^2 - 551^2). That
comes out to _almost 150_. Which leads to the estimation overshooting
the total max combo count on the beatmap by some hundred objects.

To curtail this nonsense, enforce some basic invariants:

- Neither estimate is allowed to exceed maximum achievable
- Ensure that lower estimate is really lower and upper is really upper
  by just looking at the values and making sure that is so rather than
  just saying that it is.
2024-03-06 11:40:10 +01:00
Dan Balasescu
d8003ab8e8
Merge pull request #27489 from bdach/fix-catch-pp-mismatch
Fix catch pp calculator not matching live with respect to miss handling
2024-03-06 19:39:20 +09:00
Bartłomiej Dach
b740481eaf
Merge pull request #27504 from peppy/replay-state-sanity-1
Never set `waitingOnFrames` if a replay is not attached
2024-03-06 09:51:09 +01:00
Bartłomiej Dach
53fffc6a75
Remove unused using directives 2024-03-06 07:57:59 +01:00
Dean Herbert
06c7483347
Merge branch 'master' into update-framework 2024-03-06 12:36:05 +08:00
Dean Herbert
85364d25dc
Merge pull request #27276 from bdach/medals
Add flow for displaying achieved medals
2024-03-06 12:31:55 +08:00
Dean Herbert
3a224211aa
Update various packages which shouldn't cause issues 2024-03-06 12:17:00 +08:00
Dean Herbert
4c7678225e
Update framework 2024-03-06 12:13:41 +08:00
Dean Herbert
0696e7de52
Update ImageSharp usages 2024-03-06 12:13:12 +08:00
Dean Herbert
b53b752e54
Update usage of MathUtils 2024-03-06 12:13:12 +08:00
Dean Herbert
6455c0583b
Update usage of CircularProgress.Current 2024-03-06 12:13:10 +08:00