135 Commits

Author SHA1 Message Date
Arlind
11595f9c44 [ci skip] push back from pipeline 2025-11-23 22:57:06 +00:00
Arlind
e03028c70e [ci skip] push back from pipeline 2025-11-23 22:49:26 +00:00
Arlind
63908f52fc [ci skip] push back from pipeline 2025-11-23 22:37:25 +00:00
Arlind
09719cdffb [ci skip] push back from pipeline 2025-11-23 22:35:22 +00:00
Arlind
40e2bf08fb [ci skip] push back from pipeline 2025-11-23 22:30:29 +00:00
Arlind
d5ad6430a0 [ci skip] push back from pipeline 2025-11-23 22:07:24 +00:00
Arlind
5e81086032 [ci skip] push back from pipeline 2025-11-23 22:04:24 +00:00
Arlind
9e7a655829 [ci skip] push back from pipeline 2025-11-23 22:01:34 +00:00
Arlind
a09dd46f45 [ci skip] push back from pipeline 2025-11-23 21:53:11 +00:00
Arlind
be15f23641 [ci skip] push back from pipeline 2025-11-23 21:50:29 +00:00
Arlind
863219d9e5 [ci skip] push back from pipeline 2025-11-23 21:49:01 +00:00
abb21a2b85 Update .gitea/workflows/ci.yml
Some checks are pending
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Waiting to run
2025-11-23 22:48:51 +01:00
Arlind
7036ebc244 [ci skip] push back from pipeline 2025-11-23 16:13:01 +00:00
71966efaa1 Update CI from skins-template
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 11m23s
2025-11-23 17:01:52 +01:00
af6f95a255 Update .gitattributes from skins-template
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-23 17:01:51 +01:00
Arlind
9a64022e13 [ci skip] push back from pipeline 2025-11-23 14:27:38 +00:00
77f64191a4 Update CI from skins-template
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 33s
2025-11-23 15:27:24 +01:00
6522bed4a8 Update .gitattributes from skins-template
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-23 15:27:24 +01:00
db19698823 Update CI from skins-template 2025-11-23 14:56:56 +01:00
50751e4c70 Update .gitattributes from skins-template 2025-11-23 14:56:56 +01:00
Arlind
f525118b7e [ci skip] push back from pipeline 2025-11-23 13:55:44 +00:00
36850edc62 Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 23s
2025-11-23 14:55:34 +01:00
2b4b5414f0 Delete .gitea/workflows/test-skins.yml 2025-11-23 14:54:36 +01:00
8a1fb0ed6c Update .gitea/workflows/test-skins.yml 2025-11-23 14:50:29 +01:00
cc74cf032e Update .gitea/workflows/test-skins.yml 2025-11-23 14:46:15 +01:00
85e691f321 Update .gitea/workflows/test-skins.yml 2025-11-23 14:43:41 +01:00
d4dde3ff9f Update .gitea/workflows/test-skins.yml 2025-11-23 14:41:22 +01:00
6239c82552 Update .gitea/workflows/test-skins.yml 2025-11-23 14:39:49 +01:00
b9b492ea89 Update .gitea/workflows/test-skins.yml 2025-11-23 14:37:38 +01:00
3c2c38efc1 Update .gitea/workflows/test-skins.yml 2025-11-23 14:31:40 +01:00
0171b14a36 Update .gitea/workflows/test-skins.yml 2025-11-23 14:29:00 +01:00
07fd305c12 Update .gitea/workflows/test-skins.yml 2025-11-23 14:24:32 +01:00
303b931500 Update .gitea/workflows/test-skins.yml 2025-11-23 14:21:57 +01:00
af2636930e Update .gitea/workflows/test-skins.yml 2025-11-23 14:18:45 +01:00
3867174bf9 Update .gitea/workflows/ci.yml 2025-11-23 14:16:11 +01:00
Arlind
edf7542308 [ci skip] push back from pipeline 2025-11-23 13:14:50 +00:00
f6a865a4ea Update .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 11s
2025-11-23 14:14:39 +01:00
Arlind
d65782edb6 [ci skip] push back from pipeline 2025-11-23 13:13:15 +00:00
50e5da55a3 Update .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 10s
2025-11-23 14:13:05 +01:00
Arlind
3cca1ba9f5 [ci skip] push back from pipeline 2025-11-23 13:10:57 +00:00
31dbc67720 Update .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-11-23 14:10:49 +01:00
Arlind
6b15e5a606 [ci skip] push back from pipeline 2025-11-23 13:09:44 +00:00
8f50e734e1 Update .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-11-23 14:09:34 +01:00
Arlind
b1e03a9788 [ci skip] push back from pipeline 2025-11-23 13:06:38 +00:00
a21a4c958e Update .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 10s
2025-11-23 14:06:28 +01:00
Arlind
1cd586bd78 [ci skip] push back from pipeline 2025-11-23 13:01:27 +00:00
dad96a4847 Add .gitea/workflows/test-skins.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 10s
2025-11-23 14:01:18 +01:00
Arlind
e74bcd18af [ci skip] push back from pipeline 2025-11-23 11:56:18 +00:00
bffdf16d02 Update CI from skins-template
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 12s
2025-11-23 12:56:07 +01:00
3a5164cdab Update .gitattributes from skins-template
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-23 12:56:06 +01:00
df0d5191b2 Update CI from skins-template 2025-11-23 12:55:04 +01:00
557d5de9dd Update .gitattributes from skins-template 2025-11-23 12:55:04 +01:00
8f22899ee9 Update CI from skins-template 2001-01-01 00:00:00 +00:00
00e2d106d4 Update .gitattributes from skins-template 2001-01-01 00:00:00 +00:00
GitHub Actions
e300601a1b Update CI from skins-template 2001-01-01 00:00:00 +00:00
GitHub Actions
1fe1306c5c Update .gitattributes from skins-template 2001-01-01 00:00:00 +00:00
Arlind
b7a9e5551c [ci skip] push back from pipeline 2025-11-23 11:39:28 +00:00
4d1e0f1405 Update CI from skins-template 2001-01-01 00:00:00 +00:00
76c49b6864 Update .gitattributes from skins-template 2001-01-01 00:00:00 +00:00
54172dd5af Update CI from skins-template 2001-01-01 00:00:00 +00:00
d9169fcaf6 Update .gitattributes from skins-template 2001-01-01 00:00:00 +00:00
Arlind
1e28d6be81 [ci skip] push back from pipeline 2025-11-22 21:58:50 +00:00
Arlind
fa491b1c74 [ci skip] push back from pipeline 2025-11-22 21:52:56 +00:00
Arlind
73c868cea3 [ci skip] push back from pipeline 2025-11-22 21:51:51 +00:00
180811f502 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-22 22:40:56 +01:00
88fa7837e8 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-20 15:24:25 +01:00
549fd49e92 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-20 15:23:58 +01:00
3b070e2e94 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-20 15:20:48 +01:00
Arlind
eb3d7d6bbd [ci skip] push back from pipeline 2025-11-20 14:18:20 +00:00
Arlind
906a76dc95 [ci skip] push back from pipeline 2025-11-03 21:06:01 +00:00
Arlind
a22516154e Update CI from skins-template 2001-01-01 00:00:00 +00:00
Arlind
156b53622e Update .gitattributes from skins-template 2001-01-01 00:00:00 +00:00
Arlind
b27e883a36 Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9m43s
2025-11-03 20:13:52 +01:00
Arlind
55960bded4 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-11-03 20:13:13 +01:00
Arlind
28b6d3d5cb [ci skip] push back from pipeline 2025-11-03 00:10:16 +00:00
Arlind
01fd890df2 [ci skip] push back from pipeline 2025-10-28 20:49:47 +00:00
Arlind
4a99fd3afa Update CI from skins-template 2025-10-09 17:04:31 +02:00
Arlind
9033d88a76 Update .gitattributes from skins-template 2025-10-09 17:04:30 +02:00
Arlind
cc4fdd00e9 Update CI from skins-template 2025-10-03 21:40:06 +02:00
Arlind
dc793dc01b Update .gitattributes from skins-template 2025-10-03 21:40:05 +02:00
Arlind
385f4cadf0 [ci skip] push back from pipeline 2025-10-03 19:39:44 +00:00
Arlind
a1b24774b5 Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-10-03 21:39:36 +02:00
Arlind
a0a233a531 Update CI from skins-template 2025-10-03 21:36:16 +02:00
Arlind
16ce5ce9b8 Update .gitattributes from skins-template 2025-10-03 21:36:16 +02:00
Arlind
21a8012d9b Update .gitattributes from skins-template 2025-10-03 21:31:12 +02:00
Arlind
b3b3673606 Update CI from skins-template 2025-10-03 21:31:11 +02:00
Arlind
3a0aa52c89 [ci skip] push back from pipeline 2025-10-03 19:29:58 +00:00
Arlind
3880eff63d [ci skip] push back from pipeline 2025-10-03 19:29:05 +00:00
Arlind
be37af95f2 Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-10-03 21:28:56 +02:00
Arlind
7e0e9d47d2 [ci skip] push back from pipeline 2025-10-01 13:37:24 +00:00
Arlind
11f8e2bcb4 Update .gitattributes from skins-template 2025-10-01 15:35:53 +02:00
Arlind
e944807ccc Update CI from skins-template 2025-10-01 15:35:53 +02:00
Arlind
8268fc92f1 [ci skip] push back from pipeline 2025-10-01 13:34:49 +00:00
18134088d8 fetch depth 0 already pulls tags
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 10s
2025-10-01 15:34:37 +02:00
Arlind
0ed983d3ca [ci skip] push back from pipeline 2025-10-01 13:31:42 +00:00
27062384d4 test less rights
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-10-01 15:30:58 +02:00
Arlind
446fd9e07b [ci skip] push back from pipeline 2025-10-01 13:30:21 +00:00
Arlind
973e1d79e0 [ci skip] push back from pipeline 2025-10-01 13:29:40 +00:00
71bb3cd703 test less right
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-10-01 15:29:29 +02:00
Arlind
d52b0f0981 [ci skip] push back from pipeline 2025-10-01 13:27:10 +00:00
Arlind
77bd0d18fd [ci skip] push back from pipeline 2025-10-01 13:26:36 +00:00
Arlind
2fe4154327 [ci skip] push back from pipeline 2025-10-01 13:25:56 +00:00
Arlind
f04c82ebd4 [ci skip] push back from pipeline 2025-10-01 13:12:24 +00:00
Arlind
d9ac3bcea3 [ci skip] push back from pipeline 2025-10-01 13:11:41 +00:00
abc25b0161 change target branch
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 7s
2025-10-01 15:05:19 +02:00
d4271a53da omg focuis
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 1s
2025-10-01 15:04:06 +02:00
de439afe81 fix path
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 3s
2025-10-01 15:03:17 +02:00
4ef043dd48 fix path
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 3s
2025-10-01 15:02:22 +02:00
42310f4861 bring back clean up
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 3s
2025-10-01 15:01:52 +02:00
Arlind
23c276e3ac Update README.md 2025-10-01 14:51:01 +02:00
Arlind
af952d5ddf [ci skip] push back from pipeline 2025-10-01 12:44:52 +00:00
Arlind
64470fe0f4 [ci skip] push back from pipeline 2025-10-01 12:37:01 +00:00
420ef269da fix path
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 9s
2025-10-01 14:36:50 +02:00
cb87b1a62f test
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Failing after 1s
2025-10-01 14:31:10 +02:00
Arlind
e51a6e160a [ci skip] push back from pipeline 2025-10-01 12:15:51 +00:00
Arlind
a5862d785e Delete Skins/azerinoxrektygon edit/cursor/cursor90-2(Yellow).psd
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 7s
2025-10-01 14:15:43 +02:00
Arlind
8ac45d5471 Update .gitattributes from skins-template 2025-09-30 23:12:59 +02:00
Arlind
915c9f9620 Update CI from skins-template 2025-09-30 23:12:58 +02:00
Arlind
a5bd42b092 [ci skip] push back from pipeline 2025-09-30 21:00:23 +00:00
Arlind
9856e73c01 Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 7s
2025-09-30 23:00:16 +02:00
Arlind
5b60d8d534 Update .gitattributes from skins-template 2025-09-30 22:55:57 +02:00
Arlind
c28f6c58d5 Update CI from skins-template 2025-09-30 22:55:57 +02:00
Arlind
40eaa27f24 [ci skip] push back from pipeline 2025-09-30 20:51:45 +00:00
dada6b259c test
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 12s
2025-09-30 22:51:29 +02:00
b56e66fc6f [ci skip] push back from pipeline 2025-09-30 20:44:37 +00:00
Arlind
8eb041dfd0 Update .gitattributes from skins-template 2025-09-17 00:19:03 +02:00
Arlind
f6320ee738 Update CI from skins-template 2025-09-17 00:19:03 +02:00
a880f0c917 [ci skip] push back from pipeline 2025-09-16 22:18:30 +00:00
Arlind
cfb6d40869 Update .gitea/workflows/ci.yml
Some checks failed
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Has been cancelled
2025-09-17 00:17:50 +02:00
6040e3586f [ci skip] push back from pipeline 2025-09-16 22:15:48 +00:00
1cb2fdc581 [ci skip] push back from pipeline 2025-09-16 21:56:09 +00:00
Arlind
9dd161e29d Update .gitea/workflows/ci.yml
All checks were successful
Generate Skin previews, OSK files and per skin documentation / Full CI/CD Pipeline (push) Successful in 6s
2025-09-16 23:56:02 +02:00
af5744ffa0 [ci skip] push back from pipeline 2025-08-18 00:22:37 +00:00
122170553d [ci skip] push back from pipeline 2025-08-13 21:05:16 +00:00
bbfb2df2a2 resetting repo 2025-08-13 22:56:04 +02:00
6354 changed files with 19485 additions and 549 deletions

