1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-29 07:02:54 +08:00
Commit Graph

61564 Commits

Author SHA1 Message Date
Bartłomiej Dach
05bd912a21
Revert internal access modifier application
Unfortunately breaks a few classes (which is fixable), and also breaks
Moq/Castle dynamic proxies (which is unfortunate).

Relevant error:

    System.TypeLoadException : Method 'GetPanelBackground' in type 'Castle.Proxies.IWorkingBeatmapProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
    Stack Trace:
        at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
        at System.Reflection.Emit.TypeBuilder.CreateTypeInfo()
        at Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType()
        at Castle.DynamicProxy.Generators.BaseInterfaceProxyGenerator.GenerateType(String typeName, INamingScope namingScope)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.<>c__DisplayClass13_0.<GetProxyType>b__0(CacheKey cacheKey)
        at Castle.Core.Internal.SynchronizedDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyType()
        at Castle.DynamicProxy.DefaultProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, IInterceptor[] interceptors)
        at Moq.CastleProxyFactory.CreateProxy(Type mockType, IInterceptor interceptor, Type[] interfaces, Object[] arguments) in C:\projects\moq4\src\Moq\Interception\CastleProxyFactory.cs:line 50

In theory it would be possible to fix this via application of

    [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]

onto the `osu.Game` assembly, but I think this would be bad precedent.
2023-06-08 15:23:09 +02:00
Bartłomiej Dach
e1395fd62f
Merge pull request #23816 from peppy/mania-combo-ratio
Change osu!mania scoring ratio to 99% acc (to match previous lazer scoring)
2023-06-08 14:42:09 +02:00
Dan Balasescu
76df11c398 Don't scale stable scores with the classic scoring mode 2023-06-08 21:38:10 +09:00
Dan Balasescu
facf7de053 Parse ScoreInfo.IsLegacyScore from replays 2023-06-08 21:38:10 +09:00
Bartłomiej Dach
6dbf02454f
Fix bad math 2023-06-08 14:19:34 +02:00
Dean Herbert
cccc06de48 Fix potential failure if beatmap background isn't tall enough 2023-06-08 21:10:40 +09:00
Dean Herbert
ff4d376c84 Mark relevant components as internal 2023-06-08 21:01:05 +09:00
Dean Herbert
dbb7ddac52 Change osu!mania scoring ratio to 99% acc (to match previous lazer scoring) 2023-06-08 20:55:13 +09:00
Bartłomiej Dach
6f774551e6
Merge pull request #23812 from peppy/reduce-editor-note-note-snapping
Reduce the radius of note-to-note snapping in osu! editor
2023-06-08 13:54:11 +02:00
Bartłomiej Dach
6fd99394d2
Merge branch 'master' into reduce-editor-note-note-snapping 2023-06-08 13:20:07 +02:00
Bartłomiej Dach
2958ce35be
Adjust object snapping test cases to pass with new radius 2023-06-08 13:19:47 +02:00
Bartłomiej Dach
e6503c24c8
Merge branch 'master' into crop-texture-uploads-song-select 2023-06-08 12:24:16 +02:00
Bartłomiej Dach
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Bartłomiej Dach
0ec6bc1bb8
Merge pull request #23768 from peppy/fix-editor-drum-roll
Fix ticks being created after the end of drum rolls in osu!taiko editor
2023-06-08 10:59:53 +02:00
Dean Herbert
95ad18ed2e Reduce the radius of note-to-note snapping in osu! editor
Stable uses `0.15f`, but for whatever reason that feels too large still.

I've ballparked this.

Addresses https://github.com/ppy/osu/discussions/23806.
2023-06-08 17:44:33 +09:00
Dean Herbert
10c43d2273 Reduce delays and fades for carousel panels to improve song select initial display performance
Entering song select has seen a hit since the new renderer
implementations. The underlying cause is large numbers of vertex buffer
uploads (the counter hits >200k for me during the transition).

Song select is in the process of being redesigned, and we are probably
going to make improvements to the renderer to alleviate this, but in the
mean time we can greatly improve the user experience by reducing how
long the initial fade in delays take on panels.

