diff --git a/source/psychlua/DeprecatedFunctions.hx b/source/psychlua/DeprecatedFunctions.hx index cf9abe45d73..9f5432adf10 100644 --- a/source/psychlua/DeprecatedFunctions.hx +++ b/source/psychlua/DeprecatedFunctions.hx @@ -18,8 +18,8 @@ class DeprecatedFunctions Lua_helper.add_callback(lua, "objectPlayAnimation", function(obj:String, name:String, forced:Bool = false, ?startFrame:Int = 0) { FunkinLua.luaTrace("objectPlayAnimation is deprecated! Use playAnim instead", false, true); - if(PlayState.instance.getLuaObject(obj,false) != null) { - PlayState.instance.getLuaObject(obj,false).animation.play(name, forced, false, startFrame); + if(PlayState.instance.getLuaObject(obj) != null) { + PlayState.instance.getLuaObject(obj).animation.play(name, forced, false, startFrame); return true; } diff --git a/source/psychlua/FunkinLua.hx b/source/psychlua/FunkinLua.hx index 95d127aa4ed..58622a79bdb 100644 --- a/source/psychlua/FunkinLua.hx +++ b/source/psychlua/FunkinLua.hx @@ -461,7 +461,8 @@ class FunkinLua { if(tag != null) { var variables = MusicBeatState.getVariables(); - tag = 'tween_' + LuaUtils.formatVariable(tag); + var originalTag = tag; + tag = LuaUtils.formatVariable('tween_$tag'); variables.set(tag, FlxTween.tween(penisExam, values, duration, { type: myOptions.type, ease: myOptions.ease, @@ -469,14 +470,14 @@ class FunkinLua { loopDelay: myOptions.loopDelay, onUpdate: function(twn:FlxTween) { - if(myOptions.onUpdate != null) game.callOnLuas(myOptions.onUpdate, [tag, vars]); + if(myOptions.onUpdate != null) game.callOnLuas(myOptions.onUpdate, [originalTag, vars]); }, onStart: function(twn:FlxTween) { - if(myOptions.onStart != null) game.callOnLuas(myOptions.onStart, [tag, vars]); + if(myOptions.onStart != null) game.callOnLuas(myOptions.onStart, [originalTag, vars]); }, onComplete: function(twn:FlxTween) { if(twn.type == FlxTweenType.ONESHOT || twn.type == FlxTweenType.BACKWARD) variables.remove(tag); - if(myOptions.onComplete != null) game.callOnLuas(myOptions.onComplete, [tag, vars]); + if(myOptions.onComplete != null) game.callOnLuas(myOptions.onComplete, [originalTag, vars]); } })); return tag; @@ -806,7 +807,7 @@ class FunkinLua { Lua_helper.add_callback(lua, "getMidpointX", function(variable:String) { var split:Array = variable.split('.'); - var obj:FlxSprite = LuaUtils.getObjectDirectly(split[0]); + var obj:FlxObject = LuaUtils.getObjectDirectly(split[0]); if(split.length > 1) { obj = LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split), split[split.length-1]); } @@ -816,7 +817,7 @@ class FunkinLua { }); Lua_helper.add_callback(lua, "getMidpointY", function(variable:String) { var split:Array = variable.split('.'); - var obj:FlxSprite = LuaUtils.getObjectDirectly(split[0]); + var obj:FlxObject = LuaUtils.getObjectDirectly(split[0]); if(split.length > 1) { obj = LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split), split[split.length-1]); } @@ -846,7 +847,7 @@ class FunkinLua { }); Lua_helper.add_callback(lua, "getScreenPositionX", function(variable:String, ?camera:String = 'game') { var split:Array = variable.split('.'); - var obj:FlxSprite = LuaUtils.getObjectDirectly(split[0]); + var obj:FlxObject = LuaUtils.getObjectDirectly(split[0]); if(split.length > 1) { obj = LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split), split[split.length-1]); } @@ -856,7 +857,7 @@ class FunkinLua { }); Lua_helper.add_callback(lua, "getScreenPositionY", function(variable:String, ?camera:String = 'game') { var split:Array = variable.split('.'); - var obj:FlxSprite = LuaUtils.getObjectDirectly(split[0]); + var obj:FlxObject = LuaUtils.getObjectDirectly(split[0]); if(split.length > 1) { obj = LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split), split[split.length-1]); } @@ -947,8 +948,8 @@ class FunkinLua { }); Lua_helper.add_callback(lua, "setScrollFactor", function(obj:String, scrollX:Float, scrollY:Float) { - if(game.getLuaObject(obj,false)!=null) { - game.getLuaObject(obj,false).scrollFactor.set(scrollX, scrollY); + if(game.getLuaObject(obj) != null) { + game.getLuaObject(obj).scrollFactor.set(scrollX, scrollY); return; } @@ -1055,6 +1056,7 @@ class FunkinLua { return (obj != null && Std.isOfType(obj, FlxText)); }); Lua_helper.add_callback(lua, "luaSoundExists", function(tag:String) { + tag = LuaUtils.formatVariable('sound_$tag'); var obj:FlxSound = MusicBeatState.getVariables().get(tag); return (obj != null && Std.isOfType(obj, FlxSound)); }); @@ -1086,7 +1088,7 @@ class FunkinLua { } var split:Array = obj.split('.'); - var object:FlxSprite = LuaUtils.getObjectDirectly(split[0]); + var object:FlxBasic = LuaUtils.getObjectDirectly(split[0]); if(split.length > 1) { object = LuaUtils.getVarInArray(LuaUtils.getPropertyLoop(split), split[split.length-1]); } @@ -1119,7 +1121,7 @@ class FunkinLua { return false; }); Lua_helper.add_callback(lua, "screenCenter", function(obj:String, pos:String = 'xy') { - var spr:FlxSprite = game.getLuaObject(obj); + var spr:FlxObject = game.getLuaObject(obj); if(spr==null){ var split:Array = obj.split('.'); diff --git a/source/psychlua/TextFunctions.hx b/source/psychlua/TextFunctions.hx index 4c25a2c9152..97650a194b9 100644 --- a/source/psychlua/TextFunctions.hx +++ b/source/psychlua/TextFunctions.hx @@ -18,7 +18,7 @@ class TextFunctions }); Lua_helper.add_callback(lua, "setTextString", function(tag:String, text:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.text = text; @@ -28,7 +28,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextSize", function(tag:String, size:Int) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.size = size; @@ -38,7 +38,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextWidth", function(tag:String, width:Float) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.fieldWidth = width; @@ -48,7 +48,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextHeight", function(tag:String, height:Float) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.fieldHeight = height; @@ -58,7 +58,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextAutoSize", function(tag:String, value:Bool) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.autoSize = value; @@ -68,7 +68,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextBorder", function(tag:String, size:Float, color:String, ?style:String = 'outline') { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { CoolUtil.setTextBorderFromString(obj, (size > 0 ? style : 'none')); @@ -82,7 +82,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextColor", function(tag:String, color:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.color = CoolUtil.colorFromString(color); @@ -92,7 +92,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextFont", function(tag:String, newFont:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.font = Paths.font(newFont); @@ -102,7 +102,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextItalic", function(tag:String, italic:Bool) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.italic = italic; @@ -112,7 +112,7 @@ class TextFunctions return false; }); Lua_helper.add_callback(lua, "setTextAlignment", function(tag:String, alignment:String = 'left') { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { obj.alignment = LEFT; @@ -130,7 +130,7 @@ class TextFunctions }); Lua_helper.add_callback(lua, "getTextString", function(tag:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null && obj.text != null) { return obj.text; @@ -139,7 +139,7 @@ class TextFunctions return null; }); Lua_helper.add_callback(lua, "getTextSize", function(tag:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { return obj.size; @@ -148,7 +148,7 @@ class TextFunctions return -1; }); Lua_helper.add_callback(lua, "getTextFont", function(tag:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { return obj.font; @@ -157,7 +157,7 @@ class TextFunctions return null; }); Lua_helper.add_callback(lua, "getTextWidth", function(tag:String) { - var obj:FlxText = MusicBeatState.getVariables().get(tag); + var obj:FlxText = LuaUtils.getObjectDirectly(tag); if(obj != null) { return obj.fieldWidth; diff --git a/source/states/PlayState.hx b/source/states/PlayState.hx index 0e6d225fd79..ca04d9181ef 100644 --- a/source/states/PlayState.hx +++ b/source/states/PlayState.hx @@ -791,7 +791,7 @@ class PlayState extends MusicBeatState #end } - public function getLuaObject(tag:String, text:Bool=true):FlxSprite + public function getLuaObject(tag:String):Dynamic return variables.get(tag); function startCharacterPos(char:Character, ?gfCheck:Bool = false) { diff --git a/source/states/stages/Template.hx b/source/states/stages/Template.hx index 20837e08e99..d0c112e6a66 100644 --- a/source/states/stages/Template.hx +++ b/source/states/stages/Template.hx @@ -24,8 +24,13 @@ class Template extends BaseStage // Code here } + override function destroy() + { + // Code here + } + - override function countdownTick(count:BaseStage.Countdown, num:Int) + override function countdownTick(count:Countdown, num:Int) { switch(count) { @@ -37,6 +42,11 @@ class Template extends BaseStage } } + override function startSong() + { + // Code here + } + // Steps, Beats and Sections: // curStep, curDecStep // curBeat, curDecBeat @@ -120,4 +130,25 @@ class Template extends BaseStage } } } + + // Note Hit/Miss + override function goodNoteHit(note:Note) + { + // Code here + } + + override function opponentNoteHit(note:Note) + { + // Code here + } + + override function noteMiss(note:Note) + { + // Code here + } + + override function noteMissPress(direction:Int) + { + // Code here + } } \ No newline at end of file