Clean up shader code

This commit is contained in:
NeeEoo
2024-04-05 22:09:04 +02:00
parent 8174fef53d
commit 5aece18d5e
3 changed files with 36 additions and 44 deletions
+17 -25
View File
@@ -363,12 +363,12 @@ class FunkinShader extends FlxShader implements IHScriptCustomBehaviour {
}
public function hget(name:String):Dynamic {
if (__instanceFields.contains(name) || __instanceFields.contains('get_${name}')) {
if (__instanceFields.contains(name) || __instanceFields.contains('get_${name}'))
return Reflect.getProperty(this, name);
}
if (!Reflect.hasField(data, name)) return null;
var field = Reflect.field(data, name);
var cl = Type.getClassName(Type.getClass(field));
if (!Reflect.hasField(data, name))
return null;
var field:Dynamic = Reflect.field(data, name);
var cl:String = Type.getClassName(Type.getClass(field));
// little problem we are facing boys...
@@ -394,46 +394,38 @@ class FunkinShader extends FlxShader implements IHScriptCustomBehaviour {
if (!Reflect.hasField(data, name)) {
Reflect.setField(data, name, val);
return val;
} else {
var field = Reflect.field(data, name);
var cl = Type.getClassName(Type.getClass(field));
}
var field:Dynamic = Reflect.field(data, name);
var cl:String = Type.getClassName(Type.getClass(field));
// cant do "field is ShaderInput" for some reason
if (cl.startsWith("openfl.display.ShaderParameter")) {
@:privateAccess
if (field.__length <= 1) {
if ((val is Array))
return field.value = val;
// that means we wait for a single number, instead of an array
@:privateAccess
if (field.__isInt && !(val is Int)) {
if (field.__isInt && !(val is Int))
throw new ShaderTypeException(name, Type.getClass(val), 'Int');
return null;
} else
@:privateAccess
if (field.__isBool && !(val is Bool)) {
else if (field.__isBool && !(val is Bool))
throw new ShaderTypeException(name, Type.getClass(val), 'Bool');
return null;
} else
@:privateAccess
if (field.__isFloat && !(val is Float)) {
else if (field.__isFloat && !(val is Float))
throw new ShaderTypeException(name, Type.getClass(val), 'Float');
return null;
}
return field.value = [val];
} else {
if (!(val is Array)) {
if (!(val is Array))
throw new ShaderTypeException(name, Type.getClass(val), Array);
return null;
}
return field.value = val;
}
} else if (cl.startsWith("openfl.display.ShaderInput")) {
// shader input!!
if (!(val is BitmapData)) {
throw new ShaderTypeException(name, Type.getClass(val), BitmapData);
return null;
}
field.input = cast val;
}
}
return val;
}
+1 -1
View File
@@ -27,7 +27,7 @@ class Note extends FlxSprite
return strumLine = strLine;
}
private function get_mustPress():Bool {
private inline function get_mustPress():Bool {
return false;
}
public var noteData:Int = 0;
+1 -1
View File
@@ -159,7 +159,7 @@ class Strum extends FlxSprite {
centerOffsets();
centerOrigin();
}
public function getAnim() {
public inline function getAnim() {
return animation.name;
}
}