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
|
// Lua
|
||||||
#if windows
|
#if windows
|
||||||
import flixel.tweens.FlxEase;
|
import flixel.tweens.FlxEase;
|
||||||
|
import openfl.filters.ShaderFilter;
|
||||||
import flixel.tweens.FlxTween;
|
import flixel.tweens.FlxTween;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import openfl.geom.Matrix;
|
import openfl.geom.Matrix;
|
||||||
@ -19,7 +20,7 @@ import flixel.FlxG;
|
|||||||
|
|
||||||
class ModchartState
|
class ModchartState
|
||||||
{
|
{
|
||||||
|
//public static var shaders:Array<LuaShader> = null;
|
||||||
|
|
||||||
public static var lua:State = null;
|
public static var lua:State = null;
|
||||||
|
|
||||||
@ -170,7 +171,11 @@ class ModchartState
|
|||||||
}
|
}
|
||||||
// lua objects or what ever
|
// lua objects or what ever
|
||||||
if (luaSprites.get(id) == null)
|
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 PlayState.PlayState.strumLineNotes.members[Std.parseInt(id)];
|
||||||
|
}
|
||||||
return luaSprites.get(id);
|
return luaSprites.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,13 +242,15 @@ class ModchartState
|
|||||||
|
|
||||||
function new()
|
function new()
|
||||||
{
|
{
|
||||||
trace('opening a lua state (because we are cool :))');
|
trace('opening a lua state (because we are cool :))');
|
||||||
lua = LuaL.newstate();
|
lua = LuaL.newstate();
|
||||||
LuaL.openlibs(lua);
|
LuaL.openlibs(lua);
|
||||||
trace("Lua version: " + Lua.version());
|
trace("Lua version: " + Lua.version());
|
||||||
trace("LuaJIT version: " + Lua.versionJIT());
|
trace("LuaJIT version: " + Lua.versionJIT());
|
||||||
Lua.init_callbacks(lua);
|
Lua.init_callbacks(lua);
|
||||||
|
|
||||||
|
//shaders = new Array<LuaShader>();
|
||||||
|
|
||||||
var result = LuaL.dofile(lua, Paths.lua(PlayState.SONG.song.toLowerCase() + "/modchart")); // execute le file
|
var result = LuaL.dofile(lua, Paths.lua(PlayState.SONG.song.toLowerCase() + "/modchart")); // execute le file
|
||||||
|
|
||||||
if (result != 0)
|
if (result != 0)
|
||||||
@ -532,52 +539,28 @@ class ModchartState
|
|||||||
});
|
});
|
||||||
|
|
||||||
// shader
|
// 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(shader.glFragmentSource);
|
||||||
trace('call');
|
|
||||||
var wiggleEffect = new WiggleEffect();
|
shaders.push(shader);
|
||||||
switch(effectType.toLowerCase())
|
// 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;
|
||||||
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);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Lua_helper.add_callback(lua,"setActorWiggle", function(id:String, effectType:String, waveSpeed:Int, waveFrequency:Int) {
|
|
||||||
trace('call');
|
Lua_helper.add_callback(lua,"setFilterHud", function(shaderIndex:Int) {
|
||||||
var wiggleEffect = new WiggleEffect();
|
PlayState.instance.camHUD.setFilters([new ShaderFilter(shaders[shaderIndex])]);
|
||||||
switch(effectType.toLowerCase())
|
});
|
||||||
{
|
|
||||||
case 'dreamy':
|
Lua_helper.add_callback(lua,"setFilterCam", function(shaderIndex:Int) {
|
||||||
wiggleEffect.effectType = WiggleEffectType.DREAMY;
|
FlxG.camera.setFilters([new ShaderFilter(shaders[shaderIndex])]);
|
||||||
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);
|
|
||||||
});*/
|
});*/
|
||||||
|
|
||||||
|
// default strums
|
||||||
|
|
||||||
for (i in 0...PlayState.strumLineNotes.length) {
|
for (i in 0...PlayState.strumLineNotes.length) {
|
||||||
var member = PlayState.strumLineNotes.members[i];
|
var member = PlayState.strumLineNotes.members[i];
|
||||||
trace(PlayState.strumLineNotes.members[i].x + " " + PlayState.strumLineNotes.members[i].y + " " + PlayState.strumLineNotes.members[i].angle + " | strum" + 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];
|
var stringThing:Array<String> = weekData[curWeek];
|
||||||
|
|
||||||
for (i in stringThing)
|
for (i in stringThing)
|
||||||
{
|
|
||||||
txtTracklist.text += "\n" + i;
|
txtTracklist.text += "\n" + i;
|
||||||
}
|
|
||||||
|
|
||||||
txtTracklist.text = txtTracklist.text.toUpperCase();
|
txtTracklist.text = txtTracklist.text.toUpperCase();
|
||||||
|
|
||||||
txtTracklist.screenCenter(X);
|
txtTracklist.screenCenter(X);
|
||||||
txtTracklist.x -= FlxG.width * 0.35;
|
txtTracklist.x -= FlxG.width * 0.35;
|
||||||
|
|
||||||
|
txtTracklist.text += "\n";
|
||||||
|
|
||||||
#if !switch
|
#if !switch
|
||||||
intendedScore = Highscore.getWeekScore(curWeek, curDifficulty);
|
intendedScore = Highscore.getWeekScore(curWeek, curDifficulty);
|
||||||
#end
|
#end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user