24
.gitattributes vendored
View File

@@ -2,14 +2,32 @@
*.exe filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.JPG filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.PNG filter=lfs diff=lfs merge=lfs -text
*.pnG filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.xcf filter=lfs diff=lfs merge=lfs -text
*.pxr filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.WAV filter=lfs diff=lfs merge=lfs -text
*.wav123321321 filter=lfs diff=lfs merge=lfs -text
*.sfk filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
*.lnk filter=lfs diff=lfs merge=lfs -text
*.pk filter=lfs diff=lfs merge=lfs -text
*.fig filter=lfs diff=lfs merge=lfs -text
*.fds filter=lfs diff=lfs merge=lfs -text
*.pdn filter=lfs diff=lfs merge=lfs -text
*.osk filter=lfs diff=lfs merge=lfs -text
*.osr filter=lfs diff=lfs merge=lfs -text
*.osz filter=lfs diff=lfs merge=lfs -text
*.pack filter=lfs diff=lfs merge=lfs -text
*.pdn filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.WAV filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text

View File

@@ -1,560 +1,123 @@
name: CI/CD Pipeline
name: Generate Skin previews, OSK files and per skin documentation
on:
push:
branches:
- main
paths:
- '.gitea/workflows/ci.yml'
- '.gitea/workflows/*'
- 'Skins/**/*'
workflow_dispatch:
inputs:
force_rebuild:
description: 'Force rebuild all skins'
required: false
default: 'false'
target_skins:
description: >
JSON array of skins to rebuild.
If a skin name contains a single quote ('), escape it for Bash.
Raw: ["Beyond Journey's End"]
Escaped: ["Beyond Journey'\''s End"]
Example: '[\"skin1\", \"skin2\"]'
required: false
default: ''
env:
DANSER_PATH: "/app/danser/danser-cli"
DANSER_DIR: "/app/danser"
DANSER_VIDEO_DIR: "/app/danser/videos"
DANSER_SCREENSHOT_DIR: "/app/danser/screenshots"
SKINS_DIR: "${{ github.workspace }}/Skins"
DANSER_SKINS_DIR: "/app/danser/skins"
DEFAULT_SKIN_DIR: "${{ github.workspace }}/src/default-skin"
DEFAULT_SKIN_DIR: "/app/danser/skins/default-skin"
REPO_SCREENSHOT_DIR: "${{ github.workspace }}/media/gameplay"
REPO_MOD_ICONS_DIR: "${{ github.workspace }}/media/icons"
REPO_RANKING_PANEL_DIR: "${{ github.workspace }}/media/panel"
SETTINGS_JSON_PATH: "/app/danser/settings/default.json"
REPO_THUMBNAIL_DIR: "${{ github.workspace }}/media/thumbnail"
README_PATH: "${{ github.workspace }}/README.md"
REPLAY_PATH: "${{ github.workspace }}/src/replay.osr"
GAMEPLAY_REPLAY_PATH: "/app/danser/custom-replays/yomi_yori.osr"
THUMBNAIL_REPLAY_PATH: "/app/danser/custom-replays/custom-preview.osr"
PANEL_REPLAY_PATH: "/app/danser/custom-replays/2000_gekis.osr"
OSK_PATH: "${{ github.workspace }}/export"
IMAGE_NAME: arlind/skins
IMAGE_NAME: osc/skins-image
REGISTRY_URL: "https://${{ vars.CONTAINER_REGISTRY }}"
OSU_ID: ${{ vars.OSUID }}
DOC_DIR: "${{ github.workspace }}/docs"
permissions:
contents: write
jobs:
generate_everything:
name: Full CI/CD Pipeline
runs-on: ubuntu-latest
runs-on: danser
container:
image: ${{ vars.CONTAINER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest
options: >-
--gpus all
--privileged
--security-opt seccomp=unconfined
--security-opt apparmor=unconfined
--cap-add=ALL
--env NVIDIA_DRIVER_CAPABILITIES=all
--env NVIDIA_VISIBLE_DEVICES=all
--user 0:0
steps:
- name: Checkout Repository
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.TOKEN }}
- name: Git LFS Pull
run: |
echo "Pulling Git LFS files..."
git lfs pull
echo "LFS files pulled."
- name: Extract Repository path
run: |
FULL_WORKSPACE_PATH="${{ github.workspace }}"
USER_REPOSITORY="${FULL_WORKSPACE_PATH#/workspace/}"
USER_REPOSITORY="${USER_REPOSITORY%/}"
echo "USER_REPOSITORY=$USER_REPOSITORY" >> $GITHUB_ENV
- name: Set XDG_RUNTIME_DIR
run: |
echo "Setting XDG_RUNTIME_DIR..."
mkdir -p /tmp/xdg_runtime_dir
chmod 0700 /tmp/xdg_runtime_dir
echo "XDG_RUNTIME_DIR=/tmp/xdg_runtime_dir" >> "$GITHUB_ENV"
echo "XDG_RUNTIME_DIR set."
- name: Create directories for assets
run: |
echo "Creating asset directories..."
mkdir -p "$REPO_SCREENSHOT_DIR"
mkdir -p "$REPO_MOD_ICONS_DIR"
mkdir -p "$REPO_RANKING_PANEL_DIR"
mkdir -p "$OSK_PATH"
echo "Asset directories created successfully."
- name: Create New Tag
run: |
echo "Computing new tag..."
git fetch --tags >/dev/null 2>&1
latest_tag=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null || echo "")
if [ -z "$latest_tag" ]; then
new_tag="v1.0.0"
else
version=${latest_tag#v}
major=$(echo "$version" | cut -d. -f1)
minor=$(echo "$version" | cut -d. -f2)
patch=$(echo "$version" | cut -d. -f3)
minor=$((minor + 1))
patch=0
new_tag="v${major}.${minor}.${patch}"
fi
echo "new_tag=$new_tag" >> $GITHUB_ENV
echo "Computed new tag: $new_tag"
- name: Move Skin files to Danser Skins directory
run: |
echo "Moving Skin files to Danser Skins directory..."
mkdir -p "$DANSER_SKINS_DIR"
mv "$SKINS_DIR"/* "$DANSER_SKINS_DIR"
echo "Skin files moved."
- name: Generate Danser videos and screenshots
run: |
echo "[Danser Job Started]"
SKIN_COUNT=$(find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | wc -l)
INDEX=1
for skin in "$DANSER_SKINS_DIR"/*/; do
if [ -d "$skin" ]; then
SKIN_NAME=$(basename "$skin")
echo ""
echo "[$INDEX/$SKIN_COUNT] Skin: $SKIN_NAME"
LOGFILE="/tmp/danser_log_$SKIN_NAME.txt"
FFMPEG_LOG="/tmp/ffmpeg_log_$SKIN_NAME.txt"
echo " → Generating video..."
if ! xvfb-run -a "$DANSER_DIR/danser-cli" -replay "$REPLAY_PATH" -record -skip -start=215 -end=230 -noupdatecheck -out="$SKIN_NAME" -skin "$SKIN_NAME" >"$LOGFILE" 2>&1; then
echo " ✖ Video generation failed for $SKIN_NAME. Log output:"
cat "$LOGFILE"
exit 1
fi
echo " → Taking screenshot..."
if ! xvfb-run -a "$DANSER_DIR/danser-cli" -replay "$REPLAY_PATH" -skip -noupdatecheck -ss 243 -out="$SKIN_NAME" -skin "$SKIN_NAME" >>"$LOGFILE" 2>&1; then
echo " ✖ Screenshot generation failed for $SKIN_NAME. Log output:"
cat "$LOGFILE"
exit 1
fi
if [ -f "$DANSER_VIDEO_DIR/$SKIN_NAME.mp4" ]; then
echo " → Converting to GIF..."
if ! ffmpeg -y -hwaccel cuda -ss 4 -t 10 -i "$DANSER_VIDEO_DIR/$SKIN_NAME.mp4" \
-filter_complex "[0:v] fps=24,scale=720:-1:flags=lanczos,palettegen [p]; \
[0:v] fps=24,scale=720:-1:flags=lanczos [x]; \
[x][p] paletteuse" \
-c:v gif "$DANSER_VIDEO_DIR/$SKIN_NAME.gif" >"$FFMPEG_LOG" 2>&1; then
echo " ✖ FFmpeg conversion failed for $SKIN_NAME. Log output:"
cat "$FFMPEG_LOG"
exit 1
fi
mv "$DANSER_VIDEO_DIR/$SKIN_NAME.gif" "$REPO_SCREENSHOT_DIR/$SKIN_NAME.gif"
fi
if [ -f "$DANSER_SCREENSHOT_DIR/$SKIN_NAME.png" ]; then
mv "$DANSER_SCREENSHOT_DIR/$SKIN_NAME.png" "$REPO_RANKING_PANEL_DIR/$SKIN_NAME.png"
fi
echo " ✓ Completed"
INDEX=$((INDEX + 1))
fi
done
echo ""
echo "[Danser Job Finished — $SKIN_COUNT skins processed]"
- name: Rename Generated Assets Based on skin.ini
run: |
echo "[Asset Renaming Started]"
INDEX=1
SKIN_COUNT=$(find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | wc -l)
for skin_path in "$DANSER_SKINS_DIR"/*/; do
if [ -d "$skin_path" ]; then
SKIN_NAME=$(basename "$skin_path")
echo ""
echo "[$INDEX/$SKIN_COUNT] Skin: $SKIN_NAME"
ini_file=$(find "$skin_path" -maxdepth 1 -iname "skin.ini" | head -n1)
skin_header="$SKIN_NAME"
if [ -f "$ini_file" ]; then
name_line=$(grep -i '^[[:space:]]*name:' "$ini_file" | head -n1)
if [ -n "$name_line" ]; then
new_name=$(echo "$name_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
[ -n "$new_name" ] && skin_header="$new_name"
fi
fi
original_gif="$REPO_SCREENSHOT_DIR/$SKIN_NAME.gif"
renamed_gif="$REPO_SCREENSHOT_DIR/$skin_header.gif"
if [ -f "$original_gif" ] && [ "$original_gif" != "$renamed_gif" ]; then
mv -f "$original_gif" "$renamed_gif"
echo " ✓ Renamed GIF"
else
echo " → No GIF to rename or already named correctly"
fi
original_png="$REPO_RANKING_PANEL_DIR/$SKIN_NAME.png"
renamed_png="$REPO_RANKING_PANEL_DIR/$skin_header.png"
if [ -f "$original_png" ] && [ "$original_png" != "$renamed_png" ]; then
mv -f "$original_png" "$renamed_png"
echo " ✓ Renamed PNG"
else
echo " → No PNG to rename or already named correctly"
fi
echo " ✓ Completed"
INDEX=$((INDEX + 1))
fi
done
echo ""
echo "[Asset Renaming Complete — $SKIN_COUNT skins processed]"
- name: Generate Mod Icons
run: |
echo "[Mod Icon Generation Started]"
ICONS_JSON_FILE="${{ github.workspace }}/.gitea/workflows/icons.json"
group1_icons=$(jq -r '.group1 | join(" ")' "$ICONS_JSON_FILE")
group2_icons=$(jq -r '.group2 | join(" ")' "$ICONS_JSON_FILE")
group3_icons=$(jq -r '.group3 | join(" ")' "$ICONS_JSON_FILE")
SKIN_COUNT=$(find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | wc -l)
INDEX=1
for skin_path in "$DANSER_SKINS_DIR"/*/; do
if [ -d "$skin_path" ]; then
SKIN_NAME=$(basename "$skin_path")
echo ""
echo "[$INDEX/$SKIN_COUNT] Skin: $SKIN_NAME"
ini_file=$(find "$skin_path" -maxdepth 1 -iname "skin.ini" | head -n1)
skin_header="$SKIN_NAME"
if [ -f "$ini_file" ]; then
name_line=$(grep -i '^[[:space:]]*name:' "$ini_file" | head -n1)
if [ -n "$name_line" ]; then
new_name=$(echo "$name_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "$new_name" ]; then
skin_header="$new_name"
fi
fi
fi
ICON_FOLDER="$skin_path"
OUTPUT="${REPO_MOD_ICONS_DIR}/${skin_header}-mod-icons.png"
TILE_SIZE=160
PADDING=10
MAX_ICONS=7
BLANK_IMAGE="blank.png"
magick -size "${TILE_SIZE}x${TILE_SIZE}" xc:none "$BLANK_IMAGE"
row_images=""
row_index=1
for group_list in "$group1_icons" "$group2_icons" "$group3_icons"; do
montage_files=""
count=0
for icon in $group_list; do
icon_path="${ICON_FOLDER}/selection-mod-${icon}@2x.png"
if [ -f "$icon_path" ]; then
montage_files="$montage_files \"$icon_path\""
count=$((count + 1))
elif [ -f "$DEFAULT_SKIN_DIR/selection-mod-${icon}@2x.png" ]; then
montage_files="$montage_files \"$DEFAULT_SKIN_DIR/selection-mod-${icon}@2x.png\""
count=$((count + 1))
fi
done
missing=$(( MAX_ICONS - count ))
if [ "$missing" -lt 0 ]; then
missing=0
fi
i=0
while [ "$i" -lt "$missing" ]; do
montage_files="$montage_files \"$BLANK_IMAGE\""
i=$((i + 1))
done
row_file="row_${row_index}.png"
eval "magick montage $montage_files -tile \"${MAX_ICONS}x1\" -geometry \"${TILE_SIZE}x${TILE_SIZE}+${PADDING}+${PADDING}\" -background none \"$row_file\""
row_images="$row_images \"$row_file\""
row_index=$((row_index + 1))
done
num_rows=0
for _ in $row_images; do
num_rows=$((num_rows + 1))
done
eval "magick montage $row_images -tile \"1x${num_rows}\" -geometry \"+${PADDING}+${PADDING}\" -background none \"$OUTPUT\""
rm "$BLANK_IMAGE"
rm row_*.png
echo " ✓ Completed"
INDEX=$((INDEX + 1))
fi
done
echo ""
echo "[Mod Icon Generation Finished — $SKIN_COUNT skins processed]"
- name: Create OSK files
run: |
echo "[OSK Creation Job Started]"
SKIN_COUNT=$(find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | wc -l)
INDEX=1
FIXED_TIMESTAMP="2025-01-01 00:00:00"
find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | sort | while IFS= read -r skin; do
SKIN_FOLDER=$(basename "$skin")
echo ""
echo "[$INDEX/$SKIN_COUNT] Processing skin folder: $SKIN_FOLDER"
ini_file=$(find "$skin" -maxdepth 1 -iname "skin.ini" | head -n1)
if [ -f "$ini_file" ]; then
name_line=$(grep -i '^[[:space:]]*name:' "$ini_file" | head -n1)
if [ -n "$name_line" ]; then
new_name=$(echo "$name_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "$new_name" ]; then
SKIN_FOLDER="$new_name"
fi
fi
else
echo " → No skin.ini found, using folder name."
fi
osk_file="${OSK_PATH}/${SKIN_FOLDER}.osk"
if ! (cd "$skin" && find . -type f -exec touch -d "$FIXED_TIMESTAMP" {} +); then
echo " ✖ Failed to normalize timestamps in $skin"
exit 1
fi
if (
cd "$skin" && \
find . -type f | sort | zip -rq -D -X -9 --compression-method deflate "$osk_file" -@
); then
echo " ✓ OSK file created successfully."
else
echo " ✖ Failed to create OSK file: $osk_file"
exit 1
fi
INDEX=$((INDEX + 1))
done
echo ""
echo "[OSK Creation Job Finished — $SKIN_COUNT skins processed]"
- name: Generate README
run: |
echo "Starting README generation..."
SKINS_JSON_FILE="${{ github.workspace }}/.gitea/workflows/skins.json"
DESC_FILE=$(mktemp)
jq -r '.descriptions | to_entries[] | "\(.key)=\(.value)"' "$SKINS_JSON_FILE" > "$DESC_FILE"
echo "---" > "$README_PATH"
echo "gitea: none" >> "$README_PATH"
echo "include_toc: true" >> "$README_PATH"
echo "---" >> "$README_PATH"
echo "" >> "$README_PATH"
echo "# Skins" >> "$README_PATH"
echo "" >> "$README_PATH"
echo "<!--" >> "$README_PATH"
echo "osuid: $OSU_ID" >> "$README_PATH"
echo "-->" >> "$README_PATH"
echo "" >> "$README_PATH"
get_desc() {
key=$1
escaped_key=$(printf '%s\n' "$key" | sed 's/[\/&]/\\&/g')
grep "^${escaped_key}=" "$DESC_FILE" | cut -d '=' -f2-
}
ORDER_FILE=$(mktemp)
JSON_SKINS_TMP=$(mktemp)
SEEN_HEADERS_FILE=$(mktemp)
jq -r '.order[]' "$SKINS_JSON_FILE" > "$ORDER_FILE"
cp "$ORDER_FILE" "$JSON_SKINS_TMP"
while IFS= read -r skin; do
dir="$DANSER_SKINS_DIR/$skin"
if [ ! -d "$dir" ]; then
echo "Skipping missing skin directory: $skin"
continue
fi
ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n 1)
skin_header="$skin"
if [ -f "$ini_file" ]; then
name_line=$(grep -i '^[[:space:]]*name:' "$ini_file" | head -n 1)
if [ -n "$name_line" ]; then
skin_header=$(echo "$name_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
fi
fi
if grep -Fxq "$skin_header" "$SEEN_HEADERS_FILE"; then
echo "Skipping duplicate skin header from JSON order: $skin_header"
continue
fi
echo "$skin_header" >> "$SEEN_HEADERS_FILE"
escaped_img=$(echo "$skin_header.gif" | sed 's/ /%20/g')
escaped_osk=$(echo "$skin_header.osk" | sed 's/ /%20/g')
echo "## [$skin_header]($REGISTRY_URL/$USER_REPOSITORY/media/tag/$new_tag/export/$escaped_osk)" >> "$README_PATH"
echo "" >> "$README_PATH"
skin_desc=$(get_desc "$skin")
if [ -n "$skin_desc" ]; then
echo "$skin_desc" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
if [ -f "$ini_file" ]; then
author_line=$(grep -i '^[[:space:]]*Author:' "$ini_file" | head -n 1 || true)
if [ -n "$author_line" ]; then
author=$(echo "$author_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "$author" ]; then
echo "**Author:** $author" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
fi
fi
echo "![$skin_header Gameplay](media/gameplay/$escaped_img)" >> "$README_PATH"
echo "" >> "$README_PATH"
if [ -f "media/panel/${skin_header}.png" ]; then
escaped_panel=$(echo "${skin_header}.png" | sed 's/ /%20/g')
echo "![$skin_header Ranking Panel](media/panel/$escaped_panel)" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
mod_icon_file="${skin_header}-mod-icons.png"
if [ -f "media/icons/$mod_icon_file" ]; then
escaped_mod=$(echo "$mod_icon_file" | sed 's/ /%20/g')
echo "![$skin_header Mods](media/icons/$escaped_mod)" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
done < "$ORDER_FILE"
find "$DANSER_SKINS_DIR" -mindepth 1 -maxdepth 1 -type d | while IFS= read -r dir; do
skin=$(basename "$dir")
ini_file=$(find "$dir" -maxdepth 1 -iname "skin.ini" | head -n 1)
skin_header="$skin"
if [ -f "$ini_file" ]; then
name_line=$(grep -i '^[[:space:]]*name:' "$ini_file" | head -n 1)
if [ -n "$name_line" ]; then
skin_header=$(echo "$name_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
fi
fi
if grep -Fxq "$skin_header" "$SEEN_HEADERS_FILE"; then
continue
fi
if grep -Fxq "$skin" "$JSON_SKINS_TMP"; then
continue
fi
echo "$skin_header" >> "$SEEN_HEADERS_FILE"
escaped_img=$(echo "$skin_header.gif" | sed 's/ /%20/g')
escaped_osk=$(echo "$skin_header.osk" | sed 's/ /%20/g')
echo "## [$skin_header]($REGISTRY_URL/$USER_REPOSITORY/media/tag/$new_tag/export/$escaped_osk)" >> "$README_PATH"
echo "" >> "$README_PATH"
if [ -f "$ini_file" ]; then
author_line=$(grep -i '^[[:space:]]*Author:' "$ini_file" | head -n 1 || true)
if [ -n "$author_line" ]; then
author=$(echo "$author_line" | cut -d ':' -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "$author" ]; then
echo "**Author:** $author" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
fi
fi
echo "![$skin_header Gameplay](media/gameplay/$escaped_img)" >> "$README_PATH"
echo "" >> "$README_PATH"
if [ -f "media/panel/${skin_header}.png" ]; then
escaped_panel=$(echo "${skin_header}.png" | sed 's/ /%20/g')
echo "![$skin_header Ranking Panel](media/panel/$escaped_panel)" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
mod_icon_file="${skin_header}-mod-icons.png"
if [ -f "media/icons/$mod_icon_file" ]; then
escaped_mod=$(echo "$mod_icon_file" | sed 's/ /%20/g')
echo "![$skin_header Mods](media/icons/$escaped_mod)" >> "$README_PATH"
echo "" >> "$README_PATH"
fi
done
rm "$DESC_FILE" "$ORDER_FILE" "$JSON_SKINS_TMP" "$SEEN_HEADERS_FILE"
echo "# Build History" >> "$README_PATH"
echo "" >> "$README_PATH"
echo "| Version | Date |" >> "$README_PATH"
echo "| ------- | ---- |" >> "$README_PATH"
current_commit_date=$(TZ="Europe/Zurich" date -d "$(git log -1 --format=%cI)" "+%d.%m.%Y %H:%M:%S")
echo "| [\`$new_tag (Current)\`](https://git.sulejmani.xyz/arlind/skins/src/tag/$new_tag/README.md) | $current_commit_date |" >> "$README_PATH"
git tag --sort=-v:refname | grep -v "^$new_tag$" | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | while read -r tag; do
tag_date=$(git log -1 --format=%ci "$tag")
formatted_date=$(TZ="Europe/Zurich" date -d "$tag_date" "+%d.%m.%Y %H:%M:%S")
echo "| [\`$tag\`](https://git.sulejmani.xyz/arlind/skins/src/tag/$tag/README.md) | $formatted_date |" >> "$README_PATH"
done
echo "README generation completed."
- name: Configure Git
run: |
echo "Configuring git user and LFS..."
git config user.email "arlind@sulej.ch"
git config user.name "ci-bot"
git config lfs.https://${{ vars.CONTAINER_REGISTRY }}/arlind/skins.git/info/lfs.locksverify true
echo "Git configured."
- name: Add and Commit changes
run: |
git config advice.addIgnoredFile false
echo "Staging files for commit..."
git add README.md media/gameplay/* media/panel/* media/icons/* export/*
echo "Committing changes..."
git commit -m "[ci skip] push back from pipeline" -q || echo "No changes to commit"
echo "Commit step completed."
- name: Push changes and create tag
run: |
echo "Checking branch and pushing changes..."
if [ "${GITHUB_REF}" = "refs/heads/main" ]; then
echo "On main branch: pushing to origin main..."
git push origin HEAD:main || echo "No changes to push"
echo "Creating and pushing tag $new_tag..."
git tag "$new_tag"
git push origin "$new_tag"
else
echo "On branch ${GITHUB_REF_NAME}: pushing to origin ${GITHUB_REF_NAME}..."
git push origin HEAD:"${GITHUB_REF_NAME}" || echo "No changes to push"
fi
echo "Push step completed."
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Discover and Detect Skins
id: discover
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/discover-skins@main
with:
force_rebuild: ${{ github.event.inputs.force_rebuild }}
target_skins: ${{ github.event.inputs.target_skins }}
- name: Pull Git LFS
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/pull-lfs@main
with:
changed_skins_file: ${{ steps.discover.outputs.changed_skins_file }}
- name: Prepare Assets
id: prepare
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/prepare-assets@main
with:
all_skins: ${{ steps.discover.outputs.all_skins }}
- name: Create Tag
id: tag
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/create-tag@main
- name: Generate Previews
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/generate-previews@main
with:
changed_skins_file: ${{ steps.discover.outputs.changed_skins_file }}
- name: Generate Mod Icons and Convert Images
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/generate-icons@main
with:
changed_skins_file: ${{ steps.discover.outputs.changed_skins_file }}
- name: Generate OSK
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/generate-osk@main
with:
changed_skins_file: ${{ steps.discover.outputs.changed_skins_file }}
- name: Generate Documentation
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/generate-docs@main
with:
new_tag: ${{ steps.tag.outputs.new_tag }}
readme_path: ${{ env.README_PATH }}
doc_dir: ${{ env.DOC_DIR }}
user_repository: ${{ steps.prepare.outputs.user_repository }}
- name: Cleanup Files
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/cleanup@main
with:
all_skins: ${{ steps.discover.outputs.all_skins }}
- name: Commit and Push
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/git-commit-push@main
with:
new_tag: ${{ steps.tag.outputs.new_tag }}
- name: Test links
uses: ${{ env.REGISTRY_URL}}/osc/reusable-actions/.gitea/actions/test-links@main
with:
user_repository: ${{ steps.prepare.outputs.user_repository }}

View File

@@ -1,10 +1,30 @@
{
"order": [
"example1",
"example2"
"- Barely still Jace",
"- Jace",
"- Jace White",
"- Varvalian",
"- Barely still oreru",
"- Gunna",
"Minimal_by_Geroyuni",
"Konata",
"Ameliorate v1.5",
"Skin 2",
"as244",
"boop"
],
"descriptions": {
"example1": "Description of example1",
"example2": "Description of example2"
"- Barely still Jace": "My main skin.",
"- Jace": "My secondary skin, only really used for EZ.",
"- Jace White": "Mock up Rafis' skin.",
"- Varvalian": "My first real skin I created for myself.",
"- Barely still oreru": "Barely still Jace, but every Audio file got replaced with Oreru.",
"- Gunna": "My first skin made from scratch.",
"Minimal_by_Geroyuni": "My first skin that wasn't completely ass.",
"Konata": "Play this with hitlightning enabled lol.",
"Ameliorate v1.5": "This is only on here 'cause all my main skins use the hitsounds from here.",
"Skin 2": "Either this or as244 are the first 2 skins me and my friend made on osuskinner.",
"as244": "Either this or Skin 2 are the first 2 skins me and my friend made on osuskinner.",
"boop": "Just boop, downloaded it for DT."
}
}

8
.gitignore vendored
View File

@@ -0,0 +1,8 @@
*did*
*WhiteCat*
*Niven*
*Night*
*aiupscale*
*test*
*Teto*
*Tesotra*

141
README.md Normal file
View File

@@ -0,0 +1,141 @@
---
gitea: none
include_toc: true
---
# Skins
<!--
osuid: 13792719
-->
**Go back to [osc/skins](https://git.sulej.net/osc/skins)**
**Click on the Skin name to download it, or click on the thumbnail to see more about the skin, including a video preview, screenshots, and mod icons.**
## [Barely still Jace (Arlind edit)](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Barely%20still%20Jace/Barely%20still%20Jace%20%28Arlind%20edit%29.osk)
My main skin.
**Author:** Various people
[![Barely still Jace (Arlind edit) Thumbnail](media/thumbnail/-%20Barely%20still%20Jace/Barely%20still%20Jace%20%28Arlind%20edit%29.webp)](/docs/-%20Barely%20still%20Jace/Barely%20still%20Jace%20%28Arlind%20edit%29.md)
## [Jace Arlind edit](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Jace/Jace%20Arlind%20edit.osk)
My secondary skin, only really used for EZ.
**Author:** Various people
[![Jace Arlind edit Thumbnail](media/thumbnail/-%20Jace/Jace%20Arlind%20edit.webp)](/docs/-%20Jace/Jace%20Arlind%20edit.md)
## [Jace Arlind edit (white)](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Jace%20White/Jace%20Arlind%20edit%20%28white%29.osk)
Mock up Rafis' skin.
**Author:** Various people
[![Jace Arlind edit (white) Thumbnail](media/thumbnail/-%20Jace%20White/Jace%20Arlind%20edit%20%28white%29.webp)](/docs/-%20Jace%20White/Jace%20Arlind%20edit%20%28white%29.md)
## [Varvalian Arlind edit](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Varvalian/Varvalian%20Arlind%20edit.osk)
My first real skin I created for myself.
**Author:** Garin, Gab, Varvalian
[![Varvalian Arlind edit Thumbnail](media/thumbnail/-%20Varvalian/Varvalian%20Arlind%20edit.webp)](/docs/-%20Varvalian/Varvalian%20Arlind%20edit.md)
## [Barely still Jace (Oreru edit)](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Barely%20still%20oreru/Barely%20still%20Jace%20%28Oreru%20edit%29.osk)
Barely still Jace, but every Audio file got replaced with Oreru.
**Author:** Various people
[![Barely still Jace (Oreru edit) Thumbnail](media/thumbnail/-%20Barely%20still%20oreru/Barely%20still%20Jace%20%28Oreru%20edit%29.webp)](/docs/-%20Barely%20still%20oreru/Barely%20still%20Jace%20%28Oreru%20edit%29.md)
## [Gunna skin by Arlind](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/-%20Gunna/Gunna%20skin%20by%20Arlind.osk)
My first skin made from scratch.
**Author:** arlind
[![Gunna skin by Arlind Thumbnail](media/thumbnail/-%20Gunna/Gunna%20skin%20by%20Arlind.webp)](/docs/-%20Gunna/Gunna%20skin%20by%20Arlind.md)
## [Minimal by Geroyuni](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/Minimal_by_Geroyuni/Minimal%20by%20Geroyuni.osk)
My first skin that wasn't completely ass.
**Author:** Geroyuni
[![Minimal by Geroyuni Thumbnail](media/thumbnail/Minimal_by_Geroyuni/Minimal%20by%20Geroyuni.webp)](/docs/Minimal_by_Geroyuni/Minimal%20by%20Geroyuni.md)
## [Konata - Rave Party V0.9.1](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/Konata/Konata%20-%20Rave%20Party%20V0.9.1.osk)
Play this with hitlightning enabled lol.
**Author:** Vext
[![Konata - Rave Party V0.9.1 Thumbnail](media/thumbnail/Konata/Konata%20-%20Rave%20Party%20V0.9.1.webp)](/docs/Konata/Konata%20-%20Rave%20Party%20V0.9.1.md)
## [Ameliorate v1.5](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/Ameliorate%20v1.5/Ameliorate%20v1.5.osk)
This is only on here 'cause all my main skins use the hitsounds from here.
**Author:** Toy
[![Ameliorate v1.5 Thumbnail](media/thumbnail/Ameliorate%20v1.5/Ameliorate%20v1.5.webp)](/docs/Ameliorate%20v1.5/Ameliorate%20v1.5.md)
## [Skin 2](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/Skin%202/Skin%202.osk)
Either this or as244 are the first 2 skins me and my friend made on osuskinner.
**Author:** osuskinner.com / Various Artist
[![Skin 2 Thumbnail](media/thumbnail/Skin%202/Skin%202.webp)](/docs/Skin%202/Skin%202.md)
## [as244](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/as244/as244.osk)
Either this or Skin 2 are the first 2 skins me and my friend made on osuskinner.
**Author:** osuskinner.com / Various Artist
[![as244 Thumbnail](media/thumbnail/as244/as244.webp)](/docs/as244/as244.md)
## [boop](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/boop/boop.osk)
Just boop, downloaded it for DT.
**Author:** ryuk
[![boop Thumbnail](media/thumbnail/boop/boop.webp)](/docs/boop/boop.md)
## [Default](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/Default/Default.osk)
**Author:** Developers
[![Default Thumbnail](media/thumbnail/Default/Default.webp)](/docs/Default/Default.md)
## [MonkoGlassTest](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/MonkoGlassTest/MonkoGlassTest.osk)
**Author:** Monko2k | Edited by rektygon
[![MonkoGlassTest Thumbnail](media/thumbnail/MonkoGlassTest/MonkoGlassTest.webp)](/docs/MonkoGlassTest/MonkoGlassTest.md)
## [azerinoxrektygon edit](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/azerinoxrektygon%20edit/azerinoxrektygon%20edit.osk)
**Author:** marcel7 (various artists)
[![azerinoxrektygon edit Thumbnail](media/thumbnail/azerinoxrektygon%20edit/azerinoxrektygon%20edit.webp)](/docs/azerinoxrektygon%20edit/azerinoxrektygon%20edit.md)
## [kik0](https://git.sulej.net/Arlind/skins/media/tag/v1.1.0/export/kik0/kik0.osk)
**Author:** kik0
[![kik0 Thumbnail](media/thumbnail/kik0/kik0.webp)](/docs/kik0/kik0.md)
# Build History
| Version | Date |
| ------- | ---- |
| [`v1.1.0 (Current)`](https://git.sulej.net/Arlind/skins/src/tag/v1.1.0/README.md) | 23.11.2025 23:49:26 |
| [`v1.0.0`](https://git.sulej.net/Arlind/skins/src/tag/v1.0.0/README.md) | 23.11.2025 17:13:01 |

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Skins/- Barely still Jace/Go.png LFS Normal file

Binary file not shown.

View File

@@ -0,0 +1,45 @@
[General]
//----------General
Name: Barely still Jace (Arlind edit)
Author: Various people
Version: 2.5
//----------Settings
SliderBallFlip: 1
CursorTrailRotate: 0
SpinnerFadePlayfield: 0
SliderBallFrames: 60
HitCircleOverlayAboveNumer: 1
SliderStyle: 2
AllowSliderBallTint: 1
//----------Cursor
CursorCentre: 1
CursorExpand: 0
CursorRotate: 0
CursorTrailRotate: 0
[Colours]
//----------Combo colors
Combo1: 120,120,255
//----------Text colors
SongSelectActiveText: 250,250,250
SongSelectInactiveText: 230,230,230
//----------Slider
SliderBorder: 120,120,120
SliderTrackOverride: 3,3,12
[Fonts]
//----------Hitcircle font
HitCirclePrefix: Assets/default/default
HitCircleOverlap: 160
//----------Score font
ScorePrefix: Assets/score/score
ScoreOverlap: 9
//----------Combo font
ComboPrefix: Assets/combo/score
ScoreOverlap: 9

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More