Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
moxie-coder committed Sep 21, 2024
2 parents a7ccf19 + 54b2845 commit 81f2bfc
Show file tree
Hide file tree
Showing 25 changed files with 391 additions and 164 deletions.
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bugs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ body:
- "Linux"
- "Mac"
- "HTML5"
- "Android"
- "iOS"
- "Flash/Air-based target"
- "Neko, HashLink, or other build system"
validations:
Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/help.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ body:
- "Windows x86/x32"
- "Linux"
- "Mac"
- "Android"
- "iOS"
- "HTML5/Browser"
- "Flash/Air-based target"
- "Neko, HashLink, or other build system"
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/mobile-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Mobile Release

on:
workflow_dispatch:

permissions:
contents: write

jobs:
get-latest-tag:
runs-on: ubuntu-latest
outputs:
latest_tag: ${{ steps.get_tag.outputs.LATEST_TAG }}
steps:
- name: Get latest release tag
id: get_tag
run: |
latest_tag=$(curl --silent "https://api.github.com/repos/${{ github.repository }}/releases/latest" | jq -r .tag_name)
echo "Latest tag is $latest_tag"
echo "::set-output name=LATEST_TAG::$latest_tag"
build:
name: Build
uses: ./.github/workflows/mobile.yml
with:
buildFlags: officialBuild

release-android:
name: Release androidBuild
needs: [get-latest-tag, build]
runs-on: ubuntu-latest
steps:
- name: Download Android artifact
uses: actions/download-artifact@main
with:
name: androidBuild
- name: Upload androidBuild to release
uses: svenstaro/upload-release-action@2.5.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.get-latest-tag.outputs.latest_tag }}
file: JSEngine-release.apk
asset_name: FNF-JS-Engine-android.apk
overwrite: false

release-ios:
name: Release iOSBuild
needs: [get-latest-tag, build]
runs-on: ubuntu-latest
steps:
- name: Download iOS artifact
uses: actions/download-artifact@main
with:
name: iOSBuild
- name: Zip For Release
run: zip -r JSEngine-iOS.zip JSEngine.ipa
- name: Upload iOSBuild to release
uses: svenstaro/upload-release-action@2.5.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.get-latest-tag.outputs.latest_tag }}
file: JSEngine-iOS.zip
asset_name: FNF-JS-Engine-iOS.zip
overwrite: false
74 changes: 74 additions & 0 deletions .github/workflows/mobile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Mobile
on:
push:
branches: mobile
workflow_dispatch:

workflow_call:
inputs:
buildFlags:
required: false
type: string

jobs:
Mobile:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-14]
steps:
- name: Checkout
uses: actions/checkout@main
with:
ref: 'mobile'

- name: Setup Haxe
uses: krdlab/setup-haxe@master
with:
haxe-version: 4.3.6

- name: Install Libraries
run: |
haxelib install hmm --quiet
haxelib run hmm install --quiet
- name: Configure Android
if: startsWith(matrix.os, 'ubuntu')
run: |
haxelib run lime config ANDROID_SDK $ANDROID_HOME
haxelib run lime config ANDROID_NDK_ROOT $ANDROID_NDK_LATEST_HOME
haxelib run lime config JAVA_HOME $JAVA_HOME_17_X64
haxelib run lime config ANDROID_SETUP true
- name: Compile (Android)
if: startsWith(matrix.os, 'ubuntu')
run: haxelib run lime build android -D ${{ inputs.buildFlags }}

- name: Compile (iOS)
if: startsWith(matrix.os, 'macos')
run: haxelib run lime build ios -nosign -D ${{ inputs.buildFlags }}

