Skip to content

Commit 84d6467

Browse files
committed
Merge branch 'master' into taikostatacc
2 parents 2fb22f1 + 6d3eec3 commit 84d6467

File tree

1,269 files changed

+46812
-12238
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,269 files changed

+46812
-12238
lines changed

.config/dotnet-tools.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
]
2222
},
2323
"ppy.localisationanalyser.tools": {
24-
"version": "2023.1117.0",
24+
"version": "2024.802.0",
2525
"commands": [
2626
"localisation"
2727
]

.editorconfig

+3
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,9 @@ csharp_style_prefer_switch_expression = false:none
196196

197197
csharp_style_namespace_declarations = block_scoped:warning
198198

199+
#Style - C# 12 features
200+
csharp_style_prefer_primary_constructors = false
201+
199202
[*.{yaml,yml}]
200203
insert_final_newline = true
201204
indent_style = space

.github/workflows/ci.yml

+5-9
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,11 @@ jobs:
6464
matrix:
6565
os:
6666
- { prettyname: Windows, fullname: windows-latest }
67-
- { prettyname: macOS, fullname: macos-latest }
67+
# macOS runner performance has gotten unbearably slow so let's turn them off temporarily.
68+
# - { prettyname: macOS, fullname: macos-latest }
6869
- { prettyname: Linux, fullname: ubuntu-latest }
6970
threadingMode: ['SingleThread', 'MultiThreaded']
70-
timeout-minutes: 60
71+
timeout-minutes: 120
7172
steps:
7273
- name: Checkout
7374
uses: actions/checkout@v4
@@ -120,9 +121,7 @@ jobs:
120121

121122
build-only-ios:
122123
name: Build only (iOS)
123-
# `macos-13` is required, because the newest Microsoft.iOS.Sdk versions require Xcode 14.3.
124-
# TODO: can be changed to `macos-latest` once `macos-13` becomes latest (currently in beta: https://github.com/actions/runner-images/tree/main#available-images)
125-
runs-on: macos-13
124+
runs-on: macos-latest
126125
timeout-minutes: 60
127126
steps:
128127
- name: Checkout
@@ -134,10 +133,7 @@ jobs:
134133
dotnet-version: "8.0.x"
135134

136135
- name: Install .NET Workloads
137-
run: dotnet workload install maui-ios
138-
139-
- name: Select Xcode 15.2
140-
run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
136+
run: dotnet workload install ios --from-rollback-file https://raw.githubusercontent.com/ppy/osu-framework/refs/heads/master/workloads.json
141137

142138
- name: Build
143139
run: dotnet build -c Debug osu.iOS

.github/workflows/diffcalc.yml

+41-16
Original file line numberDiff line numberDiff line change
@@ -104,25 +104,48 @@ env:
104104
EXECUTION_ID: execution-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
105105

106106
jobs:
107+
master-environment:
108+
name: Save master environment
109+
runs-on: ubuntu-latest
110+
outputs:
111+
HEAD: ${{ steps.get-head.outputs.HEAD }}
112+
steps:
113+
- name: Checkout osu
114+
uses: actions/checkout@v4
115+
with:
116+
ref: master
117+
sparse-checkout: |
118+
README.md
119+
120+
- name: Get HEAD ref
121+
id: get-head
122+
run: |
123+
ref=$(git log -1 --format='%H')
124+
echo "HEAD=https://github.com/${{ github.repository }}/commit/${ref}" >> "${GITHUB_OUTPUT}"
125+
107126
check-permissions:
108127
name: Check permissions
109128
runs-on: ubuntu-latest
110129
if: ${{ github.event_name == 'workflow_dispatch' || contains(github.event.comment.body, '!diffcalc') }}
111130
steps:
112131
- name: Check permissions
113-
if: ${{ github.event_name != 'workflow_dispatch' }}
114-
uses: actions-cool/check-user-permission@a0668c9aec87f3875fc56170b6452a453e9dd819 # v2.2.0
115-
with:
116-
require: 'write'
132+
run: |
133+
ALLOWED_USERS=(smoogipoo peppy bdach frenzibyte)
134+
for i in "${ALLOWED_USERS[@]}"; do
135+
if [[ "${{ github.actor }}" == "$i" ]]; then
136+
exit 0
137+
fi
138+
done
139+
exit 1
117140
118141
create-comment:
119142
name: Create PR comment
120-
needs: check-permissions
143+
needs: [ master-environment, check-permissions ]
121144
runs-on: ubuntu-latest
122145
if: ${{ github.event_name == 'issue_comment' && github.event.issue.pull_request }}
123146
steps:
124147
- name: Create comment
125-
uses: thollander/actions-comment-pull-request@363c6f6eae92cc5c3a66e95ba016fc771bb38943 # v2.4.2
148+
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0
126149
with:
127150
comment_tag: ${{ env.EXECUTION_ID }}
128151
message: |
@@ -154,7 +177,7 @@ jobs:
154177
155178
environment:
156179
name: Setup environment
157-
needs: directory
180+
needs: [ master-environment, directory ]
158181
runs-on: self-hosted
159182
env:
160183
VARS_JSON: ${{ toJSON(vars) }}
@@ -178,6 +201,10 @@ jobs:
178201
fi
179202
done
180203
204+
- name: Add master environment
205+
run: |
206+
sed -i "s;^OSU_A=.*$;OSU_A=${{ needs.master-environment.outputs.HEAD }};" "${{ needs.directory.outputs.GENERATOR_ENV }}"
207+
181208
- name: Add pull-request environment
182209
if: ${{ github.event_name == 'issue_comment' && github.event.issue.pull_request }}
183210
run: |
@@ -249,7 +276,7 @@ jobs:
249276
250277
- name: Restore cache
251278
id: restore-cache
252-
uses: maxnowack/local-cache@038cc090b52e4f205fbc468bf5b0756df6f68775 # v1
279+
uses: maxnowack/local-cache@720e69c948191660a90aa1cf6a42fc4d2dacdf30 # v2
253280
with:
254281
path: ${{ steps.query.outputs.DATA_NAME }}.tar.bz2
255282
key: ${{ steps.query.outputs.DATA_NAME }}
@@ -280,7 +307,7 @@ jobs:
280307
281308
- name: Restore cache
282309
id: restore-cache
283-
uses: maxnowack/local-cache@038cc090b52e4f205fbc468bf5b0756df6f68775 # v1
310+
uses: maxnowack/local-cache@720e69c948191660a90aa1cf6a42fc4d2dacdf30 # v2
284311
with:
285312
path: ${{ steps.query.outputs.DATA_NAME }}.tar.bz2
286313
key: ${{ steps.query.outputs.DATA_NAME }}
@@ -354,28 +381,26 @@ jobs:
354381
steps:
355382
- name: Update comment on success
356383
if: ${{ needs.generator.result == 'success' }}
357-
uses: thollander/actions-comment-pull-request@363c6f6eae92cc5c3a66e95ba016fc771bb38943 # v2.4.2
384+
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0
358385
with:
359386
comment_tag: ${{ env.EXECUTION_ID }}
360-
mode: upsert
361-
create_if_not_exists: false
387+
mode: recreate
362388
message: |
363389
Target: ${{ needs.generator.outputs.TARGET }}
364390
Spreadsheet: ${{ needs.generator.outputs.SPREADSHEET_LINK }}
365391
366392
- name: Update comment on failure
367393
if: ${{ needs.generator.result == 'failure' }}
368-
uses: thollander/actions-comment-pull-request@363c6f6eae92cc5c3a66e95ba016fc771bb38943 # v2.4.2
394+
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0
369395
with:
370396
comment_tag: ${{ env.EXECUTION_ID }}
371-
mode: upsert
372-
create_if_not_exists: false
397+
mode: recreate
373398
message: |
374399
Difficulty calculation failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
375400
376401
- name: Update comment on cancellation
377402
if: ${{ needs.generator.result == 'cancelled' }}
378-
uses: thollander/actions-comment-pull-request@363c6f6eae92cc5c3a66e95ba016fc771bb38943 # v2.4.2
403+
uses: thollander/actions-comment-pull-request@fabd468d3a1a0b97feee5f6b9e499eab0dd903f6 # v2.5.0
379404
with:
380405
comment_tag: ${{ env.EXECUTION_ID }}
381406
mode: delete

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ __pycache__/
265265
.idea/**/usage.statistics.xml
266266
.idea/**/dictionaries
267267
.idea/**/shelf
268+
.idea/*/.idea/projectSettingsUpdater.xml
269+
.idea/*/.idea/encodings.xml
268270

269271
# Generated files
270272
.idea/**/contentModel.xml
@@ -340,4 +342,5 @@ inspectcode
340342
# Fody (pulled in by Realm) - schema file
341343
FodyWeavers.xsd
342344

343-
.idea/.idea.osu.Desktop/.idea/misc.xml
345+
.idea/.idea.osu.Desktop/.idea/misc.xml
346+
.idea/.idea.osu.Android/.idea/deploymentTargetDropDown.xml

.idea/.idea.osu.Android/.idea/projectSettingsUpdater.xml

-6
This file was deleted.

.idea/.idea.osu.Desktop/.idea/encodings.xml

-4
This file was deleted.

.idea/.idea.osu.Desktop/.idea/projectSettingsUpdater.xml

-6
This file was deleted.

.idea/.idea.osu.iOS/.idea/projectSettingsUpdater.xml

-6
This file was deleted.

.idea/.idea.osu/.idea/projectSettingsUpdater.xml

-6
This file was deleted.

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ When in doubt, it's probably best to start with a discussion first. We will esca
5555

5656
While pull requests from unaffiliated contributors are welcome, please note that due to significant community interest and limited review throughput, the core team's primary focus is on the issues which are currently [on the roadmap](https://github.com/orgs/ppy/projects/7/views/6). Reviewing PRs that fall outside of the scope of the roadmap is done on a best-effort basis, so please be aware that it may take a while before a core maintainer gets around to review your change.
5757

58-
The [issue tracker](https://github.com/ppy/osu/issues) should provide plenty of issues to start with. We also have a [`good-first-issue`](https://github.com/ppy/osu/issues?q=is%3Aissue+is%3Aopen+label%3Agood-first-issue) label, although from experience it is not used very often, as it is relatively rare that we can spot an issue that will definitively be a good first issue for a new contributor regardless of their programming experience.
58+
The [issue tracker](https://github.com/ppy/osu/issues) should provide plenty of issues to start with. We also have a [`good first issue`](https://github.com/ppy/osu/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label, although from experience it is not used very often, as it is relatively rare that we can spot an issue that will definitively be a good first issue for a new contributor regardless of their programming experience.
5959

6060
In the case of simple issues, a direct PR is okay. However, if you decide to work on an existing issue which doesn't seem trivial, **please ask us first**. This way we can try to estimate if it is a good fit for you and provide the correct direction on how to address it. In addition, note that while we do not rule out external contributors from working on roadmapped issues, we will generally prefer to handle them ourselves unless they're not very time sensitive.
6161

CodeAnalysis/BannedSymbols.txt

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ T:SixLabors.ImageSharp.IDeepCloneable`1;Use osu.Game.Utils.IDeepCloneable<T> ins
77
M:osu.Framework.Graphics.Sprites.SpriteText.#ctor;Use OsuSpriteText.
88
M:osu.Framework.Bindables.IBindableList`1.GetBoundCopy();Fails on iOS. Use manual ctor + BindTo instead. (see https://github.com/mono/mono/issues/19900)
99
T:NuGet.Packaging.CollectionExtensions;Don't use internal extension methods.
10-
M:System.Enum.HasFlag(System.Enum);Use osu.Framework.Extensions.EnumExtensions.HasFlagFast<T>() instead.
1110
M:Realms.IRealmCollection`1.SubscribeForNotifications`1(Realms.NotificationCallbackDelegate{``0});Use osu.Game.Database.RealmObjectExtensions.QueryAsyncWithNotifications(IRealmCollection<T>,NotificationCallbackDelegate<T>) instead.
1211
M:System.Guid.#ctor;Probably meaning to use Guid.NewGuid() instead. If actually wanting empty, use Guid.Empty.
1312
M:Realms.CollectionExtensions.SubscribeForNotifications`1(System.Linq.IQueryable{``0},Realms.NotificationCallbackDelegate{``0});Use osu.Game.Database.RealmObjectExtensions.QueryAsyncWithNotifications(IQueryable<T>,NotificationCallbackDelegate<T>) instead.

Directory.Build.props

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
<Project>
33
<PropertyGroup Label="C#">
44
<LangVersion>12.0</LangVersion>
5-
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
65
<Nullable>enable</Nullable>
76
</PropertyGroup>
87
<PropertyGroup>

assets/lazer-nuget.png

5.04 KB
Loading

assets/lazer.png

117 KB
Loading

osu.Android.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
1111
</PropertyGroup>
1212
<ItemGroup>
13-
<PackageReference Include="ppy.osu.Framework.Android" Version="2024.306.0" />
13+
<PackageReference Include="ppy.osu.Framework.Android" Version="2024.1007.0" />
1414
</ItemGroup>
1515
<PropertyGroup>
1616
<!-- Fody does not handle Android build well, and warns when unchanged.

osu.Android/AndroidJoystickSettings.cs

-76
This file was deleted.

0 commit comments

Comments
 (0)