This commit is contained in:
Kade M
2021-05-03 20:33:28 -07:00
parent d967c58286
commit 69478bf5ae
3 changed files with 101 additions and 46 deletions

View File

@ -3,6 +3,7 @@
// Lua
#if windows
import flixel.tweens.FlxEase;
import openfl.filters.ShaderFilter;
import flixel.tweens.FlxTween;
import flixel.util.FlxColor;
import openfl.geom.Matrix;
@ -19,7 +20,7 @@ import flixel.FlxG;
class ModchartState
{
//public static var shaders:Array<LuaShader> = null;
public static var lua:State = null;
@ -170,7 +171,11 @@ class ModchartState
}
// lua objects or what ever
if (luaSprites.get(id) == null)
{
if (Std.is(id, String))
return Reflect.getProperty(PlayState.instance,id);
return PlayState.PlayState.strumLineNotes.members[Std.parseInt(id)];
}
return luaSprites.get(id);
}
@ -237,13 +242,15 @@ class ModchartState
function new()
{
trace('opening a lua state (because we are cool :))');
trace('opening a lua state (because we are cool :))');
lua = LuaL.newstate();
LuaL.openlibs(lua);
trace("Lua version: " + Lua.version());
trace("LuaJIT version: " + Lua.versionJIT());
Lua.init_callbacks(lua);
//shaders = new Array<LuaShader>();
var result = LuaL.dofile(lua, Paths.lua(PlayState.SONG.song.toLowerCase() + "/modchart")); // execute le file
if (result != 0)
@ -532,52 +539,28 @@ class ModchartState
});
// shader
/*Lua_helper.add_callback(lua,"createShader", function(frag:String,vert:String) {
var shader:LuaShader = new LuaShader(frag,vert);
/*Lua_helper.add_callback(lua,"setRenderedNoteWiggle", function(id:Int, effectType:String, waveSpeed:Int, waveFrequency:Int) {
trace('call');
var wiggleEffect = new WiggleEffect();
switch(effectType.toLowerCase())
{
case 'dreamy':
wiggleEffect.effectType = WiggleEffectType.DREAMY;
case 'wavy':
wiggleEffect.effectType = WiggleEffectType.WAVY;
case 'heat_wave_horizontal':
wiggleEffect.effectType = WiggleEffectType.HEAT_WAVE_HORIZONTAL;
case 'heat_wave_vertical':
wiggleEffect.effectType = WiggleEffectType.HEAT_WAVE_VERTICAL;
case 'flag':
wiggleEffect.effectType = WiggleEffectType.FLAG;
}
wiggleEffect.waveFrequency = waveFrequency;
wiggleEffect.waveSpeed = waveSpeed;
wiggleEffect.shader.uTime.value = [(strumLine.y - Note.swagWidth * 4) / FlxG.height]; // from 4mbr0s3 2
notes.members[id].shader = wiggleEffect.shader;
luaWiggles.push(wiggleEffect);
trace(shader.glFragmentSource);
shaders.push(shader);
// if theres 1 shader we want to say theres 0 since 0 index and length returns a 1 index.
return shaders.length == 1 ? 0 : shaders.length;
});
Lua_helper.add_callback(lua,"setActorWiggle", function(id:String, effectType:String, waveSpeed:Int, waveFrequency:Int) {
trace('call');
var wiggleEffect = new WiggleEffect();
switch(effectType.toLowerCase())
{
case 'dreamy':
wiggleEffect.effectType = WiggleEffectType.DREAMY;
case 'wavy':
wiggleEffect.effectType = WiggleEffectType.WAVY;
case 'heat_wave_horizontal':
wiggleEffect.effectType = WiggleEffectType.HEAT_WAVE_HORIZONTAL;
case 'heat_wave_vertical':
wiggleEffect.effectType = WiggleEffectType.HEAT_WAVE_VERTICAL;
case 'flag':
wiggleEffect.effectType = WiggleEffectType.FLAG;
}
wiggleEffect.waveFrequency = waveFrequency;
wiggleEffect.waveSpeed = waveSpeed;
wiggleEffect.shader.uTime.value = [(strumLine.y - Note.swagWidth * 4) / FlxG.height]; // from 4mbr0s3 2
getActorByName(id).shader = wiggleEffect.shader;
luaWiggles.push(wiggleEffect);
Lua_helper.add_callback(lua,"setFilterHud", function(shaderIndex:Int) {
PlayState.instance.camHUD.setFilters([new ShaderFilter(shaders[shaderIndex])]);
});
Lua_helper.add_callback(lua,"setFilterCam", function(shaderIndex:Int) {
FlxG.camera.setFilters([new ShaderFilter(shaders[shaderIndex])]);
});*/
// default strums
for (i in 0...PlayState.strumLineNotes.length) {
var member = PlayState.strumLineNotes.members[i];
trace(PlayState.strumLineNotes.members[i].x + " " + PlayState.strumLineNotes.members[i].y + " " + PlayState.strumLineNotes.members[i].angle + " | strum" + i);