diff --git a/project.xml b/project.xml
index d9208b58..3be967db 100644
--- a/project.xml
+++ b/project.xml
@@ -219,17 +219,17 @@
-
+
-
+
-
+
diff --git a/source/funkin/backend/shaders/FunkinShader.hx b/source/funkin/backend/shaders/FunkinShader.hx
index 6b5ea097..86d070e4 100644
--- a/source/funkin/backend/shaders/FunkinShader.hx
+++ b/source/funkin/backend/shaders/FunkinShader.hx
@@ -62,14 +62,18 @@ class FunkinShader extends FlxShader implements IHScriptCustomBehaviour {
private static function _processGLSLText(source:String, glVersion:String, isFragment:Bool, ?pragmas:Map):String {
var injectedFragColor = StringTools.contains(source, "out vec4"), canInjectFragColorFix = switch (glVersion) {
- case "300 es", "330", "400", "410", "420", "430", "440", "450", "460": isFragment;
+ case "300 es", "310 es", "320 es", "330", "400", "410", "420", "430", "440", "450", "460": isFragment;
default: false;
};
if (pragmas != null) {
final pragmaKeyword = ~/#pragma (\w+)/g;
source = pragmaKeyword.map(source, (_) -> {
- var name = pragmaKeyword.matched(1);
- if (!pragmas.exists(name)) return '#pragma $name';
+ var name = pragmaKeyword.matched(1), pragma:String;
+ if (pragmas.exists(name)) pragma = pragmas.get(name);
+ else {
+ if (name != "header" && name != "body") return '#pragma $name';
+ pragma = "";
+ }
var pragma = pragmas.get(name);
if (name == "header" && canInjectFragColorFix && !injectedFragColor) {
diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx
index 037e0a6c..3e991233 100644
--- a/source/funkin/game/PlayState.hx
+++ b/source/funkin/game/PlayState.hx
@@ -1231,11 +1231,6 @@ class PlayState extends MusicBeatState
@:dox(hide)
override public function onFocus():Void
{
- if (!paused && FlxG.autoPause) {
- for (strumLine in strumLines.members) strumLine.vocals.resume();
- inst.resume();
- vocals.resume();
- }
gameAndCharsCall("onFocus");
updateDiscordPresence();
super.onFocus();
@@ -1244,11 +1239,6 @@ class PlayState extends MusicBeatState
@:dox(hide)
override public function onFocusLost():Void
{
- if (!paused && FlxG.autoPause) {
- for (strumLine in strumLines.members) strumLine.vocals.pause();
- inst.pause();
- vocals.pause();
- }
gameAndCharsCall("onFocusLost");
updateDiscordPresence();
super.onFocusLost();