the oddest thing tho isthat ubuntu-latest and ubuntu-24.04 are the
same thing rn, last linux build was using 24.04 and was succesful, this
time wasnt, not even if i put 24.04; prob github workflows updated
some ubuntu components that cause this error ...
Makes possible things like `songs/dadbattle/scripts/erect/`.
* exclusive difficulty scripts
* fixing a small ordering bug + optimization
* actually, allowing both scripts to exist
* im a super fucking dumbass
* SPACES!!!
* suggestion from sen
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* Better Health Icons
- Add Animated Icons Support
- Switch to Funkin Sprite
- Customizable Icon Bumps With HScript
* Moved icons
* Improve code and features for Health Icons V2
* Small fixes
* fix icons in editors
* Remove that not needed code
* Use better onFinish callback
* Animate Atlas icons
* Cleanup
* Small change
* sing anim nodes on icons and updateIconPos can be overitten on hscript
* remove sing nodes since its useless
* fix potential null function pointer
* remove that lines
* fixing compiling errors
* hawk tuah
* ORGANIZE THEM >:D
* mlem
imports are organized based on the func in vsc smh
* bruh
---------
Co-authored-by: Ne_Eo <NeeEoo@users.noreply.github.com>
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* Winter Horrorland Linux Fix
* Fixed Winter Horrorland searching for char Monster-christmas (which technically doesn't exist on platforms other than windows due to capitalisation fuckery
* Winter Horrorland Linux Fix (Attempt 2)
* Fixed Winter Horrorland searching for char Monster-christmas (which technically doesn't exist on platforms other than windows due to capitalisation fuckery), this time using the original chart format.
* vanilla num1 update (#1)
* Updated vanilla num1 to match up with latest game update (Post-Vslice)
(FUNKIN ART STYLE)
* vanilla num1 update (#2)
* Updated vanilla num1 to match up with latest game update (Post-Vslice)
(PIXEL ART STYLE)
fixes funkin.game.cutscenes.DialogueCutscene
if "musicVolume" was present in the current line, it would grab the value of "speed" instead of "musicVolume"
and if "speed" wasn't present, it would crash the game
lmao
* Fixed a bug where notes (NoteGroup) were not destroyed when StrumLine was destroyed.
* using destroyutil
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* fix transition crash when skipping
* transition crash fix again
* rename transition script var
* better transition scripting
* add more transition script functions
* move post create to actually be after
* change this
* actually destroy the script
* add a variable to disable skipping the transition
* opa
idk felt better like this
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
Fixes#478
* Added flipX and flipY to loadSpriteFromXML()
why was this not already implemented? Nevermind I'm pretty sure it's because parseBool isn't a thing
* WHOOPS
gotta update my heckin repo
* Wow neo is good at simplifying stuff
rip parseBool but HAXE MAKE IT A THING
* sigma
¯\_(ツ)_/¯
* Allow for flipx and flipy
as opposed to flipX and flipY (cammel text)
* gaming chair
🪑
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
KeyModifier somehow returned an int outside of the KeyModifier's range 😭
Apparently there is a boolean that just checks for you called `ctrlKey`.........
* Added extras to NativeAPI.hx
-Added `setWindowBorderColor()`, `hasVersion()`, and `redrawWindowHeader`.
* Added `redrawWindowHeader` to Main.hx
* Added setWindowBorderColor
* Update NativeAPI.hx
* Update Main.hx
* Update Windows.hx
* Update NativeAPI.hx
* Update Windows.hx
* Update NativeAPI.hx
* Added FlxColorToArray to CoolUtil
-Added the FlxColorToArray function to CoolUtil so people can easily use FlxColors with functions like setWindowBorderColor and setWindowTitleColor.
* Update Windows.hx
* Fix Windows.hx
-You now have to use `FlxColor.fromRGB(255, 255, 254)` or 0xFFFFFFFE to set the border to normal
* Update Windows.hx
shhh
* Update NativeAPI.hx
* Small fixes
* small optimization
* eh imma add it here too
---------
Co-authored-by: Ne_Eo <NeeEoo@users.noreply.github.com>
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* Event based dialogue handling
* better imo
* typo
* Small script example
new script by NexIsDumb
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* Update PlayState.hx
* movin and changin names
* the fucking space
* e e ee e ee ee SANS??
* mama SANS behind you❤️
help me
* brother...
* BROTHER...
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* mobile fixes on logs and some format
* oops
* use switch on here
* mb i forgor switches could handle only inlines
* no more dissasembled bodies
no more murder..
no more innocence?
* Update Logs.hx
* Update Logs.hx
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
to be more consistent with base game, the default difficulty now starts at the middle of the array, and the level labels lose its opaqueness when it is not being selected
check the website!!
placed the github docs link as it redirects to the actual website link just in case we'll ever change the website's link or anything else happens idk
We were pushing the Codename note data into FNF Legacy sectionNotes, which is invalid and caused invalid chart exports
so uh i fixed that in dev but forgot to publicly fix it Fuck
* added "-loop" stuff
* added loop anims to the chars
* added to mom and dad for their funny eye glow
* explanation
* Update da.xml
* slightly optimized and a lil better
* oops
this would have actually caused issues since the it would have take the reversed value from the animation before -loop
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
* Fix Null object Reference
When you pause in a specific time in the countdown (when the countdown is finishing) it crashs.
I just added a null check for the song to fix it.
* Update PlayState.hx
* Update CreditsMain.hx
Made it easier to edit via script, also added color node support.
* edited
items name idea from @NeeEoo
* sweet
---------
Co-authored-by: ⍚~Nex <87421482+NexIsDumb@users.noreply.github.com>
someone had an issue that instance was null even if the pause directly loaded from playstate wth
meh at least like this we're sure it won't happen anymore
* OpenFL version compatibility fix
Uses var alias "__source" on 9.2.2 or "__audioSource" on latest, in case of using latest libraries.
* Revert "OpenFL version compatibility fix"
This reverts commit aa83aee5a5.
* OpenFL Compatibility fix
Uses (compiles) "__source" or "__audioSource" variable depending of the OpenFL version, in order to not break FlxSound.
* Revert "OpenFL Compatibility fix"
This reverts commit 18a9aeddf9.
* OpenFL compatibility fix (get/set var)
(suggestion by @NeeEoo) uses an auxiliary "__audioSource" variable for usage on latest OpenFL versions, in order to not break FlxSound class.
* Simple charter "needsVoices" fix
* Another simple fix for the charter icons
The charter did not detect icons that did not have the same name as the character
* senpai fucking dies
* final flash fadeout
* made cutscene not play on restart
* winter horrorland + fixes
* fix for pixel perfect shader
* trail + fixes
* better + shaking
last update about it, i swear
* never fucking mind + repacks + accuracy
* more fixes + chromatic aberration
* i hate how pixel shader fucks everything up
* aberration in the cutscene & its cool twitch
* camera beats when twitching
* tank stuff pt1
now the cutscenes look 99% like og (still gotta freeze the stage animated sprites n stuff)
PS: Deleting the lipSycn function in ugh and guns cutscenes cause its not needed + sometimes breaks the animations so lets just leave it in stress only like it was in og
* week 5 completed + retrocompatibility with altanim
now chrima parents work
* philly train
* gameplay shaders option
better adding it now
* tank stuff pt2
* blue balled text (death counter)
* winter horrorland better rework WIP
colored vignette usable by everyone (you can change its color, amount and strength)
wip cuz i wanna edit the amount/strength based on the zoom, i'll do later, now i dont have time gotta do christmas irl stuff yay
* winter horrorland better rework completed
* seen cutscene variable
finally
* even better cutscenes
* oops
* tank stuff pt3
* tank stuff pt4
WIP running tanks
Co-Authored-By: Ne_Eo <NeeEoo@users.noreply.github.com>
* tankstuff pt4.5
imma check tmr why do some tankmen spawn too much up
* tank stuff pt4.75
* dumb
* tank stuff pt 4.9
* type on xml sprite type fix and more
Co-Authored-By: Ne_Eo <NeeEoo@users.noreply.github.com>
---------
Co-authored-by: Ne_Eo <NeeEoo@users.noreply.github.com>
Co-authored-by: lunarcleint <88809950+lunarcleint@users.noreply.github.com>
* let me cook
* shut up
* offline part but cached bitmaps wont work raaaaaah
* bitch it works
* github node in credits.xml and more
have to finish the no api method
* non api method working
im baaack, ive been kinda busy these days
* balls
* done ig
* non api method first
* less tries
* forgor to update the non github part
* bye
* Updated docs
* Adding docs to gitignore
Useless to keep and upload too plus it contains sensitive stuff that takes when generating docs (eg: repo's saved path)
It's prob smth that the docs program uses temporarily to generate
* Re-exported gf chrimah
Atlas exported christmas gf by @EnderNile8182
Gf adjusted offsets by me
No more black lines
Co-Authored-By: Nile <102095746+endernile8182@users.noreply.github.com>
* Custom Credits
* Better Custom Credits
* Custom Credits template
* Re-exported gf car
Atlas exported car gf by @EnderNile8182
I've edited some strings in the xml
No more black lines
Co-Authored-By: Nile <102095746+endernile8182@users.noreply.github.com>
* Re-exported gf tank
Atlas exported tank gf by @EnderNile8182
Gf adjusted offsets by me
No more black lines
Co-Authored-By: Nile <102095746+endernile8182@users.noreply.github.com>
* Yay finished gfs
* Better Icons
Mainly Fixed offsets and adjust Tankman ones (some transparent pixels)
* Added bf x gf week 7 gameover
* verbose!!!!!!!!!!
❗
* tank bg "bug" fix
it was also giving an error
what the hell is tankBg even
* No more game freeze for desktop on freeplay
* Some freeplay optimisations
* Making .temp folder hidden
idk i found it ugly
* Reupdated docs
---------
Co-authored-by: Nile <102095746+endernile8182@users.noreply.github.com>
* replace single scripts with scriptpack
* this might break a ton of mods i think
* oops
* stuff
* oops 2
* d
* guh
---------
Co-authored-by: Frakist <90983918+Frakist@users.noreply.github.com>
* replace single scripts with scriptpack
* this might break a ton of mods i think
* oops
* stuff
---------
Co-authored-by: Frakist <90983918+Frakist@users.noreply.github.com>
* Adjusted sprites' offsets
* Cleaned title enter
* Fixed coop text
* Make descriptions actually work
* Oops - Descriptions pt2
* Credits pt1
wip
* Credits pt2
* Credits pt3
idk if i should remove anything else sensible aside the ip
* Credits pt4
i'll stop for this pr editing the credits menu
in the future i might improve it
* edit chart data, and per strumline scrollspeed
* forgot to delete a few things uh
* almost forgor this
* Change strum speed back to charts when disabled
* value instead of label
* set max scroll speed to 10
### This is the first ever public release of Codename Engine **BETA**.
Shoutout to the people who stuck with us throughout the alpha and supported us! \
<br />
# Features available in this version:
- ### Simple but advanced modding system!
- Mods have been reworked to run in it's entirety instead of just limited to songs.
- Uses an advanced scripting system based on haxe which is capable of modifying the game beyond source code.
- Uses a system of events based on actions going on in the game allowing change of those actions to your needs. (ex. when a player hits a note, when it confirms on a menu etc.)
- Ability to bind scripts to characters or stages.
- Ability to bind scripts to states/menus.
- Ability to create your own states/classes just like source code.
- Ability to create even more advanced stuff using systems like ndll.
- Uses a brand new song structure for cleanliness.
- Uses a brand new chart format for optimization and extensibility.
- Uses meta system for storing important values instead of in the chart file.
- Characters, stages, weeks use an xml format for cleanliness.
- Native custom shaders support.
- Native 3D renderer.
- Addon system for adding scripts or skins to run in any mod.
- Ability to add your own options.
- ### Multiple Overhauls
- Settings are more streamlined.
- Strumlines are more flexible than before (unlike base game's hardcoded 2)
- Characters are also flexible (unlike base game's hardcoded 3)
- 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
- Countless of rewrites around the code (menus, gameplay, system etc.)
- ### New Features
- Opponent & Co-op modes
- 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).
- (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 uses 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.
- ### Optimizations
- optimizations idk fill this with stuff
- Memory has been optimized (most of the game runs < 500mb)
- Usage of [flxanimate](https://github.com/Dot-Stuff/flxanimate) on big sprites, such as Girlfriend to save memory.
- Ability to add more optimizations to your mod using the `Low Memory Mode` option.
- ### Editors
- Charter
- Has been reworked entirely to have new, more streamlined UI.
## 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 Properities 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!)
- 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 ALOT 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 alot to us < 3
we are one step closer to turning beta so we really can't wait !
### 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.
Also, `lime test windows` uses the source assets folder instead of the export one for easier development.
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).
## Codename Engine
Codename Engine is a new Friday Night Funkin' Engine aimed for easier modding, along with extensiblity and ease of use.
### It includes many new features, as seen [here](FEATURES.md)
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/YoshiCrafter29/CodenameEngine/actions) tab.
<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.
</details>
Latest builds for the engine can be found in the [Actions](https://github.com/YoshiCrafter29/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!
<details>
<summary><h2>How to build</h2></summary>
@@ -39,24 +30,10 @@ Latest builds for the engine can be found in the [Actions](https://github.com/Yo
##### Tested on Windows 10 21H2
1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/).
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.
6. Once the installation is done, close Visual Studio Installer.
7. Download and install [`git-scm`](https://git-scm.com/download/win).
2. Download and install [`git-scm`](https://git-scm.com/download/win).
- Leave all installation options as default.
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)
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)
-ℹ You can run `haxelib run lime setup` to make the lime command global, allowing you to execute `lime test windows` directly.
</details>
<details>
@@ -80,8 +57,33 @@ Latest builds for the engine can be found in the [Actions](https://github.com/Yo
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 in the wiki)!*
</details>
<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)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.