Author SHA1 Message Date
Yoshman29 908d933fa7 goodbye lua branch, see you next year 2023-01-19 13:57:44 +01:00
Yoshman29 2fd60900c4 fuck 2023-01-18 13:44:17 +01:00
Yoshman29 0ea3eeda32 object oriented lua support test branch 2023-01-18 03:25:38 +01:00
1668 changed files with 347962 additions and 436749 deletions
-36
View File
@@ -1,36 +0,0 @@
# You need to run the following command in your repository:
#
# git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# afterwards, revisions specified in this file will be ignored in git blame
# any revision needs to be in a unabbreviated sha1 format
# see https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt for more information
# A good format to use is:
# # reason for ignoring the revisions
# <rev>
# Removed unused imports & reordered imports
d17ea72c74bbbadac0bb00e11868dddf6aebd346
# ScriptPack revert
8a2ac9e1d4e51e688cd2339bdccd6b39ed7d52a3
# Spaces to tabs
a63e5f5958ed0643fab92e9d5708a4c26e5238a1
# Removed useless indentation and more spaces to tabs
f8b20774e3f035eeddb9211a28a391b20db74456
# Revert a revert
75f6bec8294e5b783368cfd7ae6e45698c326cb3
4aa95838d7df9c307bcac6456e937081645a0f4a
# Revert a revert (note types use int)
17e177a69554f4d798f5acdd3799687dc9f01a93
008ad05bf1407d9772805ed69985cfbcde79e495
# Revert a revert (empty script)
392416e00cbd82e1c49e82a9fafdcf2e069a654e
159467de832a172681200c463d244a46e295c3c8
+1 -6
View File
@@ -7,9 +7,4 @@ pages/** linguist-vendored
# Include HScript files as Haxe
*.hxs linguist-language=Haxe
*.hsc linguist-language=Haxe
*.hscript linguist-language=Haxe
# Include Shader files as GLSL
*.frag linguist-language=GLSL
*.vert linguist-language=GLSL
*.glsl linguist-language=GLSL
*.hscript linguist-language=Haxe
-3
View File
@@ -1,3 +0,0 @@
# These are supported funding model platforms
ko_fi: codename_engine
+2 -2
View File
@@ -16,5 +16,5 @@ labels: compiling help
[ ] Mac
### Explain your issue
##### Please check first if your issue haven't already been reported yet, and make sure you ran the `update.bat` file before building.
[weed]: <> (MAKE SURE TO ADD A SCREENSHOT OF THE CRASH HANDLER, IF AVAILABLE, AND STEPS TO REPRODUCE THE BUG!)
##### Please check first if your issue haven't already been reported yet.
[weed]: <> (MAKE SURE TO ADD A SCREENSHOT OF THE CRASH HANDLER, IF AVAILABLE, AND STEPS TO REPRODUCE THE BUG!)
+10 -17
View File
@@ -2,12 +2,10 @@
name: Linux Build
on:
push:
workflow_dispatch:
jobs:
build:
name: Linux Build
permissions: write-all
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- name: Pulling the source
uses: actions/checkout@v2
@@ -26,27 +24,22 @@ jobs:
export/release/linux/obj/
restore-keys: |
cache-build-linux
- name: Installing LibVLC
run: |
sudo apt-get install libvlc-dev libvlccore-dev
- name: Installing/Updating libraries
run: |
haxe -cp commandline -D analyzer-optimize --run Main setup -s
haxe -cp ./update -D analyzer-optimize -main Update --interp
- name: Building the game
run: |
haxelib run lime build linux
# - name: Tar files
# run: tar -zcvf CodenameEngine.tar.gz -C export/release/linux/bin .
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v4
with:
name: Codename Engine (Executable Only)
path: export/release/linux/bin/CodenameEngine
- name: Uploading artifact (entire build)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: Codename Engine
path: export/release/linux/bin/
path: export/release/linux/bin
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v2
with:
name: Update-Linux
path: export/release/linux/bin/CodenameEngine
- name: Clearing already existing cache
uses: actions/github-script@v6
with:
@@ -76,4 +69,4 @@ jobs:
export/release/linux/haxe/
export/release/linux/obj/
restore-keys: |
cache-build-linux
cache-build-linux
+10 -14
View File
@@ -2,12 +2,10 @@
name: Mac OS Build
on:
push:
workflow_dispatch:
jobs:
build:
name: Mac OS Build
permissions: write-all
runs-on: macos-13
runs-on: macos-latest
steps:
- name: Pulling the new commit
uses: actions/checkout@v2
@@ -28,22 +26,20 @@ jobs:
cache-build-mac
- name: Installing/Updating libraries
run: |
haxe -cp commandline -D analyzer-optimize --run Main setup -s
haxe -cp ./update -D analyzer-optimize -main Update --interp
- name: Building the game
run: |
haxelib run lime build mac
- name: Tar files
run: tar -zcvf CodenameEngine.tar.gz -C export/release/macos/bin .
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v4
with:
name: Codename Engine (Executable Only)
path: export/release/macos/bin/CodenameEngine
- name: Uploading artifact (entire build)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: Codename Engine
path: CodenameEngine.tar.gz
path: export/release/macos/bin
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v2
with:
name: Update-Mac
path: export/release/macos/bin/CodenameEngine
- name: Clearing already existing cache
uses: actions/github-script@v6
with:
@@ -73,4 +69,4 @@ jobs:
export/release/macos/haxe/
export/release/macos/obj/
restore-keys: |
cache-build-mac
cache-build-mac
+8 -10
View File
@@ -2,11 +2,9 @@
name: Windows Build
on:
push:
workflow_dispatch:
jobs:
build:
name: Windows Build
permissions: write-all
runs-on: windows-latest
steps:
- name: Pulling the new commit
@@ -28,20 +26,20 @@ jobs:
cache-build-windows
- name: Installing/Updating libraries
run: |
haxe -cp commandline -D analyzer-optimize --run Main setup -s --no-vscheck
haxe -cp ./update -D analyzer-optimize -main Update --interp
- name: Building the game
run: |
haxelib run lime build windows
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v4
with:
name: Codename Engine (Executable Only)
path: export/release/windows/bin/CodenameEngine.exe
- name: Uploading artifact (entire build)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: Codename Engine
path: export/release/windows/bin
- name: Uploading artifact (executable)
uses: actions/upload-artifact@v2
with:
name: Update-Windows
path: export/release/windows/bin/CodenameEngine.exe
- name: Clearing already existing cache
uses: actions/github-script@v6
with:
@@ -71,4 +69,4 @@ jobs:
export/release/windows/haxe/
export/release/windows/obj/
restore-keys: |
cache-build-windows
cache-build-windows
+4 -13
View File
@@ -1,15 +1,6 @@
export/
dump/
latest/*
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
.haxelib/
pages/
docs/doc.xml
mods/*
addons/*
!mods/readme.txt
addons/*
!addons/readme.txt
dev-libs/
latest/windows/obj/
latest/windows/haxe/
.vscode/
.haxelib/
-10
View File
@@ -1,10 +0,0 @@
{
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"files.associations": {
"*.hx": "haxe",
"*.hscript": "haxe",
"*.hsc": "haxe",
"*.hxs": "haxe"
}
}
-32
View File
@@ -1,32 +0,0 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "lime",
"command": "test",
"problemMatcher": [
"$haxe-absolute",
"$haxe",
"$haxe-error",
"$haxe-trace"
],
"group": {
"kind": "build",
"isDefault": true
},
"label": "lime: test (active configuration)"
},
{
"type": "lime",
"command": "build",
"problemMatcher": [
"$haxe-absolute",
"$haxe",
"$haxe-error",
"$haxe-trace"
],
"group": "build",
"label": "lime: build (active configuration)"
}
]
}
-205
View File
@@ -1,205 +0,0 @@
# v0.4.0 - First (proper) beta release
This changelog lists every change that has been added since the last update (including public changes).
## Flags System
- Added a brand new flags system, which allows you to modify the game constants using a simple `flags.ini` file ([f8d1cf0](https://github.com/CodenameCrew/CodenameEngine/commit/f8d1cf08ad9f6cdda4e971a3d8adff6fce5130d2))
- Added the ability to change the way the mod songs/weeks are added into the menu ([cb1d6fc](https://github.com/CodenameCrew/CodenameEngine/commit/cb1d6fcacf4ad0e2888ed7e76d16a6f85c09b021))
- Added the ability to disable editors, transtions and beta warning state ([90a8c27](https://github.com/CodenameCrew/CodenameEngine/commit/90a8c2711ce36c9eaf85e705d551d46876991aa9))
- Added the ability to set the default Transition, Pause, Game Over scripts ([fd0c188](https://github.com/CodenameCrew/CodenameEngine/commit/fd0c188577cf58e34e8ed706e59903a989ee2d11))
- Added the ability to set the default glsl version ([cbbb598](https://github.com/CodenameCrew/CodenameEngine/commit/cbbb598f52b3f7c0f156cf72cd03e165aa38a4f1))
- Added the ability to set the urls that the engine uses for wiki, fallback, and itch.io ([cbbb598](https://github.com/CodenameCrew/CodenameEngine/commit/cbbb598f52b3f7c0f156cf72cd03e165aa38a4f1))
## Additions
- Added a function ``WindowUtils.resetAffixes()`` to reset the prefix and suffix of the engine's window title, and fixed a typo ([1d94945](https://github.com/CodenameCrew/CodenameEngine/commit/1d94945faeea86af02bcaecd715f5bea22ef48fd))
- Added a field `extra` to FunkinSprite, which can be used to store any extra data you want (e.g. sprite.extra.set("name", value)) ([fb48570](https://github.com/CodenameCrew/CodenameEngine/commit/fb485701b451d6a7a22a1e696bfc081699f1c6d2))
- Added default icon colors to every base game character ([814bd71](https://github.com/CodenameCrew/CodenameEngine/commit/814bd712fe2ea2dd21116e9903d9c2babe5341b1))
- Added more features to cne.bat/cne.sh: ([4ef43df](https://github.com/CodenameCrew/CodenameEngine/commit/4ef43dfbecc79283d038d939f94671966802039e), [0dc166c](https://github.com/CodenameCrew/CodenameEngine/commit/0dc166c601b25e3167a1d04542840265484576b4), [21bba98](https://github.com/CodenameCrew/CodenameEngine/commit/21bba98923307fe75667e1395781d068a7ec47ad))
- Setup
- `--reinstall` to reinstall all libraries
- `--no-vscheck` to skip the Visual Studio check
- `--silent` to not print the download progress
- libs file has conditionals now
- `--lib=path.xml` to use a specific setup file
- `--fast` for quickly downloading git libraries, but requires you to reinstall it fully when updates happen
- Alphabet now allows multiple lines in the text ([d519db0](https://github.com/CodenameCrew/CodenameEngine/commit/d519db011a14aac0ddfc052089836c6b445f7f44))
- Allow importing mod root level modules in hscript, instead of only source/ ([7e66ee8](https://github.com/CodenameCrew/CodenameEngine/commit/7e66ee81e24204cd152de20046fa1500bb9d204b))
- Added a way to force animations in the `Play Animation` event ([d7b6fbe](https://github.com/CodenameCrew/CodenameEngine/commit/d7b6fbe510edeb832112ab5adc8ab19dfe97d77f))
- Adde unused boyfriend animations ([be55696](https://github.com/CodenameCrew/CodenameEngine/commit/be55696bbefe537f06ad6550b039278ffcbcfb2f))
- Made it display the keybind for the mod menu in main menu ([1ac2e7f](https://github.com/CodenameCrew/CodenameEngine/commit/1ac2e7f53390a9e92aa2a1fea94d147ed50d3694))
- Made the FPS Counter move on all Tree Menus instead of only in options ([bf0a6a9](https://github.com/CodenameCrew/CodenameEngine/commit/bf0a6a9bbe48bc5eb6df56077b66ecac7cbbcedd))
- Improved the accuracy of the mall stage ([1fffb48](https://github.com/CodenameCrew/CodenameEngine/commit/1fffb487197c619bb8bae08c736ce868b5eb4df8))
- Made the xml order consistent ([2f917fd](https://github.com/CodenameCrew/CodenameEngine/commit/2f917fd7c00ba4f80d85d2908781b806c77d8ce9))
- Fixed issues with flipping the character in the editor ([2f917fd](https://github.com/CodenameCrew/CodenameEngine/commit/2f917fd7c00ba4f80d85d2908781b806c77d8ce9))
- Added a toggle to turn off icon bopping `doIconBop` ([7b5d975](https://github.com/CodenameCrew/CodenameEngine/commit/7b5d975072690071824d21034485bf47c4396e8c))
- Allow changing the camera zoom lerp speed `camGameZoomLerp` and `camHUDZoomLerp` ([d79959d](https://github.com/CodenameCrew/CodenameEngine/commit/d79959d0504562b952d04d5e3898847fcf45f0a6))
- Added a system to easily set file attributes + Crash fix ([8d0a384](https://github.com/CodenameCrew/CodenameEngine/commit/8d0a38419de5ac4cccb5f08c47ea0acc3c6ded85), [a6c5b4d](https://github.com/CodenameCrew/CodenameEngine/commit/a6c5b4d6e81d1c5d2012388e69a906b7287599b3), [6715e2b](https://github.com/CodenameCrew/CodenameEngine/commit/6715e2b1ccec52ef82be92362a90e18a1b2ad7da))
- Made a build info print when building ([6075da5](https://github.com/CodenameCrew/CodenameEngine/commit/6075da522077adba28154aba50ba1e07911ebe4f))
- Made action builds use tar.gz for mac and linux ([d4a7d7e](https://github.com/CodenameCrew/CodenameEngine/commit/d4a7d7eac4dec7361aa778d97b6a2771c7b92295))
- Made building have a progress bar ([ad52d5a](https://github.com/CodenameCrew/CodenameEngine/commit/ad52d5ac00918fea416c2add1ccffad389e22e85))
- Added `onSplashShown` event ([82d50e5](https://github.com/CodenameCrew/CodenameEngine/commit/82d50e50c8416e377abcd3d5276f2e69023e90f3))
- Added `Character` and `Stage` event parameter types ([363f828](https://github.com/CodenameCrew/CodenameEngine/commit/363f82860d302032f39d6b352ce95937b86719ab))
- Added `bg` and `versionText`, and `forceCenterX` fields in funkin.menus.MainMenuState ([a3d9ddb](https://github.com/CodenameCrew/CodenameEngine/commit/a3d9ddb74e3e3fd1819ab41511f41c651c493ec6))
- [Hscript] Actually use classes in tankmenRun.hx ([15e8e46](https://github.com/CodenameCrew/CodenameEngine/commit/15e8e4696123429ac00df74f7afb7e38349c7fc0))
- Pass `shaderEnabled` and `colorTransform` to FlxAnimate ([9245078](https://github.com/CodenameCrew/CodenameEngine/commit/92450785f5be601d6e2e13b95fd46e87a3c240a8))
- Added color support for credits, plus store the credits in a variable ([abb8449](https://github.com/CodenameCrew/CodenameEngine/commit/abb8449ca2782e748ae2a5fb4cfc6a7e3aeb5457))
- Added number ranges `1..3,5,7..9,8..5` => `[1,2,3,5,7,8,9,8,7,6,5]` for use in indices ([1b55bef](https://github.com/CodenameCrew/CodenameEngine/commit/1b55beffe906404d8cb39ad63f6fc6b446557e1c))
- Added support for `-loop` suffix animations ([24a65a4](https://github.com/CodenameCrew/CodenameEngine/commit/24a65a4a8ad1c1fd1f6fd989f94c901b93a8b07b))
- Credits Main Menu Button instead of Donate button ([166c5f4](https://github.com/CodenameCrew/CodenameEngine/commit/166c5f44110965216ec6c58c7bb531a9fe9db86f))
- Added customizable sound trays ([49db1a0](https://github.com/CodenameCrew/CodenameEngine/commit/49db1a089a83cb3db05d430f97be4797f380ba8f))
- Allow for week colors in the story menu + a lot more ([49db1a0](https://github.com/CodenameCrew/CodenameEngine/commit/49db1a089a83cb3db05d430f97be4797f380ba8f))
- Added `funkin.vis` (custom fork) and `grig.audio` for audio visualization ([173c48c](https://github.com/CodenameCrew/CodenameEngine/commit/173c48c7b54b85ddc9a550e7767f22515a87279b))
- Added passable data to ModStates and ModSubStates ([e749a0e](https://github.com/CodenameCrew/CodenameEngine/commit/e749a0e7e32c336b4e3b5f32a8a09be2cfb8693e))
- Imports in shaders + scriptable shaders ([a6697a8](https://github.com/CodenameCrew/CodenameEngine/commit/a6697a837c88ed38f4675d6bd63114b20dd592dc))
- FNF Modern Parser wip ([47e60b6](https://github.com/CodenameCrew/CodenameEngine/commit/47e60b66f5d2d94491cec8489655236d21619abb))
- Allow using custom extensions in `Paths` ([4b783a9](https://github.com/CodenameCrew/CodenameEngine/commit/4b783a983e9717993c28a67bb00cad21ae2f45fa))
- Made the dropdown event parameter allow nested arrays and arrays ([ec4515f](https://github.com/CodenameCrew/CodenameEngine/commit/ec4515f4e21ea356fd298033100107d69c684a81))
- Optimized StringTools.trim() code ([e51439b](https://github.com/CodenameCrew/CodenameEngine/commit/e51439b53e808a92e06afabaa2d48433b31117dc))
- Added Stage Script Extensions ([15a18bb](https://github.com/CodenameCrew/CodenameEngine/commit/15a18bb3daf21c920266afee968e55e0325458ab), [bb58e08](https://github.com/CodenameCrew/CodenameEngine/commit/bb58e08c29a30a93e858b1d6c6bdcd0183b8021f), [d6ebd27](https://github.com/CodenameCrew/CodenameEngine/commit/d6ebd27b43924aef4d1c7ca25d299ed51f07f112))
- Added a way to open the wiki from the engine ([d5740b4](https://github.com/CodenameCrew/CodenameEngine/commit/d5740b4e243909d95f34d528cf277dd71bb4d2dc))
- Made the selected mod show as green in the mods menu ([33a5009](https://github.com/CodenameCrew/CodenameEngine/commit/33a50092acfe4b12bd78bdde81766735291c6ef0))
- Added `getAnim` and `isAnimAtEnd` to `FunkinSprite` ([2c52720](https://github.com/CodenameCrew/CodenameEngine/commit/2c52720244a6b30a166d601185bf589ad12a0a15))
- Added `bf` shorthand for `boyfriend` in playstate ([2b81220](https://github.com/CodenameCrew/CodenameEngine/commit/2b81220c15ed77acecd17c09a975ed401677165f))
- Added character script extensions ([682358c](https://github.com/CodenameCrew/CodenameEngine/commit/682358c93a0c17469d1a481de0523e4c4e19c6ec))
- Folder support in the character editor selection ([68c2fea](https://github.com/CodenameCrew/CodenameEngine/commit/68c2feab373db69d4a00b6f274f98afb3d8e3803))
- Allow hold notes to be force deleted ([25b5630](https://github.com/CodenameCrew/CodenameEngine/commit/25b563066fc53ac92ebe3064175c80b5f1ae64bc))
- Allow tweening shaders and array values using FlxTween ([3de3c3f](https://github.com/CodenameCrew/CodenameEngine/commit/3de3c3f8286b2b07c9690334e2d85ce052a909c5))
- Made the advanced info show `Mod State: {name}` instead of `State: funkin.backend.scripting.ModState` ([3de3c3f](https://github.com/CodenameCrew/CodenameEngine/commit/3de3c3f8286b2b07c9690334e2d85ce052a909c5))
- Made it possible to individually hide the rating and combo ([5ea2f57](https://github.com/CodenameCrew/CodenameEngine/commit/5ea2f57e25f513a70ed7fa9c7ecc2cdeb7112665))
- Made the combo text be hidden by default ([5ea2f57](https://github.com/CodenameCrew/CodenameEngine/commit/5ea2f57e25f513a70ed7fa9c7ecc2cdeb7112665))
- More scritping for the dialogues ([b1b1663](https://github.com/CodenameCrew/CodenameEngine/commit/b1b1663f5c3f06c88bfd6ed4c455ff03cc192d39))
- Parse the error log for shaders and display it in a readable way ([200d8e3](https://github.com/CodenameCrew/CodenameEngine/commit/200d8e39509c783d78bf6b90d301e09d0defbc79))
- Added import redirects for hscript ([1713e87](https://github.com/CodenameCrew/CodenameEngine/commit/1713e8700dd7dd3c62c625de11c231957bc48886))
- Allow scrolling in the pause, mod, story, mod, main menus ([f671055](https://github.com/CodenameCrew/CodenameEngine/commit/f6710550c8805f1a1c987723faa77b884243d002))
- Allow setting the window border color and title color on windows ([454bb73](https://github.com/CodenameCrew/CodenameEngine/commit/454bb735719a13a444ad9cfafa20d25266e8f799))
- Added keybinds for some charter buttons ([32a0eda](https://github.com/CodenameCrew/CodenameEngine/commit/32a0eda1b03eefeab62ccddb734282cbc747a394))
- Added more info about the latest commit in GitCommitMacro ([96b9851](https://github.com/CodenameCrew/CodenameEngine/commit/96b98513b322003058dff06b6d23c11b92e02840))
- Support Psych Chart v1.0 Format ([eada310](https://github.com/CodenameCrew/CodenameEngine/commit/eada3105a471034250aa4b385f3e49d8c801567d))
- Added FunkinSprite.addAnim + consistent names for FunkinSprite ([f6deda2](https://github.com/CodenameCrew/CodenameEngine/commit/f6deda2c84984202effdfc5f6b577c2d956aa7b5))
- Added flipX and flipY to xml sprites ([6e2877c](https://github.com/CodenameCrew/CodenameEngine/commit/6e2877c2a9dc2d6de1ef793d35b6746f766d86b5))
- Custom Transitions using scripting ([e2a3951](https://github.com/CodenameCrew/CodenameEngine/commit/e2a39517025e38832d24ce999be872963a19d105))
- Added documentation for a lot of classes ([a6c9975](https://github.com/CodenameCrew/CodenameEngine/commit/a6c99754fd1bfe56db61b82b9749f073a1a0a170), [aec73ab](https://github.com/CodenameCrew/CodenameEngine/commit/aec73ab2b65ab8b2bfc18a3bb1393623da497913))
- Added `SortedArrayUtil.removeSorted` ([a6c9975](https://github.com/CodenameCrew/CodenameEngine/commit/a6c99754fd1bfe56db61b82b9749f073a1a0a170))
- Added blend mode support for FlxAnimate ([17cc888](https://github.com/CodenameCrew/CodenameEngine/commit/17cc888e61cb6dc55de0b285f533002c1ac05f4a), [76c07ce](https://github.com/CodenameCrew/CodenameEngine/commit/76c07cef30bda2e3718f2220cd3931e3fdc7ca75))
- Allow for BPM Changes with decimals ([2557fc4](https://github.com/CodenameCrew/CodenameEngine/commit/2557fc4fb373ec09eee9b19642fb36bee909c72d))
- Added NoteSkin, Dialogue, Alphabet editor icons ([16672e9](https://github.com/CodenameCrew/CodenameEngine/commit/16672e9f597fd4e621d7ee2c000ba559d3837662))
- Added verbose mode for the log that can be enabled using `--verbose` ([a061284](https://github.com/CodenameCrew/CodenameEngine/commit/a06128472c3f0315a91110dd9882bfce75ad8999))
- The Memory Info now shows more types of memory on windows ([38f6e86](https://github.com/CodenameCrew/CodenameEngine/commit/38f6e8676c36130a1a071e90ee1888244f8a405c))
- Async video loading, bugfixes, pausing cutscenes, some playstate events now also get called in characters ([8e81d17](https://github.com/CodenameCrew/CodenameEngine/commit/8e81d17fb0cc9c69bc117ebfa9b901ec44e5a985))
- Improved readability of the events macro ([47cf72d](https://github.com/CodenameCrew/CodenameEngine/commit/47cf72d53b985bcc818286a90fdbbaa92f4a9396))
- Changed how editor icons are stored ([16672e9](https://github.com/CodenameCrew/CodenameEngine/commit/16672e9f597fd4e621d7ee2c000ba559d3837662), [18ea916](https://github.com/CodenameCrew/CodenameEngine/commit/18ea916f1af4c03db765ba55841acc13d7108766))
- Changed `WindowUtils.winTitle` to `WindowUtils.title` ([a6c9975](https://github.com/CodenameCrew/CodenameEngine/commit/a6c99754fd1bfe56db61b82b9749f073a1a0a170))
- Added property parsing and cloning property values ([503ff87](https://github.com/CodenameCrew/CodenameEngine/commit/503ff87ab3f6ccd4b0ab74e2403a29fff70cc1e1))
- Added syncing booleans between strums and notes ([1af6931](https://github.com/CodenameCrew/CodenameEngine/commit/1af69313bb30a1d8faf91bc34b29c319290e0ea5))
- Added ``onReturnToMenu`` event in GameOverSubstate ([cda9311](https://github.com/CodenameCrew/CodenameEngine/commit/cda9311a905a8b9d226f14b8f1e3430f54e70ee5))
## Removals
- Removed `isGF` ([2f917fd](https://github.com/CodenameCrew/CodenameEngine/commit/2f917fd7c00ba4f80d85d2908781b806c77d8ce9))
- Removed the `TITLESCREEN_XML` define because it made the code a lot more complicated ([2f63f8a](https://github.com/CodenameCrew/CodenameEngine/commit/2f63f8ac41f22c3ae33ad22ea497cb392af92291))
- Removed the default example files since they are now on the website ([aae4dee](https://github.com/CodenameCrew/CodenameEngine/commit/aae4dee6cb6aa04ddd72b663f89901253b5e4015))
- Removed the Haxe 4.3.0 warning ([5a8af43](https://github.com/CodenameCrew/CodenameEngine/commit/5a8af4301737b90b28500cb0409d77e51ae1e592))
## Bugfixes
- Fixed min and max on event params TFloat not being floats ([97a486f](https://github.com/CodenameCrew/CodenameEngine/commit/97a486f03e076a2f1a0cbfcfb1f86dac2375edb4))
- Fixed issues related to paused cameras ([0c06bf7](https://github.com/CodenameCrew/CodenameEngine/commit/0c06bf73b3dda26586285689c09d7b9757eaee39), [c38039c](https://github.com/CodenameCrew/CodenameEngine/commit/c38039c085ace56ed3dde4378ccf0701e1508e1b))
- Fixed FPS counter breaking when changing timescale. ([0a1517d](https://github.com/CodenameCrew/CodenameEngine/commit/0a1517df6bb5374ab64f1149df856ae8e4d797c7))
- Fixed week highscores not being saved correctly ([6021bd3](https://github.com/CodenameCrew/CodenameEngine/commit/6021bd36dc9e00edb646089e5d1e26a20765fc1e))
- Fixed CoolUtil.openURL not working on Linux ([16fa304](https://github.com/CodenameCrew/CodenameEngine/commit/16fa3046e2ad69164e7ee2c0ef0826884a54dbe2))
- Fixed CoolUtil.openURL not working on NixOs ([796d585](https://github.com/CodenameCrew/CodenameEngine/commit/796d585f9c4aeab96490f2554dd3038fef464384))
- Fixed loop animations not supporting flxanimate ([2f552ae](https://github.com/CodenameCrew/CodenameEngine/commit/2f552ae519fdc54c735332d51934b9e4fb4e5446))
- Fixed casesensitive issues when using Zip mods ([ecae996](https://github.com/CodenameCrew/CodenameEngine/commit/ecae996cc2001c4cdf05da21afdbd4efa56b7774))
- Fixed issues with alphabet sprite ([2d7a87f](https://github.com/CodenameCrew/CodenameEngine/commit/2d7a87f9dad540889eb29071122831bc3dad9a44))
- Fixed FNF Legacy Parser not handling mustHitSection ([31f9dd1](https://github.com/CodenameCrew/CodenameEngine/commit/31f9dd1aa55f8245fd742fcdfa3dd7913a798ecf))
- Made `Alt Anim Note` and `No Anim Note` work on misses too ([b682bcf](https://github.com/CodenameCrew/CodenameEngine/commit/b682bcfb0b610ead51dbfe8805080d6b7b4a4ebf))
- Improved sing animation code to reduce the amount of errors ([f259d62](https://github.com/CodenameCrew/CodenameEngine/commit/f259d626cfec591ef04c00429b37df16fb7f9857))
- Fixed some issues with the character editor related to offsets ([ce19a63](https://github.com/CodenameCrew/CodenameEngine/commit/ce19a63225df3eba0135959f14e83ec4731b602f))
- Made character scripts be destroyed ([1e8149e](https://github.com/CodenameCrew/CodenameEngine/commit/1e8149e0944dcab31d6196ba47e681da4e69d52d))
- Fixed bug with autoplay that happened due to threading ([6aaa9e1](https://github.com/CodenameCrew/CodenameEngine/commit/6aaa9e1421230ef10eced39890fce4720ce09eac))
- Fixed bug with the death counter not incrementing ([3ee946f](https://github.com/CodenameCrew/CodenameEngine/commit/3ee946fe031f8986fde2d354b0fc48102d11d7de))
- Fixed videos not showing up ([c294c70](https://github.com/CodenameCrew/CodenameEngine/commit/c294c708170f528985933965f3320521dcbf1c5e))
- Prevent the framerate counters from being selectable except when in advanced ([d9968a8](https://github.com/CodenameCrew/CodenameEngine/commit/d9968a8a87bb23957bb3e963e6e3a53c1b55b0d9), [e2c79be](https://github.com/CodenameCrew/CodenameEngine/commit/e2c79bea7d2125e3ad26f671c500d245d3e77cd9))
- Forced xml animation attribute now works correctly ([ae5fc55](https://github.com/CodenameCrew/CodenameEngine/commit/ae5fc555a815cf5c8d9081bc84c477e2e3a91195), [680cb97](https://github.com/CodenameCrew/CodenameEngine/commit/680cb973a1af367926a3562014970c5dd9331318), [809f1f2](https://github.com/CodenameCrew/CodenameEngine/commit/809f1f2840b085ad50b4ac89895607a7fcc16152), [dd4e896](https://github.com/CodenameCrew/CodenameEngine/commit/dd4e8962d85bc9c65923418b576d622bdaf01bbc))
- Fixed some issues with the editor blur not working on GL ES ([dec2a12](https://github.com/CodenameCrew/CodenameEngine/commit/dec2a126390faa60f3b458bfdaff312eb9ea355b))
- Fixed limbs not being able to be rotated in spritemap for flxanimate ([90c5802](https://github.com/CodenameCrew/CodenameEngine/commit/90c5802057cad59362f6e6a4254477bebf48b7af))
- Fixed notes disappearing early when exiting songs ([d8005a3](https://github.com/CodenameCrew/CodenameEngine/commit/d8005a316648e0d219110c000cf1c124c0e0c786))
- Made it easier to apply flixel effects in shaders ([53c7746](https://github.com/CodenameCrew/CodenameEngine/commit/53c77466f5a09ce89913f38aec1859bd44dfb10a))
- Fixed the volume on CoolUtil.playMusic not being a float ([36bb272](https://github.com/CodenameCrew/CodenameEngine/commit/36bb272ab401b83724863c1779780fa44da5e6d2))
- UI Debug State is hidden in release ([71160f1](https://github.com/CodenameCrew/CodenameEngine/commit/71160f188e0abab627308547ccbf75eecd24a2fd))
- Fixed so fast cars in the limo stage now work, and optimized the limo stage ([0b22165](https://github.com/CodenameCrew/CodenameEngine/commit/0b22165408c0b831e6bdc8512182851583b1c94b))
- Allowed using introLength = 0 in scripts ([620650b](https://github.com/CodenameCrew/CodenameEngine/commit/620650bb81d0e314228ff863cd0edd15af37efe1))
- Fixed not being able to use custom fonts in dialogues ([a886060](https://github.com/CodenameCrew/CodenameEngine/commit/a8860604e8a6d14d2781dda94bf14387e18c58e7))
- Window title is now reset when the mod is changed ([2be2c68](https://github.com/CodenameCrew/CodenameEngine/commit/2be2c68c9b9268df7c7f9dc0a445f8890ce98992))
- Fix the options not returning to the playstate if playstate opened the settings ([722278f](https://github.com/CodenameCrew/CodenameEngine/commit/722278fdd2f7b4601d8aaaed988e4a44317304ff))
- Fixed the health icon health state being broken ([08179b1](https://github.com/CodenameCrew/CodenameEngine/commit/08179b124dc1f09f21df3b827565cce4c9b56a77))
- Fix dialogueLine next sound not getting from `assets/sounds` ([cb54e5e](https://github.com/CodenameCrew/CodenameEngine/commit/cb54e5e1c56fd5914d868f0059c60948e2bff48d))
- Fixed not being able to modify the main menu choice using scripts ([2ee70ca](https://github.com/CodenameCrew/CodenameEngine/commit/2ee70caf22f54353fca62703a370493ffaf57c2b))
- Fixed not being able to modift the week choice using scripts ([0261223](https://github.com/CodenameCrew/CodenameEngine/commit/02612239e814aa4821b807670e22fcbee4aa4ff9))
- Fixed engine hanging on sudo password prompt ([da3fd5e](https://github.com/CodenameCrew/CodenameEngine/commit/da3fd5e0ddc729c3af413d305d139a23e08a6074))
- Fixed the default difficulty not being set to the middle of the difficulty list ([04e1763](https://github.com/CodenameCrew/CodenameEngine/commit/04e1763d259ed11871ef445a7d7cd7ffa41818d3))
- Fixed the alpha for the week sprites ([04e1763](https://github.com/CodenameCrew/CodenameEngine/commit/04e1763d259ed11871ef445a7d7cd7ffa41818d3))
- Fixed the documentation for the trail cache ([2d9c771](https://github.com/CodenameCrew/CodenameEngine/commit/2d9c7716240099dc23d777c0e5418ccaff258f96))
- If on source assets: Paths.getAssetsRoot() now returns the path to the source assets ([1aacf14](https://github.com/CodenameCrew/CodenameEngine/commit/1aacf14c6b3a6f5261f0b7ce2d1a6d6814f633d7))
- Fixed character offsets to be more visually pleasing ([9d51b9d](https://github.com/CodenameCrew/CodenameEngine/commit/9d51b9db8fdd7f031d88e78d3621ebf52870a2a9))
- Fix some issues with incorrect types ([17301f6](https://github.com/CodenameCrew/CodenameEngine/commit/17301f6951432357e08c201c37f270522c82d36e))
- Fixed not being able to have cutscenes on a video thats longer than 25 days ([1713e87](https://github.com/CodenameCrew/CodenameEngine/commit/1713e8700dd7dd3c62c625de11c231957bc48886))
- Fixed split vocals not pausing when pausing in editor ([4bf58ae](https://github.com/CodenameCrew/CodenameEngine/commit/4bf58aeda5b66a6b4a9a2cfa5f2e1536d8c95bad))
- Fixed bug with coop opponent mode ([4295d42](https://github.com/CodenameCrew/CodenameEngine/commit/4295d424941537d5a36dad4f8ae3526910d1f25e))
- Fixed the hscript errors having incorrect line numbers ([a2a12f1](https://github.com/CodenameCrew/CodenameEngine/commit/a2a12f121ec388703f003f53dd4be689402099cd))
- Fixed reloading a uistate that has custom script name ([83cf69b](https://github.com/CodenameCrew/CodenameEngine/commit/83cf69b4777d581d816cc0d1f4cf3c8f22254ff2))
- Fixed typos across the entire engine ([d6dc3ea](https://github.com/CodenameCrew/CodenameEngine/commit/d6dc3ea232369e2b7b3d59024655a4d15fd4b027))
- Fixed negative sustain lengths breaking the chart editor ([0040d93](https://github.com/CodenameCrew/CodenameEngine/commit/0040d93950d89f20acc09ae43fb9c248d8028748))
- Fixed pasting and added copying in `UITextBox` ([c4abac4](https://github.com/CodenameCrew/CodenameEngine/commit/c4abac4ba1ef0692325a736f1123a511965368a6))
- Made the Freeplay Autoplay change the bpm ([f90782d](https://github.com/CodenameCrew/CodenameEngine/commit/f90782d7123970215324ace99c55584ad78ca028))
- Prevent accidental mouse inputs when pressing on the unfocused window ([300f38d](https://github.com/CodenameCrew/CodenameEngine/commit/300f38d290bb8c31a5c1e67afdf981c644b27f8a))
- Fixed notes not being destroyed when the strumline is destroyed ([1f224be](https://github.com/CodenameCrew/CodenameEngine/commit/1f224bef228c496d789aeed1f44c6517668107a9))
- Fixed the credits and options menu backgorunds not being animated if the background is animated ([1facc82](https://github.com/CodenameCrew/CodenameEngine/commit/1facc82073b9a06b861d1987a162f8aecbec46f1))
- Fixed duplicated line messages in the log ([1aa1364](https://github.com/CodenameCrew/CodenameEngine/commit/1aa136469d1ecadb4e9c49c04d6d6287d4b39884))
- Selection fixes in Editors ([0102cbb](https://github.com/CodenameCrew/CodenameEngine/commit/0102cbbdb6812f315697f6e389760ce948ff1993), [accc197](https://github.com/CodenameCrew/CodenameEngine/commit/accc197407c86a6fe9aaf1c557c93148674879ff))
- Fixed Hscript Call event not calling public and static functions (also can now call character scripts) ([650c0f4](https://github.com/CodenameCrew/CodenameEngine/commit/650c0f4aed546ff80a0a590365b59427e4e45db6))
- Made some menus remember the current selected item ([d36f4fa](https://github.com/CodenameCrew/CodenameEngine-Dev/commit/d36f4fa48430ac73d7f2c8701894283041898ce6), [6bed0a7](https://github.com/CodenameCrew/CodenameEngine-Dev/commit/6bed0a789f2b809dc6311c8227c8307c0f2fe522))
## Crash fixes
- Fixed missing null check in Paths.getFrames() ([ea52e25](https://github.com/CodenameCrew/CodenameEngine/commit/ea52e25251089eed0edc92ef237b93916919e73d))
- Fixed crash in charter regarding Voices missing ([b2c4cc3](https://github.com/CodenameCrew/CodenameEngine/commit/b2c4cc3777e634e76c83f477661156fee464e690))
- Fixed crash if custom camera wasnt set in pause menu ([b79dbe4](https://github.com/CodenameCrew/CodenameEngine/commit/b79dbe4a74516c2ba8e43dff6bd236d377fd25f5))
- Fixed waveform crashes ([64923a3](https://github.com/CodenameCrew/CodenameEngine/commit/64923a3e07317fc36db9e539b546c72d64275653))
- Fixed null reference in PlayState ([6c34dbf](https://github.com/CodenameCrew/CodenameEngine/commit/6c34dbf6207b9ef17f9d551b637f151aade4f4e3))
- Fixed crash that happens when using a assets/ path in a event pack ([0afbbbf](https://github.com/CodenameCrew/CodenameEngine/commit/0afbbbf625b128496e973b4f7922a187339330ef))
- Fixed crash when skipping a transition ([e2a3951](https://github.com/CodenameCrew/CodenameEngine/commit/e2a39517025e38832d24ce999be872963a19d105))
- Fixed crash when there are no mods folder ([7488485](https://github.com/CodenameCrew/CodenameEngine/commit/74884854ea2caceeef17edbffcb07cd8898d466e))
## Typo fixes
- Fixed typos in funkin.game.StrumLine ([71b7daa](https://github.com/CodenameCrew/CodenameEngine/commit/71b7daabbfc742212f2b35d27b5655561504bf3a))
- Fixed documentation typos ([165338f](https://github.com/CodenameCrew/CodenameEngine/commit/165338f36c1e394b377ed87c2df6306676cfb4c7))
## Optimizations + Cleanup
- Various optimizations and cleanup ([7b279bf](https://github.com/CodenameCrew/CodenameEngine/commit/7b279bfed0dea7b9d49fa7272fbb16d7ecdd4349), [8174fef](https://github.com/CodenameCrew/CodenameEngine/commit/8174fef53db028e5808239f87566a84d6467d9fd))
- Small ram improvements
- Asset optimizations ([3ce7561](https://github.com/CodenameCrew/CodenameEngine/commit/3ce7561f560757f627144041bfdd3cde701eb5c2))
- Optimized internal shader code ([ddd4be8](https://github.com/CodenameCrew/CodenameEngine/commit/ddd4be87554463adcbcf8559f03eb3aa38b95d6c))
- Optimize the angle code ([120127b](https://github.com/CodenameCrew/CodenameEngine/commit/120127b10c2f7138955df07412c3e114cb610b0e))
- Optimize the entire engine by using rewriting the casts ([2bfc58c](https://github.com/CodenameCrew/CodenameEngine/commit/2bfc58ccb0851ca498173dc6b253073000895d73))
- Optimize the startsWith and endsWith functions on C++ ([73e6832](https://github.com/CodenameCrew/CodenameEngine/commit/73e6832ad3d65b2983d5683d6283ee2bc0150737))
- Ram optimizations ([85b50c7](https://github.com/CodenameCrew/CodenameEngine/commit/85b50c7ccee88000ada26ae73391ab8693c5d5de))
- Optimized the fast editor blur shader ([99fb9b4](https://github.com/CodenameCrew/CodenameEngine/commit/99fb9b48e5e7e9a709ae6e9d812a413bc50ed05b))
- Optimize senpai sprites ([9d51b9d](https://github.com/CodenameCrew/CodenameEngine/commit/9d51b9db8fdd7f031d88e78d3621ebf52870a2a9))
- Added optimizations for the entire engine ([669645e](https://github.com/CodenameCrew/CodenameEngine/commit/669645ed47fa6f12ab3d507f0bd3acea24ab08f7))
- Optimizations for the editors and PlayState notes ([f54c485](https://github.com/CodenameCrew/CodenameEngine/commit/f54c485d0c7cec1799a0a1a7921e2ff16ed35028))
- Cleanup Save macro ([85b50c7](https://github.com/CodenameCrew/CodenameEngine/commit/85b50c7ccee88000ada26ae73391ab8693c5d5de))
- Cleaned up the controls code ([c3580cf](https://github.com/CodenameCrew/CodenameEngine/commit/c3580cf1413f90386dd52763042e11b20d21ce2d), [c1123b9](https://github.com/CodenameCrew/CodenameEngine/commit/c1123b9e3c3c1887888744e0c62827231abc48be))
- Cleaned up unused variables in TitleState ([2779ef3](https://github.com/CodenameCrew/CodenameEngine/commit/2779ef3314471558e371b3ec2f17f8d4df48943a))
- Restructured the events folder ([77b7eeb](https://github.com/CodenameCrew/CodenameEngine/commit/77b7eebed1ea077516ff884902528c0ff3d01872))
- Reduced the amount of data thats stored for the Github Contributors savefile ([2abc45a](https://github.com/CodenameCrew/CodenameEngine/commit/2abc45a9e416a1c5dd2bd0a5297c664e60c6f1d8))
## Unsorted list
- @NexIsDumb Please document this i still dont understand it ([d31454c](https://github.com/CodenameCrew/CodenameEngine/commit/d31454c7ddf4cbf6a681cc8b32cd3f9480f8eacd))
-82
View File
@@ -1,82 +0,0 @@
# Codename Engine features
This markdown file contains every single feature Codename has, separated into multiple categories. List may be incomplete.
_**QOL = Quality of Life**_
<details>
<summary><h2>Player QOL Features</h2></summary>
- New input system
- New accuracy and misses system, added to fix the base game UI.
- New options, including:
- Controls rebinds (for P1 and P2)
- Downscroll
- Ghost Tapping
- Opponent & Co-op modes
- Memory optimization (most of the game runs < 500mb)
- Usage of [flxanimate](https://github.com/Dot-Stuff/flxanimate) on big sprites, such as Girlfriend to save memory.
- You can further optimize it on certain stages by enabling `Low Memory Mode` in `Options > Appearance`.
- New volume change SFX (no more loud flixel beep, customizable)
- New FPS counter allowing you to see advanced info by pressing F3 (infos can be selected and copied too when in advanced).
- Simple but advanced modding system (press TAB on main menu)
- **Windows only:**
- (Windows) FNF is no longer blurry on 125-150% DPI
- FNF auto fixes audio on state change when you plug in/out your headphones.
- FNF auto applies dark titlebar
- **Week 7 included** with softcoded cutscenes (no MP4)
- Auto updating: Once the engine updates, a prompt will be available at launch. If you accept to update, the engine will auto install the newest version. All of the following update files will be downloaded from the GitHub releases:
- `Update-Windows.exe` - Containing the latest Windows executable. (~60mb)
- `Update-Assets.zip` - Every asset change from the latest version to the newest. If upgrading from even older version, all of the `Update-Assets.zip` files for the versions in between and the latest one will be downloaded.
</details>
<details>
<summary><h2>Modding QOL features</h2></summary>
- New assets and scripting management - **Applies both to the `assets` folder and mods.**
- Support for `hscript-improved`, a fork made to allow HScript to push modding even further
- Allows for imports
- Allows for public variables (variables shared between every script in a ScriptPack such as a song scripts)
- Allows for static variables (variables shared between every single script ran in this mod)
- Allows you to use for example `boyfriend` instead of `PlayState.boyfriend` or `game.boyfriend`, for smaller and easier to comprehend code.
- Allows you to use `@:bypassAccessor`
- Allows you to use maps
- Usage of XML files for Characters instead of hardcoding them.
- Animation names, prefixes, indices, etc... can be set in the XML without an additional line of code.
- Offsets are automatically fixed. That means changes such as scaling, rotation, and playing as an opponent character wont break them.
- Entirely new song structure (`songs/name/`)
- Usage of `meta.json`, which allows you to synchronize data between charts and the Freeplay menu.
- Charts can use their own by specifying `meta` in the JSON (Codename charts only)
- Charts are now located in `songs/name/charts/`, and are named after the difficulty `hard.json` instead of `name-hard.json`
- Difficulties are auto-detected in case they aren't specified in the `meta.json` file.
- Scripts are located in `songs/name/scripts/`, and only applies to the current song.
- Script that applies on every song are located in `data/charts/`.
- Song files are now located in `songs/name/song/`. They still follow their `Inst.ogg` and `Voices.ogg` names.
- Inst/Voices for custom difficulties can be set by naming those files `Inst-difficulty.ogg` and/or `Voices-difficulty.ogg`.
- Song length limits
- Usage of XML files for stages. XMLs can:
- Change camera zooms, camera offsets, etc...
- Add elements to the stage and
- Position them
- Add animations
- Change their scale
- Change their scroll factor
- Change their zoomfactor
- Turn on/off their antialiasing (on by default)
- Change additional properties via child nodes.
- Change boyfriend, girlfriend and dad's info
- Moving the `<boyfriend />`, `<girlfriend />` and `<dad />` nodes will move them in the layers
- Adding x and y attributes to them will change their position
- You can add positioning for custom characters by adding `<character name="name" />`
- Usage of XML files for weeks.
- Characters are located in `data/weeks/characters`.
- Weeks are located in `data/weeks/weeks/`
- If you need to rearrange the weeks in-game, you can use the `data/weeks/weeks.txt` file.
- Editors for Charts and Characters (Stage coming soon)
- Undos/Redos supported
- Warning on closing unsaved work
- Clean UI (for ocd freaks)
- Mature Chart editor (Character editor rework soon)
- Features not found in other editors!
- Every single state & substate can be modified via HScript (`data/states/StateName.hx`)
- **Instances launched via `lime test windows` will automatically use assets from source.**
</details>
-80
View File
@@ -1,80 +0,0 @@
# The Charter Update
## All major chart editors are finished as of this update (finally...)
## Engine goes from alpha to beta state : D
<details>
<summary><h2>Patch Notes</h2></summary>
- CHARTER FEATURES
- BIG BOY FEATURES
- Ability to add Note Types in the charter
- In-engine Difficulty Creation is now implemented
- Snaps for notes/events in the charter
- Multiple Vocals Support (per strumline)
- Playback speed in the charter
- New SEXY editor assets by paige and nex!!!! (and lunar, does 16x16 even count??? 😭)
- NEW EVENTS (Camera events, play animation, scroll speed change)
- Events window is now scrollable (more events, more room)
- Custom Properties in Meta AND Character (Editable in Charter and Character Editor :D) (accessible with SONG.meta.customValues.[property] and [character].extras.[property])
- SMALLER BUT STILL COOL
- Multiple Icons now show up on strumlines with multiple characters in the charter
- Note hoverer to show where your note is going to be placed
- Editor UI got some slight reworks (top bar/elements)
- Event files can be packed together into one (image/script/json all in a .pack file)
- Optimized notes in the charter (Faster loading, can handle a billion now so cool neeo!!)
- Editor Song pos now stays the same even after playtesting
- Other smaller stuff i forgot 😭
- BUG FIXES:
- COPY PASTED EVENTS NOW WON'T BREAK!!!
- Song position line no longer jitters
- UNDOs are more stable now
- Drags work much better
- Freezes fixed (deleting strumlines)
- ENGINE FEATURES
- BIG BOY FEATURES
- Position custom characters in the stage xml using char="" attribute
- Aseprite sprites support (for characters and many more)
- Edit Draw calls directly from the sprite (sprite.onDraw = (spr:FlxSprite) -> {spr.draw();})
- Addons will now properly function together (changed how state scripts and scripts overall load)
- MusicBeatTransition is more scriptable
- Moddable Game Over Events!!
- Reworked Lagless Credits Codename Engine's Contributors Menu
- New Credit Method for GitHub accounts (also lagless) in Mod Credits (First gets the data normally, if fails uses the ratelimited api)
- MANY OG GAME WEEK STUFF!! (still wip and softcoded and also many reworks by nex!)
- Senpai Cutscene got reworked! (https://github.com/CodenameCrew/CodenameEngine/assets/87421482/3b3f32fc-78d1-40fa-8398-776554cab1d6)
- Thorns got reworked with a cool chromatic aberration effect! (https://github.com/CodenameCrew/CodenameEngine/assets/87421482/73d9f7c5-1c9c-407e-baf0-e8e2c381ecbb)
- Winter Horrorland got reworked with a bloody vignette effect! (https://github.com/CodenameCrew/CodenameEngine/assets/87421482/1e10c3e2-32dc-4de2-b31a-d9d577d516da - https://github.com/CodenameCrew/CodenameEngine/assets/87421482/cad852c3-1ee2-409e-a70e-b3571ab5cf7b)
- SMALLER BUT STILL COOL
- Ability to set Controls.hx variables (Being able to block inputs or even trigger them (needs to be in an if statement))
- You can now easily check if a cutscene was played (by default is disabled and makes it auto play or not; Check startCutscene() code for more details in PlayState)
- onScriptCreated event in global.hx
- Addons priority (Being able to set addons to load before or after a mod)
- Added Script.fromString to add scripts without making pesky new files!!
- 9 Splice Sprites can render smaller than their intended size
- Ability to turn off gitaroo easter egg (finally...)
- Auto complete for certain text fields (characters/stages/notetypes)
- HSCRIPT FEATURES:
- Added "is" for checking var type
- Maps are now iterable (for (key=>value in map))
- FIXED CRASH ON EMPTY SCRIPTS!!!!!
- BUG FIXES
- Fix events to be more stable
- Fix for onBeat sprites type with also customizable beat intervals and offset (and decide if also skipping negative beats so for example before the song starts)
- Fix for pressing F5 in an editor breaking it
- Fix when getting GitHub data and a redirect happens
- Fix for healthbar incorrectly colored in opponent mode
- Video cutscenes are A LOT more stable (thanks majigsaw :D)
- 3D now works again (so cool i love away3d in 2024)
- Lots and lots of grammar and wording fixes (so true bro -lunar)
- Lots and lots of other optimizations made
- CHANGES
- onDestroy has been renamed to destroy in all instances
- Strumline Pos X in editors is now a ratio (0.25 for bf, 0.75 for dad)
- BY DEFAULT when in Story Mode, the arrows tween in only when there was a transition
- onBeatHit renamed to beatHit in gameover substate (stepHit added)
- Alt Animation Events can now control both poses and idle (may need to be readded in pre existing charts)
- Some other shit idk ill add it whenever someone tells me backward compat is broke 💔
</details>
thanks so much for the support and always being there, it really does mean a lot to us < 3
we are one step closer to turning beta so we really can't wait !
+177
View File
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<project>
<!-- _________________________ Application Settings _________________________ -->
<app title="Friday Night Funkin' - Codename Engine" file="CodenameEngine" packageName="com.yoshman29.codenameengine" package="com.yoshman29.codenameengine" main="funkin.system.Main" version="0.1.0" company="Yoshman29" />
<!--Switch Export with Unique ApplicationID and Icon-->
<set name="APP_ID" value="0x0100f6c013bbc000" />
<!-- DO NOT REMOVE!! ALLOWS ME TO DO REGIONS LIKE IN C# AND KEEP CODE ORGANIZED. REMOVING IT WOULD BREAK THE ENGINE -->
<haxedef name="REGION" />
<!--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="Preloader" resizable="true" /> -->
<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="" background="#000000" hardware="true" vsync="false" />
<!--HTML5-specific-->
<window if="html5" resizable="true" />
<!--Desktop-specific-->
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false"/>
<!--Mobile-specific-->
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false"/>
<!--Switch-specific-->
<window if="switch" orientation="landscape" fullscreen="true" width="0" height="0" resizable="true" />
<!-- _____________________________ Path Settings ____________________________ -->
<set name="BUILD_DIR" value="export/debug" if="debug" />
<set name="BUILD_DIR" value="export/release" unless="debug" />
<set name="BUILD_DIR" value="export/32bit" if="32bit" />
<set name="BUILD_DIR" value="latest/" if="beta" />
<classpath name="source" />
<define name="PRELOAD_ALL" unless="web" />
<define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL"/>
<library name="assets" preload="true" if="PRELOAD_ALL"/>
<library name="assets" preload="false" if="NO_PRELOAD_ALL" />
<assets path="assets/" rename="assets" exclude="*.ogg" if="web"/>
<assets path="assets/" rename="assets" exclude="*.mp3" unless="web"/>
<assets path='mods' rename='mods' embed='false'/>
<assets path='art/readme.txt' rename='do NOT readme.txt' />
<!-- ______________________________ Haxedefines _____________________________ -->
<!--Enable the Flixel core recording system-->
<!--<haxedef name="FLX_RECORD" />-->
<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 performance improvement-->
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />
<!-- _________________________________ Custom _______________________________ -->
<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->
<icon path="art/icon16.png" size='16'/>
<icon path="art/icon32.png" size='24'/>
<icon path="art/icon32.png" size='32'/>
<icon path="art/icon64.png" size='40'/>
<icon path="art/icon64.png" size='48'/>
<icon path="art/icon64.png" size='64'/>
<icon path="art/iconOG.png" size='96' />
<icon path="art/iconOG.png" size='128' />
<icon path="art/iconOG.png" size='196' />
<icon path="art/iconOG.png" size='256' />
<icon path="art/iconOG.png" size='512' />
<icon path="art/iconOG.png" size='768' />
<!-- _________________________________ Engine Settings _______________________________ -->
<!-- Comment this out to disable multiple windows for editors !-->
<define name="ALLOW_MULTITASKING" />
<!-- Comment this out to disable updates !-->
<!-- <define name="UPDATE_CHECKING" unless="web || hl || neko"/> -->
<!-- Comment this out to disable Discord RPC !-->
<define name="DISCORD_RPC" unless="web || hl || neko"/>
<!-- Comment this out to disable GitHub API integration !-->
<define name="GITHUB_API" unless="web || hl"/>
<!-- Comment this off to prevent unused classes from being compiled.
Reduces compilation time at the cost of limited HScript flexibility. !-->
<define name="COMPILE_ALL_CLASSES" />
<!-- Comment this out to disable multithreading !-->
<haxedef name="ALLOW_MULTITHREADING" unless="web || flash" />
<!-- Comment this out to disable titlescreen.xml !-->
<haxedef name="TITLESCREEN_XML" />
<!-- Comment this out to disable mods folder !-->
<haxedef name="MOD_SUPPORT" unless="web"/>
<!-- Comment this out to disable global scripts !-->
<haxedef name="GLOBAL_SCRIPT" />
<!-- Comment this out to disable softcoded states and state scripting !-->
<haxedef name="SOFTCODED_STATES" />
<!-- Comment this out to disable usage of source assets when using lime test windows !-->
<haxedef name="USE_SOURCE_ASSETS" />
<!-- Comment this out to use the default OpenFL assets system for the assets/ folder. !-->
<haxedef name="USE_ADAPTED_ASSETS" />
<!-- Comment this out to disable the use of luajit. !-->
<define name="ENABLE_LUA" if="windows || mac || linux"/>
<!-- Comment this out to disable video cutscene support, in case of compilation errors. !-->
<define name="VIDEO_CUTSCENES" unless="web || linux || hl || mac" />
<haxedef name="ENABLE_LUA" if="ENABLE_LUA" />
<haxedef name="VIDEO_CUTSCENES" if="VIDEO_CUTSCENES" />
<haxedef name="UPDATE_CHECKING" if="UPDATE_CHECKING" />
<haxedef name="LUAJIT_ENABLE_LUA52COMPAT" if="ENABLE_LUA" />
<haxedef name="DISCORD_RPC" if="DISCORD_RPC" />
<haxeflag name="--macro" value="funkin.macros.StdDeprecationsRemover.init()" />
<!-- _______________________________ Libraries ______________________________ -->
<haxelib name="linc_luajit" if="ENABLE_LUA" />
<haxelib name="hxCodec" if="VIDEO_CUTSCENES" />
<haxelib name="away3d" />
<haxelib name="format" />
<haxelib name="flxanimate" />
<haxelib name="flixel-yc29" rename="flixel" />
<haxedev set='webgl' />
<haxelib name="hscript-improved" />
<haxelib name="linc_discord-rpc" if="DISCORD_RPC"/>
<haxelib name="markdown" />
<!-- <haxelib name="hxcpp-debug-server" if="desktop"/> -->
<!-- _________________________________ HScript classes _______________________________ -->
<section if="COMPILE_ALL_CLASSES">
<haxeflag name="-dce" value="no" />
<haxeflag name="--macro" value="funkin.macros.ScriptsMacro.addAdditionalClasses()" />
</section>
<haxeflag name="--macro" value="exclude('funkin.updating')" unless="UPDATE_CHECKING"/>
<haxeflag name="--macro" value="exclude('funkin.multitasking')" unless="ALLOW_MULTITASKING"/>
<!-- MACROS & DOCUMENTATION !-->
<haxeflag name="--macro" value="funkin.macros.BuildCounterMacro.getBuildNumber()" />
<haxedef name="HXCPP_CHECK_POINTER" if="release" />
<haxedef name="HXCPP_STACK_LINE" if="release" />
<haxedef name="HXCPP_DEBUG_LINK" if="release" />
<haxedef name="hscriptPos" /> <!-- for logging -->
</project>
+35 -49
View File
@@ -1,27 +1,23 @@
# Friday Night Funkin' - Codename Engine (WIP)
## PLEASE NOTE - THIS IS STILL IN A BETA STATE
### Mods created with beta versions of Codename may not be compatible with the release version
Known issues in the beta:
- Some options are missing
- Week 5 has no monster animation
- Week 6 still have no dialogue
- Week 7 have no running tankman
Build instructions are below. Press TAB on the main menu to switch mods.
Build instructions are below. Press TAB on the main menu to switch mods (make sure a mod folder exists or it crashes).
Also, the command `.\cne test` uses the source assets folder instead of the export one for easier development (Although you can still use `lime test windows` normally).
Also, `lime test windows` uses the source assets folder instead of the export one for easier development.
## Codename Engine
<details>
<summary><h2>Credits</h2></summary>
Codename Engine is a new Friday Night Funkin' Engine aimed at simplifying modding, along with extensiblity and ease of use.<br>
### Before making issues or need help with something, check our website [HERE](https://codename-engine.com/) (it contains a wiki of how to mod with EXAMPLES, an api, lists of mods made with Codename Engine and more)!!!
#### The Engine includes many new features, as seen [here](FEATURES.md)<br>
#### Wanna see the new features added in the most recent update? Click [here](PATCHNOTES.md)<br>
## How to download
Latest builds for the engine can be found in the [Actions](https://github.com/CodenameCrew/CodenameEngine/actions) tab.<br>
In the future (when the engine won't be a WIP anymore) we're gonna also publish the engine on platforms like Gamebanana; stay tuned!
If you don't have a github account please go onto https://codename-engine.com/ and click the download button for the respective operating system.
- Credits to [Ne_Eo](https://twitter.com/Ne_Eo_Twitch) and the [3D-HaxeFlixel](https://github.com/lunarcleint/3D-HaxeFlixel) repository for Away3D Flixel support
- Credits to the [FlxAnimate](https://github.com/Dot-Stuff/flxanimate) team for the Animate Atlas support.
- Credits to Smokey555 for the backup Animate Atlas to spritesheet code.
</details>
<details>
<summary><h2>How to build</h2></summary>
@@ -31,18 +27,32 @@ If you don't have a github account please go onto https://codename-engine.com/ a
<summary>Windows</summary>
##### Tested on Windows 10 21H2
1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/).
2. Download and install [`git-scm`](https://git-scm.com/download/win).
1. Install the [latest version of Haxe](https://haxe.org/download/).
2. Download [Visual Studio Build Tools](https://aka.ms/vs/17/release/vs_BuildTools.exe)
3. Wait for the Visual Studio Installer to install
4. On the Visual Studio installer screen, go to the "Individual components" tab and only select those options:
- MSVC v143 VS 2022 C++ x64/x86 build tools (Latest)
- Windows 10/11 SDK (any works)
5. This is what your Installation details panel should look like. Once correct, press "Install".
- ⚠ This will download around 1.07 GB of data from the internet, and will require around 5.5 GB of available space on your computer.
<p align="center">
<img src="https://github.com/YoshiCrafter29/CodenameEngine/blob/main/art/github/windows-installation-details.png?raw=true" />
</p>
6. Once the installation is done, close Visual Studio Installer.
7. Download and install [`git-scm`](https://git-scm.com/download/win).
- Leave all installation options as default.
3. Run `update.bat` using cmd or double-clicking it, and wait for the libraries to install.
4. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time)
8. Open the Codename Engine source folder, click on the address bar and type `cmd` to open a command prompt window.
9. On the command prompt, run `update.bat`, and wait for the libraries to install.
10. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time)
- ℹ You can run `haxelib run lime setup` to make the lime command global, allowing you to execute `lime test windows` directly.
</details>
<details>
<summary>Linux</summary>
##### Requires testing
1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/).
1. Install the [latest version of Haxe](https://haxe.org/download/).
2. Install `g++`, if not present already.
3. Download and install [`git-scm`](https://git-scm.com/download/linux).
4. Open a terminal in the Codename Engine source folder, and run `update.sh`.
@@ -53,38 +63,14 @@ If you don't have a github account please go onto https://codename-engine.com/ a
<summary>MacOS</summary>
##### Requires testing
1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/).
1. Install the [latest version of Haxe](https://haxe.org/download/).
2. Install `Xcode` to allow C++ app building.
3. Download and install [`git-scm`](https://git-scm.com/download/mac).
4. Open a terminal in the Codename Engine source folder, and run `update.sh`.
5. Once the libraries are installed, run `haxelib run lime test mac` to compile and launch the game (may take a long time)
- ℹ You can run `haxelib run lime setup` to make the lime command global, allowing you to execute `lime test mac` directly.
</details>
</details>
<details>
<summary><h2>What can you do or not do</h2></summary>
### You can:
- Download and play the engine with its mods and modpacks
- Mod and fork the engine (without using it for illicit purposes)
- Contribute to the engine (for example through *Pull Requests*, *Issues*, etc)
- Create a sub engine with Codename Engine as **TEMPLATE** with **CREDITS** (for example leaving the *credits menu submenu with the GitHub contributors* and putting the *[main devs](https://github.com/CodenameCrew)* in a *README* specifying that it's a *sub engine from Codename Engine*)
- Release excutable mods that use Codename Engine as source (Specifing that uses Codename Engine by for example the same way written above this)
- Release modpacks
### You can't:
- Create a *side/new/etc* engine (or mod that doesn't use Codename Engine) using Codename Engine's code
- Steal code from Codename Engine for another different project that is not Codename Engine related (Codename Engine mods excluded) without properly crediting
- Release the entire Codename Engine on platforms (Mods that use Codename Engine as source are fine, if it's specified even better)
#### *If you need more info or feel like asking to do something which is not listed here, ask us directly on our discord (linked on the website)!*
</details>
<details>
<summary><h2>Credits</h2></summary>
- Credits to the [FlxAnimate](https://github.com/Dot-Stuff/flxanimate) team for the Animate Atlas support
- Credits to Smokey555 for the backup Animate Atlas to spritesheet code
- Credits to MAJigsaw77 for [hxvlc](https://github.com/MAJigsaw77/hxvlc) (video cutscene/mp4 support) and [hxdiscord_rpc](https://github.com/MAJigsaw77/hxdiscord_rpc) (discord rpc integration)
</details>
</details>
-61
View File
@@ -1,61 +0,0 @@
# Codename Engine Todo List
## `v1.0.0` - Initial release
- [x] Remove Herobrine
- [ ] Chart Editor
- [x] Place & Delete notes
- [x] Ctrl+Z & Ctrl+Y
- [x] Selection box & dragging
- [x] Scroll bar at the right + Song info
- [x] Fix the strumlines bar when zooming out
- [x] Algorithm to make note placements faster & sorted out
- [x] Play here working
- [x] Cap zoom in & out
- [x] Events (including Camera Movement)
- [x] Metadata Editing
- [ ] Custom Notetypes
- [ ] Reorderable Strumlines
- [ ] Step based zooming
- [ ] Add Undo to more actions
- [ ] New Chart Button
- [ ] Bug fixes
- [ ] Zooming in causing notes to disappear
- [ ] Holds disappear too early
- [ ] Time signature fixes
- [ ] BPM Changes Events
- [ ] Character Editor
- [x] Animation Editing
- [x] Animation Deletion/Creation
- [x] Character Info Editing
- [x] Character Saving
- [x] Add Undos to Actions
- [ ] Change Stage
- [ ] New Character Button
- [ ] Port Videos to a more stable video lib
- [ ] Optimization to Editors
- [ ] Fix Ratings Lag
- [x] Re-export gf-christmas, gf-car and gf-tankmen with padding
- [x] Re-add shader camera stuff
- [x] Make update.bat use libs.xml instead of hmm.json
- [ ] New Switch Mod menu
- [x] Port shader camera stuff over to new flixel fork
- [ ] Add note offset
- [x] Dialogue
- [ ] Finish Base Game port
- [x] Add credits
- [x] Verbose mode (`--verbose`)
- [ ] Tooltips
- [ ] Fix bugs
## `v1.1.0`
- [ ] Charter Waveforms (maybe in v1.1.0, don't wanna slow shit down)
- [ ] Custom classes
- [ ] Proper super overrides (FlxText_HSX doesn't allow overrides for update because of this)
- [ ] Custom Class extending Custom Classes
- [ ] Statics on Custom Classes
- [ ] Fix Bugs
- [ ] Full 3D support via stages files
- [ ] Multithread sprites and assets loading (for faster load times) ?
- [ ] Stage Editor
- [ ] Optimize flxanimate isOnScreen
-22
View File
@@ -1,22 +0,0 @@
╔═══════════════════════════════════════╗
║ HOW TO USE ║
╚═══════════════════════════════════════╝
DRAG AND DROP YOUR ADDON FOLDER HERE!
╔═══════════════════════════════════════╗
║ ZIP ADDONS ║
╚═══════════════════════════════════════╝
Zip files are also supported at condition it follows this hierarchy:
📁addon.zip/
📁data
📁images
📁...
Instead of this one
📁addon.zip
📁my addon
📁data
📁images
📁...
-14
View File
@@ -1,14 +0,0 @@
[general]
sample-type=float32
stereo-mode=speakers
stereo-encoding=panpot
hrtf=false
cf_level=0
resampler=fast_bsinc24
front-stablizer=false
output-limiter=false
volume-adjust=0
[decoder]
hq-mode=false
distance-comp=false
nfc=false
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

-10
View File
@@ -1,10 +0,0 @@
## DEV (PRIVATE) REPO INSTRUCTIONS TO SYNC UP WITH IT INSTEAD OF SYNCING WITH THE PUBLIC ONE
- Open a Command Prompt window in the public codename repo folder
- Type those commands:
- `git remote add dev https://www.github.com/YoshiCrafter29/CodenameEngine-Dev`
- `git branch --set-upstream-to dev/main`
- GitHub desktop should be synchronized with the dev repo now. If you're unsure,
- Repo name should still say "CodenameEngine"
- Current branch should still say "main"
- "Fetch" button should say "Fetch dev"
- You shouldn't have any commit to push.
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+4 -5
View File
@@ -1,8 +1,7 @@
@ECHO OFF
cd ..
echo Building Game...
lime build windows --haxeflag="-xml docs/doc.xml" -D doc-gen -D DOCUMENTATION --no-output
echo art
echo Generated the api xml file at docs/doc.xml
echo Please put this in codename-website/api-generator/api/doc.xml
lime build windows --haxeflag="--macro include('scripting')" --haxeflag="-xml docs/doc.xml"
echo Generating Documentation...
haxelib run dox -i docs --include funkin --include scripting
echo Done!
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 277 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 KiB

After

Width:  |  Height:  |  Size: 455 KiB

+27 -27
View File
@@ -1,30 +1,30 @@
__ /
/ _ _ |_ |_ . _
\__) (- |_ |_ | | )
__
|_ _ _ _ |
| | (- (_| |( \/
/
_ _ _
(_) | ) (_|
__
|_ _ . _| _ _ . _ |_ |_ _ _ |_
| | | (_| (_| \/ | ) | (_) | ) |_ \/ (- (_| | )
/ _/ /
__ /
/ _ _ |_ |_ . _
\__) (- |_ |_ | | )
__
|_ _ _ _ |
| | (- (_| |( \/
/
_ _ _
(_) | ) (_|
__
|_ _ . _| _ _ . _ |_ |_ _ _ |_
| | | (_| (_| \/ | ) | (_) | ) |_ \/ (- (_| | )
/ _/ /
HEY
Thanks for downloadin Friday Night FUNKIN'
If you downloaded this from any other place than ninja-muffin24.itch.io/FUNKIN
You might be in DANGER!!!
You might be in DANGER!!!
The Itch.io release is the only official source for the desktop (PC, Mac, Linux) versions of the game!
As of right now, the game is FREE! If you paid for it, you got SCAMMED!
Now that that's out of the way....
THANKS FOR DOWNLOADIN.
THANKS FOR DOWNLOADIN.
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
PERMISSIONS XDDDD
@@ -77,16 +77,16 @@ I love Tom Fulp.
- Cameron ♪(´▽`)
##################################################################################
_ _ _____ _ _ ____ ____ ___ _ _ _ _ ____ ____
| \ | | | ____| | | | | / ___| | _ \ / _ \ | | | | | \ | | | _ \ / ___|
| \| | | _| | | /\ | | | | _ | |_) | | | | | | | | | | \| | | | | | \___ \
_ _ _____ _ _ ____ ____ ___ _ _ _ _ ____ ____
| \ | | | ____| | | | | / ___| | _ \ / _ \ | | | | | \ | | | _ \ / ___|
| \| | | _| | | /\ | | | | _ | |_) | | | | | | | | | | \| | | | | | \___ \
| |\ | | |___ \ V V / | |_| | | _ < | |_| | | |_| | | |\ | | |_| | ___) |
|_| \_| |_____| \_/\_/ \____| |_| \_\ \___/ \___/ |_| \_| |____/ |____/
_ _ _ ___ ___ __ _ _ _ _ _
|_ | | |_ |_) \_/ | |_| | |\ | /__ |_ |_ | | |_ |_) \_/ / \ |\ | |_
|_| \_| |_____| \_/\_/ \____| |_| \_\ \___/ \___/ |_| \_| |____/ |____/
_ _ _ ___ ___ __ _ _ _ _ _
|_ | | |_ |_) \_/ | |_| | |\ | /__ |_ |_ | | |_ |_) \_/ / \ |\ | |_
|_ \/ |_ | \ | | | | _|_ | \| \_| o |_)\/ |_ \/ |_ | \ | \_/ | \| |_ o
/ /
/ /
##################################################################################
i stole this from stamper.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

+122 -166
View File
@@ -1,171 +1,127 @@
<!DOCTYPE codename-engine-alphabet>
<letters fps="24">
<bold spritesheet="menus/alphabet-bold">
<!-- Bold Letters !-->
<letter char="A" anim="character-a" />
<letter char="B" anim="character-b" />
<letter char="C" anim="character-c" />
<letter char="D" anim="character-d" />
<letter char="E" anim="character-e" />
<letter char="F" anim="character-f" />
<letter char="G" anim="character-g" />
<letter char="H" anim="character-h" />
<letter char="I" anim="character-i" />
<letter char="J" anim="character-j" />
<letter char="K" anim="character-k" />
<letter char="L" anim="character-l" />
<letter char="M" anim="character-m" />
<letter char="N" anim="character-n" />
<letter char="O" anim="character-o" />
<letter char="P" anim="character-p" />
<letter char="Q" anim="character-q" />
<letter char="R" anim="character-r" />
<letter char="S" anim="character-s" />
<letter char="T" anim="character-t" />
<letter char="U" anim="character-u" />
<letter char="V" anim="character-v" />
<letter char="W" anim="character-w" />
<letter char="X" anim="character-x" />
<letter char="Y" anim="character-y" />
<letter char="Z" anim="character-z" />
<bold spritesheet="menus/alphabet-bold">
<!-- Bold Letters !-->
<letter char="A" anim="A bold" />
<letter char="B" anim="B bold" />
<letter char="C" anim="C bold" />
<letter char="D" anim="D bold" />
<letter char="E" anim="E bold" />
<letter char="F" anim="F bold" />
<letter char="G" anim="G bold" />
<letter char="H" anim="H bold" />
<letter char="I" anim="I bold" />
<letter char="J" anim="J bold" />
<letter char="K" anim="K bold" />
<letter char="L" anim="L bold" />
<letter char="M" anim="M bold" />
<letter char="N" anim="N bold" />
<letter char="O" anim="O bold" />
<letter char="P" anim="P bold" />
<letter char="Q" anim="Q bold" />
<letter char="R" anim="R bold" />
<letter char="S" anim="S bold" />
<letter char="T" anim="T bold" />
<letter char="U" anim="U bold" />
<letter char="V" anim="V bold" />
<letter char="W" anim="W bold" />
<letter char="X" anim="X bold" />
<letter char="Y" anim="Y bold" />
<letter char="Z" anim="Z bold" />
</bold>
<normal spritesheet="menus/alphabet">
<!-- Symbols !-->
<letter char="$" anim="dollarsign" />
<letter char="#" anim="hashtag" />
<letter char="%" anim="%" />
<letter char="&amp;" anim="amp" />
<letter char="(" anim="(" />
<letter char=")" anim=")" />
<letter char="*" anim="*" center="middle" />
<letter char="+" anim="+" center="middle" />
<letter char="-" anim="-" center="middle" />
<letter char="0" anim="0" />
<letter char="1" anim="1" />
<letter char="2" anim="2" />
<letter char="3" anim="3" />
<letter char="4" anim="4" />
<letter char="5" anim="5" />
<letter char="6" anim="6" />
<letter char="7" anim="7" />
<letter char="8" anim="8" />
<letter char="9" anim="9" />
<letter char=":" anim=":" />
<letter char=";" anim=";" />
<letter char="<" anim="<" />
<letter char=">" anim=">" />
<letter char="=" anim="=" />
<letter char="@" anim="@" />
<letter char="|" anim="|" />
<letter char="~" anim="~" />
<letter char="[" anim="[" />
<letter char="]" anim="]" />
<letter char="→" anim="right arrow" center="middle" />
<letter char="←" anim="left arrow" center="middle" />
<letter char="↓" anim="down arrow" center="middle" />
<letter char="↑" anim="up arrow" center="middle" />
<letter char="." anim="period" center="middle" />
<letter char="?" anim="question mark" />
<letter char="&#34;" anim="start parentheses" />
<letter char="&amp;" anim="character-ampersand" />
<letter char="&lt;" anim="character-anglebracket-left" />
<letter char="&gt;" anim="character-anglebracket-right" />
<letter char="*" anim="character-asterisk" />
<letter char="@" anim="character-at" />
<letter char="\" anim="character-backslash" />
<letter char="`" anim="character-backtick" />
<letter char="^" anim="character-caret" />
<letter char=":" anim="character-colon" />
<letter char="," anim="character-comma" />
<letter char="{" anim="character-curlybracket-left" />
<letter char="}" anim="character-curlybracket-right" />
<letter char="$" anim="character-dollar" />
<letter char='"' anim="character-doublequote" />
<letter char="=" anim="character-equal" />
<letter char="!" anim="character-exclamationmark" />
<letter char="-" anim="character-hyphen" />
<letter char="%" anim="character-percent" />
<letter char="." anim="character-period" />
<letter char="+" anim="character-plus" />
<letter char="#" anim="character-pound" />
<letter char="?" anim="character-questionmark" />
<letter char="(" anim="character-roundbracket-left" />
<letter char=")" anim="character-roundbracket-right" />
<letter char=";" anim="character-semicolon" />
<letter char="'" anim="character-singlequote" />
<letter char="/" anim="character-slash" />
<letter char="[" anim="character-squarebracket-left" />
<letter char="]" anim="character-squarebracket-right" />
<letter char="~" anim="character-tilde" />
<letter char="_" anim="character-underscore" />
<letter char="|" anim="character-verticalbar" />
<!-- Capital Letters !-->
<letter char="A" anim="A capital" />
<letter char="B" anim="B capital" />
<letter char="C" anim="C capital" />
<letter char="D" anim="D capital" />
<letter char="E" anim="E capital" />
<letter char="F" anim="F capital" />
<letter char="G" anim="G capital" />
<letter char="H" anim="H capital" />
<letter char="I" anim="I capital" />
<letter char="J" anim="J capital" />
<letter char="K" anim="K capital" />
<letter char="L" anim="L capital" />
<letter char="M" anim="M capital" />
<letter char="N" anim="N capital" />
<letter char="O" anim="O capital" />
<letter char="P" anim="P capital" />
<letter char="Q" anim="Q capital" />
<letter char="R" anim="R capital" />
<letter char="S" anim="S capital" />
<letter char="T" anim="T capital" />
<letter char="U" anim="U capital" />
<letter char="V" anim="V capital" />
<letter char="W" anim="W capital" />
<letter char="X" anim="X capital" />
<letter char="Y" anim="Y capital" />
<letter char="Z" anim="Z capital" />
<letter char="0" anim="character-zero" />
<letter char="1" anim="character-one" />
<letter char="2" anim="character-two" />
<letter char="3" anim="character-three" />
<letter char="4" anim="character-four" />
<letter char="5" anim="character-five" />
<letter char="6" anim="character-six" />
<letter char="7" anim="character-seven" />
<letter char="8" anim="character-eight" />
<letter char="9" anim="character-nine" />
</bold>
<normal spritesheet="menus/alphabet">
<!-- Symbols !-->
<letter char="$" anim="dollarsign" />
<letter char="#" anim="hashtag" />
<letter char="%" anim="%" />
<letter char="&amp;" anim="amp" />
<letter char="(" anim="(" />
<letter char=")" anim=")" />
<letter char="*" anim="*" center="middle" />
<letter char="+" anim="+" center="middle" />
<letter char="-" anim="-" center="middle" />
<letter char="0" anim="0" />
<letter char="1" anim="1" />
<letter char="2" anim="2" />
<letter char="3" anim="3" />
<letter char="4" anim="4" />
<letter char="5" anim="5" />
<letter char="6" anim="6" />
<letter char="7" anim="7" />
<letter char="8" anim="8" />
<letter char="9" anim="9" />
<letter char=":" anim=":" />
<letter char=";" anim=";" />
<letter char="<" anim="<" />
<letter char=">" anim=">" />
<letter char="=" anim="=" />
<letter char="@" anim="@" />
<letter char="|" anim="|" />
<letter char="~" anim="~" />
<letter char="[" anim="[" />
<letter char="]" anim="]" />
<letter char="→" anim="right arrow" center="middle" />
<letter char="←" anim="left arrow" center="middle" />
<letter char="↓" anim="down arrow" center="middle" />
<letter char="↑" anim="up arrow" center="middle" />
<letter char="." anim="period" center="middle" />
<letter char="?" anim="question mark" />
<letter char="&#34;" anim="start parentheses" />
<!-- Capital Letters !-->
<letter char="A" anim="A capital" />
<letter char="B" anim="B capital" />
<letter char="C" anim="C capital" />
<letter char="D" anim="D capital" />
<letter char="E" anim="E capital" />
<letter char="F" anim="F capital" />
<letter char="G" anim="G capital" />
<letter char="H" anim="H capital" />
<letter char="I" anim="I capital" />
<letter char="J" anim="J capital" />
<letter char="K" anim="K capital" />
<letter char="L" anim="L capital" />
<letter char="M" anim="M capital" />
<letter char="N" anim="N capital" />
<letter char="O" anim="O capital" />
<letter char="P" anim="P capital" />
<letter char="Q" anim="Q capital" />
<letter char="R" anim="R capital" />
<letter char="S" anim="S capital" />
<letter char="T" anim="T capital" />
<letter char="U" anim="U capital" />
<letter char="V" anim="V capital" />
<letter char="W" anim="W capital" />
<letter char="X" anim="X capital" />
<letter char="Y" anim="Y capital" />
<letter char="Z" anim="Z capital" />
<!-- Lowercase Letters !-->
<letter char="a" anim="a lowercase" />
<letter char="b" anim="b lowercase" />
<letter char="c" anim="c lowercase" />
<letter char="d" anim="d lowercase" />
<letter char="e" anim="e lowercase" />
<letter char="f" anim="f lowercase" />
<letter char="g" anim="g lowercase" />
<letter char="h" anim="h lowercase" />
<letter char="i" anim="i lowercase" />
<letter char="j" anim="j lowercase" />
<letter char="k" anim="k lowercase" />
<letter char="l" anim="l lowercase" />
<letter char="m" anim="m lowercase" />
<letter char="n" anim="n lowercase" />
<letter char="o" anim="o lowercase" />
<letter char="p" anim="p lowercase" />
<letter char="q" anim="q lowercase" />
<letter char="r" anim="r lowercase" />
<letter char="s" anim="s lowercase" />
<letter char="t" anim="t lowercase" />
<letter char="u" anim="u lowercase" />
<letter char="v" anim="v lowercase" />
<letter char="w" anim="w lowercase" />
<letter char="x" anim="x lowercase" />
<letter char="y" anim="y lowercase" />
<letter char="z" anim="z lowercase" />
</normal>
<!-- Lowercase Letters !-->
<letter char="a" anim="a lowercase" />
<letter char="b" anim="b lowercase" />
<letter char="c" anim="c lowercase" />
<letter char="d" anim="d lowercase" />
<letter char="e" anim="e lowercase" />
<letter char="f" anim="f lowercase" />
<letter char="g" anim="g lowercase" />
<letter char="h" anim="h lowercase" />
<letter char="i" anim="i lowercase" />
<letter char="j" anim="j lowercase" />
<letter char="k" anim="k lowercase" />
<letter char="l" anim="l lowercase" />
<letter char="m" anim="m lowercase" />
<letter char="n" anim="n lowercase" />
<letter char="o" anim="o lowercase" />
<letter char="p" anim="p lowercase" />
<letter char="q" anim="q lowercase" />
<letter char="r" anim="r lowercase" />
<letter char="s" anim="s lowercase" />
<letter char="t" anim="t lowercase" />
<letter char="u" anim="u lowercase" />
<letter char="v" anim="v lowercase" />
<letter char="w" anim="w lowercase" />
<letter char="x" anim="x lowercase" />
<letter char="y" anim="y lowercase" />
<letter char="z" anim="z lowercase" />
</normal>
</letters>
-110
View File
@@ -1,110 +0,0 @@
<!DOCTYPE codename-engine-alphabet-font>
<alphabetFont fps="12" advance="50" lineGap="75" forceCasing="lower">
<spritesheet>menus/alphabet-bold</spritesheet>
<defaultAnim>character-LETTER0</defaultAnim>
<anim char="&amp;">character-ampersand</anim>
<anim char="&lt;">character-anglebracket-left</anim>
<anim char="&gt;">character-anglebracket-right</anim>
<anim char="*" y="30">character-asterisk</anim>
<anim char="@">character-at</anim>
<anim char="\">character-backslash</anim>
<anim char="`" y="40">character-backtick</anim>
<anim char="^" y="30">character-caret</anim>
<anim char=":" y="10">character-colon</anim>
<anim char="," y="-15">character-comma</anim>
<anim char="{">character-curlybracket-left</anim>
<anim char="}">character-curlybracket-right</anim>
<anim char="$">character-dollar</anim>
<anim char='"' y="35">character-doublequote0</anim>
<anim char="=" y="20">character-equal</anim>
<anim char="!">character-exclamationmark0</anim>
<anim char="-" y="25">character-hyphen</anim>
<anim char="%">character-percent</anim>
<anim char=".">character-period</anim>
<anim char="+" y="10">character-plus</anim>
<anim char="#">character-pound</anim>
<anim char="?">character-questionmark0</anim>
<anim char="(">character-roundbracket-left</anim>
<anim char=")">character-roundbracket-right</anim>
<anim char=";" y="-15">character-semicolon</anim>
<anim char="'" y="35">character-singlequote</anim>
<anim char="/">character-slash</anim>
<anim char="[">character-squarebracket-left</anim>
<anim char="]">character-squarebracket-right</anim>
<anim char="~" y="20">character-tilde0</anim>
<anim char="_">character-underscore0</anim>
<anim char="|">character-verticalbar0</anim>
<anim char="0">character-zero</anim>
<anim char="1">character-one</anim>
<anim char="2">character-two</anim>
<anim char="3">character-three</anim>
<anim char="4">character-four</anim>
<anim char="5">character-five</anim>
<anim char="6">character-six</anim>
<anim char="7">character-seven</anim>
<anim char="8">character-eight</anim>
<anim char="9">character-nine</anim>
<composite char="ẽ">
<component anim="character-e0" x="0" y="0"/>
<component anim="diacritic-tilde-fill" x="3" y="73" outline="diacritic-tilde-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ñ">
<component anim="character-n0" x="0" y="0"/>
<component anim="diacritic-tilde-fill" x="3" y="73" outline="diacritic-tilde-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="á">
<component anim="character-a0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="23" y="70" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="é">
<component anim="character-e0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="15" y="70" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="í">
<component anim="character-i0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="15" y="68" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ó">
<component anim="character-o0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="18" y="73" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ú">
<component anim="character-u0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="15" y="60" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ą">
<component anim="character-a0" x="0" y="0"/>
<component anim="diacritic-ogonek-fill" x="34" y="-12" outline="diacritic-ogonek-outline" outlineX="2" outlineY="-2" hasOutline="true"/>
</composite>
<composite char="ę">
<component anim="character-e0" x="0" y="0"/>
<component anim="diacritic-ogonek-fill" x="23" y="-14" outline="diacritic-ogonek-outline" outlineX="2" outlineY="-2" hasOutline="true"/>
</composite>
<composite char="ć">
<component anim="character-c0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="18" y="73" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ś">
<component anim="character-s0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="18" y="73" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ń">
<component anim="character-n0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="18" y="73" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ź">
<component anim="character-z0" x="0" y="0"/>
<component anim="diacritic-acute-fill" x="18" y="73" outline="diacritic-acute-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ż">
<component anim="character-z0" x="0" y="0"/>
<component anim="diacritic-dot-fill" x="18" y="73" outline="diacritic-dot-outline" outlineX="-1" hasOutline="true"/>
</composite>
<composite char="ł">
<component anim="character-l0" x="0" y="0"/>
<component anim="diacritic-stroke0-short-fill" x="-2" y="30" outline="diacritic-stroke0-short-outline" outlineX="-1" hasOutline="true"/>
</composite>
</alphabetFont>
-118
View File
@@ -1,118 +0,0 @@
<!DOCTYPE codename-engine-alphabet-font>
<alphabetFont fps="12" advance="30" lineGap="70" colorMode="offsets">
<spritesheet>menus/alphabet</spritesheet>
<defaultAnim casing="upper">character-LOWERLETTER-capital</defaultAnim>
<defaultAnim casing="lower">character-LOWERLETTER-lowercase</defaultAnim>
<defaultAnim>LETTER</defaultAnim>
<anim char="g" y="-15">character-g-lowercase</anim>
<anim char="j" y="-15">character-j-lowercase</anim>
<anim char="p" y="-15">character-p-lowercase</anim>
<anim char="q" y="-15">character-q-lowercase</anim>
<anim char="y" y="-15">character-y-lowercase</anim>
<anim char="0">character-zero</anim>
<anim char="1">character-one</anim>
<anim char="2">character-two</anim>
<anim char="3">character-three</anim>
<anim char="4">character-four</anim>
<anim char="5">character-five</anim>
<anim char="6">character-six</anim>
<anim char="7">character-seven</anim>
<anim char="8">character-eight</anim>
<anim char="9">character-nine</anim>
<anim char="&amp;">character-ampersand</anim>
<anim char="&lt;">character-anglebracket-left</anim>
<anim char="&gt;">character-anglebracket-right</anim>
<anim char="→" y="9">character-arrow-right</anim>
<anim char="←" y="9">character-arrow-left</anim>
<anim char="↓" y="5">character-arrow-down</anim>
<anim char="↑" y="4">character-arrow-up</anim>
<anim char="*" y="30">character-asterisk</anim>
<anim char="@">character-at</anim>
<anim char="\">character-backslash</anim>
<anim char="`" y="30">character-backtick</anim>
<anim char="^" y="28">character-caret</anim>
<anim char=":">character-colon</anim>
<anim char="," y="-9">character-comma</anim>
<anim char="{">character-curlybracket-left</anim>
<anim char="}">character-curlybracket-right</anim>
<anim char="$">character-dollar</anim>
<anim char='"' y="28">character-doublequote-start</anim>
<anim char="=" y="13">character-equal</anim>
<anim char="!">character-exclamationmark</anim>
<anim char="-" y="20">character-minus</anim>
<anim char="%">character-percent</anim>
<anim char=".">character-period</anim>
<anim char="+" y="9">character-plus</anim>
<anim char="#" y="5">character-pound</anim>
<anim char="?">character-questionmark</anim>
<anim char="(">character-roundbracket-left</anim>
<anim char=")">character-roundbracket-right</anim>
<anim char=";" y="-9">character-semicolon</anim>
<anim char="'" y="28">character-singlequote</anim>
<anim char="/">character-slash</anim>
<anim char="[">character-squarebracket-left</anim>
<anim char="]">character-squarebracket-right</anim>
<anim char="~" y="17">character-tilde</anim>
<anim char="_">character-underscore</anim>
<anim char="|">character-verticalbar</anim>
<!-- <composite char="á">
<component anim="a lowercase0" x="0" y="0"/>
<component anim="comma" scaleY="0.5" x="7" y="35"/>
</composite>
<composite char="é">
<component anim="e lowercase0" x="0" y="0"/>
<component anim="comma" scaleY="0.5" x="7" y="35"/>
</composite>
<composite char="í">
<component anim="l lowercase0" x="0" y="-10" scaleY="0.5" angle="-2"/>
<component anim="comma" x="-7" y="25" scaleY="0.5" angle="-5"/>
</composite>
<composite char="ó">
<component anim="o lowercase0" x="0" y="0"/>
<component anim="comma" scaleY="0.5" x="7" y="28"/>
</composite>
<composite char="ú">
<component anim="u lowercase0" x="0" y="0"/>
<component anim="comma" scaleY="0.5" x="5" y="28"/>
</composite>
<composite char="ż">
<component anim="z lowercase0" x="0" y="0"/>
<component anim="period" scaleX="0.6" scaleY="0.8" x="10" y="32"/>
</composite>
<composite char="ą">
<component anim="a lowercase0" x="0" y="0"/>
<component anim="question hook0" scaleX="0.5" scaleY="0.5" x="10" y="-25" angle="200"/>
</composite>
<composite char="ł">
<component anim="l lowercase0" x="0" y="0"/>
<component anim="-0" scaleY="0.8" x="-13" y="15" angle="-22"/>
</composite>
<composite char="Ś">
<component anim="S capital0" x="0" y="0"/>
<component anim="comma" scaleY="0.5" x="7" y="52.3"/>
</composite>
<composite char="å">
<component anim="a lowercase0" x="0" y="0"/>
<component anim="period" x="10" y="40"/>
</composite>
<composite char="ë">
<component anim="e lowercase0" x="0" y="0"/>
<component anim="period" x="0" y="40"/>
<component anim="period" x="20" y="40"/>
</composite>
<composite char="ö">
<component anim="o lowercase0" x="0" y="0"/>
<component anim="period" x="0" y="35"/>
<component anim="period" x="20" y="35"/>
</composite> -->
</alphabetFont>
+10 -16
View File
@@ -1,18 +1,12 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="true" flipX="true" x="0" y="350" icon="bf" camx="25" color="#31B0D1">
<anim name="idle" anim="BF idle dance" fps="24" loop="false" x="-5" y="0"/>
<anim name="singUP" anim="BF NOTE UP0" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" fps="24" loop="false" x="12" y="-6"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" fps="24" loop="false" x="-38" y="-7"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" fps="24" loop="false" x="-10" y="-50"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" fps="24" loop="false" x="12" y="24"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-30" y="21"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-11" y="-19"/>
<!-- funny loop -->
<anim name="idle-loop" anim="BF idle dance" fps="24" loop="true" x="-5" y="0" indices="10..13"/>
<anim name="singUP-loop" anim="BF NOTE UP0" fps="24" loop="true" x="-29" y="27" indices="11..14"/>
<anim name="singLEFT-loop" anim="BF NOTE LEFT0" fps="24" loop="true" x="12" y="-6" indices="12..15"/>
<anim name="singRIGHT-loop" anim="BF NOTE RIGHT0" fps="24" loop="true" x="-38" y="-7" indices="58..61"/>
<anim name="singDOWN-loop" anim="BF NOTE DOWN0" fps="24" loop="true" x="-10" y="-50" indices="26..29"/>
<character isPlayer="true" flipX="true" x="0" y="350" icon="bf" camx="25">
<anim name="idle" anim="BF idle dance" fps="24" loop="false" x="-5" y="0"/>
<anim name="singUP" anim="BF NOTE UP0" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" fps="24" loop="false" x="12" y="-6"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" fps="24" loop="false" x="-38" y="-7"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" fps="24" loop="false" x="-10" y="-50"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" fps="24" loop="false" x="12" y="24"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-30" y="21"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-11" y="-19"/>
</character>
+11 -11
View File
@@ -1,13 +1,13 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="true" flipX="true" x="0" y="350" icon="bf" camy="55" color="#31B0D1">
<anim name="idle" anim="BF idle dance" x="-5" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="BF NOTE UP0" x="-39" y="27" fps="24" loop="false"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" x="6" y="-7" fps="24" loop="false"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" x="-48" y="-6" fps="24" loop="false"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" x="-17" y="-50" fps="24" loop="false"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" x="-35" y="27" fps="24" loop="false"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" x="6" y="19" fps="24" loop="false"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" x="-44" y="22" fps="24" loop="false"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" x="-16" y="-19" fps="24" loop="false"/>
<anim name="hey" anim="BF HEY" x="-3" y="6" fps="24" loop="false"/>
<character isPlayer="true" flipX="true" x="0" y="350" icon="bf">
<anim name="idle" anim="BF idle dance" fps="24" loop="false" x="-5" y="0"/>
<anim name="singUP" anim="BF NOTE UP0" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" fps="24" loop="false" x="12" y="-6"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" fps="24" loop="false" x="-38" y="-7"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" fps="24" loop="false" x="-10" y="-50"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" fps="24" loop="false" x="12" y="24"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-30" y="21"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-11" y="-19"/>
<anim name="hey" anim="BF HEY" fps="24" loop="false" x="7" y="4"/>
</character>
+4 -4
View File
@@ -1,6 +1,6 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="true" flipX="true" x="0" y="350" color="#31B0D1">
<anim name="firstDeath" anim="BF dies" fps="24" loop="false" x="37" y="11"/>
<anim name="deathLoop" anim="BF Dead Loop" fps="24" loop="false" x="37" y="5"/>
<anim name="deathConfirm" anim="BF Dead confirm" fps="24" loop="false" x="37" y="69"/>
<character isPlayer="true" flipX="true" x="0" y="350">
<anim name="firstDeath" anim="BF dies" fps="24" loop="false" x="37" y="11"/>
<anim name="deathLoop" anim="BF Dead Loop" fps="24" loop="false" x="37" y="5"/>
<anim name="deathConfirm" anim="BF Dead confirm" fps="24" loop="false" x="37" y="69"/>
</character>
@@ -1,6 +0,0 @@
<!DOCTYPE codename-engine-character>
<character x="-50" y="330" flipX="true" isPlayer="true" antialiasing="true" sprite="bf-holding-gf-dead" color="#31B0D1">
<anim x="0" loop="false" y="0" fps="24" anim="BF Dies with GF" name="firstDeath"/>
<anim x="0" loop="false" y="-17" fps="24" anim="BF Dead with GF Loop" name="deathLoop"/>
<anim x="0" loop="false" y="14" fps="24" anim="RETRY confirm holding gf" name="deathConfirm"/>
</character>
+12 -12
View File
@@ -1,13 +1,13 @@
<!DOCTYPE codename-engine-character>
<character y="350" sprite="bf-holding-gf" flipX="true" isPlayer="true" icon="bf" color="#31B0D1" gameOverChar="bf-holding-gf-dead">
<anim name="idle" anim="BF idle dance" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="BF NOTE UP0" x="-42" y="9" fps="24" loop="false"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" x="11" y="2" fps="24" loop="false"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" x="-46" y="21" fps="24" loop="false"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" x="-16" y="-14" fps="24" loop="false"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" x="-39" y="8" fps="24" loop="false"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" x="10" y="3" fps="24" loop="false"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" x="-41" y="37" fps="24" loop="false"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" x="-15" y="-11" fps="24" loop="false"/>
<anim name="bfCatch" anim="BF catches GF" x="6" y="90" fps="24" loop="false"/>
</character>
<character isPlayer="true" flipX="true" x="0" y="350" icon="bf">
<anim name="idle" anim="BF idle dance" fps="24" loop="false"/>
<anim name="singUP" anim="BF NOTE UP0" fps="24" loop="false" x="-29" y="10"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" fps="24" loop="false" x="12" y="7"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" fps="24" loop="false" x="-41" y="23"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" fps="24" loop="false" x="-10" y="-10"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" fps="24" loop="false" x="-29" y="10"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" fps="24" loop="false" x="12" y="7"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-41" y="23"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-10" y="-10"/>
<anim name="bfCatch" anim="BF catches GF" fps="24" loop="false" x="0" y="0"/>
</character>
-6
View File
@@ -1,6 +0,0 @@
<!DOCTYPE codename-engine-character>
<character icon="bf-pixel-dead" x="200" y="570" scale="6" flipX="true" isPlayer="true" antialiasing="false" sprite="bf-pixel-dead" color="#7BD6F6">
<anim x="0" loop="false" y="0" fps="24" anim="BF Dies pixel" name="firstDeath"/>
<anim x="-5" loop="true" y="-2" fps="24" anim="Retry Loop" name="deathLoop"/>
<anim x="-5" loop="false" y="-2" fps="24" anim="RETRY CONFIRM" name="deathConfirm"/>
</character>
+9 -11
View File
@@ -1,12 +1,10 @@
<!DOCTYPE codename-engine-character>
<character x="200" y="570" sprite="bf-pixel" scale="6" antialiasing="false" flipX="true" isPlayer="true" icon="bf-pixel" color="#7BD6F6" gameOverChar="bf-pixel-dead">
<anim name="idle" anim="BF IDLE" x="0" y="0" fps="24" loop="false"/>
<anim name="singLEFT" anim="BF LEFT NOTE" x="-1" y="0" fps="24" loop="false"/>
<anim name="singDOWN" anim="BF DOWN NOTE" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="BF UP NOTE" x="0" y="0" fps="24" loop="false"/>
<anim name="singRIGHT" anim="BF RIGHT NOTE" x="0" y="0" fps="24" loop="false"/>
<anim name="singUPmiss" anim="BF UP MISS" x="0" y="0" fps="24" loop="false"/>
<anim name="singLEFTmiss" anim="BF LEFT MISS" x="-1" y="0" fps="24" loop="false"/>
<anim name="singRIGHTmiss" anim="BF RIGHT MISS" x="0" y="0" fps="24" loop="false"/>
<anim name="singDOWNmiss" anim="BF DOWN MISS" x="0" y="0" fps="24" loop="false"/>
</character>
<character isPlayer="true" flipX="true" x="200" y="570" antialiasing="false" scale="6" camx="-200" camy="-20">
<anim name="idle" anim="BF IDLE" fps="24" loop="false" x="0" y="0" />
<!-- Offsets are actually multiplied by scale -->
<anim name="singLEFT" anim="BF LEFT NOTE" fps="24" loop="false" x="0" y="0" />
<anim name="singDOWN" anim="BF DOWN NOTE" fps="24" loop="false" x="0" y="0" />
<anim name="singUP" anim="BF UP NOTE" fps="24" loop="false" x="0" y="0" />
<anim name="singRIGHT" anim="BF RIGHT NOTE" fps="24" loop="false" x="0" y="0" />
</character>
+13 -17
View File
@@ -1,18 +1,14 @@
<!DOCTYPE codename-engine-character>
<character y="350" sprite="bf" flipX="true" isPlayer="true" icon="bf" color="#31B0D1">
<anim name="idle" anim="BF idle dance" x="-5" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="BF NOTE UP0" x="-39" y="27" fps="24" loop="false"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" x="6" y="-7" fps="24" loop="false"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" x="-48" y="-6" fps="24" loop="false"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" x="-17" y="-50" fps="24" loop="false"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" x="-35" y="27" fps="24" loop="false"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" x="6" y="19" fps="24" loop="false"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" x="-44" y="22" fps="24" loop="false"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" x="-16" y="-19" fps="24" loop="false"/>
<anim name="hey" anim="BF HEY" x="-3" y="6" fps="24" loop="false"/>
<anim name="scared" anim="BF idle shaking" x="-6" y="1" fps="24" loop="true"/>
<anim name="hit" anim="BF hit" x="13" y="19" fps="24" loop="false"/>
<anim name="pre-attack" anim="bf pre attack" x="-47" y="-36" fps="24" loop="false"/>
<anim name="attack" anim="boyfriend attack" x="289" y="270" fps="24" loop="false"/>
<anim name="dodge" anim="boyfriend dodge" x="-8" y="-13" fps="24" loop="false"/>
</character>
<character isPlayer="true" flipX="true" x="0" y="350">
<anim name="idle" anim="BF idle dance" fps="24" loop="false" x="-5" y="0"/>
<anim name="singUP" anim="BF NOTE UP0" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFT" anim="BF NOTE LEFT0" fps="24" loop="false" x="12" y="-6"/>
<anim name="singRIGHT" anim="BF NOTE RIGHT0" fps="24" loop="false" x="-38" y="-7"/>
<anim name="singDOWN" anim="BF NOTE DOWN0" fps="24" loop="false" x="-10" y="-50"/>
<anim name="singUPmiss" anim="BF NOTE UP MISS" fps="24" loop="false" x="-29" y="27"/>
<anim name="singLEFTmiss" anim="BF NOTE LEFT MISS" fps="24" loop="false" x="12" y="24"/>
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-30" y="21"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-11" y="-19"/>
<anim name="hey" anim="BF HEY" fps="24" loop="false" x="7" y="4"/>
<anim name="scared" anim="BF idle shaking" fps="24" loop="true" x="-4" y="0"/>
</character>
-13
View File
@@ -1,13 +0,0 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="false" flipX="false" holdTime="6.1" icon="dad" y="150" color="#AF66CE">
<anim name="idle" anim="Dad idle dance" fps="24" loop="false" x="0" y="0"/>
<anim name="singUP" anim="Dad Sing note UP" fps="24" loop="false" x="-2" y="50"/>
<anim name="singLEFT" anim="dad sing note right" fps="24" loop="false" x="-2" y="10"/>
<anim name="singRIGHT" anim="Dad Sing Note LEFT" fps="24" loop="false" x="-5" y="27"/>
<anim name="singDOWN" anim="Dad Sing Note DOWN" fps="24" loop="false" x="0" y="-30"/>
<!-- funny loop -->
<anim name="idle-loop" anim="Dad idle dance" fps="24" loop="true" x="0" y="0" indices="10,11,12,12"/>
<anim name="singUP-loop" anim="Dad Sing note UP" fps="24" loop="true" x="-6" y="50" indices="56,57,58,59"/>
<anim name="singLEFT-loop" anim="dad sing note right" fps="24" loop="true" x="-10" y="10" indices="12,13,14,15"/>
<anim name="singRIGHT-loop" anim="Dad Sing Note LEFT" fps="24" loop="true" x="0" y="27" indices="15,16,17,18"/>
</character>
+7 -11
View File
@@ -1,12 +1,8 @@
<!DOCTYPE codename-engine-character>
<character sprite="dad" icon="dad" color="#AF66CE" holdTime="6.1">
<anim name="idle" anim="Dad idle dance" x="0" y="0" fps="24" loop="false" indices="2..12,0,1"/>
<anim name="singUP" anim="Dad Sing note UP" x="-10" y="50" fps="24" loop="false"/>
<anim name="singLEFT" anim="dad sing note right" x="-10" y="10" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Dad Sing Note LEFT" x="-4" y="26" fps="24" loop="false"/>
<anim name="singDOWN" anim="Dad Sing Note DOWN" x="2" y="-31" fps="24" loop="false"/>
<anim name="idle-loop" anim="Dad idle dance" x="0" y="0" fps="24" loop="true" indices="10..12,12"/>
<anim name="singUP-loop" anim="Dad Sing note UP" x="-10" y="50" fps="24" loop="true" indices="56..59"/>
<anim name="singLEFT-loop" anim="dad sing note right" x="-10" y="10" fps="24" loop="true" indices="12..15"/>
<anim name="singRIGHT-loop" anim="Dad Sing Note LEFT" x="-4" y="26" fps="24" loop="true" indices="15..18"/>
</character>
<character isPlayer="false" flipX="false" holdTime="6.1">
<anim name="idle" anim="Dad idle dance" fps="24" loop="false" x="0" y="0"/>
<anim name="singUP" anim="Dad Sing Note UP" fps="24" loop="false" x="-6" y="50"/>
<anim name="singLEFT" anim="Dad Sing Note LEFT" fps="24" loop="false" x="-10" y="10"/>
<anim name="singRIGHT" anim="Dad Sing Note RIGHT" fps="24" loop="false" x="0" y="27"/>
<anim name="singDOWN" anim="Dad Sing Note DOWN" fps="24" loop="false" x="0" y="-30"/>
</character>
+3 -3
View File
@@ -1,5 +1,5 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="false" flipX="false" x="75" y="335" icon="gf" color="#A5004D">
<anim name="danceLeft" anim="GF Dancing Beat Hair blowing CAR" fps="24" loop="false" x="0" y="0" indices="0..15" />
<anim name="danceRight" anim="GF Dancing Beat Hair blowing CAR" fps="24" loop="false" x="0" y="0" indices="16..30" />
<character isPlayer="false" flipX="false" isGF="true" x="75" y="335">
<anim name="danceLeft" anim="GF Dancing Beat Hair blowing CAR" fps="24" loop="false" x="0" y="0" indices="30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14" />
<anim name="danceRight" anim="GF Dancing Beat Hair blowing CAR" fps="24" loop="false" x="0" y="0" indices="15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" />
</character>
+13 -13
View File
@@ -1,14 +1,14 @@
<!DOCTYPE codename-engine-character>
<character x="115" y="325" sprite="gf-christmas" icon="gf" color="#A5004D">
<anim name="danceLeft" anim="GF Dancing Beat" x="0" y="-9" fps="24" loop="false" indices="0..14"/>
<anim name="danceRight" anim="GF Dancing Beat" x="0" y="-9" fps="24" loop="false" indices="15..30"/>
<anim name="singUP" anim="GF Up Note" x="0" y="-9" fps="24" loop="false"/>
<anim name="singDOWN" anim="GF Down Note" x="0" y="-9" fps="24" loop="false"/>
<anim name="singLEFT" anim="GF left note" x="0" y="-9" fps="24" loop="false"/>
<anim name="singRIGHT" anim="GF Right Note" x="0" y="-9" fps="24" loop="false"/>
<anim name="scared" anim="GF FEAR" x="0" y="-9" fps="24" loop="true"/>
<anim name="hairBlow" anim="GF Dancing Beat Hair blowing" x="0" y="-9" fps="24" loop="false" indices="0..3"/>
<anim name="hairFall" anim="GF Dancing Beat Hair Landing" x="0" y="-9" fps="24" loop="false" indices="0..11"/>
<anim name="cheer" anim="GF Cheer" x="0" y="-9" fps="24" loop="false"/>
<anim name="sad" anim="gf sad" x="-51" y="306" fps="24" loop="true" indices="0..12"/>
</character>
<character isPlayer="false" flipX="false" isGF="true" x="115" y="325">
<anim name="cheer" anim="GF Cheer" fps="24" loop="false" />
<anim name="singUP" anim="GF Up Note" fps="24" loop="false" x="0" y="4" />
<anim name="singLEFT" anim="GF left note" fps="24" loop="false" x="0" y="-19" />
<anim name="singRIGHT" anim="GF Right Note" fps="24" loop="false" x="0" y="-20" />
<anim name="singDOWN" anim="GF Down Note" fps="24" loop="false" x="0" y="-20" />
<anim name="danceLeft" anim="GF Dancing Beat" fps="24" loop="false" x="0" y="-9" indices="30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14" />
<anim name="danceRight" anim="GF Dancing Beat" fps="24" loop="false" x="0" y="-9" indices="15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" />
<anim name="hairBlow" anim="GF Dancing Beat Hair blowing" fps="24" loop="false" x="45" y="-8" indices="0,1,2,3" />
<anim name="hairFall" anim="GF Dancing Beat Hair Landing" fps="24" loop="false" x="0" y="-9" indices="0,1,2,3,4,5,6,7,8,9,10,11" />
<anim name="scared" anim="GF FEAR" fps="24" loop="true" x="-2" y="-17" />
<anim name="sad" anim="gf sad" fps="24" loop="true" x="-2" y="-21" indices="0,1,2,3,4,5,6,7,8,9,10,11,12" />
</character>
+4 -4
View File
@@ -1,5 +1,5 @@
<!DOCTYPE codename-engine-character>
<character x="180" y="300" sprite="gf-pixel" scale="6" antialiasing="false" camx="180" camy="300" icon="gf-pixel" color="#C70660">
<anim name="danceLeft" anim="GF IDLE" x="0" y="0" fps="24" loop="false" indices="0..14"/>
<anim name="danceRight" anim="GF IDLE" x="0" y="0" fps="24" loop="false" indices="15..30"/>
</character>
<character isPlayer="false" flipX="false" x="180" y="300" antialiasing="false" scale="6" camx="180" camy="300">
<anim name="danceLeft" anim="GF IDLE" fps="24" loop="false" indices="30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14" x="0" y="0" />
<anim name="danceRight" anim="GF IDLE" fps="24" loop="false" indices="15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" x="0" y="0" />
</character>
+5 -6
View File
@@ -1,7 +1,6 @@
<!DOCTYPE codename-engine-character>
<character sprite="gf-tankmen" icon="gf" color="#A5004D">
<anim name="danceLeft" anim="GF Dancing at Gunpoint" x="0" y="0" fps="24" loop="false" indices="0..14"/>
<anim name="danceRight" anim="GF Dancing at Gunpoint" x="0" y="0" fps="24" loop="false" indices="15..30"/>
<anim name="dance-cutscene" anim="GF Dancing at Gunpoint" x="0" y="0" fps="24" loop="true"/>
<anim name="sad" anim="GF Crying at Gunpoint" x="-315" y="6" fps="24" loop="true" indices="0..12"/>
</character>
<character isPlayer="false" flipX="false" isGF="true">
<anim name="danceLeft" anim="GF Dancing at Gunpoint" fps="24" loop="false" x="0" y="-9" indices="30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14" />
<anim name="danceRight" anim="GF Dancing at Gunpoint" fps="24" loop="false" x="0" y="-9" indices="15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" />
<anim name="sad" anim="GF Crying at Gunpoint" fps="24" loop="true" x="-2" y="-21" indices="0,1,2,3,4,5,6,7,8,9,10,11,12"/>
</character>
+13 -13
View File
@@ -1,14 +1,14 @@
<!DOCTYPE codename-engine-character>
<character x="100" y="275" sprite="gf" icon="gf" color="#A5004D">
<anim name="cheer" anim="GF Cheer" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="GF Up Note" x="0" y="0" fps="24" loop="false"/>
<anim name="singLEFT" anim="GF left note" x="0" y="0" fps="24" loop="false"/>
<anim name="singRIGHT" anim="GF Right Note" x="0" y="0" fps="24" loop="false"/>
<anim name="singDOWN" anim="GF Down Note" x="0" y="0" fps="24" loop="false"/>
<anim name="danceLeft" anim="GF Dancing Beat" x="0" y="0" fps="24" loop="false" indices="0..14"/>
<anim name="danceRight" anim="GF Dancing Beat" x="0" y="0" fps="24" loop="false" indices="15..30"/>
<anim name="hairBlow" anim="GF Dancing Beat Hair blowing" x="0" y="0" fps="24" loop="true" indices="0,1,2,3"/>
<anim name="hairFall" anim="GF Dancing Beat Hair Landing" x="0" y="0" fps="24" loop="false" indices="0..11"/>
<anim name="scared" anim="GF FEAR" x="0" y="0" fps="24" loop="true"/>
<anim name="sad" anim="gf sad" x="0" y="0" fps="24" loop="true" indices="0..12"/>
</character>
<character isPlayer="false" flipX="false" isGF="true" x="100" y="275">
<anim name="cheer" anim="GF Cheer" fps="24" loop="false" />
<anim name="singUP" anim="GF Up Note" fps="24" loop="false" x="0" y="0" />
<anim name="singLEFT" anim="GF left note" fps="24" loop="false" x="0" y="0" />
<anim name="singRIGHT" anim="GF Right Note" fps="24" loop="false" x="0" y="0" />
<anim name="singDOWN" anim="GF Down Note" fps="24" loop="false" x="0" y="0" />
<anim name="danceLeft" anim="GF Dancing Beat" fps="24" loop="false" x="0" y="0" indices="30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14" />
<anim name="danceRight" anim="GF Dancing Beat" fps="24" loop="false" x="0" y="0" indices="15,16,17,18,19,20,21,22,23,24,25,26,27,28,29" />
<anim name="hairBlow" anim="GF Dancing Beat Hair blowing" fps="24" loop="false" x="0" y="0" indices="0,1,2,3" />
<anim name="hairFall" anim="GF Dancing Beat Hair Landing" fps="24" loop="false" x="0" y="0" indices="0,1,2,3,4,5,6,7,8,9,10,11" />
<anim name="scared" anim="GF FEAR" fps="24" loop="true" x="0" y="0" />
<anim name="sad" anim="gf sad" fps="24" loop="true" x="0" y="0" indices="0,1,2,3,4,5,6,7,8,9,10,11,12" />
</character>
+9 -12
View File
@@ -1,13 +1,10 @@
<!DOCTYPE codename-engine-character>
<character sprite="mom-car" icon="mom" color="#D8558E">
<anim name="idle" anim="Mom Idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="Mom Up Pose" x="-1" y="81" fps="24" loop="false"/>
<anim name="singDOWN" anim="MOM DOWN POSE" x="-12" y="-160" fps="24" loop="false"/>
<anim name="singLEFT" anim="Mom Left Pose" x="250" y="-23" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Mom Pose Left" x="-15" y="-55" fps="24" loop="false"/>
<anim name="idle-loop" anim="Mom Idle" x="0" y="0" fps="24" loop="true" indices="10..13"/>
<anim name="singUP-loop" anim="Mom Up Pose" x="-1" y="81" fps="24" loop="true" indices="11..14"/>
<anim name="singDOWN-loop" anim="MOM DOWN POSE" x="-12" y="-160" fps="24" loop="true" indices="11..14"/>
<anim name="singLEFT-loop" anim="Mom Left Pose" x="250" y="-23" fps="24" loop="true" indices="6..9"/>
<anim name="singRIGHT-loop" anim="Mom Pose Left" x="-15" y="-55" fps="24" loop="true" indices="6..9"/>
</character>
<character isPlayer="false" flipX="false" icon="mom">
<anim name="idle" anim="Mom Idle" fps="24" loop="false" />
<anim name="singUP" anim="Mom Up Pose" fps="24" loop="false" x="14" y="71"/>
<anim name="singDOWN" anim="MOM DOWN POSE" fps="24" loop="false" x="20" y="-160"/>
<anim name="singLEFT" anim="Mom Left Pose" fps="24" loop="false" x="250" y="-23"/>
<!-- ANIMATION IS CALLED MOM LEFT POSE BUT ITS FOR THE RIGHT -->
<!-- CUZ DAVE IS DUMB! -->
<anim name="singRIGHT" anim="Mom Pose Left" fps="24" loop="false" x="10" y="-60"/>
</character>
+9 -13
View File
@@ -1,14 +1,10 @@
<!DOCTYPE codename-engine-character>
<character sprite="mom" icon="mom" color="#D8558E">
<anim name="idle" anim="Mom Idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="Mom Up Pose" x="13" y="67" fps="24" loop="false"/>
<anim name="singDOWN" anim="MOM DOWN POSE" x="8" y="-173" fps="24" loop="false"/>
<anim name="singLEFT" anim="Mom Left Pose" x="282" y="-28" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Mom Pose Left" x="-20" y="-60" fps="24" loop="false"/>
<anim name="idle-loop" anim="Mom Idle" x="0" y="0" fps="24" loop="true" indices="10..13"/>
<anim name="singUP-loop" anim="Mom Up Pose" x="13" y="67" fps="24" loop="true" indices="11..14"/>
<anim name="singDOWN-loop" anim="MOM DOWN POSE" x="8" y="-173" fps="24" loop="true" indices="11..14"/>
<anim name="singLEFT-loop" anim="Mom Left Pose" x="282" y="-28" fps="24" loop="true" indices="6..9"/>
<anim name="singRIGHT-loop" anim="Mom Pose Left" x="-20" y="-60" fps="24" loop="true" indices="6..9"/>
</character>
<character isPlayer="false" flipX="false">
<anim name="idle" anim="Mom Idle" fps="24" loop="false" />
<anim name="singUP" anim="Mom Up Pose" fps="24" loop="false" x="14" y="71"/>
<anim name="singDOWN" anim="MOM DOWN POSE" fps="24" loop="false" x="20" y="-160"/>
<anim name="singLEFT" anim="Mom Left Pose" fps="24" loop="false" x="250" y="-23"/>
<!-- ANIMATION IS CALLED MOM LEFT POSE BUT ITS FOR THE RIGHT -->
<!-- CUZ DAVE IS DUMB! -->
<anim name="singRIGHT" anim="Mom Pose Left" fps="24" loop="false" x="10" y="-60"/>
</character>
+7 -7
View File
@@ -1,8 +1,8 @@
<!DOCTYPE codename-engine-character>
<character y="130" sprite="monster-christmas" icon="monster" color="#F3FF6E">
<anim name="idle" anim="monster idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="monster up note" x="-26" y="57" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Monster left note" x="-34" y="10" fps="24" loop="false"/>
<anim name="singLEFT" anim="Monster Right note" x="-41" y="5" fps="24" loop="false"/>
<anim name="singDOWN" anim="monster down" x="-50" y="-92" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="false" x="0" y="130" icon="monster">
<anim name="idle" anim="monster idle" fps="24" loop="false" x="0" y="0"/>
<anim name="singUP" anim="monster up note" fps="24" loop="false" x="-20" y="50"/>
<anim name="singLEFT" anim="Monster left note" fps="24" loop="false" x="-30" y="0"/>
<anim name="singRIGHT" anim="Monster Right note" fps="24" loop="false" x="-51" y="0"/>
<anim name="singDOWN" anim="monster down" fps="24" loop="false" x="-40" y="-94"/>
</character>
+7 -7
View File
@@ -1,8 +1,8 @@
<!DOCTYPE codename-engine-character>
<character y="100" sprite="monster" icon="monster" color="#F3FF6E">
<anim name="idle" anim="monster idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="monster up note" x="-26" y="92" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Monster left note" x="-34" y="10" fps="24" loop="false"/>
<anim name="singLEFT" anim="Monster Right note" x="-41" y="10" fps="24" loop="false"/>
<anim name="singDOWN" anim="monster down" x="-50" y="-87" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="false" x="0" y="100">
<anim name="idle" anim="monster idle" fps="24" loop="false" />
<anim name="singUP" anim="monster up note" fps="24" loop="false" x="-20" y="94"/>
<anim name="singLEFT" anim="Monster left note" fps="24" loop="false" x="-30" y="20"/>
<anim name="singRIGHT" anim="Monster Right note" fps="24" loop="false" x="-51" y="30"/>
<anim name="singDOWN" anim="monster down" fps="24" loop="false" x="-50" y="-80"/>
</character>
+11 -24
View File
@@ -1,25 +1,12 @@
<!DOCTYPE codename-engine-character>
<character x="-500" sprite="parents-christmas" icon="parents-christmas" color="#C45EAE">
<!--Dad Animations-->
<anim name="idle" anim="Parent Christmas Idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="Parent Up Note Dad" x="-47" y="25" fps="24" loop="false"/>
<anim name="singDOWN" anim="Parent Down Note Dad" x="-33" y="-25" fps="24" loop="false"/>
<anim name="singLEFT" anim="Parent Left Note Dad" x="-28" y="20" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Parent Right Note Dad" x="0" y="-20" fps="24" loop="false"/>
<!--Dad Loop Animations-->
<anim name="idle-loop" anim="Parent Christmas Idle" x="0" y="0" fps="24" loop="true" indices="11,11..13"/>
<anim name="singUP-loop" anim="Parent Up Note Dad" x="-47" y="25" fps="24" loop="true" indices="10..13"/>
<anim name="singDOWN-loop" anim="Parent Down Note Dad" x="-33" y="-25" fps="24" loop="true" indices="11..14"/>
<anim name="singLEFT-loop" anim="Parent Left Note Dad" x="-28" y="20" fps="24" loop="true" indices="12..15"/>
<anim name="singRIGHT-loop" anim="Parent Right Note Dad" x="0" y="-20" fps="24" loop="true" indices="12..15"/>
<!--Mom Animations-->
<anim name="singUP-alt" anim="Parent Up Note Mom" x="-47" y="28" fps="24" loop="false"/>
<anim name="singDOWN-alt" anim="Parent Down Note Mom" x="-33" y="-25" fps="24" loop="false"/>
<anim name="singLEFT-alt" anim="Parent Left Note Mom" x="-28" y="19" fps="24" loop="false"/>
<anim name="singRIGHT-alt" anim="Parent Right Note Mom" x="0" y="-19" fps="24" loop="false"/>
<!--Mom Loop Animations-->
<anim name="singUP-alt-loop" anim="Parent Up Note Mom" x="-47" y="28" fps="24" loop="true" indices="10..13"/>
<anim name="singDOWN-alt-loop" anim="Parent Down Note Mom" x="-33" y="-25" fps="24" loop="true" indices="11..14"/>
<anim name="singLEFT-alt-loop" anim="Parent Left Note Mom" x="-28" y="19" fps="24" loop="true" indices="11..14"/>
<anim name="singRIGHT-alt-loop" anim="Parent Right Note Mom" x="0" y="-19" fps="24" loop="true" indices="11..14"/>
</character>
<character isPlayer="false" flipX="false" x="-500" y="0">
<anim name="idle" anim="Parent Christmas Idle" fps="24" loop="false"/>
<anim name="singUP" anim="Parent Up Note Dad" fps="24" loop="false" x="-47" y="24"/>
<anim name="singDOWN" anim="Parent Down Note Dad" fps="24" loop="false" x="-31" y="-29"/>
<anim name="singLEFT" anim="Parent Left Note Dad" fps="24" loop="false" x="-30" y="16"/>
<anim name="singRIGHT" anim="Parent Right Note Dad" fps="24" loop="false" x="-1" y="-23"/>
<anim name="singUP-alt" anim="Parent Up Note Mom" fps="24" loop="false" x="-47" y="24"/>
<anim name="singDOWN-alt" anim="Parent Down Note Mom" fps="24" loop="false" x="-30" y="-27"/>
<anim name="singLEFT-alt" anim="Parent Left Note Mom" fps="24" loop="false" x="-30" y="15"/>
<anim name="singRIGHT-alt" anim="Parent Right Note Mom" fps="24" loop="false" x="-1" y="-24"/>
</character>
+8 -9
View File
@@ -1,20 +1,19 @@
var dir = 2;
function onDance(event) {
event.cancel();
playAnim("idle" + Std.string(dir), true, "DANCE");
event.cancel();
playAnim("idle" + Std.string(dir), true, "DANCE");
}
function onPlaySingAnim(event) {
dir = FlxG.random.int(0, 1) + (event.direction == 0 ? 3 : 1);
event.cancel();
dir = FlxG.random.int(0, 1) + (event.direction == 0 ? 1 : 3);
event.cancel();
playAnim("shoot" + Std.string(dir), true);
playAnim("shoot" + Std.string(dir), true);
}
function update(elapsed) {
var animName = getAnimName();
if (animName == null || (animName.substr(0, 5) == "shoot" && isAnimFinished()))
dance();
if (animation.curAnim == null || (animation.curAnim.name.substr(0, 5) == "shoot" && animation.curAnim.finished))
dance();
}
+15 -10
View File
@@ -1,11 +1,16 @@
<!DOCTYPE codename-engine-character>
<character x="115" y="-85" sprite="pico-speakers" camx="195" camy="360" icon="pico" color="#B7D855">
<anim name="idle1" anim="Pico shoot 1" x="0" y="0" fps="24" loop="false" indices="4..24"/>
<anim name="idle2" anim="Pico shoot 2" x="0" y="0" fps="24" loop="false" indices="4..24"/>
<anim name="idle3" anim="Pico shoot 3" x="0" y="0" fps="24" loop="false" indices="4..24"/>
<anim name="idle4" anim="Pico shoot 4" x="0" y="0" fps="24" loop="false" indices="4..24"/>
<anim name="shoot1" anim="Pico shoot 1" x="0" y="0" fps="24" loop="false" indices="0..3"/>
<anim name="shoot2" anim="Pico shoot 2" x="0" y="0" fps="24" loop="false" indices="0..3"/>
<anim name="shoot3" anim="Pico shoot 3" x="0" y="0" fps="24" loop="false" indices="0..3"/>
<anim name="shoot4" anim="Pico shoot 4" x="0" y="0" fps="24" loop="false" indices="0..3"/>
</character>
<character isPlayer="false" flipX="false" icon="pico" x="140" y="-125">
<!-- Left Animations -->
<anim name="shoot1" anim="Pico shoot 1" fps="24" loop="false" indices="0,1,2,3" />
<anim name="idle1" anim="Pico shoot 1" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" />
<anim name="shoot2" anim="Pico shoot 2" fps="24" loop="false" indices="0,1,2,3" x="-1" y="-128" />
<anim name="idle2" anim="Pico shoot 2" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="-1" y="-128" />
<!-- Right Animations-->
<anim name="shoot3" anim="Pico shoot 3" fps="24" loop="false" indices="0,1,2,3" x="412" y="-64" />
<anim name="idle3" anim="Pico shoot 3" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="412" y="-64" />
<anim name="shoot4" anim="Pico shoot 4" fps="24" loop="false" indices="0,1,2,3" x="439" y="-19" />
<anim name="idle4" anim="Pico shoot 4" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="439" y="-19" />
</character>
+15 -11
View File
@@ -1,12 +1,16 @@
<!DOCTYPE codename-engine-character>
<character x="100" y="300" sprite="pico" flipX="true" camx="-100" icon="pico" color="#B7D855">
<anim name="idle" anim="Pico Idle Dance" x="0" y="0" fps="24" loop="false"/>
<anim name="singLEFT" anim="Pico Note Right0" x="56" y="1" fps="24" loop="false"/>
<anim name="singDOWN" anim="Pico Down Note0" x="193" y="-82" fps="24" loop="false"/>
<anim name="singUP" anim="pico Up note0" x="-31" y="30" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Pico NOTE LEFT0" x="-83" y="-11" fps="24" loop="false"/>
<anim name="singLEFTmiss" anim="Pico Note Right Miss" x="57" y="47" fps="24" loop="false"/>
<anim name="singDOWNmiss" anim="Pico Down Note MISS" x="193" y="-40" fps="24" loop="false"/>
<anim name="singUPmiss" anim="pico Up note miss" x="-19" y="67" fps="24" loop="false"/>
<anim name="singRIGHTmiss" anim="Pico NOTE LEFT miss" x="-77" y="25" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="true" x="100" y="300" camx="-100">
<anim name="idle" anim="Pico Idle Dance" fps="24" loop="false"/>
<!-- Sing Animations -->
<anim name="singLEFT" anim="Pico Note Right0" fps="24" loop="false" x="65" y="9" />
<anim name="singDOWN" anim="Pico Down Note0" fps="24" loop="false" x="200" y="-70" />
<anim name="singUP" anim="pico Up note0" fps="24" loop="false" x="-20" y="50" />
<anim name="singRIGHT" anim="Pico NOTE LEFT0" fps="24" loop="false" x="-51" y="0" />
<!-- Miss Animations -->
<anim name="singLEFTmiss" anim="Pico Note Right Miss" fps="24" loop="false" x="62" y="64" />
<anim name="singDOWNmiss" anim="Pico Down Note MISS" fps="24" loop="false" x="200" y="-70" />
<anim name="singUPmiss" anim="pico Up note miss" fps="24" loop="false" x="-19" y="67" />
<anim name="singRIGHTmiss" anim="Pico NOTE LEFT miss" fps="24" loop="false" x="-60" y="41" />
</character>
+9 -7
View File
@@ -1,8 +1,10 @@
<!DOCTYPE codename-engine-character>
<character x="150" y="360" sprite="senpai" scale="6" antialiasing="false" camx="100" camy="87" icon="senpai" color="#FFAA6F">
<anim name="idle" anim="Angry Senpai Idle" x="0" y="0" fps="24" loop="false"/>
<anim name="singLEFT" anim="Angry Senpai LEFT NOTE" x="3" y="0" fps="24" loop="false"/>
<anim name="singDOWN" anim="Angry Senpai DOWN NOTE" x="-1" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="Angry Senpai UP NOTE" x="0" y="6" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Angry Senpai RIGHT NOTE" x="-1" y="0" fps="24" loop="false"/>
</character>
<character sprite="senpai" isPlayer="false" flipX="false" x="150" y="360" antialiasing="false" scale="6" icon="senpai" camx="100">
<anim name="idle" anim="Angry Senpai Idle" fps="24" loop="false" x="0" y="0" />
<!-- Offsets are actually multiplied by scale -->
<anim name="singLEFT" anim="Angry Senpai LEFT NOTE" fps="24" loop="false" x="7" y="0" />
<anim name="singDOWN" anim="Angry Senpai DOWN NOTE" fps="24" loop="false" x="2" y="0" />
<anim name="singUP" anim="Angry Senpai UP NOTE" fps="24" loop="false" x="1" y="6" />
<anim name="singRIGHT" anim="Angry Senpai RIGHT NOTE" fps="24" loop="false" x="0" y="0" />
</character>
+9 -8
View File
@@ -1,9 +1,10 @@
<!DOCTYPE codename-engine-character>
<character x="150" y="360" sprite="senpai" scale="6" antialiasing="false" camx="100" camy="87" icon="senpai" color="#FFAA6F" interval="2">
<anim name="danceLeft" anim="Senpai Idle instance" x="0" y="0" fps="24" loop="false" indices="0..15"/>
<anim name="danceRight" anim="Senpai Idle instance" x="0" y="0" fps="24" loop="false" indices="16..31"/>
<anim name="singLEFT" anim="SENPAI LEFT NOTE" x="4" y="0" fps="24" loop="false"/>
<anim name="singDOWN" anim="SENPAI DOWN NOTE" x="0" y="0" fps="24" loop="false"/>
<anim name="singUP" anim="SENPAI UP NOTE" x="0" y="6" fps="24" loop="false"/>
<anim name="singRIGHT" anim="SENPAI RIGHT NOTE" x="0" y="0" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="false" x="150" y="360" antialiasing="false" scale="6" camx="100">
<anim name="idle" anim="Senpai Idle" fps="12" loop="false" x="0" y="0" />
<!-- Offsets are actually multiplied by scale -->
<anim name="singLEFT" anim="SENPAI LEFT NOTE" fps="12" loop="false" x="7" y="0" />
<anim name="singDOWN" anim="SENPAI DOWN NOTE" fps="12" loop="false" x="2" y="0" />
<anim name="singUP" anim="SENPAI UP NOTE" fps="12" loop="false" x="1" y="6" />
<anim name="singRIGHT" anim="SENPAI RIGHT NOTE" fps="12" loop="false" x="0" y="0" />
</character>
-16
View File
@@ -1,16 +0,0 @@
import flixel.addons.effects.FlxTrail;
var self = this;
var trail:FlxTrail;
function postCreate() {
trail = new FlxTrail(self, null, 4, 24, 0.3, 0.069);
}
var toAdd:Bool = true; // Using this just to make sure
function update(elapsed) {
if(toAdd) {
toAdd = false;
PlayState.instance.insert(PlayState.instance.members.indexOf(self), trail);
disableScript();
}
}
+9 -7
View File
@@ -1,8 +1,10 @@
<!DOCTYPE codename-engine-character>
<character x="70" y="380" sprite="spirit" scale="6" antialiasing="false" camx="100" icon="spirit" color="#FF3C6E">
<anim name="idle" anim="idle spirit_" x="0" y="1" fps="24" loop="false"/>
<anim name="singLEFT" anim="left_" x="4" y="-1" fps="24" loop="false"/>
<anim name="singDOWN" anim="spirit down_" x="66" y="64" fps="24" loop="false"/>
<anim name="singUP" anim="up_" x="-1" y="8" fps="24" loop="false"/>
<anim name="singRIGHT" anim="right_" x="-2" y="0" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="false" x="70" y="380" antialiasing="false" scale="6" camx="100">
<anim name="idle" anim="idle spirit_" fps="24" loop="false" x="0" y="0" />
<!-- Offsets are actually multiplied by scale -->
<anim name="singLEFT" anim="left_" fps="24" loop="false" x="3" y="0" />
<anim name="singDOWN" anim="spirit down_" fps="24" loop="false" x="65" y="65" />
<anim name="singUP" anim="up_" fps="24" loop="false" x="0" y="7" />
<anim name="singRIGHT" anim="right_" fps="24" loop="false" x="0" y="0" />
</character>
+8 -8
View File
@@ -1,9 +1,9 @@
<!DOCTYPE codename-engine-character>
<character y="200" sprite="spooky" icon="spooky" color="#C5995A">
<anim name="danceLeft" anim="spooky dance idle" x="0" y="0" fps="24" loop="false" indices="0..6"/>
<anim name="danceRight" anim="spooky dance idle" x="0" y="0" fps="24" loop="false" indices="8..14"/>
<anim name="singUP" anim="spooky UP NOTE" x="-20" y="26" fps="24" loop="false"/>
<anim name="singLEFT" anim="note sing left" x="119" y="-11" fps="24" loop="false"/>
<anim name="singRIGHT" anim="spooky sing right" x="-150" y="-11" fps="24" loop="false"/>
<anim name="singDOWN" anim="spooky DOWN note" x="-77" y="-136" fps="24" loop="false"/>
</character>
<character isPlayer="false" flipX="false" x="0" y="200">
<anim name="danceLeft" anim="spooky dance idle" fps="12" loop="false" x="0" y="0" indices="0,2,6"/>
<anim name="danceRight" anim="spooky dance idle" fps="12" loop="false" x="0" y="0" indices="8,10,12,14"/>
<anim name="singUP" anim="spooky UP NOTE" fps="24" loop="false" x="-20" y="26"/>
<anim name="singLEFT" anim="note sing left" fps="24" loop="false" x="130" y="-10"/>
<anim name="singRIGHT" anim="spooky sing right" fps="24" loop="false" x="-130" y="-14"/>
<anim name="singDOWN" anim="spooky DOWN note" fps="24" loop="false" x="-50" y="-130"/>
</character>
+14 -9
View File
@@ -1,10 +1,15 @@
<!DOCTYPE codename-engine-character>
<character y="180" sprite="tankman" flipX="true" isPlayer="true" icon="tankman" color="#FFFFFF">
<anim name="idle" anim="Tankman Idle Dance instance 100" x="0" y="0" fps="24" loop="false"/>
<anim name="singRIGHT" anim="Tankman Right Note instance 1000" x="-24" y="-13" fps="24" loop="false"/>
<anim name="singDOWN" anim="Tankman DOWN note instance 1000" x="75" y="-105" fps="24" loop="false"/>
<anim name="singUP" anim="Tankman UP note instance 1000" x="27" y="53" fps="24" loop="false"/>
<anim name="singLEFT" anim="Tankman Note Left instance 1000" x="92" y="-28" fps="24" loop="false"/>
<anim name="good!" anim="PRETTY GOOD tankman instance 100" x="100" y="17" fps="24" loop="false"/>
<anim name="singUP-alt" anim="TANKMAN UGH instance 100" x="-13" y="-9" fps="30" loop="false"/>
</character>
<!-- tankman actually have player offsets !-->
<character isPlayer="true" flipX="true" x="0" y="180" camx="0">
<anim name="idle" anim="Tankman Idle Dance instance 100" fps="24" loop="false" x="0" y="0" />
<anim name="singRIGHT" anim="Tankman Right Note instance 1000" fps="24" loop="false" x="-1" y="-7" />
<anim name="singDOWN" anim="Tankman DOWN note instance 1000" fps="24" loop="false" x="98" y="-90" />
<anim name="singUP" anim="Tankman UP note instance 1000" fps="24" loop="false" x="24" y="56" />
<anim name="singLEFT" anim="Tankman Note Left instance 1000" fps="24" loop="false" x="100" y="-14" />
<!-- Heh! Pretty Good! -->
<anim name="singDOWN-alt" anim="PRETTY GOOD tankman instance 100" fps="24" loop="false" x="98" y="-90" />
<!-- Ugh! -->
<anim name="singUP-alt" anim="TANKMAN UGH instance 100" fps="30" loop="false" x="24" y="56" />
</character>
+7
View File
@@ -0,0 +1,7 @@
<!DOCTYPE codename-config >
<mod name="Codename Engine" desc="New FNF engine designed to make mod making easier, both in source and via softcoding!">
<!-- This line is ignored if in source assets. Use the project.xml to change settings. !-->
<window icon="icon.ico" title="Friday Night Funkin' - Codename Engine" width="1280" height="720" />
</mod>
-4
View File
@@ -1,4 +0,0 @@
{
"clientID": "1383853614589673472",
"logoKey": "icon"
}
-30
View File
@@ -1,30 +0,0 @@
test
tutorial
bopeebo
fresh
dadbattle
spookeez
south
monster
pico
philly nice
blammed
satin panties
high
milf
cocoa
eggnog
winter horrorland
senpai
roses
thorns
ugh
guns
stress
-4
View File
@@ -1,4 +0,0 @@
story mode
freeplay
options
credits
-24
View File
@@ -1,24 +0,0 @@
<!DOCTYPE codename-engine-dialogue-box>
<dialoguebox y="75">
<!--
Node containing all text settings
-->
<text font="vcr.ttf" x="107" y="206" width="1053" color="#000000" size="40"/>
<!--
All positions for characters
-->
<charpos name="left" x="-500" y="184" flipBubble="true" />
<charpos name="middle" x="0" y="184" />
<charpos name="right" x="500" y="184" />
<!--
All animations for the dialogue box
For example, if you wanna add an "angry" animation, add an animation named "angry" (box idle), and "angry-open" (not needed, for box apparition)
-->
<anim name="normal" anim="speech bubble normal" fps="24" loop="true" x="-30"/>
<anim name="normal-open" anim="Speech Bubble Normal Open" fps="24" />
<anim name="angry" anim="AHH speech bubble" fps="24" loop="true" y="60"/>
<anim name="angry-open" anim="speech bubble loud open" fps="24" y="60"/>
</dialoguebox>
@@ -1,61 +0,0 @@
var loopedTimer:FlxTimer; // Hey! a man has fallen into the river in lego city! and if youre asking why this is here, you shall disappear! - Nex
var bgFade:FlxSprite;
var hand:FlxSprite;
function postCreate() {
bgFade = new FlxSprite().makeSolid(FlxG.width + 100, FlxG.height + 100, 0xFFB3DFd8);
bgFade.screenCenter();
bgFade.scrollFactor.set();
bgFade.alpha = 0;
cutscene.insert(0, bgFade);
loopedTimer = new FlxTimer().start(0.83, function(tmr:FlxTimer)
{
bgFade.alpha += (1 / 5) * 0.7;
if (bgFade.alpha > 0.7)
bgFade.alpha = 0.7;
}, 5);
hand = new FlxSprite(0, 600).loadGraphic(Paths.image('stages/school/ui/hand_textbox'));
hand.scale.set(4, 4);
hand.updateHitbox();
}
var finished:Bool = false;
function close(event) {
if(finished) return;
else event.cancelled = true;
cutscene.canProceed = false;
cutscene.curMusic?.fadeOut(1, 0);
for(c in cutscene.charMap) c.visible = false;
loopedTimer.cancel();
loopedTimer = new FlxTimer().start(0.2, function(tmr:FlxTimer)
{
if (tmr.elapsedLoops <= 5) {
cutscene.dialogueBox.alpha -= 1 / 5;
cutscene.dialogueBox.text.alpha -= 1 / 5;
bgFade.alpha -= (1 / 5) * 0.7;
hand.alpha -= 1 / 5;
} else {
finished = true;
cutscene.close();
}
}, 6);
}
var time:Float = 0;
function update(elapsed:Float) {
if(hand.visible = dialogueEnded) {
hand.x = 1060 + Math.sin((time += elapsed) * Math.PI * 2) * 12;
hand.x -= hand.x % hand.scale.x;
hand.y -= hand.y % hand.scale.y;
}
}
function postPlayBubbleAnim() {
cutscene.remove(hand);
if(active && visible)
cutscene.add(hand);
}
@@ -1,21 +0,0 @@
<!DOCTYPE codename-engine-dialogue-box>
<dialoguebox sprite="pixel/dialogueBox" antialiasing="false" graphicSizex="1227" x="-67" y="-325" textSound="pixel/pixelText" nextSound="pixel/clickText" updateHitbox="true">
<!--
Node containing all text settings
-->
<text font="pixel.otf" x="239" y="218" width="768" color="#3f2021" size="32" antialiasing="false" borderSize="1" borderStyle="shadow" borderColor="#D89494" shadowOffsetX="2" shadowOffsetY="2"/>
<!--
All positions for characters
-->
<charpos name="left" x="-500" y="184" />
<charpos name="middle" x="0" y="184" />
<charpos name="right" x="490" y="184" />
<!--
All animations for the dialogue box
For example, if you wanna add an "angry" animation, add an animation named "angry" (box idle), and "angry-open" (not needed, for box apparition)
-->
<anim name="normal-firstOpen" anim="Text Box Appear instance 10" fps="24" />
<anim name="angry-firstOpen" anim="Text Box Bump Appear instance 10" x="-16" y="-59" fps="24" />
</dialoguebox>
@@ -1,43 +0,0 @@
import flixel.tweens.FlxTweenType;
var aberration:CustomShader = null;
var spirit:FlxSprite;
function postCreate() {
spirit = new FlxSprite(320, 170).loadGraphic(Paths.image('game/cutscenes/weeb/spiritFaceForward'));
spirit.setGraphicSize(Std.int(spirit.width * 6));
if(Options.gameplayShaders) {
spirit.shader = aberration = new CustomShader('chromaticAberration');
FlxTween.num(-0.003, 0.003, 3, {ease: FlxEase.sineInOut, type: FlxTweenType.PINGPONG}, function(num) { if(aberration == null) return; aberration.redOff = [0, -num]; aberration.blueOff = [0, num]; });
}
cutscene.add(spirit);
FlxG.camera._fxFadeAlpha = 0;
cutscene.dialogueCamera.bgColor = FlxColor.fromRGBFloat(1, 1, 1, 0.3);
}
var finished:Bool = false;
function close(event) {
if(finished) return;
else event.cancelled = true;
cutscene.canProceed = false;
cutscene.curMusic?.fadeOut(1, 0);
for(c in cutscene.charMap) c.visible = false;
spirit.destroy();
spirit.shader = aberration = null;
new FlxTimer().start(0.4, function(swagTimer:FlxTimer) {
cutscene.dialogueCamera.alpha -= 0.15;
if(cutscene.dialogueCamera.alpha > 0) swagTimer.reset();
else {
finished = true;
cutscene.close();
}
});
}
function popupChar(event) {
if(!active || event.char.positionName != "left") return;
event.char.color = FlxColor.BLACK;
}
@@ -1,20 +0,0 @@
<!DOCTYPE codename-engine-dialogue-box>
<dialoguebox sprite="pixel/dialogueBox-evil" antialiasing="false" graphicSizex="1344" y="107" textSound="pixel/pixelText" nextSound="pixel/clickText" updateHitbox="true">
<!--
Node containing all text settings
-->
<text font="pixel.otf" x="265" y="220" width="768" color="#FFFFFF" size="32" antialiasing="false" borderSize="2" borderStyle="shadow" borderColor="#000000" />
<!--
All positions for characters
-->
<charpos name="left" x="-510" y="183" />
<charpos name="middle" x="0" y="183" />
<charpos name="right" x="510" y="183" />
<!--
All animations for the dialogue box
For example, if you wanna add an "angry" animation, add an animation named "angry" (box idle), and "angry-open" (not needed, for box apparition)
-->
<anim name="normal-firstOpen" anim="Spirit Textbox spawn instance 10" fps="24" />
</dialoguebox>
@@ -1,4 +0,0 @@
<!DOCTYPE codename-engine-dialogue-character>
<character x="285">
<anim name="normal" anim="normal" fps="24" />
</character>
-4
View File
@@ -1,4 +0,0 @@
<!DOCTYPE codename-engine-dialogue-character>
<character x="50" y="-60">
<anim name="normal" anim="normal" fps="24" />
</character>
-4
View File
@@ -1,4 +0,0 @@
<!DOCTYPE codename-engine-dialogue-character>
<character x="250" y="-350">
<anim name="normal" anim="normal" fps="24" />
</character>
@@ -1,3 +0,0 @@
function postHide() {
if(curTween != null) curTween.percent = 1;
}
@@ -1,4 +0,0 @@
<!DOCTYPE codename-engine-dialogue-character>
<character sprite="pixel/boyfriend" x="570" y="-599" graphicSizex="1334" antialiasing="false" textSound="pixel/pixelText">
<anim name="normal-show" anim="Boyfriend portrait enter instance 10" fps="24" />
</character>
@@ -1,6 +0,0 @@
function postHide() {
if(curTween != null) {
if(getAnimName() == 'angry-show') curTween.cancel();
else curTween.percent = 1;
}
}
@@ -1,5 +0,0 @@
<!DOCTYPE codename-engine-dialogue-character>
<character sprite="pixel/senpai" x="-392" y="-599" graphicSizex="1334" antialiasing="false" textSound="pixel/pixelText">
<anim name="normal-show" anim="Senpai Portrait Enter instance 10" fps="24" x="4.4" />
<anim name="angry-show" anim="Senpai Portrait Angry instance 10" x="-56" y="-9" fps="24" />
</character>
-50
View File
@@ -1,50 +0,0 @@
import funkin.backend.utils.DiscordUtil;
function onGameOver() {
DiscordUtil.changePresence('Game Over', PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")");
}
function onDiscordPresenceUpdate(e) {
var data = e.presence;
if(data.button1Label == null)
data.button1Label = "meow"; // "Codename Engine Discord"
if(data.button1Url == null)
data.button1Url = "https://discord.gg/2NTCdsQvx4";
}
function onPlayStateUpdate() {
DiscordUtil.changeSongPresence(
PlayState.instance.detailsText,
(PlayState.instance.paused ? "Paused - " : "") + PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")",
PlayState.instance.inst,
PlayState.instance.getIconRPC()
);
}
function onMenuLoaded(name:String) {
// Name is either "Main Menu", "Freeplay", "Title Screen", "Options Menu", "Credits Menu", "Beta Warning", "Update Available Screen", "Update Screen"
DiscordUtil.changePresenceSince("In the Menus", null);
}
function onEditorTreeLoaded(name:String) {
switch(name) {
case "Character Editor":
DiscordUtil.changePresenceSince("Choosing a Character", null);
case "Chart Editor":
DiscordUtil.changePresenceSince("Choosing a Chart", null);
//case "Stage Editor": // secret for now
// DiscordUtil.changePresenceSince("Choosing a Stage", null);
}
}
function onEditorLoaded(name:String, editingThing:String) {
switch(name) {
case "Character Editor":
DiscordUtil.changePresenceSince("Editing a Character", editingThing);
case "Chart Editor":
DiscordUtil.changePresenceSince("Editing a Chart", editingThing);
//case "Stage Editor":
// DiscordUtil.changePresenceSince("Editing a Stage", editingThing);
}
}
@@ -1,126 +0,0 @@
<window width="550" height="570" title="${translate('win-character-title', [button.getName()])}">
<set name="XOFFSET" value="30" />
<set name="YOFFSET" value="40" />
<set name="TO" value="64" />
<exec>
function col(c:Int) {
return 20 + (150 + XOFFSET) * c;
}
previewSprite = null;
if(char.animateAtlas == null) {
previewSprite = new FunkinSprite(0, 0);
previewSprite.frame = char.frame;
self.add(previewSprite);
}
</exec>
<title name="title" x="20" y="30 + 16" text="${translate('character-title')}" />
<section>
<set name="curY" value="title.y + TO" />
<stepper name="xStepper" label="X" value="char.x" x="col(0)" y="curY" step="1" width="100" />
<stepper name="yStepper" label="Y" value="char.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" step="1" width="100" />
<stepper name="scrollXStepper" label="${translate('scroll', ['X'])}" value="char.scrollFactor.x" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scrollYStepper" label="${translate('scroll', ['Y'])}" value="char.scrollFactor.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleXStepper" label="${translate('scale', ['X'])}" value="char.scale.x / charScale" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleYStepper" label="${translate('scale', ['Y'])}" value="char.scale.y / charScale" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
</section>
<section>
<set name="curY" value="xStepper.y + xStepper.bHeight + YOFFSET" />
<stepper name="camxStepper" label="${translate('camera', ['X'])}" value="getEx('camX')" x="col(0)" y="curY" step="1" width="100" />
<stepper name="camyStepper" label="${translate('camera', ['Y'])}" value="getEx('camY')" x="last.x + last.bWidth + XOFFSET - 20" y="curY" step="1" width="100" />
<label name="spacingLabel" text="${translate('spacing')}" x="col(1)" y="curY" size="15" />
<stepper name="spacingXStepper" value="getEx('spacingX')" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="spacingYStepper" value="getEx('spacingY')" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewXStepper" label="${translate('skew', ['X'])}" value="char.skew.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewYStepper" label="${translate('skew', ['Y'])}" value="char.skew.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
</section>
<section>
<set name="curY" value="camxStepper.y + camxStepper.bHeight + YOFFSET" />
<stepper name="alphaStepper" label="${translate('alpha')}" value="char.alpha / 0.75" x="col(0)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="angleStepper" label="${translate('angle')}" value="char.angle" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="zoomFactorStepper" label="${translate('zoomFactor')}" value="char.zoomFactor" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
<section if="!StringTools.startsWith(char.name, 'NO_DELETE_')">
<textbox name="charName" label="${translate('positionName')}" value="char.name" x="col(2)" y="curY" width="100"/>
</section>
</section>
<section>
<set name="curY" value="alphaStepper.y + alphaStepper.bHeight + YOFFSET - 20" />
<checkbox name="flipXCheckbox" text="${translate('flipX')}" value="char.isPlayer" x="col(0)" y="curY" />
<radio for="memoryCheck" name="highMemoryRadio" text="${translate('highMemory')}" value="getEx('highMemory')" x="last.field.x + last.field.width + XOFFSET * 2" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="${translate('lowMemory')}" value="getEx('lowMemory')" x="last.field.x + last.field.width + XOFFSET * 2" y="curY" />
</section>
<section if="previewSprite != null">
<title name="previewTitle" x="20" y="self.winHeight - 220" text="${translate('transformPreview')}" size="15" />
</section>
<section if="previewSprite == null">
<exec>
self.windowSpr.bHeight -= 170;
</exec>
</section>
<exec>
function onUpdate() {
if(previewSprite == null) return;
previewSprite.skew.x = skewXStepper.value;
previewSprite.skew.y = skewYStepper.value;
previewSprite.angle = angleStepper.value;
previewSprite.antialiasing = char.antialiasing;
var ratio = char.frameWidth / char.frameHeight;
previewSprite.setGraphicSize(145 * scaleXStepper.value * ratio, 145 * scaleYStepper.value);
previewSprite.updateHitbox();
if(flipXCheckbox.checked != char.playerOffsets)
previewSprite.scale.x *= -1;
previewSprite.x = 30;
previewSprite.y = self.winHeight - previewSprite.height - 30;
}
function onSave() {
setEx("highMemory", highMemoryRadio.checked);
setEx("lowMemory", lowMemoryRadio.checked);
if (!StringTools.startsWith(char.name, 'NO_DELETE_'))
char.name = charName.field.text;
char.x = xStepper.value;
char.y = yStepper.value;
char.scrollFactor.set(scrollXStepper.value, scrollYStepper.value);
char.scale.set(scaleXStepper.value * charScale, scaleYStepper.value * charScale);
char.cameraOffset.x -= getEx("camX");
char.cameraOffset.x += camxStepper.value;
setEx("camX", camxStepper.value);
char.cameraOffset.y -= getEx("camY");
char.cameraOffset.y += camyStepper.value;
setEx("camY", camyStepper.value);
char.skew.x = skewXStepper.value;
char.skew.y = skewYStepper.value;
char.alpha = alphaStepper.value * 0.75;
setEx("spacingX", spacingXStepper.value);
setEx("spacingY", spacingYStepper.value);
if (flipXCheckbox.checked != char.isPlayer) {
char.isPlayer = flipXCheckbox.checked;
char.swapLeftRightAnimations();
}
char.zoomFactor = zoomFactorStepper.value;
char.angle = angleStepper.value;
}
</exec>
</window>

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