Skip to content
This repository was archived by the owner on Dec 19, 2025. It is now read-only.

Commit 005a6a0

Browse files
committed
OK
1 parent 8e579c5 commit 005a6a0

File tree

29 files changed

+1479
-2985
lines changed

29 files changed

+1479
-2985
lines changed

.github/workflows/main.yml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111
workflow_dispatch:
1212

1313
jobs:
14+
# Build on Linux
1415
buildLinux:
1516
name: ✨ Build on Linux
1617
runs-on: ubuntu-latest
@@ -33,7 +34,7 @@ jobs:
3334
chmod +x ./setup/unix.sh
3435
./setup/unix.sh
3536
36-
- name: Skip SScript setup mode
37+
- name: Skip SScript Setup Mode
3738
run: echo 'oy9:showMacroty8:loopCosti25y10:includeAllfg' >> ~/settings.cocoa
3839

3940
- name: Create Version Tag
@@ -48,6 +49,7 @@ jobs:
4849
name: linuxBuild
4950
path: export/release/linux/bin
5051

52+
# Build on Windows
5153
buildWindows:
5254
name: 🌐 Build on Windows
5355
runs-on: windows-latest
@@ -68,7 +70,7 @@ jobs:
6870
setup\windows.bat
6971
shell: cmd
7072

71-
- name: Skip SScript setup mode
73+
- name: Skip SScript Setup Mode
7274
run: echo 'oy9:showMacroty8:loopCosti25y10:includeAllfg' >> %USERPROFILE%\settings.cocoa
7375
shell: cmd
7476

@@ -84,6 +86,7 @@ jobs:
8486
name: windowsBuild
8587
path: export/release/windows/bin
8688

89+
# Build on macOS
8790
buildMac:
8891
name: 🌟 Build on macOS
8992
runs-on: macos-13
@@ -101,7 +104,7 @@ jobs:
101104
haxelib run lime rebuild lime mac -arch arm64
102105
chmod +x ./setup/unix.sh
103106
sh ./setup/unix.sh
104-
- name: Skip SScript setup mode
107+
- name: Skip SScript Setup Mode
105108
run: echo 'oy9:showMacroty8:loopCosti25y10:includeAllfg' >> ~/settings.cocoa
106109

107110
- name: Create Version Tag
@@ -114,6 +117,29 @@ jobs:
114117
name: macBuild
115118
path: export/release/macos/bin
116119

