poggers
This commit is contained in:
parent
d967c58286
commit
69478bf5ae
72
source/LuaShader.hx
Normal file
72
source/LuaShader.hx
Normal file
@ -0,0 +1,72 @@
|
||||
/*import flixel.system.FlxAssets.FlxShader;
|
||||
|
||||
class LuaShader extends FlxShader
|
||||
{
|
||||
// SHADER SHIT FOR LUA CODE
|
||||
|
||||
public function new(frag,vert)
|
||||
{
|
||||
glFragmentSource = '
|
||||
#pragma header
|
||||
varying float openfl_Alphav;
|
||||
varying vec4 openfl_ColorMultiplierv;
|
||||
varying vec4 openfl_ColorOffsetv;
|
||||
varying vec2 openfl_TextureCoordv;
|
||||
|
||||
uniform bool openfl_HasColorTransform;
|
||||
uniform vec2 openfl_TextureSize;
|
||||
uniform sampler2D bitmap;
|
||||
|
||||
uniform bool hasTransform;
|
||||
uniform bool hasColorTransform;
|
||||
|
||||
uniform vec3 iResolution; // viewport resolution (in pixels)
|
||||
uniform float iTime; // shader playback time (in seconds)
|
||||
uniform float iTimeDelta; // render time (in seconds)
|
||||
uniform int iFrame; // shader playback frame
|
||||
uniform float iChannelTime[4]; // channel playback time (in seconds)
|
||||
uniform vec3 iChannelResolution[4]; // channel resolution (in pixels)
|
||||
uniform vec4 iMouse; // mouse pixel coords. xy: current, zw: click
|
||||
uniform samplerXX iChannel0..3; // input channel. XX = 2D/Cube
|
||||
uniform vec4 iDate; // (year, month, day, time in seconds)
|
||||
uniform float iSampleRate; // sound sample rate (i.e., 44100)
|
||||
|
||||
vec4 flixel_texture2D(sampler2D bitmap, vec2 coord)
|
||||
{
|
||||
vec4 color = texture2D(bitmap, coord);
|
||||
if (!hasTransform)
|
||||
{
|
||||
return color;
|
||||
}
|
||||
|
||||
if (color.a == 0.0)
|
||||
{
|
||||
return vec4(0.0, 0.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
if (!hasColorTransform)
|
||||
{
|
||||
return color * openfl_Alphav;
|
||||
}
|
||||
|
||||
color = vec4(color.rgb / color.a, color.a);
|
||||
|
||||
mat4 colorMultiplier = mat4(0);
|
||||
colorMultiplier[0][0] = openfl_ColorMultiplierv.x;
|
||||
colorMultiplier[1][1] = openfl_ColorMultiplierv.y;
|
||||
colorMultiplier[2][2] = openfl_ColorMultiplierv.z;
|
||||
colorMultiplier[3][3] = openfl_ColorMultiplierv.w;
|
||||
|
||||
color = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);
|
||||
|
||||
if (color.a > 0.0)
|
||||
{
|
||||
return vec4(0.0, 0.0, 0.0, 0.0);
|
||||
}
|
||||
|
||||
' + frag;
|
||||
|
||||
iResolution
|
||||
super();
|
||||
}
|
||||
}*/
|
@ -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);
|
||||
|
@ -383,15 +383,15 @@ class StoryMenuState extends MusicBeatState
|
||||
var stringThing:Array<String> = weekData[curWeek];
|
||||
|
||||
for (i in stringThing)
|
||||
{
|
||||
txtTracklist.text += "\n" + i;
|
||||
}
|
||||
|
||||
txtTracklist.text = txtTracklist.text.toUpperCase();
|
||||
|
||||
txtTracklist.screenCenter(X);
|
||||
txtTracklist.x -= FlxG.width * 0.35;
|
||||
|
||||
txtTracklist.text += "\n";
|
||||
|
||||
#if !switch
|
||||
intendedScore = Highscore.getWeekScore(curWeek, curDifficulty);
|
||||
#end
|
||||
|
Loading…
x
Reference in New Issue
Block a user