Visually this doesn't look too jarring, and gives a more immediate
feeling when scrolling. It's also more feasible to load elements sooner
with https://github.com/ppy/osu/pull/23809 applied.
2023-06-08 17:28:58 +09:00
Bartłomiej Dach
079e687bee
Fix incorrect mock setup after refactor 2023-06-08 10:09:27 +02:00
Bartłomiej Dach
7acd186a3d
Revert to previous bound in drum roll tick generation
While `EndTime + tickSpacing` _was_ closer to what stable was using, it
could cause undesirable edge cases wherein a tick would be spawned
outside of the drum roll's duration
(see https://github.com/ppy/osu/pull/23768/files#r1222073027).

For this reason, stick with the old code for now, as it is not as
susceptible to that sort of breakage.
2023-06-08 09:56:39 +02:00
Bartłomiej Dach
b6a1377955
Merge branch 'master' into fix-editor-drum-roll 2023-06-08 09:55:10 +02:00
Bartłomiej Dach
31652c551f
Merge pull request #23798 from peppy/fix-section-container-scroll-attempt-2
Fix settings jump buttons not always seeking to correct location the first time
2023-06-08 09:52:39 +02:00
John Biddle
d07437f810 Added recommendations from bdach:
Fixed null checking in ApplyToDrawableHitObject
Renamed mod to "Synesthesia"
Moved to the "Fun" mod category
2023-06-08 00:52:28 -07:00
Dean Herbert
3978d4babb Crop and disable mipmaps on beatmap panel backgrounds
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.

By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.

You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Dan Balasescu
d10c63ed2d Fix difficulty calculation when mods are involved 2023-06-08 16:29:34 +09:00
Bartłomiej Dach
5162f5c3d8
Fix code quality inspections 2023-06-08 09:20:43 +02:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02:00
Dean Herbert
516633d978
Merge pull request #23805 from frenzibyte/accept-language
Display API responses in client language
2023-06-08 12:55:43 +09:00
Salman Ahmed
d523785bfc Fix LanguageSettings requiring OsuGame as dependency 2023-06-08 03:27:23 +03:00
Salman Ahmed
251f23b2c2 Handle culture code differences of Traditional Chinese 2023-06-08 03:27:05 +03:00
Salman Ahmed
9f842ccdc0 Supply Accept-Language header in API requests 2023-06-08 02:59:34 +03:00
Salman Ahmed
ab790ec96a Expose currently selected language from IAPIProvider 2023-06-08 02:59:34 +03:00
Salman Ahmed
1a90f71540 Centralise game language update logic 2023-06-08 02:59:34 +03:00
Bartłomiej Dach
93b1f18772
Merge pull request #23799 from peppy/beat-snap-divisor-hotkeys
Add ability to cycle beat snap divisor using hotkeys
2023-06-08 00:32:52 +02:00
Bartłomiej Dach
f416b3a226
Fix new localisations using lookup keys of existing ones 2023-06-07 23:43:21 +02:00
Bartłomiej Dach
35e41d816a
Cover clamping to max beat divisor in test 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
3c8f387a6c
Remove unused method 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
d9281ac8c7
Remove unused virtual spec 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Bartłomiej Dach
11b3250844
Merge pull request #23795 from peppy/mania-barlines-behind-notes
Fix osu!mania barlines showing in front of notes
2023-06-07 22:41:24 +02:00
Bartłomiej Dach
c8507837d1
Remove redundant initialisation of Children to empty array 2023-06-07 21:51:46 +02:00
Bartłomiej Dach
8463f5c7dd
Spell out location of external proxy explicitly 2023-06-07 21:50:16 +02:00
Bartłomiej Dach
f069f982d4
Merge branch 'master' into mania-barlines-behind-notes 2023-06-07 21:43:39 +02:00
Bartłomiej Dach
7fa082cc1d
Merge pull request #23770 from peppy/add-catch-beat-snap-grid
Add beat snap grid for osu!catch editor
2023-06-07 18:35:14 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Dean Herbert
f8a3be24c8
Update config.yml to mention "performance" in the discussion link 2023-06-08 00:22:06 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Bartłomiej Dach
c50a5498e9
Merge pull request #23769 from peppy/update-mania-colours
Update argon osu!mania column colours in line with latest proposal
2023-06-07 16:55:54 +02:00
Dean Herbert
15725fb186 Change default bindings to account for mouse wheel rotation 2023-06-07 18:07:56 +09:00
Dean Herbert
2c89af608a Add ability to cycle beat snap divisor using hotkeys
Defaults to Ctrl+Shift+Wheel (as per stable).

Closes #23785.
2023-06-07 17:15:15 +09:00
Dean Herbert
99afb73feb
Merge pull request #23794 from peppy/disable-in-game-chat-reports
Disabling reporting users from in-game chat
2023-06-07 16:39:38 +09:00