Merge branch 'CodenameCrew:main' into patch-1

This commit is contained in:
Kolze
2025-07-27 14:15:56 +02:00
committed by GitHub
581 changed files with 16266 additions and 4429 deletions
+3
View File
@@ -0,0 +1,3 @@
# These are supported funding model platforms
ko_fi: codename_engine
+4 -4
View File
@@ -7,7 +7,7 @@ jobs:
build:
name: Linux Build
permissions: write-all
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Pulling the source
uses: actions/checkout@v2
@@ -35,13 +35,13 @@ jobs:
- 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: Tar files
# run: tar -zcvf CodenameEngine.tar.gz -C export/release/linux/bin .
- name: Uploading artifact (entire build)
uses: actions/upload-artifact@v4
with:
name: Codename Engine
path: CodenameEngine.tar.gz
path: export/release/linux/bin/
# - name: Uploading artifact (executable)
# uses: actions/upload-artifact@v4
# with:
+3 -2
View File
@@ -1,7 +1,6 @@
export/
dump/
latest/windows/obj/
latest/windows/haxe/
latest/*
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
@@ -11,4 +10,6 @@ docs/doc.xml
mods/*
addons/*
!mods/readme.txt
addons/*
!addons/readme.txt
dev-libs/
+3 -3
View File
@@ -16,13 +16,14 @@ This changelog lists every change that has been added since the last update (inc
- 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))
- 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
- project file has conditionals now
- 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))
@@ -63,7 +64,6 @@ This changelog lists every change that has been added since the last update (inc
- 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))
- cne.bat/cne.sh setup --fast for quickly downloading git libraries ([21bba98](https://github.com/CodenameCrew/CodenameEngine/commit/21bba98923307fe75667e1395781d068a7ec47ad))
- 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))
-1
View File
@@ -84,7 +84,6 @@ If you don't have a github account please go onto https://fnf-cne-devs.github.io
<details>
<summary><h2>Credits</h2></summary>
- 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
- 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)
+22
View File
@@ -0,0 +1,22 @@
╔═══════════════════════════════════════╗
║ 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
📁...
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

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.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 216 B

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: 453 KiB

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 B

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 131 KiB

+70 -27
View File
@@ -2,33 +2,76 @@
<letters fps="24">
<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" />
<letter char=">" anim="> Bold" />
<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" />
<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" />
<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 !-->
+110
View File
@@ -0,0 +1,110 @@
<!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
@@ -0,0 +1,118 @@
<!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>
+1 -1
View File
@@ -1,4 +1,4 @@
{
"clientID": "1027994136193810442",
"clientID": "1383853614589673472",
"logoKey": "icon"
}
+25
View File
@@ -0,0 +1,25 @@
[Common]
Name="baconeggandcheese"
Description="who gaf"
APIVersion="uhmmmm probs like 2"
DownloadedFrom="https://yourmom.org"
Dependencies=[
"linkA",
"linkB",
"linkC"
]
Icon64="path/to/icon64.png"
Icon32="path/to/icon32.png"
Icon16="path/to/icon16.png"
Icon="path/to/icon.ico"
[Flags]
UseNoteRendererV2=false
UseAway3D=false
UseDiscordRPCIntegration=true
UseLocalization=false
UseLegacyFlixelAnimateHitbox=false
[Discord]
ClientID="1027994136193810442",
LogoKey="icon"
@@ -1,4 +1,4 @@
<window width="550" height="570" title="Editing Character ${button.getName()}">
<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" />
@@ -16,7 +16,7 @@
}
</exec>
<title name="title" x="20" y="30 + 16" text="Character Data" />
<title name="title" x="20" y="30 + 16" text="${translate('character-title')}" />
<section>
<set name="curY" value="title.y + TO" />
@@ -24,51 +24,51 @@
<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="Scroll X" value="char.scrollFactor.x" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scrollYStepper" label="Scroll Y" value="char.scrollFactor.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" 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="Scale X" value="char.scale.x / charScale" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleYStepper" label="Scale Y" value="char.scale.y / charScale" 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="Cam X" value="getEx('camX')" x="col(0)" y="curY" step="1" width="100" />
<stepper name="camyStepper" label="Cam Y" value="getEx('camY')" x="last.x + last.bWidth + XOFFSET - 20" y="curY" step="1" width="100" />
<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="Spacing (X, Y)" x="col(1)" y="curY" size="15" />
<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="Skew X" value="char.skew.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewYStepper" label="Skew Y" value="char.skew.y" 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="Alpha" value="char.alpha / 0.75" x="col(0)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="angleStepper" label="Angle" value="char.angle" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<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="Zoom Factor" value="char.zoomFactor" x="col(1)" 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="Position Name" value="char.name" x="col(2)" y="curY" width="100"/>
<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="Flip X" value="char.isPlayer" x="col(0)" y="curY" />
<checkbox name="flipXCheckbox" text="${translate('flipX')}" value="char.isPlayer" x="col(0)" y="curY" />
<radio for="memoryCheck" name="highMemoryRadio" text="High Memory Only" value="getEx('highMemory')" x="last.field.x + last.field.width + XOFFSET * 2" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="Low Memory Only" value="getEx('lowMemory')" x="last.field.x + last.field.width + XOFFSET * 2" 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="Preview Transform:" size="15" />
<title name="previewTitle" x="20" y="self.winHeight - 220" text="${translate('transformPreview')}" size="15" />
</section>
<section if="previewSprite == null">
<exec>
@@ -1,4 +1,4 @@
<window width="1056" height="520" title="Editing Sprite ${button.getName()}">
<window width="1056" height="520" title="${translate('win-sprite-title', [button.getName()])}">
<set name="MARGIN" value="20" />
<set name="XOFFSET" value="50" />
<set name="YOFFSET" value="40" />
@@ -17,15 +17,15 @@
}
</exec>
<title name="title" x="20" y="30 + 16" text="Sprite Data" />
<title name="title" x="20" y="30 + 16" text="${translate('sprite-title')}" />
<section> <!-- ROW 1 -->
<set name="curY" value="title.y + TO" />
<textbox name="nameTextBox" label="Name Identifier" value="button.getName()" x="col(0)" y="curY" width="200" height="32" />
<textbox name="nameTextBox" label="${translate('nameID')}" value="button.getName()" x="col(0)" y="curY" width="200" height="32" />
<textbox name="spriteTextBox" value="getEx('imageFile')" x="last.x + last.bWidth + XOFFSET" y="curY" width="200" height="32" />
<stepper name="alphaStepper" label="Alpha" value="sprite.alpha" x="spriteTextBox.x + spriteTextBox.bWidth + XOFFSET" y="curY" precision="2" step="0.01" width="100" />
<label name="imageFile" text="Image File (WIP: needs reload)&#10;In (${stage.spritesParentFolder})" x="spriteTextBox.x" y="spriteTextBox.y - 14" size="15" />
<label name="imageFile" text="${translate('imageFile')}" x="spriteTextBox.x" y="spriteTextBox.y - 14" size="15" />
</section>
<section> <!-- ROW 2 -->
@@ -34,36 +34,36 @@
<stepper name="xStepper" label="X" value="sprite.x" x="col(0)" y="curY" step="1" width="100" />
<stepper name="yStepper" label="Y" value="sprite.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" step="1" width="100" />
<stepper name="scrollXStepper" label="Scroll X" value="sprite.scrollFactor.x" x="spriteTextBox.x" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scrollYStepper" label="Scroll Y" value="sprite.scrollFactor.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scrollXStepper" label="${translate('scroll', ['X'])}" value="sprite.scrollFactor.x" x="spriteTextBox.x" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scrollYStepper" label="${translate('scroll', ['Y'])}" value="sprite.scrollFactor.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleXStepper" label="Scale X" value="sprite.scale.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleYStepper" label="Scale Y" value="sprite.scale.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="sprite.scale.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="scaleYStepper" label="${translate('scale', ['Y'])}" value="sprite.scale.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
</section>
<section> <!-- ROW 3 -->
<set name="curY" value="xStepper.y + xStepper.bHeight + YOFFSET" />
<stepper name="angleStepper" label="Angle" value="sprite.angle" x="col(0)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="zoomFactorStepper" label="Zoom Factor" value="sprite.zoomFactor" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="angleStepper" label="${translate('angle')}" value="sprite.angle" x="col(0)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="zoomFactorStepper" label="${translate('zoomFactor')}" value="sprite.zoomFactor" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<!-- TODO: Simplify this -->
<dropdown name="animType" label="Animation Type" value="sprite.spriteAnimType" x="col(1)" y="curY" width="150" height="32">
<item label="NONE" value="0" />
<item label="BEAT" value="1" />
<item label="LOOP" value="2" />
<dropdown name="animType" label="${translate('animType')}" value="sprite.spriteAnimType" x="col(1)" y="curY" width="150" height="32">
<item label="${translate('animType.none')}" value="0" />
<item label="${translate('animType.beat')}" value="1" />
<item label="${translate('animType.loop')}" value="2" />
</dropdown>
<stepper name="skewXStepper" label="Skew X" value="sprite.skew.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewYStepper" label="Skew Y" value="sprite.skew.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewXStepper" label="${translate('skew', ['X'])}" value="sprite.skew.x" x="col(2)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="skewYStepper" label="${translate('skew', ['Y'])}" value="sprite.skew.y" x="last.x + last.bWidth + XOFFSET - 20" y="curY" precision="2" step="0.01" width="100" />
</section>
<section> <!-- ROW 4 -->
<set name="curY" value="angleStepper.y + angleStepper.bHeight + YOFFSET" />
<checkbox name="antialiasingCheckbox" text="Antialiasing" value="sprite.antialiasing" x="col(0)" y="curY" />
<radio for="memoryCheck" name="highMemoryRadio" text="High Memory Only" value="getEx('highMemory')" x="col(1)" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="Low Memory Only" value="getEx('lowMemory')" x="col(2)" y="curY" />
<checkbox name="antialiasingCheckbox" text="${translate('antialiasing')}" value="sprite.antialiasing" x="col(0)" y="curY" />
<radio for="memoryCheck" name="highMemoryRadio" text="${translate('highMemory')}" value="getEx('highMemory')" x="col(1)" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="${translate('lowMemory')}" value="getEx('lowMemory')" x="col(2)" y="curY" />
<!-- TODO: Animation list -->
</section>
@@ -72,7 +72,7 @@
<set name="curY" value="title.y + TO" />
<set name="listWidth" value="250" />
<buttonlist name="animations" label="Animations (TODO)" x="col(3)" y="curY" width="listWidth" height="330" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<buttonlist name="animations" label="${translate('animations')}" x="col(3)" y="curY" width="listWidth" height="330" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<texture path="editors/ui/inputbox" />
<camSpacing value="0" />
@@ -103,14 +103,14 @@
</code> -->
</buttonlist>
<text text="Tip: To access custom properties,&#10;hold shift when clicking edit" x="col(2) - 60" y="self.winHeight - 50" size="15" />
<text text="${translate('tipCustomProperties')}" x="col(2) - 60" y="self.winHeight - 50" size="15" />
</section>
<!-- Preview Transform -->
<section if="previewSprite != null">
<title name="previewTitle" x="20" y="self.winHeight - 150" text="Preview Transform:" size="15" />
<title name="previewTitle" x="20" y="self.winHeight - 150" text="${translate('transformPreview')}" size="15" />
</section>
<exec>
@@ -1,4 +1,4 @@
<window width="470" height="620" title="Editing Stage Info '${stage.stageName}'">
<window width="470" height="620" title="${translate('win-title', [stage.stageName])}">
<set name="MARGIN" value="20" />
<set name="XOFFSET" value="50" />
<set name="YOFFSET" value="40" />
@@ -28,31 +28,31 @@
}
</exec>
<title name="title" x="MARGIN" y="30 + 16" text="Stage Info" />
<title name="title" x="MARGIN" y="30 + 16" text="${translate('title')}" />
<section> <!-- ROW 1 -->
<set name="curY" value="title.y + TO" />
<textbox name="nameTextBox" label="Stage Name" value="stage.stageName" x="col(0)" y="curY" width="200" height="32" />
<textbox name="nameTextBox" label="${translate('stageName')}" value="stage.stageName" x="col(0)" y="curY" width="200" height="32" />
<textbox name="spritePathTextBox" value="stage.spritesParentFolder" x="col(1)" y="curY" width="200" height="32" />
<label text="Sprite Path&#10;(Needs Refresh)" x="spritePathTextBox.x" y="spritePathTextBox.y - 14" size="15" />
<label text="${translate('spritePath')}" x="spritePathTextBox.x" y="spritePathTextBox.y - 14" size="15" />
</section>
<section> <!-- ROW 2 -->
<set name="curY" value="nameTextBox.y + nameTextBox.bHeight + YOFFSET" />
<label text="Start Cam Pos (X, Y)" x="col(0)" y="curY" />
<label text="${translate('startCamPos')}" x="col(0)" y="curY" />
<stepper name="camxStepper" value="stage.startCam.x" x="col(0)" y="curY" step="1" width="120" />
<stepper name="camyStepper" value="stage.startCam.y" x="last.x + last.bWidth + XOFFSET - 30" y="curY" step="1" width="120" />
<stepper name="zoomStepper" label="Zoom" value="stage.defaultZoom" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
<stepper name="zoomStepper" label="${translate('zoom')}" value="stage.defaultZoom" x="col(1)" y="curY" precision="2" step="0.01" width="100" />
</section>
<section>
<set name="curY" value="camxStepper.y + camxStepper.bHeight + YOFFSET" />
<set name="listWidth" value="self.winWidth - MARGIN * 2" />
<buttonlist name="attributesList" label="Custom Attributes" x="col(0)" y="curY" width="listWidth" height="290" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<buttonlist name="attributesList" label="${translate('customAttributes')}" x="col(0)" y="curY" width="listWidth" height="290" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<texture path="editors/ui/inputbox" />
<camSpacing value="0" />
@@ -1,4 +1,4 @@
<window width="350" height="570" title="Editing XML <${button.getName()} />">
<window width="350" height="570" title="${translate('win-title', [button.getName()])}">
<set name="MARGIN" value="20" />
<set name="XOFFSET" value="30" />
<set name="YOFFSET" value="40" />
@@ -10,25 +10,25 @@
}
</exec>
<title name="title" x="MARGIN" y="30 + 16" text="Xml Data" />
<title name="title" x="MARGIN" y="30 + 16" text="${translate('title')}" />
<section>
<set name="curY" value="title.y + TO" />
<textbox name="nodeNameTextBox" label="Element Name" value="button.getName()" x="col(0)" y="curY" width="280" height="32" />
<textbox name="nodeNameTextBox" label="${translate('elementName')}" value="button.getName()" x="col(0)" y="curY" width="280" height="32" />
</section>
<section>
<set name="curY" value="nodeNameTextBox.y + nodeNameTextBox.bHeight + YOFFSET - 30" />
<radio for="memoryCheck" name="highMemoryRadio" text="High Memory Only" value="button.highMemory" x="col(0)" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="Low Memory Only" value="button.lowMemory" x="col(0)" y="last.y + last.check.height + YOFFSET - 30" />
<radio for="memoryCheck" name="highMemoryRadio" text="${translate('highMemory')}" value="button.highMemory" x="col(0)" y="curY" />
<radio for="memoryCheck" name="lowMemoryRadio" text="${translate('lowMemory')}" value="button.lowMemory" x="col(0)" y="last.y + last.check.height + YOFFSET - 30" />
</section>
<section>
<set name="curY" value="lowMemoryRadio.y + lowMemoryRadio.check.height + YOFFSET" />
<set name="listWidth" value="self.winWidth - MARGIN * 2" />
<buttonlist name="attributesList" label="Attributes" x="col(0)" y="curY" width="listWidth" height="260" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<buttonlist name="attributesList" label="${translate('attributes')}" x="col(0)" y="curY" width="listWidth" height="260" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<texture path="editors/ui/inputbox" />
<camSpacing value="0" />
@@ -1,4 +1,4 @@
<window width="450" height="570" title="Editing XML ${type}">
<window width="450" height="570" title="${translate('win-title', [type])}">
<!-- BASED ON unknownEditScreen.xml -->
<set name="MARGIN" value="20" />
<set name="XOFFSET" value="30" />
@@ -11,13 +11,13 @@
}
</exec>
<title name="title" x="MARGIN" y="30 + 16" text="Xml Data" />
<title name="title" x="MARGIN" y="30 + 16" text="${translate('title')}" />
<section>
<set name="curY" value="title.y + TO" />
<set name="listWidth" value="self.winWidth - MARGIN * 2" />
<buttonlist name="attributesList" label="Attributes" x="col(0)" y="curY" width="listWidth" height="400" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<buttonlist name="attributesList" label="${translate('attributes')}" x="col(0)" y="curY" width="listWidth" height="400" buttonSizeX="listWidth-10" buttonSizeY="35" buttonSpacing="5">
<texture path="editors/ui/inputbox" />
<camSpacing value="0" />
-3
View File
@@ -1,3 +0,0 @@
//
function update(elapsed:Float)
if (FlxG.keys.justPressed.F5) FlxG.resetState();
+1 -1
View File
@@ -1,2 +1,2 @@
function onNoteHit(event) if (event.noteType == "Alt Anim Note") event.animSuffix = "-alt";
function onPlayerMiss(event) if (event.noteType == "Alt Anim Note") event.animSuffix = "-alt";
function onPlayerMiss(event) if (event.noteType == "Alt Anim Note") event.animSuffix = "miss-alt";
+26 -38
View File
@@ -18,9 +18,7 @@ public var daPixelZoom = PlayState.daPixelZoom;
* UI
*/
function onNoteCreation(event) {
if (event.note.strumLine == playerStrums && !pixelNotesForBF) return;
if (event.note.strumLine == cpuStrums && !pixelNotesForDad) return;
if ((event.note.strumLine == playerStrums && !pixelNotesForBF) || (event.note.strumLine == cpuStrums && !pixelNotesForDad)) return;
event.cancel();
var note = event.note;
@@ -38,18 +36,14 @@ function onNoteCreation(event) {
var strumScale = event.note.strumLine.strumScale;
note.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale);
note.updateHitbox();
note.antialiasing = false;
}
function onPostNoteCreation(event) {
var splashes = event.note;
if (pixelSplashes)
splashes.splash = "pixel-default";
}
function onPostNoteCreation(event) if (pixelSplashes)
event.note.splash = "pixel-default";
function onStrumCreation(event) {
if (event.player == 1 && !pixelNotesForBF) return;
if (event.player == 0 && !pixelNotesForDad) return;
if ((event.player == 1 && !pixelNotesForBF) || (event.player == 0 && !pixelNotesForDad)) return;
event.cancel();
var strum = event.strum;
@@ -64,6 +58,7 @@ function onStrumCreation(event) {
var strumScale = strumLines.members[event.player].strumScale;
strum.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale);
strum.updateHitbox();
strum.antialiasing = false;
}
function onCountdown(event) {
@@ -94,9 +89,9 @@ function onPlayerHit(event:NoteHitEvent) {
* CAMERA HACKS!!
*/
function postCreate() {
if (enablePauseMenu) {
if (enablePauseMenu)
PauseSubState.script = 'data/scripts/week6-pause';
}
if (enableCameraHacks) {
camGame.pixelPerfectRender = true;
camGame.antialiasing = false;
@@ -105,9 +100,6 @@ function postCreate() {
defaultCamZoom /= daPixelZoom;
}
iconP1.antialiasing = false;
iconP2.antialiasing = false;
if (enablePixelGameOver) {
gameOverSong = "pixel/gameOver";
lossSFX = "pixel/gameOverSFX";
@@ -115,8 +107,8 @@ function postCreate() {
}
}
function onStartCountdown() {
/*var newNoteCamera = new HudCamera();
/*function onStartCountdown() {
var newNoteCamera = new HudCamera();
newNoteCamera.bgColor = 0; // transparent
FlxG.cameras.add(newNoteCamera, false);
@@ -130,8 +122,8 @@ function onStartCountdown() {
i++;
}
}
makeCameraPixely(newNoteCamera);*/
}
makeCameraPixely(newNoteCamera);
}*/
/**
* Use this to make any camera pixelly (you wont be able to zoom with it anymore!)
@@ -156,33 +148,29 @@ function destroy() {
FlxG.game.stage.quality = oldStageQuality;
}
function pixelCam(cam) {
function pixelCam(cam)
makeCameraPixely(cam);
}
var pixellyCameras = [];
var pixellyShaders = [];
function postUpdate(elapsed) {
for(e in pixellyCameras) {
if (Std.isOfType(e, HudCamera))
e.downscroll = camHUD.downscroll;
}
if (enableCameraHacks) {
for(p in strumLines)
p.notes.forEach(function(n) {
if(n.isSustainNote) return; // hacky fix for hold
n.y -= n.y % daPixelZoom;
n.x -= n.x % daPixelZoom;
});
function postUpdate() {
for (e in pixellyCameras) if (Std.isOfType(e, HudCamera))
e.downscroll = camHUD.downscroll;
if (enableCameraHacks) for (p in strumLines) {
p.notes.forEach(function(n) {
if(n.isSustainNote) return; // hacky fix for hold
n.y -= n.y % daPixelZoom;
n.x -= n.x % daPixelZoom;
});
}
var zoom = 1 / daPixelZoom / Math.min(FlxG.scaleMode.scale.x, FlxG.scaleMode.scale.y);
for(e in pixellyCameras) {
for (e in pixellyCameras) {
if (!e.exists) continue;
e.zoom = zoom;
}
for(e in pixellyShaders) {
for (e in pixellyShaders)
e.pixelZoom = zoom;
}
}
}
+36 -48
View File
@@ -3,7 +3,7 @@ import flixel.text.FlxText;
import flixel.text.FlxTextBorderStyle;
import flixel.util.FlxAxes;
var pixelScript:Script;
var pixelScript:Script = game.scripts.getByName("pixel.hx");
var pauseCam = new FlxCamera();
var bg:FlxSprite;
@@ -19,47 +19,40 @@ function create(event) {
event.music = isThorns ? "pixel/LunchboxScary" : "pixel/breakfast";
cameras = [];
pixelScript = game.scripts.getByName("pixel.hx");
pixelScript.call("pixelCam", [pauseCam]);
// allowing this pause script even if the pixel script is not loaded - Nex
pixelScript?.call("pixelCam", [pauseCam]);
FlxG.cameras.add(pauseCam, false);
cameras = [pauseCam];
pauseCam.bgColor = isThorns ? 0x88000000 : 0x88FF99CC;
pauseCam.alpha = 0;
bg = new FlxSprite(44 * 6, 14 * 6);
bg.loadGraphic(Paths.image('stages/school/pause/bg'));
if (isThorns)
bg.color = 0xFF000000;
bg = new FlxSprite(44 * 6, 14 * 6, Paths.image('stages/school/pause/bg'));
bg.antialiasing = false;
if (isThorns) bg.color = 0xFF000000;
bg.scale.set(6, 6);
bg.updateHitbox();
bg.scale.y = 4;
bg.cameras = [pauseCam];
add(bg);
songText = new FlxText(0, 22 * 6, 0, "Pause", 8, false);
confText(songText);
add(songText);
var i = 2;
for(e in menuItems) {
text = new FlxText(0, (22 * 6) + (i * 9 * 6), 0, e, 8, false);
for (i=>e in menuItems) {
text = new FlxText(0, (22 * 6) + ((i+2) * 9 * 6), 0, e, 8, false);
confText(text);
add(text);
texts.push(text);
i++;
}
hand = new FlxSprite().loadGraphic(Paths.image('stages/school/ui/hand_textbox'));
hand.antialiasing = false;
hand.scale.set(6, 6);
hand.updateHitbox();
add(hand);
FlxTween.tween(bg, {"scale.y": 6}, 0.75, {ease: FlxEase.elasticOut});
FlxTween.tween(bg.scale, {y: 6}, 0.75, {ease: FlxEase.elasticOut});
cameras = [pauseCam];
FlxG.sound.play(Paths.sound(isThorns ? 'pixel/ANGRY' : 'pixel/clickText'));
}
@@ -70,55 +63,50 @@ function confText(text) {
text.screenCenter(FlxAxes.X);
text.borderStyle = FlxTextBorderStyle.OUTLINE;
if (!isThorns) text.borderColor = 0xFF953E3E;
text.antialiasing = false;
texts.push(text);
add(text);
}
function destroy() {
if(FlxG.cameras.list.contains(pauseCam))
FlxG.cameras.remove(pauseCam);
}
function destroy() if (FlxG.cameras.list.contains(pauseCam))
FlxG.cameras.remove(pauseCam);
var canDoShit = true;
var time:Float = 0;
function update(elapsed) {
pixelScript.call("postUpdate", [elapsed]);
pixelScript?.call("postUpdate", [elapsed]);
pauseCam.alpha = lerp(pauseCam.alpha, 1, 0.25);
time += elapsed;
var curText = texts[curSelected];
var curText = texts[curSelected + 1];
hand.setPosition(curText.x - hand.width - 18 + (Math.sin(time * Math.PI * 2) * 12), curText.y + (text.height - hand.height) - 6);
hand.x -= hand.x % 6;
hand.y -= hand.y % 6;
if (!canDoShit) return;
var oldSec = curSelected;
changeSelection((controls.UP_P ? -1 : 0) + (controls.DOWN_P ? 1 : 0) - FlxG.mouse.wheel);
if (oldSec != curSelected)
FlxG.sound.play(Paths.sound(isThorns ? 'pixel/type' : 'pixel/pixelText'));
if (controls.ACCEPT) enterOption();
}
if (controls.ACCEPT) {
FlxG.sound.play(Paths.sound(isThorns ? 'pixel/ANGRY' : 'pixel/clickText'));
var option = menuItems[curSelected];
if (option == "Resume" || option == "Exit to menu") {
var scrollSFX = FlxG.sound.load(Paths.sound(isThorns ? 'pixel/type' : 'pixel/pixelText'));
function changeSelection(change) if (canDoShit) { // this overrides the function inside of the normal pause btw, so no event gets called - Nex
curSelected = FlxMath.wrap(curSelected + change, 0, menuItems.length - 1);
if (change != 0) scrollSFX.play();
}
var enterSFX = FlxG.sound.load(Paths.sound(isThorns ? 'pixel/ANGRY' : 'pixel/clickText'));
function enterOption() if (canDoShit) {
var option = menuItems[curSelected];
enterSFX.play();
switch(option) {
case "Resume", "Exit to menu":
canDoShit = false;
for(t in texts) t.visible = false;
hand.visible = songText.visible = false;
FlxTween.tween(bg, {"scale.y": 0}, 0.125, {ease: FlxEase.cubeOut, onComplete: function() {
selectOption();
}});
} else {
selectOption();
}
FlxTween.tween(bg.scale, {y: 0}, 0.125, {ease: FlxEase.cubeOut, onComplete: selectOption});
default: selectOption();
}
}
function changeSelection(change) { // this overrides the function inside of the normal pause btw, so no event gets called - Nex
curSelected += change;
if (curSelected < 0)
curSelected = menuItems.length - 1;
if (curSelected >= menuItems.length)
curSelected = 0;
}
+2 -8
View File
@@ -3,13 +3,7 @@ var sound:Sound;
function create()
sound = Paths.sound('jeffGameover/jeffGameover-' + FlxG.random.int(1, 25, !Options.naughtyness ? [1, 3, 8, 13, 17, 21] : null));
function beatHit(cur:Int) {
if(cur != 0) return;
function beatHit(cur:Int) if (cur == 0) {
FlxG.sound.play(sound, 1, false, null, true, () -> if (!isEnding) FlxG.sound.music.fadeIn(4, 0.2, 1));
FlxG.sound.music.volume = 0.2;
FlxG.sound.play(sound, 1, false, null, true, function()
{
if (!isEnding)
FlxG.sound.music.fadeIn(4, 0.2, 1);
});
}
+2 -2
View File
@@ -1,7 +1,7 @@
var tankAngle:Float = FlxG.random.int(-90, 45);
var tankSpeed:Float = FlxG.random.float(5, 7);
function postCreate() if(PlayState.isStoryMode)
function postCreate() if (PlayState.isStoryMode)
GameOverSubstate.script = 'data/scripts/week7-balledLines';
function update(elapsed:Float) {
@@ -12,7 +12,7 @@ function update(elapsed:Float) {
}
function onPostCountdown(event) {
if(!playCutscenes || event.sprite == null) return;
if (!playCutscenes || event.sprite == null) return;
var lastIndex:Int = members.indexOf(event.sprite);
remove(event.sprite);
insert(lastIndex + 4, event.sprite);
+2 -2
View File
@@ -15,14 +15,14 @@
<line text="ninjamuffin99" />
<line text="phantomArcade" />
<line text="kawaisprite" />
<line text="evilsk8er" />
<line text="evilsk8r" />
</text>
<text beat="3">
<line text="ninjamuffin99" />
<line text="phantomArcade" />
<line text="kawaisprite" />
<line text="evilsk8er" />
<line text="evilsk8r" />
<line text="presents" />
</text>
+1 -1
View File
@@ -1,2 +1,2 @@
<!DOCTYPE codename-engine-week-character>
<char scale="0.5" x="80" y="-50"/>
<char scale="0.5" x="80" y="-50" beatInterval="1"/>
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 978 KiB

After

Width:  |  Height:  |  Size: 960 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 KiB

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 488 KiB

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 579 KiB

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 KiB

After

Width:  |  Height:  |  Size: 972 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 KiB

After

Width:  |  Height:  |  Size: 779 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 MiB

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 946 KiB

After

Width:  |  Height:  |  Size: 932 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 KiB

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 KiB

After

Width:  |  Height:  |  Size: 630 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 KiB

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 KiB

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

After

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

After

Width:  |  Height:  |  Size: 146 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 B

After

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="arrow-down.png">
<SubTexture name="tail" x="0" y="0" width="8" height="3"/>
<SubTexture name="segment" x="0" y="3" width="8" height="1"/>
<SubTexture name="arrow" x="0" y="6" width="8" height="6"/>
</TextureAtlas>
Binary file not shown.

After

Width:  |  Height:  |  Size: 104 B

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