120+
# Upload Artifact to GitHub Release
121+
uploadRelease:
122+
name: Upload to GitHub Release
123+
needs: [buildLinux, buildWindows, buildMac]
124+
runs-on: ubuntu-latest
125+
steps:
126+
- name: Checkout Code
127+
uses: actions/checkout@v4.1.7
128+
129+
- name: Create GitHub Release
130+
run: |
131+
VERSION_TAG="v${{ github.run_id }}"
132+
gh release create $VERSION_TAG \
133+
export/release/linux/bin/* export/release/windows/bin/* export/release/macos/bin/* \
134+
--title "Release $VERSION_TAG" --notes "Builds for Linux, Windows, and macOS."
135+
136+
- name: Upload Artifact to GitHub Release
137+
uses: actions/upload-artifact@v4.3.4
138+
with:
139+
name: releaseArtifacts
140+
path: export/release/*
141+
142+
# Notify Discord about build status
117143
notifyDiscord:
118144
name: 📣 Notify Discord
119145
runs-on: ubuntu-latest
@@ -124,6 +150,7 @@ jobs:
124150
env:
125151
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL }}
126152
RUN_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
153+
RELEASE_URL: https://github.com/${{ github.repository }}/releases/tag/v${{ github.run_id }}
127154
run: |
128155
STATUS_LINUX="${{ needs.buildLinux.result }}"
129156
STATUS_WIN="${{ needs.buildWindows.result }}"
@@ -145,7 +172,7 @@ jobs:
145172
COLOR=16711680
146173
fi
147174
148-
DESCRIPTION="$msg_linux\n$msg_win\n$msg_mac"
175+
DESCRIPTION="$msg_linux\n$msg_win\n$msg_mac\n\nRelease: [Download Builds]($RELEASE_URL)"
149176
150177
curl -H "Content-Type: application/json" \
151178
-X POST \

README.md

Lines changed: 69 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,75 @@
11
> [!Warning]
22
> This engine is still in development!
3-
> If you find any bugs, please report them to me.
4-
> At here: https://github.com/Paopun20/FNF-HyPsych-Engine/issues
3+
> If you encounter any bugs, please report them on GitHub Issues (https://github.com/Paopun20/FNF-HyPsych-Engine/issues).
54
6-
## HyPsych Enging Is next-gen of Psych Engine!
5+
# Welcome to HyPsych engine!
76

8-
you can use it to make your mod more powerful!
7+
<video src="./docs/GHREADMEFile/HPE_Loop.mp4" width="100%" autoplay loop muted></video>
98

109
---
11-
### What is HyPsych Engine?
12-
It's a fork of [Psych Engine 1.0.4](https://github.com/shadowMario/FNF-PsychEngine), but with a lot of new features and improvements.
13-
14-
### Features:
15-
- **HScript on Lua [Beta]**
16-
Classic HScript syntax now runs *alongside Lua*! (*One tiny bug—[we're on it](https://github.com/Paopun20/FNF-HyPsych-Engine/issues)*)
17-
- **Optimized Garbage Collector**
18-
Smoother gameplay, fewer hitches. *Your mods won’t stutter even if your beats do.*
19-
- **C++11 Unleashed**
20-
Modern codebase for maximum performance and compatibility.
21-
22-
### Lua extensions *(Modder’s Paradise)* :
23-
| Extension | Status | Description |
24-
|-----------|--------|-------------|
25-
| **`BrainF*ck`** | Stable | *Yes, really.* Interpret Brainf*ck code mid-song. Meme responsibly. |
26-
| **`GetArgs`** | Stable | Fetch command-line args like a pro. Perfect for custom mod tools. |
27-
| **`HttpClient`** | Stable | Make HTTP(S) requests. Build mods that talk to APIs, Discord, etc. **BUT YOU CAN'T DOWNLOAD OR UPLOAD FILES FROM IT FOR SECURITY REASONS.** |
28-
| **`JsonHelper`** | Stable | JSON parsing so easy, even your grandma could mod. |
29-
| **`ScreenInfo`** | Stable | Dynamically adapt mods to any screen size/resolution. |
30-
| **`UrlGen`** | Stable | Build URLs on the fly. Pair with `HttpClient` for endless chaos. |
31-
| **`WindowManager`** | Beta | *"Move that window!"* Control position, size, fullscreen—mostly works™. |
10+
11+
# HyPsych Enging Is next-gen of Psych Engine!
12+
This is a Friday Night Funkin' engine based on Psych Engine.
13+
This engine is a fork of Psych Engine 1.0.4, but with a lot of new features and improvements.
14+
15+
## About
16+
This engine is made for fun and learning purposes.
17+
I hope you enjoy it!
18+
19+
# Features:
20+
- **HScript on Lua [Beta]**
21+
Classic HScript syntax now runs alongside Lua! This allows for greater flexibility in scripting. (We’re working on fixing one minor bug—stay tuned!)
22+
23+
- **Optimized Garbage Collection**
24+
Experience smoother gameplay with fewer performance hitches. Your mods won’t stutter, even during complex beats!
25+
26+
- **C++11 Codebase**
27+
A modern, efficient codebase to maximize performance and ensure compatibility with the latest systems.
28+
29+
- **Replay Functionality [Work in Progress]**
30+
Record your best (or worst) runs and play them back at any time!
31+
32+
- **Buffer [Work in Progress]**
33+
Buffers temporarily store data in memory for more efficient data handling, improving overall performance.
34+
35+
- **Gameplay**
36+
**HXCPP_GC_DYNAMIC_SIZE**
37+
This new feature allows you to change the size of dynamic memory allocation, providing flexibility for memory management during gameplay.
38+
39+
**HXCPP_GC_BIG_BLOCKS**
40+
This feature optimizes memory allocation by using larger memory blocks, which can reduce fragmentation and improve performance.
41+
42+
**HXCPP_GC_GENERATIONAL**
43+
A garbage collection approach that uses multiple generations of objects, optimizing memory usage and reducing the cost of collection in long-running processes.
44+
45+
46+
# Lua Extensions
47+
48+
### These extensions expand Lua’s functionality in the HyPsych Engine:
49+
50+
| Extension | Status | Testing | Description |
51+
|---------------------|----------------|---------|-------------|
52+
| **`BrainF*ck`** | Stable | Yes | Allows the execution of BrainF*ck code within your game’s songs. This quirky feature lets modders add unexpected logic or fun programming challenges in their music gameplay, adding an extra layer of meme-worthy fun to your mods. |
53+
| **`GetArgs`** | Stable | Yes | Enables access to command-line arguments, perfect for creating modding tools or integrating with external configurations. This extension helps retrieve input passed to the game on startup, which can be used for custom settings or tool integrations. |
54+
| **`HttpClient`** | Stable | Yes | Make HTTP(S) requests from within your mod to interact with external APIs, fetch data, or even interact with platforms like Discord. While it can handle requests and responses, file upload/download functionality is restricted for security purposes, ensuring safe communication. |
55+
| **`JsonHelper`** | Stable | Yes | A powerful extension to simplify working with JSON data. It provides easy-to-use functions to parse JSON strings into native Haxe objects and vice versa. Perfect for modders who need to handle external JSON configurations or data without dealing with complex parsing logic. |
56+
| **`ScreenInfo`** | Unstable (Crash Game) | Yes | Retrieve dynamic screen resolution and size information for any connected display. This is ideal for mods that need to adapt to different screen sizes and setups. However, it is currently unstable and may cause crashes, so use it cautiously. |
57+
| **`UrlGen`** | Stable | Yes | Build and manipulate URLs dynamically. This extension allows modders to generate custom URLs, append query parameters, and path segments on the fly. It pairs well with HttpClient for sending requests with custom parameters and paths, ideal for interacting with APIs or generating dynamic links within your game. |
58+
| **`WindowManager`** | Unstable (Buggy) | Yes | Provides control over window properties such as position, size, and fullscreen mode. While mostly functional, it’s still in an experimental state, with some bugs related to window resizing and positioning. This feature is primarily useful for mods that need to control the in-game window’s appearance. |
59+
60+
---
61+
62+
## Q&A
63+
### What makes HyPsych Engine different from Psych Engine?
64+
65+
HyPsych Engine offers many new features and improvements over Psych Engine, including:
66+
- HScript on Lua, allowing for more flexible scripting.
67+
- Optimized Garbage Collection for smoother gameplay.
68+
- C++11-based codebase, offering better performance and system compatibility.
69+
- New Lua Extensions, such as BrainF*ck, HttpClient, and JsonHelper, which add powerful new functionalities.
70+
71+
## Credits
72+
- **Paopun20** - Main Developer \(Sole Developer for this cool engine\)
73+
74+
## Special Thanks
75+
- **You** - For using this engine!

0 commit comments

Comments
 (0)