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,68 +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: 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 properly named my issue
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you playing on?
|
||||
options:
|
||||
- Newgrounds (Web/HTML5)
|
||||
- Itch.io (Web/HTML5)
|
||||
- Itch.io (Downloadable Build) - Windows
|
||||
- Itch.io (Downloadable Build) - MacOS
|
||||
- Itch.io (Downloadable Build) - Linux
|
||||
- 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: Version
|
||||
description: Which version are you playing on? The game version is in the bottom left corner of the main menu.
|
||||
placeholder: ex. 0.5.0
|
||||
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 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -1,78 +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: 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 properly named my issue
|
||||
- label: I have checked the Issues/Discussions pages to see if my issue has already been reported
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Platform
|
||||
description: Which platform are you playing on?
|
||||
options:
|
||||
- Newgrounds (Web/HTML5)
|
||||
- Itch.io (Web/HTML5)
|
||||
- Itch.io (Downloadable Build) - Windows
|
||||
- Itch.io (Downloadable Build) - MacOS
|
||||
- Itch.io (Downloadable Build) - Linux
|
||||
- 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: Version
|
||||
description: Which version are you playing on? The game version is in the bottom left corner of the main menu.
|
||||
placeholder: ex. 0.5.0
|
||||
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.
|
||||
placeholder: Upload your logs here...
|
||||
validations:
|
||||
required: true
|
||||
@@ -1,18 +0,0 @@
|
||||
name: Enhancement
|
||||
description: Suggest a new feature.
|
||||
labels: ["type: enhancement", "status: pending triage"]
|
||||
title: "Enhancement: "
|
||||
body:
|
||||
- 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 properly named my enhancement
|
||||
- label: I have checked the Issues/Discussions pages to see if my enhancement has already been suggested
|
||||
|
||||
- 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.4'
|
||||
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.1.0
|
||||
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,12 +0,0 @@
|
||||
# Add 'small' to any changes below 10 lines
|
||||
small:
|
||||
max: 9
|
||||
|
||||
# Add 'medium' to any changes between 10 and 100 lines
|
||||
medium:
|
||||
min: 10
|
||||
max: 99
|
||||
|
||||
# Add 'large' to any changes of at least 100 lines
|
||||
large:
|
||||
min: 100
|
||||
@@ -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,44 +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: true
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: pending triage'
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
prs:
|
||||
# Post a comment
|
||||
comment: >
|
||||
This pull request is a duplicate. Please direct all discussion to the original pull request.
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: pending triage'
|
||||
# Close the pull request
|
||||
close: true
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
|
||||
'status: rejected':
|
||||
issues:
|
||||
# Close the issue
|
||||
close: true
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: pending triage'
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
prs:
|
||||
# Close the pull request
|
||||
close: true
|
||||
# Remove other status labels
|
||||
unlabel:
|
||||
- 'status: pending triage'
|
||||
# Set a close reason
|
||||
close-reason: 'not planned'
|
||||
@@ -1,11 +0,0 @@
|
||||
# Add Documentation tag to PR's changing markdown files, or anything in the docs folder
|
||||
Documentation:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- docs/*
|
||||
- '**/*.md'
|
||||
|
||||
# Add Haxe tag to PR's changing haxe code files
|
||||
Haxe:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file: '**/*.hx'
|
||||
@@ -1,6 +0,0 @@
|
||||
<!-- Please check for duplicates or similar PRs before submitting this PR. -->
|
||||
## Does this PR close any issues? If so, link them below.
|
||||
|
||||
## Briefly describe the issue(s) fixed.
|
||||
|
||||
## Include any relevant screenshots or videos.
|
||||
@@ -1,53 +0,0 @@
|
||||
name: Create and publish Docker image
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
paths:
|
||||
- '**/Dockerfile'
|
||||
- '.github/workflows/build-docker-image.yml'
|
||||
|
||||
jobs:
|
||||
build-and-push-image:
|
||||
runs-on: build-set
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
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@v6
|
||||
with:
|
||||
submodules: false
|
||||
token: ${{ steps.app_token.outputs.token }}
|
||||
|
||||
- name: Log into GitHub Container Registry
|
||||
uses: docker/login-action@v3.1.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5.3.0
|
||||
with:
|
||||
context: ./build
|
||||
push: true
|
||||
tags: |
|
||||
ghcr.io/funkincrew/build-dependencies:latest
|
||||
ghcr.io/funkincrew/build-dependencies:${{ github.sha }}
|
||||
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 }}
|
||||
@@ -1,157 +0,0 @@
|
||||
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:
|
||||
paths-ignore:
|
||||
- '**/Dockerfile'
|
||||
- '.github/workflows/build-docker-image.yml'
|
||||
|
||||
jobs:
|
||||
|
||||
build-game-on-host:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- target: windows
|
||||
- target: macos
|
||||
runs-on:
|
||||
- ${{ matrix.target }}
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
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@v6
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
token: ${{ steps.app_token.outputs.token }}
|
||||
persist-credentials: false
|
||||
|
||||
- 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: Build game
|
||||
if: ${{ matrix.target == 'windows' }}
|
||||
run: |
|
||||
haxelib run lime build windows -v -release ${{ github.event.inputs.build-defines }}
|
||||
timeout-minutes: 120
|
||||
- name: Build game
|
||||
if: ${{ matrix.target != 'windows' }}
|
||||
run: |
|
||||
haxelib run lime build ${{ matrix.target }} -v -release --times ${{ github.event.inputs.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:
|
||||
runs-on: build-set
|
||||
container: ghcr.io/funkincrew/build-dependencies:latest
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- target: linux
|
||||
- target: html5
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
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@v6
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
token: ${{ steps.app_token.outputs.token }}
|
||||
persist-credentials: false
|
||||
|
||||
- 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: Build game
|
||||
run: |
|
||||
haxelib run lime build ${{ matrix.target }} -v -release --times ${{ github.event.inputs.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,38 +0,0 @@
|
||||
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-shit.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,29 +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,52 +0,0 @@
|
||||
name: "Issue Labeler"
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- edited
|
||||
|
||||
jobs:
|
||||
# When an issue is opened, perform a similarity check for potential duplicates.
|
||||
# If some are found, add a label and comment listing the potential duplicate issues.
|
||||
potential-duplicate:
|
||||
name: Detect potential duplicate issues
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: wow-actions/potential-duplicates@v1
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# Issue title filter work with anymatch https://www.npmjs.com/package/anymatch.
|
||||
# Any matched issue will stop detection immediately.
|
||||
# You can specify multi filters in each line.
|
||||
filter: ''
|
||||
# Exclude keywords in title before detecting.
|
||||
exclude: ''
|
||||
# Label to set, when potential duplicates are detected.
|
||||
label: 'potential duplicate'
|
||||
# Get issues with state to compare. Supported state: 'all', 'closed', 'open'.
|
||||
state: all
|
||||
# If similarity is higher than this threshold([0,1]), issue will be marked as duplicate.
|
||||
# Turn this up if the detection is too sensitive
|
||||
threshold: 0.6
|
||||
# Reactions to be add to comment when potential duplicates are detected.
|
||||
# Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
|
||||
# reactions: '-1'
|
||||
# Comment to post when potential duplicates are detected.
|
||||
comment: >
|
||||
Potential duplicates: {{#issues}}
|
||||
- [#{{ number }}] {{ title }} ({{ accuracy }}%)
|
||||
{{/issues}}
|
||||
# When an issue is opened, detect if it has an empty body or incomplete issue form.
|
||||
# If it does, close the issue immediately.
|
||||
empty-issues:
|
||||
name: Close empty issues
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run empty issues closer action
|
||||
uses: rickstaa/empty-issues-closer-action@v1
|
||||
env:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
close_comment: Closing this issue because it appears to be empty. Please update the issue for it to be reopened.
|
||||
open_comment: Reopening this issue because the author provided more information.
|
||||
@@ -1,29 +0,0 @@
|
||||
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,16 +1,2 @@
|
||||
.DS_STORE
|
||||
.haxelib/
|
||||
.vs/
|
||||
APIStuff.hx
|
||||
dump/
|
||||
export/
|
||||
RECOVER_*.fla
|
||||
shitAudio/
|
||||
.build_time
|
||||
.swp
|
||||
|
||||
# Exclude JS stuff
|
||||
node_modules/
|
||||
package.json
|
||||
package-lock.json
|
||||
.aider*
|
||||
.vscode/
|
||||
@@ -1,6 +0,0 @@
|
||||
[submodule "assets"]
|
||||
path = assets
|
||||
url = https://github.com/FunkinCrew/Funkin.assets
|
||||
[submodule "art"]
|
||||
path = art
|
||||
url = https://github.com/FunkinCrew/Funkin.art
|
||||
@@ -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,12 +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
|
||||
"ryanluker.vscode-coverage-gutters" // Highlight code coverage
|
||||
]
|
||||
}
|
||||
@@ -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,262 +0,0 @@
|
||||
{
|
||||
"[haxe]": {
|
||||
// Automatically keep Haxe files formatted.
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports": "never"
|
||||
},
|
||||
"editor.defaultFormatter": "nadako.vshaxe",
|
||||
"editor.tabSize": 2
|
||||
},
|
||||
|
||||
"[json]": {
|
||||
// Automatically keep JSON files formatted.
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
|
||||
"[jsonc]": {
|
||||
// Automatically keep JSONC files formatted.
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
"prettier.tabWidth": 2,
|
||||
|
||||
// XML formatting style configuration
|
||||
"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": false,
|
||||
"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,
|
||||
|
||||
// Generic file formatting style configuration
|
||||
"files.insertFinalNewline": true,
|
||||
"files.trimFinalNewlines": false,
|
||||
"files.trimTrailingWhitespace": true,
|
||||
|
||||
// Automatically detect indentation.
|
||||
"editor.detectIndentation": true,
|
||||
"editor.insertSpaces": true,
|
||||
"editor.tabSize": 2,
|
||||
|
||||
// Automatically enforce Linux style line endings.
|
||||
"files.eol": "\n",
|
||||
|
||||
"haxe.displayPort": "auto",
|
||||
"haxe.enableCompilationServer": false,
|
||||
"haxe.enableServerView": true,
|
||||
"haxe.displayServer": {
|
||||
"arguments": ["-v"]
|
||||
},
|
||||
// Fix file associations for HScript.
|
||||
"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.targetConfigurations": [
|
||||
{
|
||||
"label": "Windows / Debug",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Tracy)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_TRACY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Linux / Debug",
|
||||
"target": "linux",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug",
|
||||
"target": "hl",
|
||||
"args": ["-debug"]
|
||||
},
|
||||
{
|
||||
"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": "HashLink / Debug (FlxAnimate Test)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DANIMATE"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Freeplay)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DFREEPLAY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Straight to Freeplay)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DFREEPLAY"]
|
||||
},
|
||||
{
|
||||
"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": "HashLink / Debug (Straight to Play - Bopeebo Normal)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DSONG=bopeebo -DDIFFICULTY=normal"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Conversation Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DDIALOGUE", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Conversation Test)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DDIALOGUE"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Results Screen Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DRESULTS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Chart Editor)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DCHARTING", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Straight to Chart Editor)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DCHARTING"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Straight to Animation Editor)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DANIMDEBUG", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Debug hxCodec)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DHXC_LIBVLC_LOGGING", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Straight to Animation Editor)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DANIMDEBUG"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Latency Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DLATENCY", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Latency Test)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DLATENCY"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Debug (Waveform Test)",
|
||||
"target": "windows",
|
||||
"args": ["-debug", "-DWAVEFORM", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Release",
|
||||
"target": "windows",
|
||||
"args": ["-release"]
|
||||
},
|
||||
{
|
||||
"label": "Windows / Release (GitHub Actions)",
|
||||
"target": "windows",
|
||||
"args": ["-release", "-DGITHUB_BUILD"]
|
||||
},
|
||||
{
|
||||
"label": "HashLink / Debug (Waveform Test)",
|
||||
"target": "hl",
|
||||
"args": ["-debug", "-DWAVEFORM"]
|
||||
},
|
||||
{
|
||||
"label": "HTML5 / Debug",
|
||||
"target": "html5",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "HTML5 / Debug (Watch)",
|
||||
"target": "html5",
|
||||
"args": ["-debug", "-watch", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "macOS / Debug",
|
||||
"target": "mac",
|
||||
"args": ["-debug", "-DFEATURE_DEBUG_FUNCTIONS"]
|
||||
},
|
||||
{
|
||||
"label": "macOS / Release",
|
||||
"target": "mac",
|
||||
"args": ["-release"]
|
||||
},
|
||||
{
|
||||
"label": "macOS / Release (GitHub Actions)",
|
||||
"target": "mac",
|
||||
"args": ["-release", "-DGITHUB_BUILD"]
|
||||
}
|
||||
],
|
||||
"cmake.configureOnOpen": false,
|
||||
"coverage-gutters.coverageFileNames": [
|
||||
"lcov.info",
|
||||
"cov.xml",
|
||||
"coverage.xml",
|
||||
"jacoco.xml",
|
||||
"coverage.cobertura.xml"
|
||||
]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "lime",
|
||||
"command": "test",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,534 +0,0 @@
|
||||
# Changelog
|
||||
All notable changes will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [0.5.2] - 2024-10-11
|
||||
|
||||
### Changed
|
||||
- (docs) Delete Modding.md since we have a separate modding documentation ([a42240e](https://github.com/FunkinCrew/Funkin/commit/a42240e6a595d33034f2c887bf38a350d1fa0f15)) - by @AbnormalPoof in [#3651](https://github.com/FunkinCrew/Funkin/pull/3651)
|
||||
- (docs) Create a git cliff template for easier changelog stuff ([91b4544](https://github.com/FunkinCrew/Funkin/commit/91b4544f7ebc51485e3e28c3d716ba6ee69ad885)) - by @ninjamuffin99 in [#3652](https://github.com/FunkinCrew/Funkin/pull/3652)
|
||||
- Added InverseDotsShader that emulates flash selections ([097dbf5](https://github.com/FunkinCrew/Funkin/commit/097dbf5bb4346d431d8ca9f0ec4bc5b5e6f4523f)) - by @ninjamuffin99
|
||||
- (docs) Add additional `variation` input parameter to `Save.hasBeatenSong()` to allow usage of the function by inputting a variation id ([4fa9a0d](https://github.com/FunkinCrew/Funkin/commit/4fa9a0daaa67e0977460b147bd1f74a118e3e2a5)) - by @ninjamuffin99
|
||||
- (docs) Added modding docs link in readme ([4b54118](https://github.com/FunkinCrew/Funkin/commit/4b54118731e26118111e06558ae4853c577fe4bb)) - by @Cartridge-Man
|
||||
- Fix some misspellings and grammar in code documentation ([2175bea](https://github.com/FunkinCrew/Funkin/commit/2175beaa651e009332202985be4b7eb4ed36e5a4)) - by @Hundrec
|
||||
- (docs) Improvements to Github Issues templates ([399869c](https://github.com/FunkinCrew/Funkin/commit/399869cdccc9c5ac27cecfbcdc33c3d7eb4b348c)) - by @Hundrec in [#3458](https://github.com/FunkinCrew/Funkin/pull/3458)
|
||||
- Fix some misspellings and grammar in code documentation ([6df80ba](https://github.com/FunkinCrew/Funkin/commit/6df80ba69d0e24269f40471f83462cab7d5e13cf)) - by @Hundrec in [#3477](https://github.com/FunkinCrew/Funkin/pull/3477)
|
||||
- (docs) Improvements to Github Issues templates ([67f7b63](https://github.com/FunkinCrew/Funkin/commit/67f7b638fb76840b868cbfa70a1c6063577984c5)) - by @Hundrec
|
||||
|
||||
### Fixed
|
||||
- Disable flickering when changing FPS in the options menu ([b2647fe](https://github.com/FunkinCrew/Funkin/commit/b2647fe09f5281ce7074b26d47bc1524764168ee)) - by @lemz1 in [#3629](https://github.com/FunkinCrew/Funkin/pull/3629)
|
||||
- Anti alias / smooth the volume sound tray ([e66290c](https://github.com/FunkinCrew/Funkin/commit/e66290c55f7141402223644f06ec8a69edeee089)) - by @Kn1ghtNight in [#2853](https://github.com/FunkinCrew/Funkin/pull/2853)
|
||||
- Don't restart the FreeplayState song preview when changing the difficulty within the same variation ([903b3fc](https://github.com/FunkinCrew/Funkin/commit/903b3fc59905a70802618a1cd67407722ea956ed)) - by @JustKolosaki in [#3587](https://github.com/FunkinCrew/Funkin/pull/3587)
|
||||
- Exiting the chart editor doesn't crash the game anymore ([f52472a](https://github.com/FunkinCrew/Funkin/commit/f52472a4767388b22cfbab0f5f7860f6e6762856)) - by @EliteMasterEric
|
||||
- Character Select cursor moves properly at lower framerates ([ab5bda3](https://github.com/FunkinCrew/Funkin/commit/ab5bda3ee573a6e03595ec6941e6de38df851889)) - by @ninjamuffin99 in [#3507](https://github.com/FunkinCrew/Funkin/pull/3507)
|
||||
- Stopped allowing F1 to create more than one help dialog window in the Charting Editor ([777978f](https://github.com/FunkinCrew/Funkin/commit/777978f5a544e1b7c89b47dcc365f734eb6d0df1)) - by @amyspark-ng
|
||||
- Main menu music doesn't cut out when switching states anymore. ([711e0a6](https://github.com/FunkinCrew/Funkin/commit/711e0a6b7547eb04113e9318dab900f01ad576a5)) - by @EliteMasterEric in [#3530](https://github.com/FunkinCrew/Funkin/pull/3530)
|
||||
- The dialog now shows up on the animation debugger view ([1fde59f](https://github.com/FunkinCrew/Funkin/commit/1fde59f999eac94eb10fc22094885de2f5310705)) - by @EliteMasterEric
|
||||
- Center preloader 'fnf' and 'dsp' text so it doesn't clip anymore ([165ad60](https://github.com/FunkinCrew/Funkin/commit/165ad6015539a295e9eefdaef291c312e9566b26)) - by @Burgerballs in [#3567](https://github.com/FunkinCrew/Funkin/pull/3567)
|
||||
- `Song.getFirstValidVariation()` now properly takes into account multiple variations/difficulty input ([d2e2987](https://github.com/FunkinCrew/Funkin/commit/d2e29879fe2acc6febfe0f335f655b741d630c34)) - by @ninjamuffin99 in [#3506](https://github.com/FunkinCrew/Funkin/pull/3506)
|
||||
- (freeplay) Proper variation / difficulty loading for Freeplay Menu ([c0314c8](https://github.com/FunkinCrew/Funkin/commit/c0314c85ecd5116641aff3de8e9153f7fe48e79c)) - by @ninjamuffin99
|
||||
- Picos songs properly load on freeplay ([1d2bd61](https://github.com/FunkinCrew/Funkin/commit/1d2bd61119e5f418df7f11d7ef2a0fdedee17d3d)) - by @ninjamuffin99
|
||||
- (debug) No more fullscreening when typing "F" in the flixel debugger console ([29b6763](https://github.com/FunkinCrew/Funkin/commit/29b6763290df05d42039806f3d142740568c80f0)) - by @ninjamuffin99
|
||||
- Fix the user song offsets being applied incorrectly ([410cfe9](https://github.com/FunkinCrew/Funkin/commit/410cfe972d6df9de4d4d128375cf8380c4f06d92)) - by @JustKolosaki
|
||||
- Fix crash in LatencyState when exiting / cleaning up state data ([39b1a42](https://github.com/FunkinCrew/Funkin/commit/39b1a42cfeafe2b7be8b66e2fe529e853d9ae197)) - by @lemz1
|
||||
- Add additional classes to Polymod Blacklist ([b0b73c8](https://github.com/FunkinCrew/Funkin/commit/b0b73c83994f33118c6a69550da9ec8ec1c07adc)) - by @EliteMasterEric
|
||||
- Stop allowing inputs after selecting a character ([dbf66ac](https://github.com/FunkinCrew/Funkin/commit/dbf66ac250137262866d75f7c1387645b35d88d0)) - by @ACrazyTown
|
||||
- Fixed an issue where the player and girlfriend would disappear or overlap themselves in Character Select (community fix by gamerbross)
|
||||
- Fixed an issue where the game would show the wrong girlfriend in Character Select (community fix by gamerbross)
|
||||
- Fixed an issue where the cursor wouldn't update properly in Character Select (community fix by gamerbross)
|
||||
- Fixed an issue where the player would display double after entering character select or when spamming buttons (community fix by gamerbross)
|
||||
|
||||
## New Contributors for 0.5.2
|
||||
* @Kn1ghtNight made their first contribution in [#2853](https://github.com/FunkinCrew/Funkin/pull/2853)
|
||||
* @DaWaterMalone made their first contribution
|
||||
* @amyspark-ng made their first contribution
|
||||
* @Cartridge-Man made their first contribution
|
||||
* @afreetoplaynoob made their first contribution
|
||||
|
||||
|
||||
## [0.5.1] - 2024-09-30
|
||||
### Added
|
||||
- Readded the Merch button to the main menu.
|
||||
- Click it to check out our Makeship campaign!
|
||||
- Added Discord Rich Presence support. People can now see what song you are playing from Discord!
|
||||
- We'll get mod support working for this eventually.
|
||||
- Added an FPS limit option to the Preferences menu.
|
||||
- You can now change how high the game tries to push your frame rate, from as little as 30 to as high as 300.
|
||||
- Added support for the Tracy instrumenation-based profiling tool in development environments. Enable it with the `-DFEATURE_DEBUG_TRACY` compilation flag.
|
||||
- For the people who aren't nerds, this is a tool for tracking down performance issues!
|
||||
- Playable Character data now defines an asset location for an Animate Atlas to display Girlfriend.
|
||||
- This includes the option to display a visualizer, if configured correctly.
|
||||
- Separated the Perfect and Perfect (Gold) animations in the Playable Character data.
|
||||
- Base game just uses the same animation for both, but modders can split the animations up on their custom characters now.
|
||||
- Added a bunch of Flash project files from the Weekend 1 and Playable Pico updates to the `Funkin.art` repository.
|
||||
- Added the `flipX` and `flipY` parameters to props in the Stage data. (community feature by abnormalpoof)
|
||||
### Changed
|
||||
- The game's mod API version check is now more dynamic.
|
||||
- The update accepts mods with API version `0.5.0` as well as `0.5.1`.
|
||||
- Pico is no longer unlocked for all players automatically.
|
||||
- You need to beat Weekend 1 in Story Mode in order to unlock him in Character Select.
|
||||
- Removed some of the more spammy `trace()` calls to improve debugging a bit.
|
||||
- Improved some of the compilation and modding documentation.
|
||||
- The game now complains if you create a song variation with symbols in the name.
|
||||
- Switched the force crash keybind from Ctrl-Shift-L to Ctrl-Alt-Shift-L.
|
||||
- Added some additional functions to `funkin.Assets` after `openfl.utils.Assets` had to get blacklisted from scripts.
|
||||
### Fixed
|
||||
- Fixed an issue where DadBattle (Pico Mix) was not properly credited to `TeraVex (ft. Saruky)`.
|
||||
- Fixed an issue where DadBattle (Pico Mix) was missing charts on the Normal and Easy difficulty.
|
||||
- Fixed an issue where Spookeez (Pico Mix) was not properly credited to `Six Impala (ft. Saster)`.
|
||||
- Fixed an issue where the "Shit!" judgement would display with anti-aliasing in Week 6.
|
||||
- Fixed an issue where Pico Erect could be played with different instrumentals.
|
||||
- Fixed an issue where Pico would not play his shooting animations in Stress.
|
||||
- Fixed an issue where Freeplay would display no custom songs when switching characters.
|
||||
- Fixed an issue where Freeplay would sometimes display the wrong text on the capsules.
|
||||
- Fixed an issue where duplicate difficulties from custom variations wouldn't display properly in Freeplay.
|
||||
- Fixed an issue where custom note styles would sometimes just use default values rather than using the fallback note style.
|
||||
- Fixed an issue where custom note styles would randomly fail to fetch information about their fallback note style.
|
||||
- Fixed an issue where the Screenshots and Chart Editor binds displayed in the controls menu on Web builds (where they are disabled).
|
||||
- Fixed an issue where the Stage Editor bind displayed in the controls menu even when the feature was disabled.
|
||||
- Fixed an issue where the Freeplay Character Select keybind displayed weird in the keybinds menu.
|
||||
- Fixed an issue where setting the input offset or visual offset too high would cause the song to skip.
|
||||
- Fixed an issue where video cutscenes would not scale their volume properly.
|
||||
- Fixed an issue where Cocoa Erect (Erect difficulty) had a tap note stacked on top of a hold note,
|
||||
- Fixed an issue where the game would stutter when playing on the Week 5 Remix stage.
|
||||
- Fixed an issue where the save data version number wouldn't get written to save data properly.
|
||||
- Fixed an issue where the example mod could not be loaded.
|
||||
- Fixed an issue where a script error would display when entering Blazin'.
|
||||
- Fixed an issue where pressing F5 to force reload a song would sometimes cause the game to crash.
|
||||
- Fixed an issue where animations on Animate Atlas characters would throw a bunch of warnings in the console.
|
||||
- Fixed an issue where characters with high offsets would shift over after the player dies or restarts.
|
||||
- Fixed an issue where Pico wouldn't play out his full burp animation in South (Pico Mix).
|
||||
- Fixed an issue where Results screen audio could continue into Freeplay or even gameplay.
|
||||
- Fixed an issue where some audio tracks would get destroyed even if they were flagged as persistent.
|
||||
- Fixed an issue where the audio track would stay muted if you missed a note just before Pico burps.
|
||||
- Fixed an issue where the curtains in Week 1 would display in front of larger characters.
|
||||
- Fixed an issue where Boyfriend wouldn't play his death animation properly on Week 2's Remix stage.
|
||||
- Fixed an issue in Freeplay where the clear % would not display after switching characters.
|
||||
- Fixed an issue in Freeplay where character remixes would display the base song's highscore.
|
||||
- Fixed an issue where Pico would become locked every time the game starts, and you would have to watch the unlock animation each game boot.
|
||||
- The animation should now play only once per save file.
|
||||
- Fixed an issue where Spirit's trail in Week 6 would not display correctly.
|
||||
- Fixed an issue where the Input Offsets menu would crash when entering it before playing a song on web builds.
|
||||
- Fixed an issue where the Results screen would spam the percentage tick noise instead of playing when the value changes.
|
||||
- Fixed an issue where parts of the Chart Editor could not be interacted with. (community fix by KadeDeveloper)
|
||||
- Fixed an issue where classic FocusCamera song events could cause the camera to snap in place. (community fix by NebulaZorua)
|
||||
- Fixed an issue where achieving the same rank on a song (but a different clear %) would override your clear %, even if it was lower. (community fix by lemz1)
|
||||
- Fixed an issue where the FPS counter would display even if Debug Display was turned off. (community fix by Lethrial)
|
||||
- Fixed an issue where selecting the area to the left of the Chart Editor would select some of the player's notes (community fix by NotHyper474)
|
||||
- Fixed an issue where pixel icons in the Chart Editor would not display correctly. (community fix by Techniktil)
|
||||
- Fixed an issue where `Stage.addCharacter` would not properly assign the `characterType`. (community fix by KadeDeveloper)
|
||||
- Fixed an issue where players should interact with Character Select during the unlock sequence, causing a crash. (community fix by actualmandm)
|
||||
- Fixed an issue where hold notes in Week 6 were not scaled/positioned correctly. (community fix by dombomb64)
|
||||
- Fixed an issue where audio offets would not interact with the Chart Editor properly. (community fix by KadeDev)
|
||||
- Fixed an issue where fetching Modules during the `onDestroy` event would fail at random. (community fix by cyn0x8)
|
||||
- Fixed an issue where `onSubStateOpenEnd` and `onSubStateCloseEnd` script events would not always get called. (community fix by lemz1)
|
||||
|
||||
## [0.5.0] - 2024-09-12
|
||||
### Added
|
||||
- Added a new Character Select screen to switch between playable characters in Freeplay
|
||||
- Modding isn't 100% there but we're working on it!
|
||||
- Added Pico as a playable character! Unlock him by completing Weekend 1 (if you haven't already done that)
|
||||
- The songs from Weekend 1 have moved; you must now switch to Pico via Character Select screen in Freeplay to access them
|
||||
- Added 11 new Pico remixes! Access them by selecting Pico from in the Character Select screen
|
||||
- Bopeebo (Pico Mix)
|
||||
- Fresh (Pico Mix)
|
||||
- DadBattle (Pico Mix)
|
||||
- Spookeez (Pico Mix)
|
||||
- South (Pico Mix)
|
||||
- Pico (Pico Mix)
|
||||
- Philly Nice (Pico Mix)
|
||||
- Blammed (Pico Mix)
|
||||
- Eggnog (Pico Mix)
|
||||
- Ugh (Pico Mix)
|
||||
- Guns (Pico Mix)
|
||||
- Added 1 new Boyfriend remix! Access it by completing Weekend 1 as Pico and then selecting Boyfriend from in the Character Select screen
|
||||
- Darnell (BF Mix)
|
||||
- Added 2 new Erect remixes! Access them by switching difficulty on the song
|
||||
- Cocoa Erect
|
||||
- Ugh Erect
|
||||
- Implemented support for a new Instrumental Selector in Freeplay
|
||||
- Beating a Pico remix lets you use that instrumental when playing as Boyfriend
|
||||
- Added the first batch of Erect Stages! These graphical overhauls of the original stages will be used when playing Erect remixes and Pico remixes
|
||||
- Week 1 Erect Stage
|
||||
- Week 2 Erect Stage
|
||||
- Week 3 Erect Stage
|
||||
- Week 4 Erect Stage
|
||||
- Week 5 Erect Stage
|
||||
- Weekend 1 Erect Stage
|
||||
- Implemented alternate animations and music for Pico in the results screen.
|
||||
- These display on Pico remixes, as well as when playing Weekend 1.
|
||||
- Implemented support for scripted Note Kinds. You can use HScript define a different note style to display for these notes as well as custom behavior. (community feature by lemz1)
|
||||
- Implemented support for Numeric and Selector options in the Options menu. (community feature by FlooferLand)
|
||||
- Implemented new animations for Tankman and Pico
|
||||
## Changed
|
||||
- Girlfriend and Nene now perform previously unused animations when you achieve a large combo, or drop a large combo.
|
||||
- The pixel character icons in the Freeplay menu now display an animation!
|
||||
- Altered how Week 6 displays sprites to make things look more retro.
|
||||
- Character offsets are now independent of the character's scale.
|
||||
- This should resolve issues with offsets when porting characters from older mods.
|
||||
- Pixel character offsets have been modified to compensate.
|
||||
- Note style data can now specify custom combo count graphics, judgement graphics, countdown graphics, and countdown audio. (community feature by anysad)
|
||||
- These were previously using hardcoded values based on whether the stage was `school` or `schoolEvil`.
|
||||
- The `danceEvery` property of characters and stage props can now use values with a precision of `0.25`, to play their idle animation up to four times per beat.
|
||||
- Reworked the JSON merging system in Polymod; you can now include JSONPatch files under `_merge` in your mod folder to add, modify, or remove values in a JSON without replacing it entirely!
|
||||
- Cutscenes now automatically pause when tabbing out (community fix by AbnormalPoof)
|
||||
- Characters will now respect the `danceEvery` property (community fix by gamerbross)
|
||||
- The F5 function now reloads the current song's chart data from disc (community feature by gamerbross)
|
||||
- Refactored the compilation guide and added common troubleshooting steps (community fix by Hundrec)
|
||||
- Made several layout improvements and fixes to the Animation Offsets editor in the Debug menu (community fix by gamerbross)
|
||||
- Fixed a bug where the Back sound would be not played when leaving the Story menu and Options menu (community fix by AppleHair)
|
||||
- Animation offsets no longer directly modify the `x` and `y` position of props, which makes props work better with tweens (community fix by Sword352)
|
||||
- The YEAH! events in Tutorial now use chart events rather than being hard-coded (community fix by anysad)
|
||||
- The player's Score now displays commas in it (community fix by loggo)
|
||||
## Fixed
|
||||
- Fixed an issue where songs with no notes would crash on the Results screen.
|
||||
- Fixed an issue where the old icon easter egg would not work properly on pixel levels.
|
||||
- Fixed an issue where you could play notes during the Thorns cutscene.
|
||||
- Fixed an issue where the Heart icon when favoriting a song in Freeplay would be malformed.
|
||||
- Fixed an issue where Pico's death animation displays a faint blue background (community fix by doggogit)
|
||||
- Fixed an issue where mod songs would not play a preview in the Freeplay menu (community fix by KarimAkra)
|
||||
- Fixed an issue where the Memory Usage counter could overflow and display a negative number (community fix by KarimAkra)
|
||||
- Fixed an issue where pressing the Chart Editor keybind while playtesting a chart would reset the chart editor (community fix by gamerbross)
|
||||
- Fixed a crash bug when pressing F5 after seeing the sticker transition (community fix by gamerbross)
|
||||
- Fixed an issue where the Story Mode menu couldn't be scrolled with a mouse (community fix by JVNpixels)
|
||||
- Fixed an issue causing the song to majorly desync sometimes (community fix by Burgerballs)
|
||||
- Fixed an issue where the Freeplay song preview would not respect the instrumental ID specified in the song metadata (community fix by AppleHair)
|
||||
- Fixed an issue where Tankman's icon wouldn't display in the Chart Editor (community fix by hundrec)
|
||||
- Fixed an issue where pausing the game during a camera zoom would zoom the pause menu. (community fix by gamerbros)
|
||||
- Fixed an issue where certain UI elements would not flash at a consistent rate (community fix by cyn0x8)
|
||||
- Fixed an issue where the game would not use the placeholder health icon as a fallback (community fix by gamerbross)
|
||||
- Fixed an issue where the chart editor could get stuck creating a hold note when using Live Inputs (community fix by gamerbross)
|
||||
- Fixed an issue where character graphics could not be placed in week folders (community fix by 7oltan)
|
||||
- Fixed a crash issue when a Freeplay song has no `Normal` difficulty (community fix by Applehair and gamerbross)
|
||||
- Fixed an issue in Story Mode where a song that isn't valid for the current variation could be selected (community fix by Applehair)
|
||||
|
||||
## [0.4.1] - 2024-06-12
|
||||
### Added
|
||||
- Pressing ESCAPE on the title screen on desktop now exits the game, allowing you to exit the game while in fullscreen on desktop
|
||||
- Freeplay menu controls (favoriting and switching categories) are now rebindable from the Options menu, and now have default binds on controllers.
|
||||
### Changed
|
||||
- Highscores and ranks are now saved separately, which fixes the issue where people would overwrite their saves with higher scores,
|
||||
which would remove their rank if they had a lower one.
|
||||
- A-Bot speaker now reacts to the user's volume preference on desktop (thanks to [M7theguy for the issue report/suggestion](https://github.com/FunkinCrew/Funkin/issues/2744)!)
|
||||
- On Freeplay, heart icons are shifted to the right when you favorite a song that has no rank on it.
|
||||
- Only play `scrollMenu` sound effect when there's a real change on the freeplay menu ([thanks gamerbross for the PR!](https://github.com/FunkinCrew/Funkin/pull/2741))
|
||||
- Gave antialiasing to the edge of the dad graphic on Freeplay
|
||||
- Rearranged some controls in the controls menu
|
||||
- Made several chart revisions
|
||||
- Re-enabled custom camera events in Roses (Erect/Nightmare)
|
||||
- Tweaked the chart for Lit Up (Hard)
|
||||
- Corrected the difficulty ratings for M.I.L.F. (Easy/Normal/Hard)
|
||||
### Fixed
|
||||
- Fixed an issue in the controls menu where some control binds would overlap their names
|
||||
- Fixed crash when attempting to exit the gameover screen when also attempting to retry the song ([thanks DMMaster636 for the PR!](https://github.com/FunkinCrew/Funkin/pull/2709))
|
||||
- Fix botplay sustain release bug ([thanks Hundrec!](Fix botplay sustain release bug #2683))
|
||||
- Fix for the camera not pausing during a gameplay pause ([thanks gamerbross!](https://github.com/FunkinCrew/Funkin/pull/2684))
|
||||
- Fixed issue where Pico's gameplay sprite would unintentionally appear on the gameover screen when dying on 2Hot from an explosion
|
||||
- Freeplay previews properly fade volume during the BF idle animation
|
||||
- Fixed bug where Dadbattle incorrectly appeared as Dadbattle Erect when returning to freeplay on Hard
|
||||
- Fixed 2Hot not appearing under the "#" category in Freeplay menu
|
||||
- Fixed a bug where the Chart Editor would crash when attempting to select an event with the Event toolbox open
|
||||
- Improved offsets for Pico and Tankman opponents so they don't slide around as much.
|
||||
- Fixed the black "temp" graphic on freeplay from being incorrectly sized / masked, now it's identical to the dad freeplay graphic
|
||||
|
||||
## [0.4.0] - 2024-06-06
|
||||
### Added
|
||||
- 2 new Erect remixes, Eggnog and Satin Panties. Check them out from the Freeplay menu!
|
||||
- Major visual improvements to the Results screen, with additional animations and audio based on your performance.
|
||||
- Major visual improvements to the Freeplay screen, with song difficulty ratings and player rank displays.
|
||||
- Freeplay now plays a preview of songs when you hover over them.
|
||||
- Added a Charter field to the chart format, to allow for crediting the creator of a level's chart.
|
||||
- You can see who charted a song from the Pause menu.
|
||||
- Added a new Scroll Speed chart event to change the note speed mid-song (thanks burgerballs!)
|
||||
### Changed
|
||||
- Tweaked the charts for several songs:
|
||||
- Tutorial (increased the note speed slightly)
|
||||
- Spookeez
|
||||
- Monster
|
||||
- Winter Horrorland
|
||||
- M.I.L.F.
|
||||
- Senpai (increased the note speed)
|
||||
- Roses
|
||||
- Thorns (increased the note speed slightly)
|
||||
- Ugh
|
||||
- Stress
|
||||
- Lit Up
|
||||
- Favorite songs marked in Freeplay are now stored between sessions.
|
||||
- The Freeplay easter eggs are now easier to see.
|
||||
- In the event that the game cannot load your save data, it will now perform a backup before clearing it, so that we can try to repair it in the future.
|
||||
- Custom note styles are now properly supported for songs; add new notestyles via JSON, then select it for use from the Chart Editor Metadata toolbox. (thanks Keoiki!)
|
||||
- Health icons now support a Winning frame without requiring a spritesheet, simply include a third frame in the icon file. (thanks gamerbross!)
|
||||
- Remember that for more complex behaviors such as animations or transitions, you should use an XML file to define each frame.
|
||||
- Improved the Event Toolbox in the Chart Editor; dropdowns are now bigger, include search field, and display elements in alphabetical order rather than a random order.
|
||||
### Fixed
|
||||
- Fixed an issue where Nene's visualizer would not play on Desktop builds
|
||||
- Fixed a bug where the game would silently fail to load saves on HTML5
|
||||
- Fixed some bugs with the props on the Story Menu not bopping properly
|
||||
- Additional fixes to the Loading bar on HTML5 (thanks lemz1!)
|
||||
- Fixed several bugs with the TitleState, including missing music when returning from the Main Menu (thanks gamerbross!)
|
||||
- Fixed a camera bug in the Main Menu (thanks richTrash21!)
|
||||
- Fixed a bug where changing difficulties in Story mode wouldn't update the score (thanks sectorA!)
|
||||
- Fixed a crash in Freeplay caused by a level referencing an invalid song (thanks gamerbross!)
|
||||
- Fixed a bug where pressing the volume keys would stop the Toy commercial (thanks gamerbross!)
|
||||
- Fixed a bug where the Chart Editor Playtest would crash when losing (thanks gamerbross!)
|
||||
- Fixed a bug where hold notes would display improperly in the Chart Editor when downscroll was enabled for gameplay (thanks gamerbross!)
|
||||
- Fixed a bug where hold notes would be positioned wrong on downscroll (thanks MaybeMaru!)
|
||||
- Removed a large number of unused imports to optimize builds (thanks Ethan-makes-music!)
|
||||
- Improved debug logging for unscripted stages (thanks gamerbross!)
|
||||
- Made improvements to compiling documentation (thanks gedehari!)
|
||||
- Fixed a crash on Linux caused by an old version of hxCodec (thanks Noobz4Life!)
|
||||
- Optimized animation handling for characters (thanks richTrash21!)
|
||||
- Made improvements to compiling documentation (thanks gedehari!)
|
||||
- Fixed an issue where the Chart Editor would use an incorrect instrumental on imported Legacy songs (thanks gamerbross!)
|
||||
- Fixed a camera bug in the Main Menu (thanks richTrash21!)
|
||||
- Fixed a bug where opening the game from the command line would crash the preloader (thanks NotHyper474!)
|
||||
- Fixed a bug where characters would sometimes use the wrong scale value (thanks PurSnake!)
|
||||
- Additional bug fixes and optimizations.
|
||||
|
||||
## [0.3.3] - 2024-05-14
|
||||
### Changed
|
||||
- Cleaned up some code in `PlayAnimationSongEvent.hx` (thanks BurgerBalls!)
|
||||
### Fixed
|
||||
- Fixes to the Loading bar on HTML5 (thanks lemz1!)
|
||||
- Don't allow any more inputs when exiting freeplay (thanks gamerbros!)
|
||||
- Fixed using mouse wheel to scroll on freeplay (thanks JugieNoob!)
|
||||
- Fixed the reset's of the health icons, score, and notes when re-entering gameplay from gameover (thanks ImCodist!)
|
||||
- Fixed the chart editor character selector's hitbox width (thanks MadBear422!)
|
||||
- Fixed camera stutter once a wipe transition to the Main Menu completes (thanks ImCodist!)
|
||||
- Fixed an issue where hold note would be invisible for a single frame (thanks ImCodist!)
|
||||
- Fix tween accumulation on title screen when pressing Y multiple times (thanks TheGaloXx!)
|
||||
- Fix a crash when querying FlxG.state in the crash handler
|
||||
- Fix for a game over easter egg so you don't accidentally exit it when viewing
|
||||
- Fix an issue where the Freeplay menu never displays 100% clear
|
||||
- Fix an issue where Weekend 1 Pico attempted to retrieve a missing asset.
|
||||
- Fix an issue where duplicate keybinds would be stoed, potentially causing a crash
|
||||
- Chart debug key now properly returns you to the previous chart editor session if you were playtesting a chart (thanks nebulazorua!)
|
||||
- Fix a crash on Freeplay found on AMD graphics cards
|
||||
|
||||
## [0.3.2] - 2024-05-03
|
||||
### Added
|
||||
- Added `,` and `.` keybinds to the Chart Editor. These place Focus Camera events at the playhead, for the opponent and player respectively.
|
||||
- Implemented a blacklist to prevent mods from calling system functions.
|
||||
- Added a couple utility functions to call useful stuff that got blacklisted.
|
||||
- Added an `onSongLoad` script event which allows for mutation of notes and events.
|
||||
- Added the current loaded modlist to crash logs.
|
||||
- Added the `visible` attribute to Level JSON data.
|
||||
- Enabled ZIP file system support for Polymod (make sure the metadata is in the root of the ZIP).
|
||||
### Changed
|
||||
- Songs in the mod folders will display in Freeplay without any extra scripting.
|
||||
- Story levels in the mod folders will display in Story without any extra scripting.
|
||||
- All audio should sound better in HTML5, less muddy
|
||||
### Fixed
|
||||
- Fixed a typo in the credits folder (`Custcene` -> `Cutscene`)
|
||||
- Fixed an issue where health icon transition animations would loop and never finish properly.
|
||||
- Fixed an issue where video cutscenes flagged as mid-song would crash the game when they finish.
|
||||
- Fixed an issue where some substate lifecycle events were not being dispatched.
|
||||
- Fixed a crash when trying to load into the Animation Offsets menu with an invalid character.
|
||||
- Fixed an issue where the preloader would spam the logs when it was complete and waiting for user input.
|
||||
- Should definitely have the fix for freeplay where it stops taking control of the main menu below it
|
||||
- Changed the code for the story menu difficulties so that "normal" doesn't overlap the arrows after leaving Weekend 1
|
||||
### Removed
|
||||
- Removed some unused `.txt` files in the `assets/data` folder.
|
||||
|
||||
## [0.3.1] - 2024-05-01
|
||||
### Changed
|
||||
- Ensure the Git commit hash always displays in the log files.
|
||||
- Added whether the local Git repo was modified to the log files.
|
||||
- Removed "PROTOTYPE" text on release builds only (it still shows on debug builds).
|
||||
- Added additional credits and special thanks.
|
||||
- Updated peepo in creds to peepo173
|
||||
### Fixed
|
||||
- Fix a crash when retrieving system specs while handing a crash.
|
||||
- Fix a crash triggered when pausing before the song started.
|
||||
- Fix a crash triggered when dying before the song started.
|
||||
- Fix a crash triggered when unloading certain graphics.
|
||||
- Pico game over confirm plays correctly
|
||||
- When exiting from a song into freeplay, main menu no longer takes inputs unintentionally (aka issues with merch links opening up when selecting songs)
|
||||
- Fix for arrow keys causing web browser page scroll
|
||||
|
||||
## [0.3.0] - 2024-04-30
|
||||
### Added
|
||||
- New Story Level: Weekend 1, starting Pico, Darnell, and Nene.
|
||||
- Beat the level in Story Mode to unlock the songs for Freeplay!
|
||||
- 12 new Erect remixes, featuring Kawai Sprite, Saruky, Kohta Takahashi, and Saster
|
||||
- Unlocked instantly in Freeplay
|
||||
- New visually enhanced Freeplay menu.
|
||||
- Sorting, favorites, and more.
|
||||
- New Results screen upon completing any song or story level.
|
||||
- New refactored Chart Editor prototype (accessible via `~` in the main menu or `7` in the Play State, rebindable). (VERY EARLY PROTOTYPE. EXPECT BUGS AND CRASHES)
|
||||
- Implemented a new scripting system using HScript (an interpreted language with Haxe-like syntax) for incredible flexibility.
|
||||
- All character-specific, stage-specific, or song-specific behaviors have been moved to HScript.
|
||||
- New song events system allows for simple customization of camera behavior.
|
||||
- Mods can implement custom song events via HScript, and new built-in song events will come in the future.
|
||||
- New credits menu to list all the dozens of people who contributed.
|
||||
### Changed
|
||||
- Completely refactored the game's input system for higher reliability and accuracy.
|
||||
- Reworked note rendering to massively reduce lag on larger charts.
|
||||
- Reworks to scoring and health gain.
|
||||
- Dedicated gamepad support with the ability to rebind buttons.
|
||||
- Improvements to video cutscenes and dialogue, allowing them to be easily skipped or restarted.
|
||||
- Updated Polymod by several major versions, allowing for fully dynamic asset replacement and support for scripted classes.
|
||||
- Completely refactored almost every part of the game's code for performance, stability, and extensibility.
|
||||
- This is not the Ludem Dare game held together with sticks and glue you played three years ago.
|
||||
- Characters, stages, songs, story levels, and dialogue are now built from JSON data registries rather than being hardcoded.
|
||||
- All of these also support attaching scripts for custom behavior, more documentation on this soon.
|
||||
- You can forcibly reload the game's JSON data and scripts by pressing F5.
|
||||
- Fully refactored the game's chart file format for extensibility and readability.
|
||||
- You can migrate old charts using the Import FNF Legacy option in the chart editor.
|
||||
- Various visual tweaks and improvements.
|
||||
### Fixed
|
||||
- 17 quadrillion bugs across hundreds of PRs.
|
||||
|
||||
## [0.2.8] - 2021-04-18 (note, this one is iffy cuz we slacked wit it lol!)
|
||||
### Added
|
||||
- TANKMAN! 3 NEW SONGS BY KAWAISPRITE (UGH, GUNS, STRESS)! Charting help by MtH!
|
||||
- Monster added into week 2, FINALLY (Charting help by MtH and ChaoticGamer!)
|
||||
- Can now change song difficulty mid-game.
|
||||
- Shows some song info on pause screen.
|
||||
- Cute little icons onto freeplay menu
|
||||
- Offset files for easier modification of characters
|
||||
### Changed
|
||||
- ASSET LOADING OVERHAUL, WAY FASTER LOAD TIMES ON WEB!!! (THANKS TO GEOKURELI WOKE KING)
|
||||
- Made difficulty selector on freeplay menu more apparent
|
||||
### Fixed
|
||||
- That one random note on Bopeebo
|
||||
|
||||
## [0.2.7.1] - 2021-02-14
|
||||
### Added
|
||||
- Easter eggs
|
||||
- readme's in desktop versions of the game
|
||||
### Changed
|
||||
- New icons, old one was placeholder since October woops!
|
||||
- Made the transitions between the story mode levels more seamless.
|
||||
- Offset of the Newgrounds logo on boot screen.
|
||||
- Made the changelog txt so it can be opened easier by normal people who don't have a markdown reader (most normal people);
|
||||
### Fixed
|
||||
- Fixed crashes on Week 6 story mode dialogue if spam too fast ([Thanks to Lotusotho for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/357))
|
||||
- Should show intro credits on desktop versions of the game more consistently
|
||||
- Layering on Week 4 songs with GF and the LIMO LOL HOW TF I MISS THIS
|
||||
- Chart's and chart editor now support changeBPM, GOD BLESS MTH FOR THIS ONE I BEEN STRUGGLIN WIT THAT SINCE OCTOBER LMAO ([GOD BLESS MTH](https://github.com/ninjamuffin99/Funkin/pull/382))
|
||||
- Fixed sustain note trails ALSO THANKS TO MTH U A REAL ONE ([MTH VERY POWERFUL](https://github.com/ninjamuffin99/Funkin/pull/415))
|
||||
- Antialiasing on the skyscraper lights
|
||||
|
||||
## [0.2.7] - 2021-02-02
|
||||
### Added
|
||||
- PIXEL DAY UPDATE LOL 1 WEEK LATER
|
||||
- 3 New songs by Kawaisprite!
|
||||
- COOL CUTSCENES
|
||||
- WEEK 6 YOYOYOYOY
|
||||
- Swaggy pixel art by Moawling!
|
||||
### Changed
|
||||
- Made it so you lose sliiiightly more health when you miss a note.
|
||||
- Removed the default HaxeFlixel pause screen when the game window loses focus, can get screenshots of the game easier hehehe
|
||||
### Fixed
|
||||
- Idle animation bug with BF christmas and BF hair blow sprites ([Thanks to Injourn for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/237))
|
||||
|
||||
## [0.2.6] - 2021-01-20
|
||||
### Added
|
||||
- 3 NEW CHRISTMAS SONGS. 2 BY KAWAISPRITE, 1 BY BASSETFILMS!!!!! BF WITH DRIP! SANTA HANGIN OUT!
|
||||
- Enemy icons change when they you are winning a lot ([Thanks to pahaze for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/138))
|
||||
- Holding CTRL in charting editor places notes on both sides
|
||||
- Q and E changes sustain lengths in note editor
|
||||
- Other charting editor workflow improvements
|
||||
- More hair physics
|
||||
- Heads appear at top of chart editor to help show which side ur charting for
|
||||
### Changed
|
||||
- Tweaked code relating to inputs, hopefully making notes that are close together more fair to hit
|
||||
### Removed
|
||||
- Removed APE
|
||||
### Fixed
|
||||
- Maybe fixed double notes / jump notes. Need to tweak it for balance, but should open things up for cooler charts in the future.
|
||||
- Old Verison popup screen weirdness ([Thanks to gedehari for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/155))
|
||||
- Song no longer loops when finishing the song. ([Thanks Injourn for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/132))
|
||||
- Screen wipe being cut off in the limo/mom stage. Should fill the whole screen now.
|
||||
- Boyfriend animations on hold notes, and pressing on repeating notes should behave differently
|
||||
|
||||
## [0.2.5] - 2020-12-27
|
||||
### Added
|
||||
- MOMMY GF, 3 NEW ASS SONGS BY KAWAISPRITE, NEW ART BY PHANTOMARCADE,WOOOOOOAH!!!!
|
||||
- Different icons depending on which character you are against, art by EVILSK8R!!
|
||||
- Autosave to chart editor
|
||||
- Clear section button to note editor
|
||||
- Swap button in note editor
|
||||
- a new boot text or two
|
||||
- automatic check for when you're on an old version of the game!
|
||||
### Changed
|
||||
- Made Spookeez on Normal easier.
|
||||
- Mouse is now visible in note editor
|
||||
### Fixed
|
||||
- Crash when playing Week 3 and then playing a non-week 3 song
|
||||
- When pausing music at the start, it doesn't continue the song anyways. ([shoutouts gedehari for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/48))
|
||||
- IDK i think backing out of song menu should play main menu songs again hehe ([shoutouts gedehari for the Pull Request!](https://github.com/ninjamuffin99/Funkin/pull/48))
|
||||
|
||||
## [0.2.4] - 2020-12-11
|
||||
### Added
|
||||
- 3 NEW SONGS BY KAWAISPRITE. Pico, Philly, and Blammed.
|
||||
- NEW CHARACTER, PICO. Based off the classic Flash game "Pico's School" by Tom Fulp
|
||||
- NEW LEVEL WOW! PHILLY BABEEEE
|
||||
### Changed
|
||||
- Made it less punishing to ATTEMPT to hit a note and miss, rather than let it pass you
|
||||
### Fixed
|
||||
- Song desync of you paused and unpaused frequently ([shoutouts SonicBlam](https://github.com/ninjamuffin99/Funkin/issues/37))
|
||||
- Animation offsets when GF is scared
|
||||
|
||||
## [0.2.3] - 2020-12-04
|
||||
### Added
|
||||
- More intro texts
|
||||
### Fixed
|
||||
- Exploit where you could potentially give yourself a high score via the debug menu
|
||||
- Issue/bug where you could spam the confirm button on the story menu ([shoutouts lotusotho for the CODE contribution/pull request!](https://github.com/ninjamuffin99/Funkin/pull/19))
|
||||
- Glitch where if you never would lose health if you missed a note on a fast song (shoutouts [MrDulfin](https://github.com/ninjamuffin99/Funkin/issues/10), [HotSauceBurritos](https://github.com/ninjamuffin99/Funkin/issues/13) and [LobsterMango](https://lobstermango.newgrounds.com))
|
||||
- Fixed tiny note bleed over thingies (shoutouts [lotusotho](https://github.com/ninjamuffin99/Funkin/pull/24))
|
||||
|
||||
## [0.2.2] - 2020-11-20
|
||||
### Added
|
||||
- Music playing on the freeplay menu.
|
||||
- UI sounds on freeplay menu
|
||||
- Score now shows mid-song.
|
||||
- Menu on pause screen! Can resume, and restart song, or go back to main menu.
|
||||
- New music made for pause menu!
|
||||
|
||||
### Changed
|
||||
- Moved all the intro texts to its own txt file instead of being hardcoded, this allows for much easier customization. File is in the data folder, called "introText.txt", follow the format in there and you're probably good to go!
|
||||
### Fixed
|
||||
- Fixed soft lock when pausing on song finish ([shoutouts gedehari](https://github.com/ninjamuffin99/Funkin/issues/15))
|
||||
- Think I fixed issue that led to in-game scores being off by 2 ([shoutouts Mike](https://github.com/ninjamuffin99/Funkin/issues/4))
|
||||
- Should have fixed the 1 frame note appearance thing. ([shoutouts Mike](https://github.com/ninjamuffin99/Funkin/issues/6))
|
||||
- Cleaned up some charting on South on hard mode
|
||||
- Fixed some animation timings, should feel both better to play, and watch. (shoutouts Dave/Ivan lol)
|
||||
- Animation issue where GF would freak out on the title screen if you returned to it([shoutouts MultiXIII](https://github.com/ninjamuffin99/Funkin/issues/12)).
|
||||
|
||||
## [0.2.1.2] - 2020-11-06
|
||||
### Fixed
|
||||
- Story mode scores not properly resetting, leading to VERY inflated highscores on the leaderboards. This also requires me to clear the scores that are on the leaderboard right now, sorry!
|
||||
- Difficulty on storymode and in freeplay scores
|
||||
- Hard mode difficulty on campaign levels have been fixed
|
||||
|
||||
## [0.2.1.1] - 2020-11-06
|
||||
### Fixed
|
||||
- Week 2 not unlocking properly
|
||||
|
||||
## [0.2.1] - 2020-11-06
|
||||
### Added
|
||||
- Scores to the freeplay menu
|
||||
- A few new intro boot messages.
|
||||
- Lightning effect in Spooky stages
|
||||
- Campaign scores, can now compete on scoreboards for campaign!
|
||||
- Can now change difficulties in Freeplay mode
|
||||
|
||||
### Changed
|
||||
- Balanced out Normal mode for the harder songs(Dadbattle and Spookeez, not South yet). Should be much easier all around.
|
||||
- Put tutorial in it's own 'week', so that if you want to play week 1, you don't have to play the tutorial.
|
||||
|
||||
### Fixed
|
||||
- One of the charting bits on South and Spookeez during the intro.
|
||||
|
||||
## [0.2.0] - 2020-11-01
|
||||
### Added
|
||||
- Uhh Newgrounds release lolol I always lose track of shit.
|
||||
|
||||
## [0.1.0] - 2020-10-05
|
||||
### Added
|
||||
- Uh, everything. This the game's initial gamejam release. We put it out
|
||||
@@ -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.
|
||||
- Reconfigure `MethodLength`
|
||||
- Reconfigure `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 singleline objects are automatically expanded, and short multiline 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,212 +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-2024 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.
|
||||
@@ -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,48 +0,0 @@
|
||||
# Friday Night Funkin'
|
||||
|
||||
Friday Night Funkin' is a rhythm game. Built using HaxeFlixel for Ludum Dare 47.
|
||||
|
||||
This game was made with love to Newgrounds and its community. Extra love to Tom Fulp.
|
||||
|
||||
- [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)
|
||||
|
||||
# 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 check out our [building the game](/docs/COMPILING.md) guide.
|
||||
|
||||
# Contributing
|
||||
|
||||
Please check out our [Contributor's guide](./CONTRIBUTORS.md) on how you can actively participate in 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
|
||||
- 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>
|
||||
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 231 KiB |
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextureAtlas imagePath="lose.png">
|
||||
<!-- Created with Adobe Animate version 20.0.0.17400 -->
|
||||
<!-- http://www.adobe.com/products/animate.html -->
|
||||
<SubTexture name="lose... instance 10000" x="707" y="0" width="778" height="206" frameX="-21" frameY="-68" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10001" x="707" y="0" width="778" height="206" frameX="-21" frameY="-68" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10002" x="0" y="462" width="763" height="282" frameX="-24" frameY="-37" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10003" x="0" y="0" width="702" height="457" frameX="-48" frameY="0" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10004" x="707" y="211" width="783" height="199" frameX="0" frameY="-314" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10005" x="707" y="211" width="783" height="199" frameX="0" frameY="-314" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10006" x="0" y="946" width="782" height="172" frameX="0" frameY="-311" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10007" x="0" y="946" width="782" height="172" frameX="0" frameY="-311" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10008" x="787" y="970" width="782" height="170" frameX="0" frameY="-318" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10009" x="0" y="749" width="783" height="192" frameX="0" frameY="-315" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10010" x="0" y="749" width="783" height="192" frameX="0" frameY="-315" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10011" x="788" y="789" width="783" height="176" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10012" x="788" y="789" width="783" height="176" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10013" x="768" y="415" width="783" height="185" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10014" x="768" y="415" width="783" height="185" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10015" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10016" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10017" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10018" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10019" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10020" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10021" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10022" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10023" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10024" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10025" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
<SubTexture name="lose... instance 10026" x="788" y="605" width="783" height="179" frameX="0" frameY="-316" frameWidth="799" frameHeight="513"/>
|
||||
</TextureAtlas>
|
||||