Compare commits
15 Commits
2025.530.0
...
2025.705.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
044aa0cb86 | ||
|
|
2d97c42847 | ||
|
|
bc57cc1cb9 | ||
|
|
4203ad0606 | ||
|
|
fb7da180ba | ||
|
|
e58d90ffd1 | ||
|
|
f8898bc75d | ||
|
|
7285d9247a | ||
|
|
bc451a4856 | ||
|
|
3c0184059b | ||
|
|
94c42a9cc9 | ||
|
|
91fe0794f9 | ||
|
|
a20237478c | ||
|
|
0d23c81b43 | ||
|
|
21f0e584b6 |
18
.github/workflows/build.yml
vendored
Normal file
18
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Build
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install .NET 8.0.x
|
||||||
|
uses: actions/setup-dotnet@v4
|
||||||
|
with:
|
||||||
|
dotnet-version: "8.0.x"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: dotnet build -c Release osu.Game.Resources
|
||||||
70
.github/workflows/deploy.yml
vendored
Normal file
70
.github/workflows/deploy.yml
vendored
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
name: Pack and nuget
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
notify_pending_production_deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Submit pending deployment notification
|
||||||
|
run: |
|
||||||
|
export TITLE="Pending osu-resources Production Deployment: $GITHUB_REF_NAME"
|
||||||
|
export URL="https://github.com/ppy/osu-resources/actions/runs/$GITHUB_RUN_ID"
|
||||||
|
export DESCRIPTION="Awaiting approval for building NuGet packages for tag $GITHUB_REF_NAME:
|
||||||
|
[View Workflow Run]($URL)"
|
||||||
|
export ACTOR_ICON="https://avatars.githubusercontent.com/u/$GITHUB_ACTOR_ID"
|
||||||
|
|
||||||
|
BODY="$(jq --null-input '{
|
||||||
|
"embeds": [
|
||||||
|
{
|
||||||
|
"title": env.TITLE,
|
||||||
|
"color": 15098112,
|
||||||
|
"description": env.DESCRIPTION,
|
||||||
|
"url": env.URL,
|
||||||
|
"author": {
|
||||||
|
"name": env.GITHUB_ACTOR,
|
||||||
|
"icon_url": env.ACTOR_ICON
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}')"
|
||||||
|
|
||||||
|
curl \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d "$BODY" \
|
||||||
|
"${{ secrets.DISCORD_INFRA_WEBHOOK_URL }}"
|
||||||
|
|
||||||
|
pack:
|
||||||
|
name: Pack
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: production
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set artifacts directory
|
||||||
|
id: artifactsPath
|
||||||
|
run: echo "::set-output name=nuget_artifacts::${{github.workspace}}/artifacts"
|
||||||
|
|
||||||
|
- name: Install .NET 8.0.x
|
||||||
|
uses: actions/setup-dotnet@v4
|
||||||
|
with:
|
||||||
|
dotnet-version: "8.0.x"
|
||||||
|
|
||||||
|
- name: Pack
|
||||||
|
run: dotnet pack -c Release osu.Game.Resources /p:Version=${{ github.ref_name }} /p:GenerateDocumentationFile=true /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg -o ${{steps.artifactsPath.outputs.nuget_artifacts}}
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: osu-resources
|
||||||
|
path: |
|
||||||
|
${{steps.artifactsPath.outputs.nuget_artifacts}}/*.nupkg
|
||||||
|
${{steps.artifactsPath.outputs.nuget_artifacts}}/*.snupkg
|
||||||
|
|
||||||
|
- name: Publish packages to nuget.org
|
||||||
|
run: dotnet nuget push ${{steps.artifactsPath.outputs.nuget_artifacts}}/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
|
||||||
11
appveyor.yml
11
appveyor.yml
@@ -1,11 +0,0 @@
|
|||||||
clone_depth: 1
|
|
||||||
version: '{build}'
|
|
||||||
image: Visual Studio 2022
|
|
||||||
configuration: Release
|
|
||||||
platform: Any CPU
|
|
||||||
before_build:
|
|
||||||
- ps: if($env:appveyor_repo_tag -eq 'True') { Update-AppveyorBuild -Version $env:appveyor_repo_tag_name }
|
|
||||||
build_script:
|
|
||||||
- cmd: dotnet pack osu.Game.Resources /p:Version=%APPVEYOR_BUILD_VERSION%
|
|
||||||
artifacts:
|
|
||||||
- path: osu.Game.Resources/bin/Any CPU/Release/**/*.nupkg
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
clone_depth: 1
|
|
||||||
version: '{build}'
|
|
||||||
skip_non_tags: true
|
|
||||||
image: Visual Studio 2022
|
|
||||||
configuration: Release
|
|
||||||
platform: Any CPU
|
|
||||||
before_build:
|
|
||||||
- ps: if($env:appveyor_repo_tag -eq 'True') { Update-AppveyorBuild -Version $env:appveyor_repo_tag_name }
|
|
||||||
build_script:
|
|
||||||
- cmd: dotnet pack osu.Game.Resources /p:Version=%APPVEYOR_BUILD_VERSION%
|
|
||||||
artifacts:
|
|
||||||
- path: osu.Game.Resources/bin/Any CPU/Release/**/*.nupkg
|
|
||||||
deploy:
|
|
||||||
- provider: Environment
|
|
||||||
name: nuget
|
|
||||||
- provider: Environment
|
|
||||||
name: github
|
|
||||||
BIN
osu.Game.Resources/Fonts/Noto/Noto-Bopomofo.bin
Normal file
BIN
osu.Game.Resources/Fonts/Noto/Noto-Bopomofo.bin
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
osu.Game.Resources/Fonts/Noto/Noto-Bopomofo_0.png
Normal file
BIN
osu.Game.Resources/Fonts/Noto/Noto-Bopomofo_0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
55
osu.Game.Resources/Fonts/Noto/bmfont-bopomofo.bmfc
Normal file
55
osu.Game.Resources/Fonts/Noto/bmfont-bopomofo.bmfc
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# AngelCode Bitmap Font Generator configuration file
|
||||||
|
fileVersion=1
|
||||||
|
|
||||||
|
# font settings
|
||||||
|
fontName=Noto Sans SC Medium
|
||||||
|
fontFile=
|
||||||
|
charSet=0
|
||||||
|
fontSize=100
|
||||||
|
aa=4
|
||||||
|
scaleH=100
|
||||||
|
useSmoothing=1
|
||||||
|
isBold=1
|
||||||
|
isItalic=0
|
||||||
|
useUnicode=1
|
||||||
|
disableBoxChars=1
|
||||||
|
outputInvalidCharGlyph=0
|
||||||
|
dontIncludeKerningPairs=0
|
||||||
|
useHinting=1
|
||||||
|
renderFromOutline=0
|
||||||
|
useClearType=0
|
||||||
|
|
||||||
|
# character alignment
|
||||||
|
paddingDown=0
|
||||||
|
paddingUp=0
|
||||||
|
paddingRight=0
|
||||||
|
paddingLeft=0
|
||||||
|
spacingHoriz=4
|
||||||
|
spacingVert=4
|
||||||
|
useFixedHeight=0
|
||||||
|
forceZero=0
|
||||||
|
|
||||||
|
# output file
|
||||||
|
outWidth=1024
|
||||||
|
outHeight=1024
|
||||||
|
outBitDepth=32
|
||||||
|
fontDescFormat=0
|
||||||
|
fourChnlPacked=0
|
||||||
|
textureFormat=png
|
||||||
|
textureCompression=0
|
||||||
|
alphaChnl=0
|
||||||
|
redChnl=4
|
||||||
|
greenChnl=4
|
||||||
|
blueChnl=4
|
||||||
|
invA=0
|
||||||
|
invR=0
|
||||||
|
invG=0
|
||||||
|
invB=0
|
||||||
|
|
||||||
|
# outline
|
||||||
|
outlineThickness=0
|
||||||
|
|
||||||
|
# selected chars
|
||||||
|
chars=12549-12591,12704-12731
|
||||||
|
|
||||||
|
# imported icon images
|
||||||
55
osu.Game.Resources/Fonts/Noto/bmfont-cjk-basic.bmfc
Normal file
55
osu.Game.Resources/Fonts/Noto/bmfont-cjk-basic.bmfc
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# AngelCode Bitmap Font Generator configuration file
|
||||||
|
fileVersion=1
|
||||||
|
|
||||||
|
# font settings
|
||||||
|
fontName=Noto Sans SC Medium
|
||||||
|
fontFile=
|
||||||
|
charSet=0
|
||||||
|
fontSize=100
|
||||||
|
aa=4
|
||||||
|
scaleH=100
|
||||||
|
useSmoothing=1
|
||||||
|
isBold=1
|
||||||
|
isItalic=0
|
||||||
|
useUnicode=1
|
||||||
|
disableBoxChars=1
|
||||||
|
outputInvalidCharGlyph=0
|
||||||
|
dontIncludeKerningPairs=0
|
||||||
|
useHinting=1
|
||||||
|
renderFromOutline=0
|
||||||
|
useClearType=0
|
||||||
|
|
||||||
|
# character alignment
|
||||||
|
paddingDown=0
|
||||||
|
paddingUp=0
|
||||||
|
paddingRight=0
|
||||||
|
paddingLeft=0
|
||||||
|
spacingHoriz=4
|
||||||
|
spacingVert=4
|
||||||
|
useFixedHeight=0
|
||||||
|
forceZero=0
|
||||||
|
|
||||||
|
# output file
|
||||||
|
outWidth=1024
|
||||||
|
outHeight=1024
|
||||||
|
outBitDepth=32
|
||||||
|
fontDescFormat=0
|
||||||
|
fourChnlPacked=0
|
||||||
|
textureFormat=png
|
||||||
|
textureCompression=0
|
||||||
|
alphaChnl=0
|
||||||
|
redChnl=4
|
||||||
|
greenChnl=4
|
||||||
|
blueChnl=4
|
||||||
|
invA=0
|
||||||
|
invR=0
|
||||||
|
invG=0
|
||||||
|
invB=0
|
||||||
|
|
||||||
|
# outline
|
||||||
|
outlineThickness=0
|
||||||
|
|
||||||
|
# selected chars
|
||||||
|
chars=12688-12730,12736-12771,12784-12830,12832-13054,13056-13099,13101-13311,19968-40912,65072-65103
|
||||||
|
|
||||||
|
# imported icon images
|
||||||
55
osu.Game.Resources/Fonts/Noto/bmfont-cjk-compatibility.bmfc
Normal file
55
osu.Game.Resources/Fonts/Noto/bmfont-cjk-compatibility.bmfc
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# AngelCode Bitmap Font Generator configuration file
|
||||||
|
fileVersion=1
|
||||||
|
|
||||||
|
# font settings
|
||||||
|
fontName=Noto Sans SC Medium
|
||||||
|
fontFile=
|
||||||
|
charSet=0
|
||||||
|
fontSize=100
|
||||||
|
aa=4
|
||||||
|
scaleH=100
|
||||||
|
useSmoothing=1
|
||||||
|
isBold=1
|
||||||
|
isItalic=0
|
||||||
|
useUnicode=1
|
||||||
|
disableBoxChars=1
|
||||||
|
outputInvalidCharGlyph=0
|
||||||
|
dontIncludeKerningPairs=0
|
||||||
|
useHinting=1
|
||||||
|
renderFromOutline=0
|
||||||
|
useClearType=0
|
||||||
|
|
||||||
|
# character alignment
|
||||||
|
paddingDown=0
|
||||||
|
paddingUp=0
|
||||||
|
paddingRight=0
|
||||||
|
paddingLeft=0
|
||||||
|
spacingHoriz=4
|
||||||
|
spacingVert=4
|
||||||
|
useFixedHeight=0
|
||||||
|
forceZero=0
|
||||||
|
|
||||||
|
# output file
|
||||||
|
outWidth=1024
|
||||||
|
outHeight=1024
|
||||||
|
outBitDepth=32
|
||||||
|
fontDescFormat=0
|
||||||
|
fourChnlPacked=0
|
||||||
|
textureFormat=png
|
||||||
|
textureCompression=0
|
||||||
|
alphaChnl=0
|
||||||
|
redChnl=4
|
||||||
|
greenChnl=4
|
||||||
|
blueChnl=4
|
||||||
|
invA=0
|
||||||
|
invR=0
|
||||||
|
invG=0
|
||||||
|
invB=0
|
||||||
|
|
||||||
|
# outline
|
||||||
|
outlineThickness=0
|
||||||
|
|
||||||
|
# selected chars
|
||||||
|
chars=13312-19893,63744-64109,65072-65103
|
||||||
|
|
||||||
|
# imported icon images
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
# AngelCode Bitmap Font Generator configuration file
|
|
||||||
fileVersion=1
|
|
||||||
|
|
||||||
# font settings
|
|
||||||
fontName=Noto Sans CJK JP Medium
|
|
||||||
fontFile=
|
|
||||||
charSet=0
|
|
||||||
fontSize=100
|
|
||||||
aa=4
|
|
||||||
scaleH=100
|
|
||||||
useSmoothing=1
|
|
||||||
isBold=1
|
|
||||||
isItalic=0
|
|
||||||
useUnicode=1
|
|
||||||
disableBoxChars=1
|
|
||||||
outputInvalidCharGlyph=0
|
|
||||||
dontIncludeKerningPairs=0
|
|
||||||
useHinting=1
|
|
||||||
renderFromOutline=0
|
|
||||||
useClearType=0
|
|
||||||
|
|
||||||
# character alignment
|
|
||||||
paddingDown=0
|
|
||||||
paddingUp=0
|
|
||||||
paddingRight=0
|
|
||||||
paddingLeft=0
|
|
||||||
spacingHoriz=4
|
|
||||||
spacingVert=4
|
|
||||||
useFixedHeight=0
|
|
||||||
forceZero=0
|
|
||||||
|
|
||||||
# output file
|
|
||||||
outWidth=1024
|
|
||||||
outHeight=1024
|
|
||||||
outBitDepth=32
|
|
||||||
fontDescFormat=0
|
|
||||||
fourChnlPacked=0
|
|
||||||
textureFormat=png
|
|
||||||
textureCompression=0
|
|
||||||
alphaChnl=0
|
|
||||||
redChnl=4
|
|
||||||
greenChnl=4
|
|
||||||
blueChnl=4
|
|
||||||
invA=0
|
|
||||||
invR=0
|
|
||||||
invG=0
|
|
||||||
invB=0
|
|
||||||
|
|
||||||
# outline
|
|
||||||
outlineThickness=0
|
|
||||||
|
|
||||||
# selected chars
|
|
||||||
chars=0-126,160-259,272-275,282-283,296-299,323-324,327-328,332-335,338-339,360-365,402,416-417,431-432
|
|
||||||
chars=461-476,504-505,593,609,711,713-715,729,913-929,931-937,945-961,963-969,1025,1040-1103,1105,4352
|
|
||||||
chars=4353-4607,7742-7743,7840-7929,8194-8195,8208-8214,8216-8218,8220-8222,8224-8226,8229-8231,8240,8242
|
|
||||||
chars=8243,8245,8249-8252,8258,8263-8265,8273,8361,8363-8364,8413-8414,8448,8451,8453,8457-8458,8463,8467
|
|
||||||
chars=8470,8481-8482,8486-8487,8491,8494,8501,8507,8544-8555,8560-8571,8592-8601,8632-8633,8644-8646,8651
|
|
||||||
chars=8652,8656,8658,8660,8678-8681,8693,8704,8706-8707,8709-8715,8719,8721-8723,8725,8730,8733-8736,8739
|
|
||||||
chars=8741-8750,8756-8759,8765,8771,8773,8776,8780,8786,8800-8802,8804-8807,8810-8811,8814-8815,8818-8819
|
|
||||||
chars=8822-8823,8834-8839,8842-8843,8853-8857,8864,8869,8895,8922-8923,8943,8965-8967,8978,8984,9001-9002
|
|
||||||
chars=9136-9137,9150-9164,9166,9178-9179,9251,9312-9643,9649-9651,9654-9655,9660-9661,9664-9665,9670-9676
|
|
||||||
chars=9678-9683,9698-9702,9711,9728-9731,9733-9734,9737,9742-9743,9750-9751,9756-9759,9775,9792-9794,9824
|
|
||||||
chars=9825-9839,9842-9853,9888,9917-9918,9986,10003,10010,10045,10047-10048,10070,10102-10111,10145,10548
|
|
||||||
chars=10549,10687,10746-10747,11013-11015,11034,11834-11835,11904-11929,11931-12019,12032-12245,12272
|
|
||||||
chars=12273-12283,12288-12351,12353-12438,12441-12543,12549-12589,12593-12686,12688-12730,12736-12771
|
|
||||||
chars=12784-12830,12832-13054,13056-13099,13101-19893,19968-40912,43360-43388,44032-55203,55216-55238
|
|
||||||
chars=55243-55291,63744-64109,64256-64260,65040-65049,65072-65106,65108-65126,65128-65131,65281-65470
|
|
||||||
chars=65474-65479,65482-65487,65490-65495,65498-65500,65504-65510,65512-65518
|
|
||||||
|
|
||||||
# imported icon images
|
|
||||||
BIN
osu.Game.Resources/Samples/SongSelect/select-group.wav
Normal file
BIN
osu.Game.Resources/Samples/SongSelect/select-group.wav
Normal file
Binary file not shown.
79
osu.Game.Resources/Shaders/sh_Ghost.fs
Normal file
79
osu.Game.Resources/Shaders/sh_Ghost.fs
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
#ifndef GHOST_FS
|
||||||
|
#define GHOST_FS
|
||||||
|
|
||||||
|
#undef HIGH_PRECISION_VERTEX
|
||||||
|
#define HIGH_PRECISION_VERTEX
|
||||||
|
|
||||||
|
#include "sh_Utils.h"
|
||||||
|
#include "sh_Masking.h"
|
||||||
|
|
||||||
|
layout(location = 2) in highp vec2 v_TexCoord;
|
||||||
|
|
||||||
|
layout(std140, set = 0, binding = 0) uniform m_GhostParameters
|
||||||
|
{
|
||||||
|
highp float g_Time;
|
||||||
|
};
|
||||||
|
|
||||||
|
layout(location = 0) out vec4 o_Colour;
|
||||||
|
|
||||||
|
const float pi = 3.14159265359;
|
||||||
|
|
||||||
|
highp float distanceToBox(in vec2 pos, in vec2 size)
|
||||||
|
{
|
||||||
|
vec2 d = abs(pos) - size;
|
||||||
|
return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
highp float easeInCirc(in float x) {
|
||||||
|
return 1.0 - sqrt(1.0 - x * x);
|
||||||
|
}
|
||||||
|
|
||||||
|
highp float mainBody(in vec2 pos) {
|
||||||
|
highp float topCircle = distance(pos, vec2(0.5, 0.375)) - 0.375;
|
||||||
|
|
||||||
|
highp float box = distanceToBox(pos - vec2(0.5, 0.75), vec2(0.375, 0.375));
|
||||||
|
|
||||||
|
return min(topCircle, box);
|
||||||
|
}
|
||||||
|
|
||||||
|
highp float eyes(in vec2 pos) {
|
||||||
|
const vec2 eye_position = vec2(0.125, 0.375);
|
||||||
|
|
||||||
|
return distance(vec2(abs(pos.x - 0.5), pos.y), eye_position) - 0.0625;
|
||||||
|
}
|
||||||
|
|
||||||
|
highp float zigzag(in vec2 pos) {
|
||||||
|
const int num_spikes = 4;
|
||||||
|
const float scale = pi * 2 * num_spikes;
|
||||||
|
const float corner_radius = 0.0625;
|
||||||
|
|
||||||
|
highp float strength = sin(pos.x * pi);
|
||||||
|
|
||||||
|
highp float threshold = 0.875 + (cos((pos.x - g_Time) * scale) * 0.5 + 0.5) * 0.125 * strength;
|
||||||
|
|
||||||
|
highp float distanceToEdge = 0.375 - abs(pos.x - 0.5);
|
||||||
|
|
||||||
|
if (distanceToEdge < corner_radius) {
|
||||||
|
threshold -= easeInCirc(1.0 - distanceToEdge / corner_radius) * corner_radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
return pos.y - threshold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
highp float blendRange = v_BlendRange.x / v_TexRect.z;
|
||||||
|
|
||||||
|
vec2 pos = v_TexCoord;
|
||||||
|
|
||||||
|
highp float dst = mainBody(pos);
|
||||||
|
dst = max(dst, -eyes(pos));
|
||||||
|
dst = max(dst, zigzag(pos));
|
||||||
|
|
||||||
|
highp float alpha = blendRange.x == 0.0 ? float(dst < 0.0) : (clamp(-dst, 0.0, blendRange.x) / blendRange.x);
|
||||||
|
|
||||||
|
o_Colour = getRoundedColor(vec4(vec3(1.0), alpha), vec2(0.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user