Skip to content

Commit

Permalink
scriptable class changes
Browse files Browse the repository at this point in the history
  • Loading branch information
cyn0x8 committed Jan 23, 2025
1 parent dfe02ec commit c1ba67b
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package funkin.modding.base;
package funkin.graphics;

/**
* A script that can be tied to a FunkinSprite.
* Create a scripted class that extends FunkinSprite to use this.
*/
@:hscriptClass
class ScriptedFunkinSprite extends funkin.graphics.FunkinSprite implements HScriptedClass {}
class ScriptedFunkinSprite extends funkin.graphics.FunkinSprite implements polymod.hscript.HScriptedClass {}
5 changes: 5 additions & 0 deletions source/funkin/modding/PolymodHandler.hx
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,11 @@ class PolymodHandler
Polymod.addImportAlias('lime.utils.Assets', funkin.Assets);
Polymod.addImportAlias('openfl.utils.Assets', funkin.Assets);

// Backward compatibility for certain scripted classes outside `funkin.modding.base`.
Polymod.addImportAlias('funkin.modding.base.ScriptedFunkinSprite', funkin.graphics.ScriptedFunkinSprite);
Polymod.addImportAlias('funkin.modding.base.ScriptedMusicBeatState', funkin.ui.ScriptedMusicBeatState);
Polymod.addImportAlias('funkin.modding.base.ScriptedMusicBeatSubState', funkin.ui.ScriptedMusicBeatSubState);

// Add blacklisting for prohibited classes and packages.

// `Sys`
Expand Down
13 changes: 13 additions & 0 deletions source/funkin/modding/base/Object.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package funkin.modding.base;

/**
* An empty base class meant to be extended by scripts.
*/

class Object {
public function new() {}

public function toString():String {
return "(Object)";
}
}
8 changes: 8 additions & 0 deletions source/funkin/modding/base/ScriptedFlxBasic.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package funkin.modding.base;

/**
* A script that can be tied to an FlxBasic.
* Create a scripted class that extends FlxBasic to use this.
*/
@:hscriptClass
class ScriptedFlxBasic extends flixel.FlxBasic implements HScriptedClass {}
8 changes: 8 additions & 0 deletions source/funkin/modding/base/ScriptedFlxObject.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package funkin.modding.base;

/**
* A script that can be tied to an FlxObject.
* Create a scripted class that extends FlxObject to use this.
*/
@:hscriptClass
class ScriptedFlxObject extends flixel.FlxObject implements HScriptedClass {}
8 changes: 8 additions & 0 deletions source/funkin/modding/base/ScriptedObject.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package funkin.modding.base;

/**
* A script that can be tied to an Object (empty base class).
* Create a scripted class that extends Object to use this.
*/
@:hscriptClass
class ScriptedObject extends funkin.modding.base.Object implements HScriptedClass {}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package funkin.modding.base;
package funkin.ui;

/**
* A script that can be tied to a MusicBeatState.
* Create a scripted class that extends MusicBeatState to use this.
*/
@:hscriptClass
class ScriptedMusicBeatState extends funkin.ui.MusicBeatState implements HScriptedClass {}
class ScriptedMusicBeatState extends funkin.ui.MusicBeatState implements polymod.hscript.HScriptedClass {}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package funkin.modding.base;
package funkin.ui;

/**
* A script that can be tied to a MusicBeatSubState.
* Create a scripted class that extends MusicBeatSubState to use this.
*/
@:hscriptClass
class ScriptedMusicBeatSubState extends funkin.ui.MusicBeatSubState implements HScriptedClass {}
class ScriptedMusicBeatSubState extends funkin.ui.MusicBeatSubState implements polymod.hscript.HScriptedClass {}

0 comments on commit c1ba67b

Please sign in to comment.