Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
567a7af392 | ||
|
|
082abad735 | ||
|
|
b40f7c94b8 | ||
|
|
4ab27ca8a6 | ||
|
|
9dfe5cfe42 | ||
|
|
a380fa16e5 | ||
|
|
6568703a7d | ||
|
|
d8513fc4a0 | ||
|
|
95415f5890 | ||
|
|
ce0fd00fba | ||
|
|
aa7cef2c25 | ||
|
|
3855c5ea9f | ||
|
|
a75e543fb8 | ||
|
|
d5121a6e8e | ||
|
|
de57ab82f6 | ||
|
|
851d5c241c | ||
|
|
9e1ccaf083 | ||
|
|
de17188ae4 | ||
|
|
dbbd0c2851 | ||
|
|
89fa9a3121 | ||
|
|
86aba3f004 | ||
|
|
0839f21e71 | ||
|
|
75a02413de | ||
|
|
32001dad2e | ||
|
|
303c9d14aa |
@@ -1,7 +0,0 @@
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
@@ -1,3 +0,0 @@
|
||||
* text=auto eol=lf
|
||||
*.hxc linguist-language=Haxe
|
||||
*.hxp linguist-language=Haxe
|
||||
@@ -1,87 +0,0 @@
|
||||
name: Bug Report
|
||||
description: Report a bug or an issue in the game.
|
||||
labels: ["type: minor bug", "status: pending triage"]
|
||||
title: "Bug Report: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "# PLEASE READ THE [CONTRIBUTING GUIDE](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) BEFORE OPENING ISSUES!"
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Checklist
|
||||
description: Be sure to complete these steps to increase the chances of your issue being addressed!
|
||||
options:
|
||||
- label: I have read the [Contributing Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md)
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
- label: I have properly titled my issue
|
||||
- label: I did not have any mods installed when I encountered this issue
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you playing on?
|
||||
options:
|
||||
- Android
|
||||
- iOS/iPadOS
|
||||
- Newgrounds (Web/HTML5)
|
||||
- Itch.io (Web/HTML5)
|
||||
- Windows (Downloadable Build)
|
||||
- MacOS (Downloadable Build)
|
||||
- Linux (Downloadable Build)
|
||||
- Compiled from GitHub Source Code
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Browser
|
||||
description: (Web/HTML5 users only) Which browser are you playing on?
|
||||
options:
|
||||
- Google Chrome
|
||||
- Microsoft Edge
|
||||
- Firefox
|
||||
- Opera
|
||||
- Safari
|
||||
- Other (Specify in Description field)
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Mobile Device Model
|
||||
description: (Mobile users only) What mobile device are you playing on?
|
||||
placeholder: ex. iPhone 17, Galaxy S26, iPad 11th Gen
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Mobile OS Version
|
||||
description: (Mobile users only) What version is your Operating System?
|
||||
placeholder: ex. iOS 26.4, Android 16, iPadOS 26.4
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: Which version are you playing on? The game version is in the bottom left corner of the main menu.
|
||||
placeholder: ex. 0.8.4
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Describe your bug."
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "### Please do not report issues from other engines. These must be reported in their respective repositories."
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description (include any images, videos, errors, or crash logs)
|
||||
description: Provide as much detail as you can. The better others understand your issue, the more they can help you!
|
||||
placeholder: Describe your issue here...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: What steps can other people take to reliably encounter this issue?
|
||||
placeholder: 1. Open the game...
|
||||
@@ -1,65 +0,0 @@
|
||||
name: Charting Issue
|
||||
description: Report an issue with the placement of notes in the game.
|
||||
labels: ["type: charting issue", "status: pending triage"]
|
||||
title: "Charting Issue: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "# PLEASE READ THE [CONTRIBUTING GUIDE](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) BEFORE OPENING ISSUES!"
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Checklist
|
||||
description: Be sure to complete these steps to increase the chances of your issue being addressed!
|
||||
options:
|
||||
- label: I have read the [Contributing Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md)
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
- label: I have properly titled my issue
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you playing on?
|
||||
options:
|
||||
- Android
|
||||
- iOS/iPadOS
|
||||
- Newgrounds (Web/HTML5)
|
||||
- Itch.io (Web/HTML5)
|
||||
- Windows (Downloadable Build)
|
||||
- MacOS (Downloadable Build)
|
||||
- Linux (Downloadable Build)
|
||||
- Compiled from GitHub Source Code
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: Which version are you playing on? The game version is in the bottom left corner of the main menu.
|
||||
placeholder: ex. 0.8.4
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Describe the charting issue(s)."
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "### Please do not report issues from other engines. These must be reported in their respective repositories."
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Location
|
||||
description: Where did you find the issue(s)? Include the name of the song, the variation, the difficulty, the time/section of the song, and any images or videos.
|
||||
placeholder: ex. Cocoa Erect [Nightmare] at Section 30, step 5
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: Why do you believe this is an issue? Is a note at the wrong time, a hold note too short/long, or something else?
|
||||
placeholder: Describe the charting issue(s) here...
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,65 +0,0 @@
|
||||
name: Compiling Help
|
||||
description: Report an issue with compiling the game.
|
||||
labels: ["type: compilation help", "status: pending triage"]
|
||||
title: "Compiling Help: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "# PLEASE READ THE [CONTRIBUTING GUIDE](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) BEFORE OPENING ISSUES!"
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Checklist
|
||||
description: Be sure to complete these steps to increase the chances of your issue being addressed!
|
||||
options:
|
||||
- label: I have followed the [Compiling Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/COMPILING.md) and the [Troubleshooting Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/TROUBLESHOOTING.md)
|
||||
- label: I have read the [Contributing Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md)
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
- label: I have properly titled my issue
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you compiling for?
|
||||
options:
|
||||
- Android
|
||||
- iOS/iPadOS
|
||||
- Web/HTML5
|
||||
- Desktop (Windows)
|
||||
- Desktop (Mac)
|
||||
- Desktop (Linux)
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: Which version are you compiling? The game version is in the bottom left corner of the main menu or in the project.hxp file.
|
||||
placeholder: ex. 0.8.4
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Describe your compiling issue."
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "### Please do not report issues from other engines. These must be reported in their respective repositories."
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Console Output
|
||||
description: Paste any errors or warnings from the console here.
|
||||
placeholder: Paste output here...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Context
|
||||
description: Provide as much detail as you can. Did you modify any code? Provide any relevant images or videos.
|
||||
placeholder: Describe the context here...
|
||||
validations:
|
||||
required: true
|
||||
@@ -1 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -1,98 +0,0 @@
|
||||
name: Crash Report
|
||||
description: Report a crash that occurred while playing the game.
|
||||
labels: ["type: major bug", "status: pending triage"]
|
||||
title: "Crash Report: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "# PLEASE READ THE [CONTRIBUTING GUIDE](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) BEFORE OPENING ISSUES!"
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Checklist
|
||||
description: Be sure to complete these steps to increase the chances of your issue being addressed!
|
||||
options:
|
||||
- label: I have read the [Contributing Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md)
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
- label: I have properly titled my issue
|
||||
- label: I did not have any mods installed when I encountered this issue
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you playing on?
|
||||
options:
|
||||
- Android
|
||||
- iOS/iPadOS
|
||||
- Newgrounds (Web/HTML5)
|
||||
- Itch.io (Web/HTML5)
|
||||
- Windows (Downloadable Build)
|
||||
- MacOS (Downloadable Build)
|
||||
- Linux (Downloadable Build)
|
||||
- Compiled from GitHub Source Code
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Browser
|
||||
description: (Web/HTML5 users only) Which browser are you playing on?
|
||||
options:
|
||||
- Google Chrome
|
||||
- Microsoft Edge
|
||||
- Firefox
|
||||
- Opera
|
||||
- Safari
|
||||
- Other (Specify in Description field)
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Mobile Device Model
|
||||
description: (Mobile users only) What mobile device are you playing on?
|
||||
placeholder: ex. iPhone 17, Galaxy S26, iPad 11th Gen
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Mobile OS Version
|
||||
description: (Mobile users only) What version is your Operating System?
|
||||
placeholder: ex. iOS 26.4, Android 16, iPadOS 26.4
|
||||
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version
|
||||
description: Which version are you playing on? The game version is in the bottom left corner of the main menu.
|
||||
placeholder: ex. 0.8.4
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "## Describe the crash."
|
||||
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "### Please do not report issues from other engines. These must be reported in their respective repositories."
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: Include screenshots or videos of the crash happening. Provide as much detail as you can.
|
||||
placeholder: Describe the crash here...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: What steps can other people take to reliably trigger this crash?
|
||||
placeholder: 1. Open the game...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Crash logs
|
||||
description: These can be found in the logs folder where Funkin.exe is, or in your mobile device's file explorer.
|
||||
placeholder: Upload your logs here...
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,23 +0,0 @@
|
||||
name: Enhancement
|
||||
description: Suggest a new feature.
|
||||
labels: ["type: enhancement", "status: pending triage"]
|
||||
title: "Enhancement: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: "# PLEASE READ THE [CONTRIBUTING GUIDE](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) BEFORE OPENING ISSUES!"
|
||||
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Issue Checklist
|
||||
description: Be sure to complete these steps to increase the chances of your suggestion being considered!
|
||||
options:
|
||||
- label: I have read the [Contributing Guide](https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md)
|
||||
- label: I have checked the Issues/Discussions pages to see if my enhancement has already been suggested
|
||||
- label: I have properly titled my enhancement
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is your suggestion, and why should it be implemented?
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,154 +0,0 @@
|
||||
name: setup-haxeshit
|
||||
description: "sets up haxe shit, using HMM!"
|
||||
|
||||
inputs:
|
||||
haxe:
|
||||
description: 'Version of haxe to install'
|
||||
required: true
|
||||
default: '4.3.6'
|
||||
hxcpp-cache:
|
||||
description: 'Whether to use a shared hxcpp compile cache'
|
||||
required: true
|
||||
default: 'true'
|
||||
hxcpp-cache-path:
|
||||
description: 'Path to create hxcpp cache in'
|
||||
required: true
|
||||
default: ${{ runner.temp }}/hxcpp_cache
|
||||
targets:
|
||||
description: 'Targets we plan to compile to. Installs native dependencies needed.'
|
||||
required: true
|
||||
gh-token:
|
||||
description: 'GitHub secret for private repos as dependencies'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
|
||||
- name: Setup timers
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMER_HAXE=$(date +%s)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Install Haxe
|
||||
uses: funkincrew/ci-haxe@v3.2.7
|
||||
with:
|
||||
haxe-version: ${{ inputs.haxe }}
|
||||
|
||||
- name: Install native dependencies
|
||||
if: ${{ runner.os == 'Linux' }}
|
||||
shell: bash
|
||||
run: |
|
||||
ls -lah /usr/lib/x86_64-linux-gnu/
|
||||
apt-get update
|
||||
apt-get install -y \
|
||||
g++ \
|
||||
libx11-dev libxi-dev libxext-dev libxinerama-dev libxrandr-dev \
|
||||
libgl-dev libgl1-mesa-dev \
|
||||
libasound2-dev libpulse-dev
|
||||
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.8 /usr/lib/x86_64-linux-gnu/libffi.so.6 || true
|
||||
- name: Install linux-specific dependencies
|
||||
if: ${{ runner.os == 'Linux' && contains(inputs.targets, 'linux') }}
|
||||
shell: bash
|
||||
run: |
|
||||
apt-get install -y libvlc-dev libvlccore-dev
|
||||
|
||||
- name: Config haxelib
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMER_HAXELIB=$(date +%s)" >> "$GITHUB_ENV"
|
||||
haxelib fixrepo --global || true
|
||||
haxelib --debug --never --global install haxelib 4.1.0
|
||||
haxelib --debug --global set haxelib 4.1.0
|
||||
haxelib --global remove haxelib git || true
|
||||
haxelib --global remove hmm || true
|
||||
rm -rf .haxelib
|
||||
haxelib --debug --never --global git haxelib https://github.com/FunkinCrew/haxelib.git funkin-patches --skip-dependencies
|
||||
haxelib --debug --never --global git hmm https://github.com/FunkinCrew/hmm funkin-patches
|
||||
haxelib --debug --never newrepo
|
||||
haxelib version
|
||||
echo "HAXEPATH=$(haxelib config)" >> "$GITHUB_ENV"
|
||||
echo "TIMER_DEPS=$(date +%s)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Restore cached dependencies
|
||||
id: cache-hmm
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .haxelib
|
||||
key: haxe-hmm-${{ runner.os }}-${{ hashFiles('**/hmm.json') }}
|
||||
|
||||
- if: ${{ steps.cache-hmm.outputs.cache-hit != 'true' }}
|
||||
name: Prep git for dependency install
|
||||
uses: gacts/run-and-post-run@v1
|
||||
with:
|
||||
run: |
|
||||
git config --global --name-only --get-regexp 'url\.https\:\/\/x-access-token:.+@github\.com\/\.insteadOf' \
|
||||
| xargs -I {} git config --global --unset {}
|
||||
|
||||
git config -l --show-scope --show-origin
|
||||
git config --global 'url.https://x-access-token:${{ inputs.gh-token }}@github.com/.insteadOf' https://github.com/
|
||||
post: git config --global --unset 'url.https://x-access-token:${{ inputs.gh-token }}@github.com/.insteadOf'
|
||||
|
||||
- if: ${{ steps.cache-hmm.outputs.cache-hit != 'true' }}
|
||||
name: Install dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
haxelib --global run hmm install -q
|
||||
echo "TIMER_DONE=$(date +%s)" >> "$GITHUB_ENV"
|
||||
|
||||
# by default use a shared hxcpp cache
|
||||
- if: ${{ inputs.hxcpp-cache == 'true' }}
|
||||
name: Restore hxcpp cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ inputs.hxcpp-cache-path }}
|
||||
key: haxe-hxcpp-${{ runner.os }}-${{ github.ref_name }}-${{ github.sha }}
|
||||
restore-keys: haxe-hxcpp-${{ runner.os }}-${{ github.ref_name }}
|
||||
# export env for it to reuse in builds
|
||||
- if: ${{ inputs.hxcpp-cache == 'true' }}
|
||||
name: Persist env for hxcpp cache
|
||||
shell: bash
|
||||
run: |
|
||||
echo "HXCPP_COMPILE_CACHE=${{ inputs.hxcpp-cache-path }}" >> "$GITHUB_ENV"
|
||||
echo 'HXCPP_CACHE_MB="4096"' >> "$GITHUB_ENV"
|
||||
|
||||
# if it's explicitly disabled, still cache export/ since that then contains the builds
|
||||
- if: ${{ inputs.hxcpp-cache != 'true' }}
|
||||
name: Restore export cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ inputs.hxcpp-cache-path }}
|
||||
key: haxe-export-${{ runner.os }}-${{ github.ref_name }}-${{ github.sha }}
|
||||
restore-keys: haxe-export-${{ runner.os }}-${{ github.ref_name }}
|
||||
|
||||
- name: Print debug info
|
||||
shell: bash
|
||||
run: |
|
||||
cat << EOF
|
||||
runner:
|
||||
kernel: $(uname -a)
|
||||
haxe:
|
||||
version: $(haxe -version)
|
||||
which: $(which haxe)
|
||||
haxepath: $HAXEPATH
|
||||
took: $((TIMER_HAXELIB - TIMER_HAXE))s
|
||||
haxelib:
|
||||
version: $(haxelib version)
|
||||
which: $(which haxelib)
|
||||
local:
|
||||
config: $(haxelib config)
|
||||
path: $(haxelib path haxelib || true)
|
||||
global
|
||||
config: $(haxelib config --global)
|
||||
path: $(haxelib path haxelib --global || true)
|
||||
system
|
||||
version: $(haxelib --system version)
|
||||
local:
|
||||
config: $(haxelib --system config)
|
||||
global:
|
||||
config: $(haxelib --system config --global)
|
||||
took: $((TIMER_DEPS - TIMER_HAXELIB))s
|
||||
deps:
|
||||
took: $((TIMER_DONE - TIMER_DEPS))s
|
||||
hxcpp_cache: |
|
||||
$(haxelib run hxcpp cache list || true)
|
||||
EOF
|
||||
@@ -1,124 +0,0 @@
|
||||
name: upload-itch
|
||||
description: "installs Butler, and uploads to itch.io!"
|
||||
|
||||
inputs:
|
||||
butler-key:
|
||||
description: "Butler API secret key"
|
||||
required: true
|
||||
itch-repo:
|
||||
description: "Where to upload the game to"
|
||||
required: true
|
||||
default: "ninja-muffin24/funkin-secret"
|
||||
build-dir:
|
||||
description: "Directory of the game build"
|
||||
required: false
|
||||
target:
|
||||
description: "Target (html5, windows, linux, macos)"
|
||||
required: true
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
|
||||
# RUNNER_OS = Windows | macOS | Linux
|
||||
# TARGET_BUILD = windows | macos | linux
|
||||
# TARGET_ITCH = win | macos | linux
|
||||
# TARGET_BUTLER_DOWNLOAD = windows-amd64 | darwin-amd64 | linux-amd64
|
||||
- name: Setup variables
|
||||
shell: bash
|
||||
run: |
|
||||
TARGET_OS=${{ inputs.target }}
|
||||
RUNNER=${RUNNER_OS@L}
|
||||
TARGET=${TARGET_OS@L}
|
||||
case "$TARGET" in
|
||||
"windows")
|
||||
TARGET_ITCH=win
|
||||
;;
|
||||
*)
|
||||
TARGET_ITCH=$TARGET
|
||||
;;
|
||||
esac
|
||||
case "$RUNNER" in
|
||||
"macos")
|
||||
OS_NODE=darwin
|
||||
;;
|
||||
*)
|
||||
OS_NODE=$RUNNER
|
||||
;;
|
||||
esac
|
||||
BUTLER_PATH=$RUNNER_TEMP/butler
|
||||
|
||||
echo BUILD_DIR="export/release/$TARGET/bin" >> "$GITHUB_ENV"
|
||||
echo ITCH_TAG=${{ inputs.itch-repo }}:$TARGET_ITCH-$GITHUB_REF_NAME >> "$GITHUB_ENV"
|
||||
echo OS_AND_ARCH=$OS_NODE-amd64 >> "$GITHUB_ENV"
|
||||
echo BUTLER_API_KEY=${{ inputs.butler-key }} >> "$GITHUB_ENV"
|
||||
echo BUTLER_INSTALL_PATH=$BUTLER_PATH >> "$GITHUB_ENV"
|
||||
echo TIMER_BUTLER=$(date +%s) >> "$GITHUB_ENV"
|
||||
echo TARGET_ITCH=$TARGET_ITCH >> "$GITHUB_ENV"
|
||||
|
||||
echo "$BUTLER_PATH" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Get latest butler version
|
||||
shell: bash
|
||||
run: |
|
||||
LATEST=$(curl -sfL https://broth.itch.ovh/butler/$OS_AND_ARCH/LATEST)
|
||||
echo BUTLER_LATEST=$LATEST >> "$GITHUB_ENV"
|
||||
|
||||
command -v butler \
|
||||
&& echo BUTLER_CURRENT=$(butler -V 2>&1 | cut -d ',' -f 1) >> "$GITHUB_ENV" \
|
||||
|| echo BUTLER_CURRENT=none >> "$GITHUB_ENV"
|
||||
|
||||
- name: Try to get butler from cache
|
||||
id: cache-butler
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.BUTLER_INSTALL_PATH }}
|
||||
key: butler-${{ runner.os }}-${{ env.BUTLER_LATEST }}
|
||||
|
||||
- if: steps.cache-butler.outputs.cache-hit == 'true'
|
||||
name: Make sure butler is executable
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x $BUTLER_INSTALL_PATH/butler
|
||||
|
||||
- if: steps.cache-butler.outputs.cache-hit != 'true'
|
||||
name: Install butler
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p $BUTLER_INSTALL_PATH
|
||||
cd $BUTLER_INSTALL_PATH
|
||||
|
||||
curl -L -o butler.zip https://broth.itch.ovh/butler/$OS_AND_ARCH/LATEST/archive/default
|
||||
unzip butler.zip
|
||||
chmod +x butler
|
||||
|
||||
- name: Upload game to itch.io
|
||||
shell: bash
|
||||
run: |
|
||||
echo "TIMER_UPLOAD=$(date +%s)" >> "$GITHUB_ENV"
|
||||
butler login
|
||||
butler push $BUILD_DIR $ITCH_TAG
|
||||
echo "TIMER_DONE=$(date +%s)" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Print debug info
|
||||
shell: bash
|
||||
run: |
|
||||
cat << EOF
|
||||
butler:
|
||||
version: $(
|
||||
if [[ "$BUTLER_CURRENT" == "$BUTLER_LATEST" ]]
|
||||
then
|
||||
echo $BUTLER_CURRENT
|
||||
else
|
||||
echo $BUTLER_CURRENT -> $BUTLER_LATEST
|
||||
fi
|
||||
)
|
||||
install:
|
||||
took: $(($TIMER_UPLOAD-$TIMER_BUTLER))s
|
||||
upload:
|
||||
tag: $TARGET_ITCH/$GITHUB_REF_NAME
|
||||
took: $(($TIMER_DONE-$TIMER_UPLOAD))s
|
||||
EOF
|
||||
cat << EOF >> "$GITHUB_STEP_SUMMARY"
|
||||
### open in launcher: [$TARGET_ITCH/$GITHUB_REF_NAME](https://run.funkin.me/$TARGET_ITCH/$GITHUB_REF_NAME)
|
||||
EOF
|
||||
@@ -1,22 +0,0 @@
|
||||
# Add 'size: tiny' to any changes of at most 4 lines
|
||||
'size: tiny':
|
||||
max: 4
|
||||
|
||||
# Add 'size: small' to any changes between 5 and 10 lines
|
||||
'size: small':
|
||||
min: 5
|
||||
max: 10
|
||||
|
||||
# Add 'size: medium' to any changes between 11 and 100 lines
|
||||
'size: medium':
|
||||
min: 11
|
||||
max: 100
|
||||
|
||||
# Add 'size: large' to any changes between 101 and 500 lines
|
||||
'size: large':
|
||||
min: 101
|
||||
max: 500
|
||||
|
||||
# Add 'size: huge' to any changes of more than 500 lines
|
||||
'size: huge':
|
||||
min: 501
|
||||
@@ -1,5 +0,0 @@
|
||||
# Git Hooks
|
||||
These work even on Windows because of Git Bash.
|
||||
|
||||
## Setup
|
||||
`git config core.hooksPath .github/hooks`
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
git submodule update --init --recursive
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
git submodule update --init --recursive
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
if git diff --cached --submodule | grep -q "^+"; then
|
||||
echo "WARNING: You have unpushed changes in submodules."
|
||||
exit 1
|
||||
fi
|
||||
@@ -1,157 +0,0 @@
|
||||
# Configuration for Label Actions - https://github.com/dessant/label-actions
|
||||
|
||||
# Automatically close issues and pull requests when the `status: duplicate` label is applied
|
||||
'status: duplicate':
|
||||
issues:
|
||||
# Post a comment
|
||||
comment: >
|
||||
This issue is a duplicate. Please direct all discussion to the original issue.
|
||||
# Close the issue
|
||||
close: false
|
||||
# Set a close reason
|
||||
# close-reason: 'not planned'
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: rejected'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
- 'status: stale'
|
||||
prs:
|
||||
# Post a comment
|
||||
comment: >
|
||||
This pull request is a duplicate. Please direct all discussion to the original pull request.
|
||||
# Close the pull request
|
||||
close: false
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: rejected'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
- 'status: stale'
|
||||
|
||||
'status: stale':
|
||||
issues:
|
||||
# Close the issue
|
||||
close: true
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: duplicate'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: rejected'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
prs:
|
||||
# Close the pull request
|
||||
close: true
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: duplicate'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: rejected'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
|
||||
'status: rejected':
|
||||
issues:
|
||||
# Close the issue
|
||||
close: true
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: duplicate'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
- 'status: stale'
|
||||
prs:
|
||||
# Close the pull request
|
||||
close: true
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: duplicate'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: resolved'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
- 'status: stale'
|
||||
|
||||
'status: resolved':
|
||||
issues:
|
||||
# Close the issue
|
||||
close: true
|
||||
# Set a close reason
|
||||
close-reason: 'completed'
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: accepted'
|
||||
- 'status: bug reproduced'
|
||||
- 'status: cannot reproduce'
|
||||
- 'status: duplicate'
|
||||
- 'status: needs clarification'
|
||||
- 'status: needs r&d'
|
||||
- 'status: needs revision'
|
||||
- 'status: pending pull request'
|
||||
- 'status: pending triage'
|
||||
- 'status: planned'
|
||||
- 'status: rejected'
|
||||
- 'status: resolved internally'
|
||||
- 'status: reviewing internally'
|
||||
- 'status: stale'
|
||||
@@ -1,18 +0,0 @@
|
||||
# Add Documentation tag to PR's changing markdown files, or anything in the docs folder
|
||||
'pr: documentation':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- docs/*
|
||||
- '**/*.md'
|
||||
|
||||
# Add Haxe tag to PR's changing haxe code files
|
||||
'pr: haxe':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file: '**/*.hx'
|
||||
|
||||
# Add GitHub tag to PR's changing yml files, or anything in the .github folder
|
||||
'pr: github':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- github/*
|
||||
- '**/*.yml'
|
||||
@@ -1,10 +0,0 @@
|
||||
<!-- Please read the Contributing Guide (https://github.com/FunkinCrew/Funkin/blob/main/docs/CONTRIBUTING.md) before submitting this PR. -->
|
||||
|
||||
<!-- Does this PR close any issues? If so, link them below. -->
|
||||
## Linked Issues
|
||||
|
||||
<!-- Briefly describe the issue(s) fixed. -->
|
||||
## Description
|
||||
|
||||
<!-- Include any relevant screenshots or videos. -->
|
||||
## Screenshots/Videos
|
||||
@@ -1,273 +0,0 @@
|
||||
# Builds the game on all platforms, to ensure it compiles on all target platforms.
|
||||
# This helps to ensure workers focus on the master branch.
|
||||
|
||||
name: Build and Upload nightly game builds
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
build-defines:
|
||||
type: string
|
||||
description: Build defines to use
|
||||
default: '-DGITHUB_BUILD'
|
||||
save-artifact:
|
||||
type: boolean
|
||||
description: Save the build artifact to Github Actions (sends to itch otherwise)
|
||||
default: false
|
||||
push:
|
||||
|
||||
jobs:
|
||||
|
||||
gather-changes:
|
||||
runs-on: build-set
|
||||
outputs:
|
||||
trigger-build: ${{ steps.should-trigger.outputs.result }}
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: funkincrew/ci-checkout@v7.3.3
|
||||
with:
|
||||
submodules: false
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
base: ${{ github.ref }}
|
||||
filters: |
|
||||
docker:
|
||||
- '.github/workflows/build-game.yml'
|
||||
- '**/Dockerfile'
|
||||
- uses: actions/github-script@v8
|
||||
id: should-trigger
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
const { payload } = context
|
||||
const changes = ${{ steps.filter.outputs.changes }}
|
||||
const manual = payload?.commits
|
||||
.some(c => c.message.toLowerCase().replace(/\W/g, " ").includes("docker rebuild"))
|
||||
|
||||
console.log({ payload, changes, manual, commits: payload.commits })
|
||||
|
||||
return payload.created
|
||||
|| payload.forced
|
||||
|| changes.includes("docker")
|
||||
|| manual
|
||||
|
||||
gather-tags:
|
||||
runs-on: build-set
|
||||
outputs:
|
||||
primary: ${{ steps.build-tags.outputs.primary }}
|
||||
list: ${{ steps.build-tags.outputs.list }}
|
||||
steps:
|
||||
- name: Gather build tags
|
||||
uses: actions/github-script@v7
|
||||
id: build-tags
|
||||
with:
|
||||
script: |
|
||||
const base = "ghcr.io/funkincrew/build-dependencies"
|
||||
const default_branch = "rewrite/master"
|
||||
|
||||
const ref_path = context.ref.split("/").slice(2)
|
||||
const ref = ref_path.join("/")
|
||||
const ref_tag = ref_path.join("-")
|
||||
|
||||
const tags = [ref_tag, context.sha]
|
||||
|
||||
if (ref === default_branch) tags.push("latest")
|
||||
|
||||
console.log([
|
||||
`ref: ${ref}`,
|
||||
`default_branch: ${default_branch}`,
|
||||
`tags: ${tags.join(", ")}`
|
||||
].join('\n'))
|
||||
|
||||
const tag_list = tags
|
||||
.map(tag => `${base}:${tag}`)
|
||||
.join("\n")
|
||||
|
||||
core.setOutput("primary", ref_tag)
|
||||
core.setOutput("list", tag_list)
|
||||
|
||||
docker-image:
|
||||
needs: [gather-changes, gather-tags]
|
||||
if: needs.gather-changes.outputs.trigger-build == 'true'
|
||||
runs-on: build-set
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: funkincrew/ci-checkout@v7.3.3
|
||||
with:
|
||||
submodules: false
|
||||
- name: Log into GitHub Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./build
|
||||
push: true
|
||||
tags: ${{ needs.gather-tags.outputs.list }}
|
||||
labels: |
|
||||
org.opencontainers.image.description=precooked haxe build dependencies
|
||||
org.opencontainers.image.revision=${{ github.sha }}
|
||||
org.opencontainers.image.source=https://github.com/${{ github.repository }}
|
||||
org.opencontainers.image.title=${{ github.repository_owner }}/build-dependencies
|
||||
org.opencontainers.image.url=https://github.com/${{ github.repository }}
|
||||
org.opencontainers.image.version=${{ github.sha }}
|
||||
|
||||
build-game-on-host:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- target: windows
|
||||
runs-on: windows
|
||||
- target: macos
|
||||
runs-on: macos
|
||||
# TODO: Install XCode to build iOS
|
||||
# - target: ios
|
||||
# runs-on: macos
|
||||
runs-on:
|
||||
- ${{ matrix.runs-on }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
BUILD_DEFINES: ${{ github.event.inputs.build-defines || '-DGITHUB_BUILD' }}
|
||||
steps:
|
||||
- name: Make git happy
|
||||
run: |
|
||||
git config --global --replace-all safe.directory $GITHUB_WORKSPACE
|
||||
- name: Get checkout token
|
||||
uses: actions/create-github-app-token@v1
|
||||
id: app_token
|
||||
with:
|
||||
app-id: ${{ vars.APP_ID }}
|
||||
private-key: ${{ secrets.APP_PEM }}
|
||||
owner: ${{ github.repository_owner }}
|
||||
- name: Checkout repo
|
||||
uses: funkincrew/ci-checkout@v7.3.3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
token: ${{ steps.app_token.outputs.token }}
|
||||
persist-credentials: false
|
||||
submodule-aliases: |
|
||||
https://github.com/FunkinCrew/Funkin.assets > https://github.com/FunkinCrew/Funkin-assets-secret
|
||||
https://github.com/FunkinCrew/Funkin.art > https://github.com/FunkinCrew/Funkin-art-secret
|
||||
- name: Setup build environment
|
||||
uses: ./.github/actions/setup-haxe
|
||||
with:
|
||||
gh-token: ${{ steps.app_token.outputs.token }}
|
||||
- name: Setup HXCPP dev commit
|
||||
run: |
|
||||
cd .haxelib/hxcpp/git/tools/hxcpp
|
||||
haxe compile.hxml
|
||||
cd ../../../../..
|
||||
- name: Populate .env
|
||||
run: |
|
||||
touch .env
|
||||
grep API_NG_APP_ID .env || echo API_NG_APP_ID=${{ secrets.API_NG_APP_ID }} >> .env
|
||||
grep API_NG_ENC_KEY .env || echo API_NG_ENC_KEY=${{ secrets.API_NG_ENC_KEY }} >> .env
|
||||
- name: Build game (windows)
|
||||
if: ${{ matrix.target == 'windows' }}
|
||||
run: |
|
||||
haxelib run lime build windows -v -release $BUILD_DEFINES
|
||||
timeout-minutes: 120
|
||||
- name: Build game (unix)
|
||||
if: ${{ matrix.target != 'windows' }}
|
||||
run: |
|
||||
haxelib run lime build ${{ matrix.target }} -v -release --times $BUILD_DEFINES
|
||||
timeout-minutes: 120
|
||||
- name: Save build artifact to Github Actions
|
||||
if: ${{ github.event.inputs.save-artifact }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-${{ matrix.target }}
|
||||
path: export/release/${{matrix.target}}/bin/
|
||||
- name: Upload build artifacts
|
||||
uses: ./.github/actions/upload-itch
|
||||
with:
|
||||
butler-key: ${{ secrets.BUTLER_API_KEY}}
|
||||
target: ${{ matrix.target }}
|
||||
|
||||
build-game-in-container:
|
||||
needs: [gather-tags, docker-image]
|
||||
if: ${{ ! cancelled() }}
|
||||
runs-on: build-set
|
||||
container: ghcr.io/funkincrew/build-dependencies:${{ needs.gather-tags.outputs.primary }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- target: linux
|
||||
- target: html5
|
||||
# - target: android
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
BUILD_DEFINES: ${{ github.event.inputs.build-defines || '-DGITHUB_BUILD' }}
|
||||
steps:
|
||||
- name: Get checkout token
|
||||
uses: actions/create-github-app-token@v1
|
||||
id: app_token
|
||||
with:
|
||||
app-id: ${{ vars.APP_ID }}
|
||||
private-key: ${{ secrets.APP_PEM }}
|
||||
owner: ${{ github.repository_owner }}
|
||||
- name: Checkout repo
|
||||
uses: funkincrew/ci-checkout@v7.3.3
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
token: ${{ steps.app_token.outputs.token }}
|
||||
persist-credentials: false
|
||||
submodule-aliases: |
|
||||
https://github.com/FunkinCrew/Funkin.assets > https://github.com/FunkinCrew/Funkin-assets-secret
|
||||
https://github.com/FunkinCrew/Funkin.art > https://github.com/FunkinCrew/Funkin-art-secret
|
||||
- name: Config haxelib
|
||||
run: |
|
||||
haxelib --never newrepo
|
||||
echo "HAXEPATH=$(haxelib config)" >> "$GITHUB_ENV"
|
||||
- name: Restore cached dependencies
|
||||
id: cache-hmm
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: .haxelib
|
||||
key: haxe-hmm-${{ runner.os }}-${{ hashFiles('**/hmm.json') }}
|
||||
- if: ${{ steps.cache-hmm.outputs.cache-hit != 'true' }}
|
||||
name: Install dependencies
|
||||
run: |
|
||||
git config --global 'url.https://x-access-token:${{ steps.app_token.outputs.token }}@github.com/.insteadOf' https://github.com/
|
||||
git config --global advice.detachedHead false
|
||||
haxelib --global run hmm install -q
|
||||
cd .haxelib/hxcpp/git/tools/hxcpp && haxe compile.hxml
|
||||
- if: ${{ matrix.target != 'html5' }}
|
||||
name: Restore hxcpp cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /usr/share/hxcpp
|
||||
key: haxe-hxcpp-${{ runner.os }}-${{ github.ref_name }}-${{ github.sha }}
|
||||
restore-keys: haxe-hxcpp-${{ runner.os }}-${{ github.ref_name }}
|
||||
- name: Populate .env
|
||||
run: |
|
||||
touch .env
|
||||
grep API_NG_APP_ID .env || echo API_NG_APP_ID=${{ secrets.API_NG_APP_ID }} >> .env
|
||||
grep API_NG_ENC_KEY .env || echo API_NG_ENC_KEY=${{ secrets.API_NG_ENC_KEY }} >> .env
|
||||
- name: Build game
|
||||
run: |
|
||||
haxelib run lime build ${{ matrix.target }} -v -release --times $BUILD_DEFINES
|
||||
timeout-minutes: 120
|
||||
- name: Save build artifact to Github Actions
|
||||
if: ${{ github.event.inputs.save-artifact }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-${{ matrix.target }}
|
||||
path: export/release/${{matrix.target}}/bin/
|
||||
- name: Upload build artifacts
|
||||
uses: ./.github/actions/upload-itch
|
||||
with:
|
||||
butler-key: ${{ secrets.BUTLER_API_KEY}}
|
||||
target: ${{ matrix.target }}
|
||||
@@ -1,41 +0,0 @@
|
||||
# When a pull request is merged, cancel all queued workflows for that branch
|
||||
# This helps to ensure workers focus on the master branch.
|
||||
|
||||
name: Cancel queued workflows on PR merge
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
jobs:
|
||||
|
||||
cancel_stuff:
|
||||
if: github.event.pull_request.merged == true
|
||||
runs-on: build-set
|
||||
permissions:
|
||||
actions: write
|
||||
|
||||
steps:
|
||||
- name: Cancel queued workflows for ${{ github.event.pull_request.head.ref }}
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
result-encoding: string
|
||||
retries: 3
|
||||
script: |
|
||||
let branch_workflows = await github.rest.actions.listWorkflowRuns({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
workflow_id: "build-game.yml",
|
||||
status: "queued",
|
||||
branch: "${{ github.event.pull_request.head.ref }}"
|
||||
});
|
||||
let runs = branch_workflows.data.workflow_runs;
|
||||
runs.forEach((run) => {
|
||||
github.rest.actions.cancelWorkflowRun({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
run_id: run.id
|
||||
});
|
||||
});
|
||||
console.log(runs);
|
||||
@@ -1,30 +0,0 @@
|
||||
# Perform actions when labels are applied to issues, discussions, or pull requests
|
||||
# See .github/label-actions.yml
|
||||
|
||||
name: 'Label Actions'
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
discussion:
|
||||
types:
|
||||
- labeled
|
||||
- unlabeled
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
pull-requests: write
|
||||
discussions: write
|
||||
|
||||
jobs:
|
||||
action:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/label-actions@v4
|
||||
@@ -1,23 +0,0 @@
|
||||
# Applies the following labels to pull requests when created:
|
||||
# - status: pending triage
|
||||
|
||||
name: "Pull Request Labeler 2 (Runs on PR creation)"
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
|
||||
|
||||
jobs:
|
||||
# Apply `status: pending triage` to newly created pull requests
|
||||
apply-pending-triage:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Apply "status pending triage" to new pull requests
|
||||
uses: actions-ecosystem/action-add-labels@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: "status: pending triage"
|
||||
@@ -1,41 +0,0 @@
|
||||
# Applies the following labels to pull requests whenver they are created or modified:
|
||||
# - pr: documentation
|
||||
# - pr: haxe
|
||||
# - pr: github
|
||||
# - size: tiny
|
||||
# - size: small
|
||||
# - size: medium
|
||||
# - size: large
|
||||
# - size: huge
|
||||
# see .github/labeler.yml and .github/changed-lines-count-labeler.yml
|
||||
|
||||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
|
||||
jobs:
|
||||
# Apply labels to pull requests based on which files were edited
|
||||
labeler:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set basic labels
|
||||
uses: actions/labeler@v5
|
||||
with:
|
||||
sync-labels: true
|
||||
# Apply labels to pull requests based on how many lines were edited
|
||||
changed-lines-count-labeler:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
name: An action for automatically labelling pull requests based on the changed lines count
|
||||
steps:
|
||||
- name: Set change count labels
|
||||
uses: vkirilichev/changed-lines-count-labeler@v0.2
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
configuration-path: .github/changed-lines-count-labeler.yml
|
||||
@@ -1,29 +1,2 @@
|
||||
.DS_STORE
|
||||
.haxelib/
|
||||
.vs/
|
||||
APIStuff.hx
|
||||
dump/
|
||||
temp/
|
||||
docs/temp/
|
||||
export/
|
||||
astc-textures/
|
||||
RECOVER_*.fla
|
||||
shitAudio/
|
||||
.build_time
|
||||
.swp
|
||||
NewgroundsCredentials.hx
|
||||
|
||||
# Exclude IntelliJ IDEA stuff
|
||||
.idea/
|
||||
*.iml
|
||||
|
||||
# Mobile signing stuff
|
||||
.apple/
|
||||
.env
|
||||
*.keystore
|
||||
|
||||
# Exclude JS stuff
|
||||
node_modules/
|
||||
package.json
|
||||
package-lock.json
|
||||
.aider*
|
||||
.vscode/
|
||||
@@ -1,7 +0,0 @@
|
||||
[submodule "assets"]
|
||||
path = assets
|
||||
url = https://github.com/FunkinCrew/Funkin.assets
|
||||
[submodule "art"]
|
||||
path = art
|
||||
url = https://github.com/FunkinCrew/Funkin.art
|
||||
shallow = true
|
||||
@@ -1,13 +0,0 @@
|
||||
# Ignore artifacts
|
||||
export
|
||||
|
||||
# Ignore all JSONS in the images folder (including FlxAnimate JSONs)
|
||||
assets/preload/images
|
||||
assets/shared/images
|
||||
assets/weekend1/images
|
||||
|
||||
# Don't ignore data files
|
||||
# TODO: These don't work.
|
||||
!assets/preload/data/
|
||||
|
||||
assets/exclude/data/credits.json
|
||||
@@ -1,21 +0,0 @@
|
||||
/**
|
||||
* Configuration for JSON file formatting.
|
||||
*/
|
||||
module.exports = {
|
||||
// Line width before Prettier tries to add new lines.
|
||||
printWidth: 80,
|
||||
|
||||
// Indent with 2 spaces.
|
||||
tabs: false,
|
||||
useTabs: false,
|
||||
tabWidth: 2,
|
||||
|
||||
// Use double quotes.
|
||||
singleQuote: false,
|
||||
quoteProps: "preserve",
|
||||
parser: "json",
|
||||
|
||||
bracketSpacing: true, // Spacing between brackets in object literals.
|
||||
trailingComma: "none", // No trailing commas.
|
||||
semi: false, // No semicolons at ends of statements.
|
||||
};
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"nadako.vshaxe", // Basic Haxe integration
|
||||
"wiggin77.codedox", // Haxe documentation
|
||||
"vshaxe.haxe-checkstyle", // Haxe code style and conventions
|
||||
"vshaxe.hxcpp-debugger", // CPP debugging
|
||||
"openfl.lime-vscode-extension", // Lime integration
|
||||
"esbenp.prettier-vscode", // JSON formatting
|
||||
"redhat.vscode-xml" // XML formatting
|
||||
]
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
// Launch in native/CPP on Windows/OSX/Linux
|
||||
"name": "Lime Build+Debug",
|
||||
"type": "lime",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
// Launch in native/CPP on Windows/OSX/Linux
|
||||
"name": "Lime Debug (No Build)",
|
||||
"type": "lime",
|
||||
"request": "launch",
|
||||
"preLaunchTask": null
|
||||
},
|
||||
{
|
||||
// Launch in browser
|
||||
"name": "HTML5 Debug",
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
"url": "http://127.0.0.1:3001",
|
||||
"sourceMaps": true,
|
||||
"webRoot": "${workspaceFolder}",
|
||||
"preLaunchTask": "debug: html"
|
||||
},
|
||||
{
|
||||
// Performs a build for debugging macros
|
||||
// Debugging is attached on the compilation rather than the game itself
|
||||
"name": "Haxe Eval",
|
||||
"type": "haxe-eval",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
// Attaches the debugger to an already running game
|
||||
"name": "HXCPP - Attach",
|
||||
"type": "hxcpp",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"dependencies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"title": "Name",
|
||||
"type": "string",
|
||||
"description": "The name of the Haxe library"
|
||||
},
|
||||
"type": {
|
||||
"title": "Type",
|
||||
"type": "string",
|
||||
"description": "one of haxelib, git, hg, or dev",
|
||||
"enum": ["haxelib", "git", "hg", "dev"]
|
||||
},
|
||||
"ref": {
|
||||
"type": "string",
|
||||
"description": "the git/hg ref (branch, commit, tag, etc.)"
|
||||
},
|
||||
"url": {
|
||||
"title": "URL",
|
||||
"type": "string",
|
||||
"description": "the git/hg URL"
|
||||
},
|
||||
"version": {
|
||||
"title": "Version",
|
||||
"type": "string",
|
||||
"description": "the haxelib library version. Must be in SemVer format (MAJOR.MINOR.PATCH)",
|
||||
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
|
||||
}
|
||||
},
|
||||
"required": ["name", "type"],
|
||||
"dependentSchemas": {
|
||||
"type": {
|
||||
"if": {
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "git"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": ["url"]
|
||||
},
|
||||
"else": {
|
||||
"if": {
|
||||
"properties": {
|
||||
"type": {
|
||||
"const": "haxelib"
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"required": ["version"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
{
|
||||
"[haxe]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.codeActionsOnSave": { "source.organizeImports": "never" },
|
||||
"editor.defaultFormatter": "nadako.vshaxe",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
"[json]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"[jsonc]": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
// XML Formatting
|
||||
"xml.format.enabled": true,
|
||||
"xml.format.legacy": false,
|
||||
"xml.format.emptyElements": "collapse",
|
||||
"xml.preferences.quoteStyle": "double",
|
||||
"xml.format.enforceQuoteStyle": "preferred",
|
||||
"xml.format.preserveAttributeLineBreaks": false,
|
||||
"xml.format.preservedNewlines": 0,
|
||||
"xml.format.splitAttributes": "preserve",
|
||||
"xml.format.joinCDATALines": true,
|
||||
"xml.format.preserveEmptyContent": false,
|
||||
"xml.format.joinCommentLines": false,
|
||||
"xml.format.joinContentLines": false,
|
||||
"xml.format.spaceBeforeEmptyCloseTag": true,
|
||||
"xml.format.xsiSchemaLocationSplit": "onPair",
|
||||
"xml.format.splitAttributesIndentSize": 2,
|
||||
"xml.format.closingBracketNewLine": false,
|
||||
"xml.format.preserveSpace": [
|
||||
"xsl:text",
|
||||
"xsl:comment",
|
||||
"xsl:processing-instruction",
|
||||
"literallayout",
|
||||
"programlisting",
|
||||
"screen",
|
||||
"synopsis",
|
||||
"pre",
|
||||
"xd:pre"
|
||||
],
|
||||
"xml.format.maxLineWidth": 0,
|
||||
"xml.format.grammarAwareFormatting": true,
|
||||
|
||||
// General formatting
|
||||
"files.insertFinalNewline": true,
|
||||
"files.trimFinalNewlines": false,
|
||||
"files.trimTrailingWhitespace": true,
|
||||
"editor.detectIndentation": true,
|
||||
"editor.insertSpaces": true,
|
||||
"editor.tabSize": 2,
|
||||
"prettier.tabWidth": 2,
|
||||
"files.eol": "\n",
|
||||
"haxe.displayPort": "auto",
|
||||
"haxe.enableCompilationServer": true,
|
||||
"haxe.enableServerView": true,
|
||||
"haxe.displayServer": { "arguments": ["-v"] },
|
||||
"files.associations": {
|
||||
"*.hxp": "haxe",
|
||||
"*.hscript": "haxe",
|
||||
"*.haxe": "haxe",
|
||||
"*.hxs": "haxe",
|
||||
"*.hxc": "haxe"
|
||||
},
|
||||
"projectManager.git.baseFolders": ["./"],
|
||||
"haxecheckstyle.sourceFolders": ["src", "source"],
|
||||
"haxecheckstyle.externalSourceRoots": [],
|
||||
"haxecheckstyle.configurationFile": "checkstyle.json",
|
||||
"haxecheckstyle.codeSimilarityBufferSize": 100,
|
||||
"lime.targets": [
|
||||
{ "name": "windows", "enabled": true, "label": "Windows" },
|
||||
{ "name": "mac", "enabled": true, "label": "macOS" },
|
||||
{ "name": "linux", "enabled": true, "label": "Linux" },
|
||||
{ "name": "html5", "enabled": true, "label": "HTML5" },
|
||||
{ "name": "android", "enabled": true, "label": "Android" },
|
||||
{ "name": "ios", "enabled": true, "label": "iOS" },
|
||||
{ "name": "hl", "enabled": true, "label": "HashLink" },
|
||||
// Disabled targets
|
||||
{ "name": "air", "enabled": false },
|
||||
{ "name": "electron", "enabled": false },
|
||||
{ "name": "flash", "enabled": false },
|
||||
{ "name": "neko", "enabled": false },
|
||||
{ "name": "tvos", "enabled": false }
|
||||
],
|
||||
"lime.defaultTargetConfiguration": "Windows / Debug",
|
||||
"lime.targetConfigurations": [
|
||||
{
|
||||
"label": "Windows / Debug (Discord)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS", "-DFEATURE_DISCORD_RPC"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (FlxAnimate Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DANIMATE", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Freeplay)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DFREEPLAY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Play - Bopeebo Normal)",
|
||||
"target": "windows",
|
||||
"args": [
|
||||
"-debug",
|
||||
"-DSONG=bopeebo -DDIFFICULTY=normal",
|
||||
"-DFEATURE_DEBUG_FUNCTIONS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Play - 2hot)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DSONG=2hot", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Stage Editor)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DSTAGING", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Stage Builder)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DSTAGEBUILD", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Animation Editor)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DANIMDEBUG", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Debug hxvlc)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DHXVLC_LOGGING", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Latency Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DLATENCY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Waveform Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DWAVEFORM", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HTML5 / Debug (Watch)",
|
||||
"target": "html5",
|
||||
"args": ["-debug", "-watch", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
}
|
||||
],
|
||||
"lime.buildTypes": [
|
||||
{ "label": "Debug", "args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS"] },
|
||||
{
|
||||
"label": "Debug (Unlock Everything)",
|
||||
"args": ["-debug", "-DUNLOCK_EVERYTHING"]
|
||||
},
|
||||
{
|
||||
"label": "Debug (Tracy)",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_TRACY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Debug (Straight to Chart Editor)",
|
||||
"args": ["-debug", "-DCHARTING", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{ "label": "Release", "args": ["-release"] },
|
||||
{
|
||||
"label": "Release (GitHub Actions)",
|
||||
"args": ["-release", "-DGITHUB_BUILD"]
|
||||
}
|
||||
],
|
||||
"cmake.configureOnOpen": false,
|
||||
"coverage-gutters.coverageFileNames": [
|
||||
"lcov.info",
|
||||
"cov.xml",
|
||||
"coverage.xml",
|
||||
"jacoco.xml",
|
||||
"coverage.cobertura.xml"
|
||||
],
|
||||
"vscord.app.privacyMode.enable": true,
|
||||
"json.schemas": [
|
||||
{ "fileMatch": ["/hmm.json"], "url": "./.vscode/schema/hmm.json" }
|
||||
]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "lime",
|
||||
"command": "test",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
# Code Style Guide
|
||||
|
||||
Code style is enforced using Visual Studio Code extensions.
|
||||
|
||||
## .hx
|
||||
Formatting is handled by the `nadako.vshaxe` extension, which includes Haxe Formatter.
|
||||
Haxe Formatter automatically resolves issues such as indentation style and line breaks, and can be configured in `hxformat.json`.
|
||||
|
||||
Code Quality is handled by the `vshaxe.haxe-checkstyle` extension, which includes Haxe Checkstyle.
|
||||
|
||||
### Haxe Checkstyle Notes
|
||||
* Checks can be escalated to display as different severities in the Problems window.
|
||||
* Checks can be disabled by setting the severity to `IGNORE`.
|
||||
* `IndentationCharacter` checks what is used to indent, `Indentation` checks how deep the indentation is.
|
||||
* `CommentedOutCode` check is in place because old code should be retrieved via Git history.
|
||||
* TODO items: Enable these one-by-one and fix them to improve the overall code quality.
|
||||
- Re-configure `MethodLength`
|
||||
- Re-configure `CyclomaticComplexity`
|
||||
- Re-enable `MagicNumber`
|
||||
- Re-configure `NestedControlFlow`
|
||||
- Re-configure `NestedIfDepth`
|
||||
- Figure out something for `Trace`
|
||||
- Fix bug and enable `DocCommentStyle`
|
||||
|
||||
## .json
|
||||
Formatting is handled by the `esbenp.prettier-vscode` extension, which includes Prettier.
|
||||
Prettier automatically handles formatting of JSON files, and can be configured in `.prettierrc.js`.
|
||||
|
||||
### Prettier Notes
|
||||
* Prettier will automatically attempt to place expressions on a single line if they fit, but will keep them multi-line if they are manually made multi-line.
|
||||
* This means that long single-line objects are automatically expanded, and short multi-line objects aren't automatically collapsed.
|
||||
* You may want to use regex replacement to manually remove the first newline in short multi-line objects to convince Prettier to collapse them.
|
||||
@@ -1,213 +0,0 @@
|
||||
# Friday Night Funkin'
|
||||
|
||||
The Friday Night Funkin' source code is licensed under the Apache 2.0 license: (https://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
Friday Night Funkin' Copyright 2020-2024 The Funkin' Crew Inc.
|
||||
All Rights Reserved. "Friday Night Funkin'" and the "Friday Night Funkin'" logo are trademarks of The Funkin' Crew Inc.
|
||||
|
||||
You can view the `funkin-assets` license here: (https://github.com/FunkinCrew/funkin.assets/blob/main/LICENSE.md)
|
||||
|
||||
## Apache 2.0 License
|
||||
```
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2020-2026 The Funkin' Crew Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<simulatedScreenMetrics key="simulatedMetrics" type="freeform" size="375x667"/>
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
|
||||
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0" green="0" blue="0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<project>
|
||||
<!-- _________________________ Application Settings _________________________ -->
|
||||
|
||||
<app title="ld47" file="ld47" main="Main" version="0.0.1" company="HaxeFlixel" />
|
||||
|
||||
<!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file
|
||||
or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"-->
|
||||
<app preloader="flixel.system.FlxPreloader" />
|
||||
|
||||
<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
|
||||
<set name="SWF_VERSION" value="11.8" />
|
||||
|
||||
<!-- ____________________________ Window Settings ___________________________ -->
|
||||
|
||||
<!--These window settings apply to all targets-->
|
||||
<window width="1280" height="720" fps="60" background="#000000" hardware="true" vsync="false" />
|
||||
|
||||
<!--HTML5-specific-->
|
||||
<window if="html5" resizable="true" />
|
||||
|
||||
<!--Desktop-specific-->
|
||||
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" />
|
||||
|
||||
<!--Mobile-specific-->
|
||||
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" />
|
||||
|
||||
<!-- _____________________________ Path Settings ____________________________ -->
|
||||
|
||||
<set name="BUILD_DIR" value="export/debug" if="debug" />
|
||||
<set name="BUILD_DIR" value="export/release" unless="debug" />
|
||||
|
||||
<classpath name="source" />
|
||||
<assets path="assets" />
|
||||
|
||||
<!-- _______________________________ Libraries ______________________________ -->
|
||||
|
||||
<haxelib name="flixel" />
|
||||
|
||||
<!--In case you want to use the addons package-->
|
||||
<haxelib name="flixel-addons" />
|
||||
|
||||
<!--In case you want to use the ui package-->
|
||||
<!-- <haxelib name="flixel-ui" /> -->
|
||||
|
||||
<!--In case you want to use nape with flixel-->
|
||||
<!--<haxelib name="nape-haxe4" />-->
|
||||
|
||||
<!-- ______________________________ Haxedefines _____________________________ -->
|
||||
|
||||
<!--Enable the Flixel core recording system-->
|
||||
<!--<haxedef name="FLX_RECORD" />-->
|
||||
|
||||
<!--Disable the right and middle mouse buttons-->
|
||||
<haxedef name="FLX_NO_MOUSE_ADVANCED" />
|
||||
|
||||
<!--Disable the native cursor API on Flash-->
|
||||
<!--<haxedef name="FLX_NO_NATIVE_CURSOR" />-->
|
||||
|
||||
<!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
|
||||
<haxedef name="FLX_NO_MOUSE" if="mobile" />
|
||||
<haxedef name="FLX_NO_KEYBOARD" if="mobile" />
|
||||
<haxedef name="FLX_NO_TOUCH" if="desktop" />
|
||||
<!--<haxedef name="FLX_NO_GAMEPAD" />-->
|
||||
|
||||
<!--Disable the Flixel core sound tray-->
|
||||
<!--<haxedef name="FLX_NO_SOUND_TRAY" />-->
|
||||
|
||||
<!--Disable the Flixel sound management code-->
|
||||
<!--<haxedef name="FLX_NO_SOUND_SYSTEM" />-->
|
||||
|
||||
<!--Disable the Flixel core focus lost screen-->
|
||||
<!--<haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />-->
|
||||
|
||||
<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
|
||||
<haxedef name="FLX_NO_DEBUG" unless="debug" />
|
||||
|
||||
<!--Enable this for Nape release builds for a serious peformance improvement-->
|
||||
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
|
||||
|
||||
<!-- _________________________________ Custom _______________________________ -->
|
||||
|
||||
<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
|
||||
</project>
|
||||
@@ -1,66 +0,0 @@
|
||||
<div align='center'><img src="docs/readme_images/FNF_logo.png" width="800">
|
||||
|
||||
<h2>Friday Night Funkin' is a rhythm game. Built using HaxeFlixel for <a href="https://ldjam.com/events/ludum-dare/47">Ludum Dare 47.</a></h2>
|
||||
|
||||
This game was made with love to Newgrounds and its community. Extra love to Tom Fulp.
|
||||
|
||||
</div>
|
||||
|
||||
- [Playable web demo on Newgrounds!](https://www.newgrounds.com/portal/view/770371)
|
||||
- [Demo download builds for Windows, Mac, and Linux from Itch.io!](https://ninja-muffin24.itch.io/funkin)
|
||||
- [Download Android builds from Google Play!](https://play.google.com/store/apps/details?id=me.funkin.fnf)
|
||||
- [Download iOS builds from the App Store!](https://apps.apple.com/app/id6740428530)
|
||||
|
||||
<div align='center'>
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="docs/readme_images/Title_Card.gif" alt="Title Screen" width="350"/></td>
|
||||
<td><img src="docs/readme_images/Menu.png" alt="Main Menu" width="350"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
# Getting Started
|
||||
|
||||
**PLEASE USE THE LINKS ABOVE IF YOU JUST WANT TO PLAY THE GAME**
|
||||
|
||||
To learn how to install the necessary dependencies and compile the game from source, please follow our [Compiling Guide](/docs/COMPILING.md).
|
||||
|
||||
# Contributing
|
||||
|
||||
Check out our [Contributing Guide](/docs/CONTRIBUTING.md) to learn how you can actively contribute to the development of Friday Night Funkin'!
|
||||
|
||||
# Modding
|
||||
|
||||
Feel free to start learning to mod the game by reading our [documentation](https://funkincrew.github.io/funkin-modding-docs/) and guide to modding.
|
||||
|
||||
# Credits and Special Thanks
|
||||
|
||||
Full credits can be found in-game, or in the `credits.json` file which is located [here](https://github.com/FunkinCrew/funkin.assets/blob/main/exclude/data/credits.json).
|
||||
|
||||
## Programming
|
||||
- [ninjamuffin99](https://twitter.com/ninja_muffin99) - Lead Programmer
|
||||
- [EliteMasterEric](https://twitter.com/EliteMasterEric) - Programmer
|
||||
- [MtH](https://twitter.com/emmnyaa) - Charting and Additional Programming
|
||||
- [GeoKureli](https://twitter.com/Geokureli/) - Additional Programming
|
||||
- [ZackDroid](https://x.com/ZackDroidCoder) - Lead Mobile Programmer
|
||||
- [MAJigsaw77](https://github.com/MAJigsaw77) - Mobile Programmer
|
||||
- [Karim-Akra](https://x.com/KarimAkra_0) - Mobile Programmer
|
||||
- [Sector_5](https://github.com/sector-a) - Mobile Programmer
|
||||
- [Luckydog7](https://github.com/luckydog7) - Mobile Programmer
|
||||
- Our contributors on GitHub
|
||||
|
||||
## Art / Animation / UI
|
||||
- [PhantomArcade3K](https://twitter.com/phantomarcade3k) - Artist and Animator
|
||||
- [Evilsk8r](https://twitter.com/evilsk8r) - Art
|
||||
- [Moawling](https://twitter.com/moawko) - Week 6 Pixel Art
|
||||
- [IvanAlmighty](https://twitter.com/IvanA1mighty) - Misc UI Design
|
||||
|
||||
## Music
|
||||
- [Kawaisprite](https://twitter.com/kawaisprite) - Musician
|
||||
- [BassetFilms](https://twitter.com/Bassetfilms) - Music for "Monster", Additional Character Design
|
||||
|
||||
## Special Thanks
|
||||
- [Tom Fulp](https://twitter.com/tomfulp) - For being a great guy and for Newgrounds
|
||||
- [JohnnyUtah](https://twitter.com/JohnnyUtahNG/) - Voice of Tankman
|
||||
- [L0Litsmonica](https://twitter.com/L0Litsmonica) - Voice of Mommy Mearest
|
||||
@@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
color 0a
|
||||
cd ..
|
||||
@echo on
|
||||
echo BUILDING GAME
|
||||
lime build html5 -final -clean
|
||||
echo UPLOADING TO ITCH
|
||||
butler push ./export/debug/html5/bin ninja-muffin24/ld47:html5
|
||||
butler status ninja-muffin24/ld47:html5
|
||||
echo ITCH SHIT UPDATED LMAOOOOO
|
||||
pause
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"song": "Bopeebo",
|
||||
"bpm": 100,
|
||||
"sections": 15
|
||||
}
|
||||
|
After Width: | Height: | Size: 116 B |
|
After Width: | Height: | Size: 122 B |
|
After Width: | Height: | Size: 127 B |
|
After Width: | Height: | Size: 100 B |
|
After Width: | Height: | Size: 117 B |
|
After Width: | Height: | Size: 127 B |
|
After Width: | Height: | Size: 125 B |
|
After Width: | Height: | Size: 127 B |
|
After Width: | Height: | Size: 128 B |
|
After Width: | Height: | Size: 123 B |
|
After Width: | Height: | Size: 126 B |
|
After Width: | Height: | Size: 123 B |
|
After Width: | Height: | Size: 117 B |
|
After Width: | Height: | Size: 127 B |
|
After Width: | Height: | Size: 127 B |
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"song": "Fresh",
|
||||
"bpm": 120,
|
||||
"sections": 16
|
||||
}
|
||||
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 123 B |
|
After Width: | Height: | Size: 121 B |
|
After Width: | Height: | Size: 125 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 149 B |
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 133 B |
|
After Width: | Height: | Size: 133 B |
|
After Width: | Height: | Size: 116 B |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 121 B |
|
After Width: | Height: | Size: 127 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 149 B |
|
After Width: | Height: | Size: 117 B |
@@ -0,0 +1,4 @@
|
||||
wanda
|
||||
fizzd
|
||||
kiddbrute
|
||||
HenryEYES
|
||||
|
After Width: | Height: | Size: 1.3 MiB |
@@ -0,0 +1,300 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="BOYFRIEND.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="BF HEY!!0000" x="3264" y="410" width="395" height="416" frameX="0" frameY="0" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0001" x="3264" y="410" width="395" height="416" frameX="0" frameY="0" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0002" x="1224" y="0" width="413" height="410" frameX="-1" frameY="-8" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0003" x="1224" y="0" width="413" height="410" frameX="-1" frameY="-8" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0004" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0005" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0006" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0007" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0008" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0009" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0010" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0011" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0012" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0013" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0014" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0015" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0016" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0017" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0018" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0019" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0020" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0021" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0022" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0023" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0024" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF HEY!!0025" x="805" y="0" width="414" height="412" frameX="-1" frameY="-6" frameWidth="415" frameHeight="418"/>
|
||||
<SubTexture name="BF NOTE DOWN0000" x="0" y="848" width="374" height="357" frameX="-1" frameY="-5" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0001" x="0" y="848" width="374" height="357" frameX="-1" frameY="-5" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0002" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0003" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0004" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0005" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0006" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0007" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0008" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0009" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0010" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0011" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0012" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0013" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0014" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0015" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0016" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0017" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0018" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0019" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0020" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0021" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0022" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0023" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0024" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0025" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0026" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0027" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0028" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN0029" x="3245" y="831" width="373" height="362" frameX="0" frameY="0" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0000" x="0" y="848" width="374" height="357" frameX="-1" frameY="-35" frameWidth="375" frameHeight="362"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0001" x="1559" y="813" width="376" height="392" frameX="-1" frameY="0" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0002" x="1559" y="813" width="376" height="392" frameX="-1" frameY="0" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0003" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0004" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0005" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0006" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0007" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0008" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0009" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0010" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0011" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0012" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0013" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0014" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0015" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0016" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0017" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0018" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0019" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0020" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0021" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0022" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0023" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0024" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0025" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0026" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0027" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE DOWN MISS0028" x="2422" y="815" width="378" height="388" frameX="0" frameY="-4" frameWidth="378" frameHeight="392"/>
|
||||
<SubTexture name="BF NOTE LEFT0000" x="0" y="437" width="383" height="406" frameX="0" frameY="0" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0001" x="0" y="437" width="383" height="406" frameX="0" frameY="0" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0002" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0003" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0004" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0005" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0006" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0007" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0008" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0009" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0010" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0011" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0012" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0013" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT0014" x="1180" y="813" width="374" height="404" frameX="-11" frameY="-2" frameWidth="385" frameHeight="406"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0000" x="388" y="437" width="383" height="406" frameX="0" frameY="-26" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0001" x="2048" y="417" width="369" height="430" frameX="-15" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0002" x="2048" y="417" width="369" height="430" frameX="-15" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0003" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0004" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0005" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0006" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0007" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0008" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0009" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0010" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0011" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0012" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0013" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0014" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0015" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0016" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0017" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0018" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0019" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0020" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0021" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0022" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0023" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0024" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0025" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0026" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0027" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0028" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0029" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0030" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0031" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0032" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE LEFT MISS0033" x="805" y="417" width="370" height="430" frameX="-13" frameY="0" frameWidth="384" frameHeight="432"/>
|
||||
<SubTexture name="BF NOTE RIGHT0000" x="3264" y="0" width="408" height="405" frameX="-1" frameY="-2" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0001" x="3264" y="0" width="408" height="405" frameX="-1" frameY="-2" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0002" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0003" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0004" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0005" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0006" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0007" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0008" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0009" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0010" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0011" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0012" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0013" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0014" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0015" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0016" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0017" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0018" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0019" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0020" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0021" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0022" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0023" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0024" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0025" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0026" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0027" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0028" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0029" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0030" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0031" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0032" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0033" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0034" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0035" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0036" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0037" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0038" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0039" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0040" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0041" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0042" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0043" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0044" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0045" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0046" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0047" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0048" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0049" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0050" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0051" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0052" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0053" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0054" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0055" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0056" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0057" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0058" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0059" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0060" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT0061" x="2470" y="0" width="408" height="407" frameX="0" frameY="0" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0000" x="3264" y="0" width="408" height="405" frameX="-7" frameY="-30" frameWidth="409" frameHeight="407"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0001" x="405" y="0" width="395" height="432" frameX="0" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0002" x="405" y="0" width="395" height="432" frameX="0" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0003" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0004" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0005" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0006" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0007" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0008" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0009" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0010" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0011" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0012" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0013" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0014" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0015" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0016" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0017" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0018" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0019" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0020" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0021" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0022" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0023" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0024" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0025" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0026" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0027" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0028" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0029" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0030" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0031" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0032" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0033" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0034" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0035" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0036" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0037" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0038" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0039" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0040" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0041" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0042" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0043" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0044" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE RIGHT MISS0045" x="0" y="0" width="400" height="432" frameX="-1" frameY="0" frameWidth="415" frameHeight="435"/>
|
||||
<SubTexture name="BF NOTE UP0000" x="3677" y="0" width="369" height="446" frameX="-5" frameY="0" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0001" x="3677" y="0" width="369" height="446" frameX="-5" frameY="0" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0002" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0003" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0004" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0005" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0006" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0007" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0008" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0009" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0010" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0011" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0012" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0013" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP0014" x="2883" y="0" width="376" height="441" frameX="0" frameY="-5" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0000" x="3677" y="0" width="369" height="446" frameX="-9" frameY="0" frameWidth="376" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0001" x="2880" y="446" width="360" height="427" frameX="0" frameY="-13" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0002" x="2880" y="446" width="360" height="427" frameX="0" frameY="-13" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0003" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0004" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0005" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0006" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0007" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0008" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0009" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0010" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0011" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0012" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0013" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0014" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0015" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0016" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0017" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0018" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0019" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0020" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0021" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0022" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF NOTE UP MISS0023" x="3664" y="451" width="357" height="430" frameX="-1" frameY="-10" frameWidth="378" frameHeight="446"/>
|
||||
<SubTexture name="BF idle dance0000" x="1637" y="416" width="406" height="392" frameX="-1" frameY="-20" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0001" x="1637" y="416" width="406" height="392" frameX="-1" frameY="-20" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0002" x="1224" y="415" width="408" height="393" frameX="0" frameY="-19" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0003" x="1224" y="415" width="408" height="393" frameX="0" frameY="-19" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0004" x="2470" y="412" width="405" height="398" frameX="-3" frameY="-14" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0005" x="2470" y="412" width="405" height="398" frameX="-3" frameY="-14" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0006" x="1642" y="0" width="410" height="411" frameX="-1" frameY="-1" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0007" x="1642" y="0" width="410" height="411" frameX="-1" frameY="-1" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0008" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0009" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0010" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0011" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0012" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
<SubTexture name="BF idle dance0013" x="2057" y="0" width="408" height="412" frameX="-2" frameY="0" frameWidth="411" frameHeight="412"/>
|
||||
</TextureAtlas>
|
||||
|
After Width: | Height: | Size: 1.1 MiB |
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="DADDY_DEAREST.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="Dad Sing Note DOWN0000" x="1369" y="0" width="470" height="730" frameX="0" frameY="-5" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0001" x="1369" y="0" width="470" height="730" frameX="0" frameY="-5" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0002" x="1839" y="0" width="462" height="735" frameX="-4" frameY="0" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0003" x="1839" y="0" width="462" height="735" frameX="-4" frameY="0" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0004" x="1839" y="0" width="462" height="735" frameX="-4" frameY="0" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0005" x="1839" y="0" width="462" height="735" frameX="-4" frameY="0" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note DOWN0006" x="1839" y="0" width="462" height="735" frameX="-4" frameY="0" frameWidth="470" frameHeight="735"/>
|
||||
<SubTexture name="Dad Sing Note LEFT0000" x="843" y="793" width="370" height="777"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0000" x="0" y="0" width="465" height="792" frameX="0" frameY="-1" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0001" x="0" y="0" width="465" height="792" frameX="0" frameY="-1" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0002" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0003" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0004" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0005" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0006" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0007" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0008" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0009" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0010" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0011" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0012" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0013" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0014" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0015" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0016" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0017" x="917" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note RIGHT0018" x="465" y="0" width="452" height="793" frameX="0" frameY="0" frameWidth="465" frameHeight="793"/>
|
||||
<SubTexture name="Dad Sing Note UP0000" x="2301" y="0" width="408" height="818" frameX="-1" frameY="0" frameWidth="409" frameHeight="818"/>
|
||||
<SubTexture name="Dad Sing Note UP0001" x="2301" y="0" width="408" height="818" frameX="-1" frameY="0" frameWidth="409" frameHeight="818"/>
|
||||
<SubTexture name="Dad Sing Note UP0002" x="2709" y="0" width="408" height="810" frameX="0" frameY="-8" frameWidth="409" frameHeight="818"/>
|
||||
<SubTexture name="Dad Sing Note UP0003" x="2709" y="0" width="408" height="810" frameX="0" frameY="-8" frameWidth="409" frameHeight="818"/>
|
||||
<SubTexture name="Dad Sing Note UP0004" x="3117" y="0" width="408" height="810" frameX="0" frameY="-8" frameWidth="409" frameHeight="818"/>
|
||||
<SubTexture name="Dad idle dance0000" x="1369" y="730" width="419" height="767" frameX="-6" frameY="0" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0001" x="1369" y="730" width="419" height="767" frameX="-6" frameY="0" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0002" x="3525" y="0" width="429" height="759" frameX="0" frameY="-8" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0003" x="3525" y="0" width="429" height="759" frameX="0" frameY="-8" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0004" x="0" y="792" width="424" height="757" frameX="-2" frameY="-10" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0005" x="0" y="792" width="424" height="757" frameX="-2" frameY="-10" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0006" x="3525" y="759" width="423" height="759" frameX="-3" frameY="-8" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0007" x="3525" y="759" width="423" height="759" frameX="-3" frameY="-8" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0008" x="424" y="793" width="419" height="766" frameX="-5" frameY="-1" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0009" x="424" y="793" width="419" height="766" frameX="-5" frameY="-1" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0010" x="1788" y="735" width="419" height="767" frameX="-6" frameY="0" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0011" x="1788" y="735" width="419" height="767" frameX="-6" frameY="0" frameWidth="429" frameHeight="767"/>
|
||||
<SubTexture name="Dad idle dance0012" x="1369" y="730" width="419" height="767" frameX="-6" frameY="0" frameWidth="429" frameHeight="767"/>
|
||||
</TextureAtlas>
|
||||
|
After Width: | Height: | Size: 868 KiB |
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="GF_assets.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="GF Cheer0000" x="0" y="0" width="646" height="654"/>
|
||||
<SubTexture name="GF Cheer0001" x="0" y="0" width="646" height="654"/>
|
||||
<SubTexture name="GF Cheer0002" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0003" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0004" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0005" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0006" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0007" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0008" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0009" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0010" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0011" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0012" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0013" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0014" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0015" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0016" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0017" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0018" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0019" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Cheer0020" x="651" y="0" width="646" height="651" frameX="0" frameY="-3" frameWidth="646" frameHeight="654"/>
|
||||
<SubTexture name="GF Dancing Beat0000" x="651" y="1933" width="646" height="631" frameX="0" frameY="-14" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0001" x="651" y="1933" width="646" height="631" frameX="0" frameY="-14" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0002" x="0" y="1936" width="646" height="629" frameX="0" frameY="-16" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0003" x="3255" y="2565" width="646" height="629" frameX="0" frameY="-16" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0004" x="3255" y="1928" width="646" height="632" frameX="0" frameY="-13" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0005" x="1953" y="1929" width="646" height="632" frameX="0" frameY="-13" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0006" x="2604" y="650" width="646" height="634" frameX="0" frameY="-11" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0007" x="1302" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0008" x="1302" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0009" x="1302" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0010" x="1953" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0011" x="1953" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0012" x="1953" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0013" x="2604" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0014" x="2604" y="0" width="646" height="645"/>
|
||||
<SubTexture name="GF Dancing Beat0015" x="651" y="1295" width="646" height="633" frameX="0" frameY="-12" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0016" x="651" y="1295" width="646" height="633" frameX="0" frameY="-12" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0017" x="0" y="1298" width="646" height="633" frameX="0" frameY="-12" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0018" x="2604" y="1928" width="646" height="633" frameX="0" frameY="-12" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0019" x="651" y="656" width="646" height="634" frameX="0" frameY="-11" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0020" x="0" y="659" width="646" height="634" frameX="0" frameY="-11" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0021" x="1953" y="650" width="646" height="635" frameX="0" frameY="-10" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0022" x="3255" y="0" width="646" height="640" frameX="0" frameY="-5" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0023" x="3255" y="0" width="646" height="640" frameX="0" frameY="-5" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0024" x="3255" y="0" width="646" height="640" frameX="0" frameY="-5" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0025" x="3255" y="645" width="646" height="639" frameX="0" frameY="-6" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0026" x="3255" y="645" width="646" height="639" frameX="0" frameY="-6" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0027" x="3255" y="645" width="646" height="639" frameX="0" frameY="-6" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0028" x="1302" y="650" width="646" height="639" frameX="0" frameY="-6" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="GF Dancing Beat0029" x="1302" y="650" width="646" height="639" frameX="0" frameY="-6" frameWidth="646" frameHeight="645"/>
|
||||
<SubTexture name="gf sad0000" x="1302" y="1933" width="646" height="631" frameX="0" frameY="-3" frameWidth="646" frameHeight="634"/>
|
||||
<SubTexture name="gf sad0001" x="1302" y="1933" width="646" height="631" frameX="0" frameY="-3" frameWidth="646" frameHeight="634"/>
|
||||
<SubTexture name="gf sad0002" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0003" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0004" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0005" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0006" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0007" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0008" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0009" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0010" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0011" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0012" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0013" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0014" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0015" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0016" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0017" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0018" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0019" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0020" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0021" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0022" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0023" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0024" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0025" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0026" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0027" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0028" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0029" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0030" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0031" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0032" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0033" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0034" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0035" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0036" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0037" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0038" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0039" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0040" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0041" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0042" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0043" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0044" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0045" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0046" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0047" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0048" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0049" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0050" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0051" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0052" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0053" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0054" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0055" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0056" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0057" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0058" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0059" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0060" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0061" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0062" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0063" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0064" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0065" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0066" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0067" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0068" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0069" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0070" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0071" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0072" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0073" x="1302" y="1294" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0074" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0075" x="2604" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0076" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0077" x="3255" y="1289" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0078" x="1953" y="1290" width="646" height="634"/>
|
||||
<SubTexture name="gf sad0079" x="1953" y="1290" width="646" height="634"/>
|
||||
</TextureAtlas>
|
||||
|
After Width: | Height: | Size: 700 KiB |
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="NOTE_assets.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="arrowDOWN0000" x="0" y="235" width="157" height="153"/>
|
||||
<SubTexture name="arrowLEFT0000" x="310" y="235" width="153" height="157"/>
|
||||
<SubTexture name="arrowRIGHT0000" x="157" y="235" width="153" height="157"/>
|
||||
<SubTexture name="arrowUP0000" x="784" y="232" width="157" height="153"/>
|
||||
<SubTexture name="blue0000" x="1850" y="154" width="157" height="154"/>
|
||||
<SubTexture name="blue hold end0000" x="1170" y="447" width="50" height="64"/>
|
||||
<SubTexture name="blue hold piece0000" x="1370" y="449" width="50" height="44"/>
|
||||
<SubTexture name="down confirm0000" x="0" y="0" width="238" height="235"/>
|
||||
<SubTexture name="down confirm0001" x="238" y="0" width="238" height="235"/>
|
||||
<SubTexture name="down confirm0002" x="1176" y="230" width="220" height="217" frameX="-6" frameY="-12" frameWidth="238" frameHeight="235"/>
|
||||
<SubTexture name="down confirm0003" x="1176" y="230" width="220" height="217" frameX="-6" frameY="-12" frameWidth="238" frameHeight="235"/>
|
||||
<SubTexture name="down press0000" x="149" y="392" width="142" height="140" frameX="-4" frameY="-2" frameWidth="149" frameHeight="146"/>
|
||||
<SubTexture name="down press0001" x="149" y="392" width="142" height="140" frameX="-4" frameY="-2" frameWidth="149" frameHeight="146"/>
|
||||
<SubTexture name="down press0002" x="0" y="388" width="149" height="146"/>
|
||||
<SubTexture name="down press0003" x="0" y="388" width="149" height="146"/>
|
||||
<SubTexture name="green0000" x="1850" y="0" width="157" height="154"/>
|
||||
<SubTexture name="green hold end0000" x="1120" y="442" width="50" height="64"/>
|
||||
<SubTexture name="green hold piece0000" x="1320" y="447" width="50" height="44"/>
|
||||
<SubTexture name="left confirm0000" x="948" y="0" width="228" height="231"/>
|
||||
<SubTexture name="left confirm0001" x="1402" y="228" width="218" height="221" frameX="-5" frameY="-5" frameWidth="228" frameHeight="231"/>
|
||||
<SubTexture name="left confirm0002" x="1402" y="0" width="225" height="228" frameX="-2" frameY="-1" frameWidth="228" frameHeight="231"/>
|
||||
<SubTexture name="left confirm0003" x="1402" y="0" width="225" height="228" frameX="-2" frameY="-1" frameWidth="228" frameHeight="231"/>
|
||||
<SubTexture name="left press0000" x="291" y="392" width="140" height="142" frameX="-3" frameY="-3" frameWidth="146" frameHeight="149"/>
|
||||
<SubTexture name="left press0001" x="291" y="392" width="140" height="142" frameX="-3" frameY="-3" frameWidth="146" frameHeight="149"/>
|
||||
<SubTexture name="left press0002" x="463" y="389" width="146" height="149"/>
|
||||
<SubTexture name="left press0003" x="463" y="389" width="146" height="149"/>
|
||||
<SubTexture name="pruple end hold0000" x="1220" y="447" width="50" height="64"/>
|
||||
<SubTexture name="purple0000" x="630" y="232" width="154" height="157"/>
|
||||
<SubTexture name="purple hold piece0000" x="1420" y="449" width="50" height="44"/>
|
||||
<SubTexture name="red0000" x="476" y="232" width="154" height="157"/>
|
||||
<SubTexture name="red hold end0000" x="1070" y="442" width="50" height="64"/>
|
||||
<SubTexture name="red hold piece0000" x="1270" y="447" width="50" height="44"/>
|
||||
<SubTexture name="right confirm0000" x="1627" y="0" width="223" height="226" frameX="-1" frameY="-3" frameWidth="226" frameHeight="230"/>
|
||||
<SubTexture name="right confirm0001" x="1627" y="226" width="223" height="226" frameX="-1" frameY="-3" frameWidth="226" frameHeight="230"/>
|
||||
<SubTexture name="right confirm0002" x="1176" y="0" width="226" height="230"/>
|
||||
<SubTexture name="right confirm0003" x="1176" y="0" width="226" height="230"/>
|
||||
<SubTexture name="right press0000" x="932" y="442" width="138" height="141" frameX="-3" frameY="-7" frameWidth="148" frameHeight="151"/>
|
||||
<SubTexture name="right press0001" x="932" y="442" width="138" height="141" frameX="-3" frameY="-7" frameWidth="148" frameHeight="151"/>
|
||||
<SubTexture name="right press0002" x="784" y="385" width="148" height="151"/>
|
||||
<SubTexture name="right press0003" x="784" y="385" width="148" height="151"/>
|
||||
<SubTexture name="up confirm0000" x="476" y="0" width="236" height="232"/>
|
||||
<SubTexture name="up confirm0001" x="712" y="0" width="236" height="232"/>
|
||||
<SubTexture name="up confirm0002" x="948" y="231" width="214" height="211" frameX="-11" frameY="-10" frameWidth="236" frameHeight="232"/>
|
||||
<SubTexture name="up confirm0003" x="948" y="231" width="214" height="211" frameX="-11" frameY="-10" frameWidth="236" frameHeight="232"/>
|
||||
<SubTexture name="up press0000" x="609" y="389" width="144" height="141" frameX="-5" frameY="-4" frameWidth="153" frameHeight="150"/>
|
||||
<SubTexture name="up press0001" x="609" y="389" width="144" height="141" frameX="-5" frameY="-4" frameWidth="153" frameHeight="150"/>
|
||||
<SubTexture name="up press0002" x="1850" y="308" width="153" height="150"/>
|
||||
<SubTexture name="up press0003" x="1850" y="308" width="153" height="150"/>
|
||||
</TextureAtlas>
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 307 B |
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="healthHeads.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="Boys instance 10000" x="0" y="126" width="180" height="118" frameX="0" frameY="0" frameWidth="190" frameHeight="121"/>
|
||||
<SubTexture name="Boys instance 10001" x="0" y="0" width="190" height="121"/>
|
||||
</TextureAtlas>
|
||||