Merge remote-tracking branch 'upstream/main' into new-editors-main

# Conflicts:
# commandline/commands/Compiler.hx
# source/funkin/backend/FunkinSprite.hx
# source/funkin/backend/MusicBeatState.hx
# source/funkin/backend/MusicBeatSubstate.hx
# source/funkin/backend/chart/Chart.hx
# source/funkin/backend/chart/EventsData.hx
# source/funkin/backend/scripting/GlobalScript.hx
# source/funkin/backend/system/Controls.hx
# source/funkin/backend/system/MainState.hx
# source/funkin/backend/utils/AudioAnalyzer.hx
# source/funkin/backend/utils/CoolUtil.hx
# source/funkin/editors/character/CharacterInfoScreen.hx
# source/funkin/editors/charter/Charter.hx
# source/funkin/editors/charter/CharterSelection.hx
# source/funkin/editors/charter/CharterStrumline.hx
# source/funkin/editors/charter/CharterStrumlineButton.hx
# source/funkin/editors/charter/SongCreationScreen.hx
# source/funkin/editors/ui/UIDropDown.hx
# source/funkin/editors/ui/UIFileExplorer.hx
# source/funkin/game/Note.hx
# source/funkin/game/PlayState.hx
# source/funkin/game/SplashGroup.hx
# source/funkin/game/Stage.hx
# source/funkin/game/Strum.hx
# source/funkin/menus/FreeplayState.hx
# source/funkin/options/Options.hx
# source/funkin/options/keybinds/KeybindsOptions.hx
This commit is contained in:
Ralty
2025-07-19 00:57:08 +07:00
372 changed files with 3244 additions and 1248 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: build:
name: Linux Build name: Linux Build
permissions: write-all permissions: write-all
runs-on: ubuntu-latest runs-on: ubuntu-24.04
steps: steps:
- name: Pulling the source - name: Pulling the source
uses: actions/checkout@v2 uses: actions/checkout@v2
@@ -35,13 +35,13 @@ jobs:
- name: Building the game - name: Building the game
run: | run: |
haxelib run lime build linux haxelib run lime build linux
- name: Tar files # - name: Tar files
run: tar -zcvf CodenameEngine.tar.gz -C export/release/linux/bin . # run: tar -zcvf CodenameEngine.tar.gz -C export/release/linux/bin .
- name: Uploading artifact (entire build) - name: Uploading artifact (entire build)
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: Codename Engine name: Codename Engine
path: CodenameEngine.tar.gz path: export/release/linux/bin/
# - name: Uploading artifact (executable) # - name: Uploading artifact (executable)
# uses: actions/upload-artifact@v4 # uses: actions/upload-artifact@v4
# with: # with:
+3 -2
View File
@@ -1,7 +1,6 @@
export/ export/
dump/ dump/
latest/windows/obj/ latest/*
latest/windows/haxe/
.vscode/* .vscode/*
!.vscode/settings.json !.vscode/settings.json
!.vscode/tasks.json !.vscode/tasks.json
@@ -11,4 +10,6 @@ docs/doc.xml
mods/* mods/*
addons/* addons/*
!mods/readme.txt !mods/readme.txt
addons/*
!addons/readme.txt
dev-libs/ 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 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 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 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 - Setup
- `--reinstall` to reinstall all libraries - `--reinstall` to reinstall all libraries
- `--no-vscheck` to skip the Visual Studio check - `--no-vscheck` to skip the Visual Studio check
- `--silent` to not print the download progress - `--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 - `--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)) - 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)) - 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)) - 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 `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)) - 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)) - 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 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)) - 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 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> <details>
<summary><h2>Credits</h2></summary> <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 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 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) - 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.

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

+1 -1
View File
@@ -1,4 +1,4 @@
{ {
"clientID": "1027994136193810442", "clientID": "1383853614589673472",
"logoKey": "icon" "logoKey": "icon"
} }
-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 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 * UI
*/ */
function onNoteCreation(event) { function onNoteCreation(event) {
if (event.note.strumLine == playerStrums && !pixelNotesForBF) return; if ((event.note.strumLine == playerStrums && !pixelNotesForBF) || (event.note.strumLine == cpuStrums && !pixelNotesForDad)) return;
if (event.note.strumLine == cpuStrums && !pixelNotesForDad) return;
event.cancel(); event.cancel();
var note = event.note; var note = event.note;
@@ -38,18 +36,14 @@ function onNoteCreation(event) {
var strumScale = event.note.strumLine.strumScale; var strumScale = event.note.strumLine.strumScale;
note.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale); note.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale);
note.updateHitbox(); note.updateHitbox();
note.antialiasing = false;
} }
function onPostNoteCreation(event) { function onPostNoteCreation(event) if (pixelSplashes)
var splashes = event.note; event.note.splash = "pixel-default";
if (pixelSplashes)
splashes.splash = "pixel-default";
}
function onStrumCreation(event) { function onStrumCreation(event) {
if (event.player == 1 && !pixelNotesForBF) return; if ((event.player == 1 && !pixelNotesForBF) || (event.player == 0 && !pixelNotesForDad)) return;
if (event.player == 0 && !pixelNotesForDad) return;
event.cancel(); event.cancel();
var strum = event.strum; var strum = event.strum;
@@ -64,6 +58,7 @@ function onStrumCreation(event) {
var strumScale = strumLines.members[event.player].strumScale; var strumScale = strumLines.members[event.player].strumScale;
strum.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale); strum.scale.set(daPixelZoom*strumScale, daPixelZoom*strumScale);
strum.updateHitbox(); strum.updateHitbox();
strum.antialiasing = false;
} }
function onCountdown(event) { function onCountdown(event) {
@@ -94,9 +89,9 @@ function onPlayerHit(event:NoteHitEvent) {
* CAMERA HACKS!! * CAMERA HACKS!!
*/ */
function postCreate() { function postCreate() {
if (enablePauseMenu) { if (enablePauseMenu)
PauseSubState.script = 'data/scripts/week6-pause'; PauseSubState.script = 'data/scripts/week6-pause';
}
if (enableCameraHacks) { if (enableCameraHacks) {
camGame.pixelPerfectRender = true; camGame.pixelPerfectRender = true;
camGame.antialiasing = false; camGame.antialiasing = false;
@@ -105,9 +100,6 @@ function postCreate() {
defaultCamZoom /= daPixelZoom; defaultCamZoom /= daPixelZoom;
} }
iconP1.antialiasing = false;
iconP2.antialiasing = false;
if (enablePixelGameOver) { if (enablePixelGameOver) {
gameOverSong = "pixel/gameOver"; gameOverSong = "pixel/gameOver";
lossSFX = "pixel/gameOverSFX"; lossSFX = "pixel/gameOverSFX";
@@ -115,8 +107,8 @@ function postCreate() {
} }
} }
function onStartCountdown() { /*function onStartCountdown() {
/*var newNoteCamera = new HudCamera(); var newNoteCamera = new HudCamera();
newNoteCamera.bgColor = 0; // transparent newNoteCamera.bgColor = 0; // transparent
FlxG.cameras.add(newNoteCamera, false); FlxG.cameras.add(newNoteCamera, false);
@@ -130,8 +122,8 @@ function onStartCountdown() {
i++; i++;
} }
} }
makeCameraPixely(newNoteCamera);*/ makeCameraPixely(newNoteCamera);
} }*/
/** /**
* Use this to make any camera pixelly (you wont be able to zoom with it anymore!) * 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; FlxG.game.stage.quality = oldStageQuality;
} }
function pixelCam(cam) { function pixelCam(cam)
makeCameraPixely(cam); makeCameraPixely(cam);
}
var pixellyCameras = []; var pixellyCameras = [];
var pixellyShaders = []; var pixellyShaders = [];
function postUpdate(elapsed) { function postUpdate() {
for(e in pixellyCameras) { for (e in pixellyCameras) if (Std.isOfType(e, HudCamera))
if (Std.isOfType(e, HudCamera)) e.downscroll = camHUD.downscroll;
e.downscroll = camHUD.downscroll;
} if (enableCameraHacks) for (p in strumLines) {
if (enableCameraHacks) { p.notes.forEach(function(n) {
for(p in strumLines) if(n.isSustainNote) return; // hacky fix for hold
p.notes.forEach(function(n) { n.y -= n.y % daPixelZoom;
if(n.isSustainNote) return; // hacky fix for hold n.x -= n.x % daPixelZoom;
n.y -= n.y % daPixelZoom; });
n.x -= n.x % daPixelZoom;
});
} }
var zoom = 1 / daPixelZoom / Math.min(FlxG.scaleMode.scale.x, FlxG.scaleMode.scale.y); 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; if (!e.exists) continue;
e.zoom = zoom; e.zoom = zoom;
} }
for(e in pixellyShaders) { for (e in pixellyShaders)
e.pixelZoom = zoom; e.pixelZoom = zoom;
} }
}
+36 -48
View File
@@ -3,7 +3,7 @@ import flixel.text.FlxText;
import flixel.text.FlxTextBorderStyle; import flixel.text.FlxTextBorderStyle;
import flixel.util.FlxAxes; import flixel.util.FlxAxes;
var pixelScript:Script; var pixelScript:Script = game.scripts.getByName("pixel.hx");
var pauseCam = new FlxCamera(); var pauseCam = new FlxCamera();
var bg:FlxSprite; var bg:FlxSprite;
@@ -19,47 +19,40 @@ function create(event) {
event.music = isThorns ? "pixel/LunchboxScary" : "pixel/breakfast"; event.music = isThorns ? "pixel/LunchboxScary" : "pixel/breakfast";
cameras = []; // allowing this pause script even if the pixel script is not loaded - Nex
pixelScript?.call("pixelCam", [pauseCam]);
pixelScript = game.scripts.getByName("pixel.hx");
pixelScript.call("pixelCam", [pauseCam]);
FlxG.cameras.add(pauseCam, false); FlxG.cameras.add(pauseCam, false);
cameras = [pauseCam];
pauseCam.bgColor = isThorns ? 0x88000000 : 0x88FF99CC; pauseCam.bgColor = isThorns ? 0x88000000 : 0x88FF99CC;
pauseCam.alpha = 0; pauseCam.alpha = 0;
bg = new FlxSprite(44 * 6, 14 * 6); bg = new FlxSprite(44 * 6, 14 * 6, Paths.image('stages/school/pause/bg'));
bg.loadGraphic(Paths.image('stages/school/pause/bg')); bg.antialiasing = false;
if (isThorns) if (isThorns) bg.color = 0xFF000000;
bg.color = 0xFF000000;
bg.scale.set(6, 6); bg.scale.set(6, 6);
bg.updateHitbox(); bg.updateHitbox();
bg.scale.y = 4; bg.scale.y = 4;
bg.cameras = [pauseCam];
add(bg); add(bg);
songText = new FlxText(0, 22 * 6, 0, "Pause", 8, false); songText = new FlxText(0, 22 * 6, 0, "Pause", 8, false);
confText(songText); confText(songText);
add(songText); add(songText);
var i = 2; for (i=>e in menuItems) {
for(e in menuItems) { text = new FlxText(0, (22 * 6) + ((i+2) * 9 * 6), 0, e, 8, false);
text = new FlxText(0, (22 * 6) + (i * 9 * 6), 0, e, 8, false);
confText(text); confText(text);
add(text);
texts.push(text);
i++;
} }
hand = new FlxSprite().loadGraphic(Paths.image('stages/school/ui/hand_textbox')); hand = new FlxSprite().loadGraphic(Paths.image('stages/school/ui/hand_textbox'));
hand.antialiasing = false;
hand.scale.set(6, 6); hand.scale.set(6, 6);
hand.updateHitbox(); hand.updateHitbox();
add(hand); 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')); FlxG.sound.play(Paths.sound(isThorns ? 'pixel/ANGRY' : 'pixel/clickText'));
} }
@@ -70,55 +63,50 @@ function confText(text) {
text.screenCenter(FlxAxes.X); text.screenCenter(FlxAxes.X);
text.borderStyle = FlxTextBorderStyle.OUTLINE; text.borderStyle = FlxTextBorderStyle.OUTLINE;
if (!isThorns) text.borderColor = 0xFF953E3E; if (!isThorns) text.borderColor = 0xFF953E3E;
text.antialiasing = false;
texts.push(text);
add(text);
} }
function destroy() { function destroy() if (FlxG.cameras.list.contains(pauseCam))
if(FlxG.cameras.list.contains(pauseCam)) FlxG.cameras.remove(pauseCam);
FlxG.cameras.remove(pauseCam);
}
var canDoShit = true; var canDoShit = true;
var time:Float = 0; var time:Float = 0;
function update(elapsed) { function update(elapsed) {
pixelScript.call("postUpdate", [elapsed]); pixelScript?.call("postUpdate", [elapsed]);
pauseCam.alpha = lerp(pauseCam.alpha, 1, 0.25); pauseCam.alpha = lerp(pauseCam.alpha, 1, 0.25);
time += elapsed; 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.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.x -= hand.x % 6;
hand.y -= hand.y % 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); changeSelection((controls.UP_P ? -1 : 0) + (controls.DOWN_P ? 1 : 0) - FlxG.mouse.wheel);
if (oldSec != curSelected) if (controls.ACCEPT) enterOption();
FlxG.sound.play(Paths.sound(isThorns ? 'pixel/type' : 'pixel/pixelText')); }
if (controls.ACCEPT) { var scrollSFX = FlxG.sound.load(Paths.sound(isThorns ? 'pixel/type' : 'pixel/pixelText'));
FlxG.sound.play(Paths.sound(isThorns ? 'pixel/ANGRY' : 'pixel/clickText')); function changeSelection(change) if (canDoShit) { // this overrides the function inside of the normal pause btw, so no event gets called - Nex
var option = menuItems[curSelected]; curSelected = FlxMath.wrap(curSelected + change, 0, menuItems.length - 1);
if (option == "Resume" || option == "Exit to menu") { 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; canDoShit = false;
for(t in texts) t.visible = false; for(t in texts) t.visible = false;
hand.visible = songText.visible = false; hand.visible = songText.visible = false;
FlxTween.tween(bg, {"scale.y": 0}, 0.125, {ease: FlxEase.cubeOut, onComplete: function() { FlxTween.tween(bg.scale, {y: 0}, 0.125, {ease: FlxEase.cubeOut, onComplete: selectOption});
selectOption(); default: selectOption();
}});
} else {
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() function create()
sound = Paths.sound('jeffGameover/jeffGameover-' + FlxG.random.int(1, 25, !Options.naughtyness ? [1, 3, 8, 13, 17, 21] : null)); sound = Paths.sound('jeffGameover/jeffGameover-' + FlxG.random.int(1, 25, !Options.naughtyness ? [1, 3, 8, 13, 17, 21] : null));
function beatHit(cur:Int) { function beatHit(cur:Int) if (cur == 0) {
if(cur != 0) return; 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.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 tankAngle:Float = FlxG.random.int(-90, 45);
var tankSpeed:Float = FlxG.random.float(5, 7); var tankSpeed:Float = FlxG.random.float(5, 7);
function postCreate() if(PlayState.isStoryMode) function postCreate() if (PlayState.isStoryMode)
GameOverSubstate.script = 'data/scripts/week7-balledLines'; GameOverSubstate.script = 'data/scripts/week7-balledLines';
function update(elapsed:Float) { function update(elapsed:Float) {
@@ -12,7 +12,7 @@ function update(elapsed:Float) {
} }
function onPostCountdown(event) { function onPostCountdown(event) {
if(!playCutscenes || event.sprite == null) return; if (!playCutscenes || event.sprite == null) return;
var lastIndex:Int = members.indexOf(event.sprite); var lastIndex:Int = members.indexOf(event.sprite);
remove(event.sprite); remove(event.sprite);
insert(lastIndex + 4, event.sprite); insert(lastIndex + 4, event.sprite);
+1 -1
View File
@@ -1,2 +1,2 @@
<!DOCTYPE codename-engine-week-character> <!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.

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.

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 146 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.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 268 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

After

Width:  |  Height:  |  Size: 126 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 B

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 B

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 167 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 804 B

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