- name: Make Ipa
if: startsWith(matrix.os, 'macos')
run: |
cd export/release/ios/build/*-iphoneos
mkdir Payload
mv *.app Payload
zip -r JSEngine.ipa Payload
- name: Upload Artifact (Android)
if: startsWith(matrix.os, 'ubuntu')
uses: actions/upload-artifact@main
with:
name: androidBuild
path: export/release/android/bin/app/build/outputs/apk/release/*.apk
if-no-files-found: error

- name: Upload Artifact (iOS)
if: startsWith(matrix.os, 'macos')
uses: actions/upload-artifact@main
with:
name: iOSBuild
path: export/release/ios/build/Release-iphoneos/*.ipa
if-no-files-found: error
5 changes: 4 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ on:
release:
types: [ published ]

permissions:
contents: write

jobs:
build:
name: Build
Expand Down Expand Up @@ -54,7 +57,7 @@ jobs:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
file: build.zip
asset_name: FNF-JS-Engine.zip
asset_name: FNF-JS-Engine-windows.zip
overwrite: false

release-mac:
Expand Down
2 changes: 1 addition & 1 deletion Project.xml
Original file line number Diff line number Diff line change
Expand Up @@ -155,4 +155,4 @@
<icon path="art/icon32.png" size='32'/>
<icon path="art/icon64.png" size='64'/>
<icon path="art/iconOG.png" />
</project>
</project>
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<br>
</h1>
<h3 align="center">
<b>JS Engine is a heavily modified Psych Engine fork I made, with lower-end PCs and more customization in mind while also aiming to be a replacement for OS Engine.</b>
<b>JS Engine is a heavily modified Psych Engine fork I made, with lower-end PCs and more customization in mind while also aiming to be a replacement for OS "Engine".</b>
</h3>

README.md revamped by [Nael2xd](https://youtube.com/@nael2xd?si=axwJrY_8jdlXUwSm)

If you're looking for the mobile version, [go here!](https://github.com/MobilePorting/FNF-JS-Engine-Mobile)
If you're looking for the mobile version, [go here!](https://github.com/JordanSantiagoYT/FNF-JS-Engine/tree/mobile)

## Welcome

Expand All @@ -32,6 +32,7 @@ The features/performances included are:
- Basic Shader Support! (for a full list, it can be seen in [here](https://github.com/JordanSantiagoYT/FNF-JS-Engine/wiki#q-what-are-all-the-basic-shaders-that-come-with-this-engine))
- Rendering mode! (Originally used for lua and gamerenderer-engine)
- Built in Song Credits! (on chart editor)
- Spam modules! (for the DnB fans)

There is like lots and lots of stuff i've missed, but at least you would like those features built in **JS ENGINE**

Expand All @@ -57,6 +58,14 @@ Q: How do I (change the background, add characters, etc.)?

A: You do it here the same way you'd do it in Psych Engine.

Q: I found a bug!

A: Report [here.](https://github.com/JordanSantiagoYT/FNF-JS-Engine/issues). Also, **please check if there are already posts about the same issue.**

Q: I found a WAY to fix a bug!

A: Send [here.](https://github.com/JordanSantiagoYT/FNF-JS-Engine/pulls).

# Compiling JS Engine

Refer to [the Build Instructions](./BUILDING.md)
Expand Down
42 changes: 14 additions & 28 deletions THECHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
1.33.3;

Fixed Note Splash offsets not savig properly

1.33.2;

Fixed a crash that would occur when accessing the Note Splash Editor menu
The game will no longer crash if you don't have any weeks LOL

1.33.1;

Fixed the game not creating a crash log on ANY crash for some users (thank you moxie)

1.33.0;

Note Skipping has been added! (i asked HRK_EXEX before adding this and he gave me permission to add it, and he has been given credit for said feature)
The Achievements menu has been updated to the one seen in Psych Engine 0.7.3
ACHIEVEMENTS OVERHAULED (and you can now actually add softcoded achievements!! check out the JS Engine GitHub wiki for more info)
Game should no longer endlessly get stuck in a vocal resync loop if the Voices file(s) are shorter than the instrumental
Show Debug Info was renamed to "Info Shown:" and 'Show Rendering Time Remaining' has been merged with it
Show MS has been moved to the Optimization menu
(!) Show Ratings & Combo has been split into 2 options. If you find that rating sprites are spawning again, that's why.
Removed the health tween when a song starts (it's cool but people don't need that)
Removed 3 options due to being recreatable in LUA
Note Splashes no longer keep using their shader if you turn off the Enable Color Shader option (should fix the Black Splashes issue)
Fixed notes stretching in EditorPlayState and strums not being colored properly
Fixed the Blocked Glitch Shader not moving if you used it
Tried to fix the game not making a crash log on ANY crash for some users
1.34.0;

Added support for animated song headers (animation MUST be named 'idle' for it to work properly)
The Secret Debug Options menu got a new option!
A new startup animation has been added!
If you have an unsaved change, pressing BACKSPACE will automatically warn you that there are changes that haven't been saved yet!
The TitleState texts were changed a bit!
Updated the way Camera Twist looks - it looks more smoother and should break a LOT less often now. additionally it cleaned up some code
Removed "Hide scoreTxt" - can be recreated in a SINGULAR line
Fixed normal notes not being killed when being hit by the player in EditorPlayState
Fixed some note splash stuff.
Fixed an issue where if you made the game fast enough, the game wouldn't set Hurt Notes' hit properties to false, which means you would end up hitting the notes when you weren't supposed to
Fixed a crash that could occur if you use Char-Based Note Colors and try placing a note BEFORE ever entering PlayState
Fixed sustain notes using the wrong character-based colors if you had the play as opponent option turned on
22 changes: 20 additions & 2 deletions assets/preload/data/botplayText.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ Fine, I'll do it myself.
You are either recording a video or you are BAD at FNF!!
stop no what are you doing
YOU'RE GONNA TURN INTO A GOOMBA!!

This is a placeholder.
Oh, hey! Is that Boyfriend FNF down there?
The FitnessGram™ Pacer Test is a multistage aerobic capacity test that progressively gets more difficult as it continues. The 20 meter pacer test will begin in 30 seconds. Line up at the start. The running speed starts slowly, but gets faster each minute after you hear this signal. [beep] A single lap should be completed each time you hear this sound. [ding] Remember to run in a straight line, and run as long as possible. The second time you fail to complete a lap before the sound, your test is over. The test will begin on the word start. On your mark, get ready, start.
Expand Down Expand Up @@ -342,4 +341,23 @@ try not to use botplay challenge (failed)
couldn't even play this, i botted immediately!! clean up on aisle BOTPLAY :ROFL:
bro did NOT make it to the end with this one (he used botplay)
how bro sounded: beep boop bop
pov: you using botplay
pov: you using botplay
game closing in 3... 2... 1...
why is you using botplay? just PLAY THE G A M E
?????????????
im goin kill your family :gun:
in 350 lines of random botplay text, this one is the perfect one - close the game
A robot is a machine—especially one programmable by a computer—capable of carrying out a complex series of actions automatically.
A robot can be guided by an external control device, or the control may be embedded within. Robots may be constructed to evoke human form, but most robots are task-performing machines, designed with an emphasis on stark functionality, rather than expressive aesthetics.
bro failed CAPTCHA :skull:
ALKGJHKRBFKGHRJKEHRKJGKUJRGHREKIGUREOGUROI
hope u die
"did you guys liked my bambi fansong chart?"
pov: you couldn't beat a spamchart so you turned on botplay
HEY! why don't you touch some grass instead of messing around with a robot?
i'm over here turning on my botplay right now frfr
dawg this isn't just botplay it's AI MODE :skull:
you probably just added a lot of spam into your "chart" :sob:
did you go outside today
practice mode better + ratio
WHY ARE YOU NOT GETTING A NULL REFERENCE :sob:
5 changes: 4 additions & 1 deletion assets/preload/data/funnyTips.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,7 @@ I dare you to make a 1 hour long chart with characters with bg and make it accur
SB Engine? what's that?
You can use CTRL while in the Gameplay Changers menu to use a slower change value!
While in the Gameplay Changers menu, press SHIFT to reset ALL of your settings at once!
Did you know that if you press 7 twice while on this menu, nothing will happen? :trollface:
Did you know that if you press 7 twice while on this menu, nothing will happen? :trollface:
If your game is lagging, try changing "Anti-Aliasing" to false
If your game is lagging, try closing some process in your peecee
If your game is lagging, just buy a new pc!
3 changes: 2 additions & 1 deletion assets/preload/data/introText.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,5 @@ luquinhas--voce eh a coisa mais feliz
mansour says--fnf is shit lol
medodecordas self promote--watch?v=dQw4w9WgXcQ
ezhalt says--olha a bombaaa
stevan--love cats
stevan--love cats
skibidi--gyatt
Binary file added assets/videos/bambiStartup.mp4
Binary file not shown.
6 changes: 4 additions & 2 deletions hmm.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@
},
{
"name": "hxCodec",
"type": "haxelib",
"version": "2.5.1"
"type": "git",
"dir": null,
"ref": "cafc58e9046505ff93fa659339808b53faa5d6f3",
"url": "https://github.com/polybiusproxy/hxCodec"
},
{
"name": "hscript",
Expand Down
1 change: 0 additions & 1 deletion source/ClientPrefs.hx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ class ClientPrefs { //default settings if it can't find a save file containing y
public static var maxSplashLimit:Int = 16;
public static var oppNoteAlpha:Float = 0.65;
public static var hideHud:Bool = false;
public static var hideScore:Bool = false;
public static var tauntOnGo:Bool = true;
public static var oldSusStyle:Bool = false;
public static var showRendered:Bool = false;
Expand Down
2 changes: 1 addition & 1 deletion source/MainMenuState.hx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ using StringTools;

class MainMenuState extends MusicBeatState
{
public static var psychEngineJSVersion:String = '1.33.3'; //This is also used for Discord RPC
public static var psychEngineJSVersion:String = '1.34.0'; //This is also used for Discord RPC
public static var psychEngineVersion:String = '0.6.3'; //This is also used for Discord RPC
public static var curSelected:Int = 0;

Expand Down
6 changes: 6 additions & 0 deletions source/Note.hx
Original file line number Diff line number Diff line change
Expand Up @@ -562,6 +562,12 @@ class Note extends FlxSprite
noteSplashData.g = 0xFF101010;
noteSplashData.texture = 'noteSplashes/noteSplashes-electric';
}
else if (rgbShader != null)
{
noteSplashData.r = -1;
noteSplashData.g = -1;
noteSplashData.b = -1;
}
}

// this is used for note recycling
Expand Down
Loading

0 comments on commit 81f2bfc

Please sign in to comment.