mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2024-10-04 00:10:39 +00:00
Merge branch 'master' of https://github.com/FunkinCrew/Funkin-secret
This commit is contained in:
commit
f0432773e8
20
.github/actions/setup-haxeshit/action.yml
vendored
20
.github/actions/setup-haxeshit/action.yml
vendored
|
@ -1,10 +1,20 @@
|
||||||
name: setup-haxeshit
|
name: setup-haxeshit
|
||||||
description: "sets up haxe shit, using lix!"
|
description: "sets up haxe shit, using HMM!"
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- uses: lix-pm/setup-lix@1.0.0
|
- uses: krdlab/setup-haxe@v1.4.0
|
||||||
with:
|
with:
|
||||||
lix-version: 15.8.9 # optional
|
haxe-version: 4.2.5
|
||||||
env:
|
- name: Config haxelib
|
||||||
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
|
run: |
|
||||||
|
haxelib config
|
||||||
|
shell: bash
|
||||||
|
- name: Installing Haxe lol
|
||||||
|
run: |
|
||||||
|
haxe -version
|
||||||
|
haxelib git haxelib https://github.com/HaxeFoundation/haxelib.git
|
||||||
|
haxelib version
|
||||||
|
haxelib --global install hmm
|
||||||
|
haxelib --global run hmm install --quiet
|
||||||
|
shell: bash
|
||||||
|
|
9
.github/workflows/build-shit.yml
vendored
9
.github/workflows/build-shit.yml
vendored
|
@ -55,15 +55,10 @@ jobs:
|
||||||
export/debug/windows/haxe/
|
export/debug/windows/haxe/
|
||||||
export/debug/windows/obj/
|
export/debug/windows/obj/
|
||||||
|
|
||||||
- name: lix stuff
|
- uses: ./.github/actions/setup-haxeshit
|
||||||
run: |
|
|
||||||
npm i -g lix
|
|
||||||
lix download
|
|
||||||
lix +lib lime
|
|
||||||
lix run lime setup
|
|
||||||
- name: Build game
|
- name: Build game
|
||||||
run: |
|
run: |
|
||||||
lix run lime build windows
|
haxelib run lime build windows -debug
|
||||||
dir
|
dir
|
||||||
- uses: ./.github/actions/upload-itch
|
- uses: ./.github/actions/upload-itch
|
||||||
with:
|
with:
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,6 +1,5 @@
|
||||||
.DS_STORE
|
.DS_STORE
|
||||||
.haxelib/
|
.haxelib/
|
||||||
.vscode/
|
|
||||||
APIStuff.hx
|
APIStuff.hx
|
||||||
dump/
|
dump/
|
||||||
export/
|
export/
|
||||||
|
|
84
.vscode/settings.json
vendored
Normal file
84
.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
{
|
||||||
|
"[haxe]": {
|
||||||
|
// Automatically keep Haxe files formatted.
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
// Compilation server issues can cause auto-cleanup to remove valid imports.
|
||||||
|
"source.organizeImports": false
|
||||||
|
},
|
||||||
|
"editor.defaultFormatter": "nadako.vshaxe",
|
||||||
|
"editor.tabSize": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
"[json]": {
|
||||||
|
// Automatically keep JSON files formatted.
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
|
||||||
|
"[jsonc]": {
|
||||||
|
// Automatically keep JSONC files formatted.
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"prettier.tabWidth": 2,
|
||||||
|
|
||||||
|
// Automatically detect indentation.
|
||||||
|
"editor.detectIndentation": true,
|
||||||
|
"editor.insertSpaces": true,
|
||||||
|
"editor.tabSize": 2,
|
||||||
|
|
||||||
|
// Automatically enforce Linux style line endings.
|
||||||
|
"files.eol": "\n",
|
||||||
|
|
||||||
|
"haxe.displayPort": "auto",
|
||||||
|
"haxe.enableCompilationServer": true,
|
||||||
|
"haxe.displayServer": {
|
||||||
|
"arguments": ["-v"]
|
||||||
|
},
|
||||||
|
// Fix file associations for HScript.
|
||||||
|
"files.associations": {
|
||||||
|
"*.hxp": "haxe",
|
||||||
|
"*.hscript": "haxe",
|
||||||
|
"*.haxe": "haxe",
|
||||||
|
"*.hxs": "haxe",
|
||||||
|
"*.hxc": "haxe"
|
||||||
|
},
|
||||||
|
"projectManager.git.baseFolders": ["./"],
|
||||||
|
|
||||||
|
"haxecheckstyle.sourceFolders": ["src", "Source"],
|
||||||
|
"haxecheckstyle.externalSourceRoots": [],
|
||||||
|
"haxecheckstyle.configurationFile": "checkstyle.json",
|
||||||
|
"haxecheckstyle.codeSimilarityBufferSize": 100,
|
||||||
|
|
||||||
|
"lime.targetConfigurations": [
|
||||||
|
{
|
||||||
|
"label": "Windows / Debug",
|
||||||
|
"target": "windows",
|
||||||
|
"args": ["-debug"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Windows / Debug (DEBUG ASSETS)",
|
||||||
|
"target": "windows",
|
||||||
|
"args": ["-debug", "-DDEBUG_ASSETS"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "Windows / Debug (ANIMATE)",
|
||||||
|
"target": "windows",
|
||||||
|
"args": ["-debug", "-DANIMATE"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "HTML5 / Debug",
|
||||||
|
"target": "html5",
|
||||||
|
"args": ["-debug"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "HTML5 / Debug (Watch)",
|
||||||
|
"target": "html5",
|
||||||
|
"args": ["-debug", "-watch"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
13
.vscode/tasks.json
vendored
Normal file
13
.vscode/tasks.json
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"type": "lime",
|
||||||
|
"command": "test",
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -129,7 +129,7 @@
|
||||||
<haxelib name="haxeui-flixel"/> <!-- Integrate HaxeUI with Flixel -->
|
<haxelib name="haxeui-flixel"/> <!-- Integrate HaxeUI with Flixel -->
|
||||||
<haxelib name="polymod" /> <!-- Modding framework -->
|
<haxelib name="polymod" /> <!-- Modding framework -->
|
||||||
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
||||||
<haxelib name="hxcodec" /> <!-- Video playback -->
|
<!-- <haxelib name="hxcodec" /> Video playback -->
|
||||||
|
|
||||||
<haxelib name="thx.semver" />
|
<haxelib name="thx.semver" />
|
||||||
|
|
||||||
|
|
110
hmm.json
110
hmm.json
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
<<<<<<< HEAD
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
{
|
{
|
||||||
"name": "discord_rpc",
|
"name": "discord_rpc",
|
||||||
|
@ -114,3 +115,112 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
"dependencies": [{
|
||||||
|
"name": "discord_rpc",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "2d83fa8",
|
||||||
|
"url": "https://github.com/Aidan63/linc_discord-rpc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flixel",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "d6100cc8",
|
||||||
|
"url": "https://github.com/EliteMasterEric/flixel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flixel-addons",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "f107166",
|
||||||
|
"url": "https://github.com/EliteMasterEric/flixel-addons"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flixel-ui",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "2.4.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flxanimate",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "49f5554",
|
||||||
|
"url": "https://github.com/Dot-Stuff/flxanimate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "format",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "3.5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "haxeui-core",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "dd7a95d",
|
||||||
|
"url": "https://github.com/haxeui/haxeui-core/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "haxeui-flixel",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "3882f1f",
|
||||||
|
"url": "https://github.com/haxeui/haxeui-flixel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hmm",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "3ef9522",
|
||||||
|
"url": "https://github.com/steviegt6/hmm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hscript",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "2.5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hxcpp",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "4.2.1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hxcpp-debug-server",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "1.2.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hxp",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lime",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "afadf5f",
|
||||||
|
"url": "https://github.com/openfl/lime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "openfl",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "b2c18513",
|
||||||
|
"url": "https://github.com/EliteMasterEric/openfl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "polymod",
|
||||||
|
"type": "git",
|
||||||
|
"dir": null,
|
||||||
|
"ref": "4e5b4b3",
|
||||||
|
"url": "https://github.com/larsiusprime/polymod"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "thx.semver",
|
||||||
|
"type": "haxelib",
|
||||||
|
"version": "0.2.2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
>>>>>>> bc83dd7399f1c77a96f04dff6ab990831cd5c165
|
||||||
|
|
|
@ -27,12 +27,9 @@ import funkin.modding.events.ScriptEventDispatcher;
|
||||||
import funkin.play.Strumline.StrumlineArrow;
|
import funkin.play.Strumline.StrumlineArrow;
|
||||||
import funkin.play.Strumline.StrumlineStyle;
|
import funkin.play.Strumline.StrumlineStyle;
|
||||||
import funkin.play.character.BaseCharacter;
|
import funkin.play.character.BaseCharacter;
|
||||||
<<<<<<< HEAD
|
|
||||||
import funkin.play.character.CharacterData;
|
|
||||||
=======
|
|
||||||
import funkin.play.character.CharacterData.CharacterDataParser;
|
import funkin.play.character.CharacterData.CharacterDataParser;
|
||||||
|
import funkin.play.character.CharacterData;
|
||||||
import funkin.play.cutscene.VanillaCutscenes;
|
import funkin.play.cutscene.VanillaCutscenes;
|
||||||
>>>>>>> feature/flxanimate
|
|
||||||
import funkin.play.event.SongEvent.SongEventParser;
|
import funkin.play.event.SongEvent.SongEventParser;
|
||||||
import funkin.play.scoring.Scoring;
|
import funkin.play.scoring.Scoring;
|
||||||
import funkin.play.song.Song;
|
import funkin.play.song.Song;
|
||||||
|
@ -93,15 +90,14 @@ class PlayState extends MusicBeatState
|
||||||
public static var isInCutscene:Bool = false;
|
public static var isInCutscene:Bool = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
<<<<<<< HEAD
|
|
||||||
* Whether the inputs should be disabled for whatever reason... used for the stage edit lol!
|
* Whether the inputs should be disabled for whatever reason... used for the stage edit lol!
|
||||||
*/
|
*/
|
||||||
public static var disableKeys:Bool = false;
|
public static var disableKeys:Bool = false;
|
||||||
=======
|
|
||||||
|
/*
|
||||||
* Whether the game is currently in dialog, and gameplay should be stopped.
|
* Whether the game is currently in dialog, and gameplay should be stopped.
|
||||||
*/
|
*/
|
||||||
public static var isInDialog:Bool = false;
|
public static var isInDialog:Bool = false;
|
||||||
>>>>>>> feature/flxanimate
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether the game is currently in the countdown before the song resumes.
|
* Whether the game is currently in the countdown before the song resumes.
|
||||||
|
@ -1419,7 +1415,10 @@ class PlayState extends MusicBeatState
|
||||||
|
|
||||||
startingSong = true;
|
startingSong = true;
|
||||||
|
|
||||||
|
inputSpitter = [];
|
||||||
|
|
||||||
// Reset music properly.
|
// Reset music properly.
|
||||||
|
|
||||||
FlxG.sound.music.pause();
|
FlxG.sound.music.pause();
|
||||||
vocals.pause();
|
vocals.pause();
|
||||||
FlxG.sound.music.time = 0;
|
FlxG.sound.music.time = 0;
|
||||||
|
@ -1854,6 +1853,11 @@ class PlayState extends MusicBeatState
|
||||||
{
|
{
|
||||||
dispatchEvent(new ScriptEvent(ScriptEvent.SONG_END));
|
dispatchEvent(new ScriptEvent(ScriptEvent.SONG_END));
|
||||||
|
|
||||||
|
#if sys
|
||||||
|
// spitter for ravy, teehee!!
|
||||||
|
sys.io.File.saveContent("./scores.txt", inputSpitter.join("\n"));
|
||||||
|
#end
|
||||||
|
|
||||||
seenCutscene = false;
|
seenCutscene = false;
|
||||||
deathCounter = 0;
|
deathCounter = 0;
|
||||||
mayPauseGame = false;
|
mayPauseGame = false;
|
||||||
|
@ -2084,6 +2088,11 @@ class PlayState extends MusicBeatState
|
||||||
*/
|
*/
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spitting out the input for ravy 🙇♂️!!
|
||||||
|
*/
|
||||||
|
var inputSpitter:Array<String> = [];
|
||||||
|
|
||||||
public function keyShit(test:Bool):Void
|
public function keyShit(test:Bool):Void
|
||||||
{
|
{
|
||||||
if (PlayState.instance == null) return;
|
if (PlayState.instance == null) return;
|
||||||
|
@ -2102,6 +2111,15 @@ class PlayState extends MusicBeatState
|
||||||
controls.NOTE_UP_R,
|
controls.NOTE_UP_R,
|
||||||
controls.NOTE_RIGHT_R
|
controls.NOTE_RIGHT_R
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if (pressArray.contains(true))
|
||||||
|
{
|
||||||
|
var lol:Array<Int> = cast pressArray;
|
||||||
|
inputSpitter.push(Std.int(Conductor.songPosition) + " " + lol.join(" "));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (FlxG.keys.justPressed.B) trace(inputSpitter.join("\n"));
|
||||||
|
|
||||||
// HOLDS, check for sustain notes
|
// HOLDS, check for sustain notes
|
||||||
if (holdArray.contains(true) && PlayState.instance.generatedMusic)
|
if (holdArray.contains(true) && PlayState.instance.generatedMusic)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package funkin.play.cutscene;
|
package funkin.play.cutscene;
|
||||||
|
|
||||||
import hxcodec.flixel.FlxVideoSprite;
|
// import hxcodec.flixel.FlxVideoSprite;
|
||||||
import hxcodec.flixel.FlxCutsceneState;
|
// import hxcodec.flixel.FlxCutsceneState;
|
||||||
import flixel.FlxSprite;
|
import flixel.FlxSprite;
|
||||||
import flixel.tweens.FlxEase;
|
import flixel.tweens.FlxEase;
|
||||||
import flixel.tweens.FlxTween;
|
import flixel.tweens.FlxTween;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import flixel.util.FlxTimer;
|
import flixel.util.FlxTimer;
|
||||||
|
import funkin.graphics.video.FlxVideo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Static methods for playing cutscenes in the PlayState.
|
* Static methods for playing cutscenes in the PlayState.
|
||||||
|
@ -62,7 +63,7 @@ class VanillaCutscenes
|
||||||
vid.finishCallback = finishCutscene;
|
vid.finishCallback = finishCutscene;
|
||||||
#else
|
#else
|
||||||
// Video displays OVER the FlxState.
|
// Video displays OVER the FlxState.
|
||||||
vid = new FlxVideoSprite(0, 0);
|
// vid = new FlxVideoSprite(0, 0);
|
||||||
|
|
||||||
vid.cameras = [PlayState.instance.camCutscene];
|
vid.cameras = [PlayState.instance.camCutscene];
|
||||||
|
|
||||||
|
@ -73,7 +74,7 @@ class VanillaCutscenes
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
static var vid:#if html5 FlxVideo #else FlxVideoSprite #end;
|
static var vid:#if html5 FlxVideo #else Dynamic /**FlxVideoSprite **/ #end;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Does the cleanup to start the countdown after the video is done.
|
* Does the cleanup to start the countdown after the video is done.
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
package funkin.util;
|
package funkin.util;
|
||||||
|
|
||||||
import cpp.abi.Abi;
|
|
||||||
import haxe.zip.Entry;
|
import haxe.zip.Entry;
|
||||||
import lime.utils.Bytes;
|
import lime.utils.Bytes;
|
||||||
import lime.ui.FileDialog;
|
import lime.ui.FileDialog;
|
||||||
import openfl.net.FileFilter;
|
import openfl.net.FileFilter;
|
||||||
import haxe.io.Path;
|
import haxe.io.Path;
|
||||||
import lime.utils.Resource;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utilities for reading and writing files on various platforms.
|
* Utilities for reading and writing files on various platforms.
|
||||||
|
@ -145,15 +143,13 @@ class FileUtil
|
||||||
#elseif html5
|
#elseif html5
|
||||||
var filter = convertTypeFilter(typeFilter);
|
var filter = convertTypeFilter(typeFilter);
|
||||||
|
|
||||||
var onFileLoaded = function(event)
|
var onFileLoaded = function(event) {
|
||||||
{
|
|
||||||
var loadedFileRef:FileReference = event.target;
|
var loadedFileRef:FileReference = event.target;
|
||||||
trace('Loaded file: ' + loadedFileRef.name);
|
trace('Loaded file: ' + loadedFileRef.name);
|
||||||
onOpen(loadedFileRef.data);
|
onOpen(loadedFileRef.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
var onFileSelected = function(event)
|
var onFileSelected = function(event) {
|
||||||
{
|
|
||||||
var selectedFileRef:FileReference = event.target;
|
var selectedFileRef:FileReference = event.target;
|
||||||
trace('Selected file: ' + selectedFileRef.name);
|
trace('Selected file: ' + selectedFileRef.name);
|
||||||
selectedFileRef.addEventListener(Event.COMPLETE, onFileLoaded);
|
selectedFileRef.addEventListener(Event.COMPLETE, onFileLoaded);
|
||||||
|
@ -214,8 +210,7 @@ class FileUtil
|
||||||
{
|
{
|
||||||
#if desktop
|
#if desktop
|
||||||
// Prompt the user for a directory, then write all of the files to there.
|
// Prompt the user for a directory, then write all of the files to there.
|
||||||
var onSelectDir = function(targetPath:String)
|
var onSelectDir = function(targetPath:String) {
|
||||||
{
|
|
||||||
var paths:Array<String> = [];
|
var paths:Array<String> = [];
|
||||||
for (resource in resources)
|
for (resource in resources)
|
||||||
{
|
{
|
||||||
|
@ -264,8 +259,7 @@ class FileUtil
|
||||||
// Create a ZIP file.
|
// Create a ZIP file.
|
||||||
var zipBytes = createZIPFromEntries(resources);
|
var zipBytes = createZIPFromEntries(resources);
|
||||||
|
|
||||||
var onSave = function(path:String)
|
var onSave = function(path:String) {
|
||||||
{
|
|
||||||
onSave([path]);
|
onSave([path]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue