Skip to content

Commit

Permalink
Merge branch 'dev' into release6
Browse files Browse the repository at this point in the history
  • Loading branch information
Geokureli committed Nov 25, 2024
2 parents 6bc06aa + 2cca263 commit 4602462
Show file tree
Hide file tree
Showing 103 changed files with 2,476 additions and 1,235 deletions.
22 changes: 19 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,16 @@ We removed many features and utilities that were previously deprecated
- `FlxRect`: Add `clipTo` and fix `intersection` bug ([#3190](https://github.com/HaxeFlixel/flixel/pull/3190))
- `FlxPointer`: Add `getGamePosition`, `gameX/Y`, `getViewPosition`, and `viewX/Y`, to replace "screen" fields ([#3210](https://github.com/HaxeFlixel/flixel/pull/3210))
- `FlxAnimationController`: Add `onLoop`, `onFrameChange` and `onFinish`, to replace `callback` and `finishCallback` ([#3205](https://github.com/HaxeFlixel/flixel/pull/3205)) ([#3216](https://github.com/HaxeFlixel/flixel/pull/3216))
- `FlxStrip`: Add support for blendmodes ([3213](https://github.com/HaxeFlixel/flixel/pull/3213))
- `FlxTextBorderStyle`: Add SHADOW_XY, prevent border clipping ([3236](https://github.com/HaxeFlixel/flixel/pull/3236))
- `LogStyle`: add `callback` to replace `callbackFunction` ([3239](https://github.com/HaxeFlixel/flixel/pull/3239))
- `FlxStrip`: Add support for blendmodes ([#3213](https://github.com/HaxeFlixel/flixel/pull/3213))
- `FlxTextBorderStyle`: Add SHADOW_XY, prevent border clipping ([#3236](https://github.com/HaxeFlixel/flixel/pull/3236))
- `LogStyle`: Add `callback` to replace `callbackFunction` ([#3239](https://github.com/HaxeFlixel/flixel/pull/3239))
- `FlxBar`: Add custom border sizes ([#3234](https://github.com/HaxeFlixel/flixel/pull/3234))
- Gamepads: Add `acceptMode` and "mapped inputs" ([#3276](https://github.com/HaxeFlixel/flixel/pull/3276)) ([#3280](https://github.com/HaxeFlixel/flixel/pull/3280))
- Add `ACCEPT` and `CANCEL` input IDs that conditionally map to either `A` or `B` depending on `FlxG.gamepads.acceptMode`
- Add `gamepad.getMappedInput` to get an anum value of every possible gamepad input from various devices, i.e. `PS4(PS4ID.X)`
- `FlxG.assets`: A way to overwrite and customize the way HaxeFlixel fetches or produces assets from ids ([#2982](https://github.com/HaxeFlixel/flixel/pull/2982))
- `FlxG.cameras`: Add `insert` method ([#3290](https://github.com/HaxeFlixel/flixel/pull/3290))
- `FlxSave`: Allow custom handling of parsing errors ([#3286](https://github.com/HaxeFlixel/flixel/pull/3286))

#### Changes and improvements:
- `FlxKey`: Add `NONE` to `fromStringMap` and `toStringMap` ([#3119](https://github.com/HaxeFlixel/flixel/pull/3119))
Expand Down Expand Up @@ -88,6 +95,12 @@ We removed many features and utilities that were previously deprecated
- Debugging: Check alpha when point-selecting sprites ([#3184](https://github.com/HaxeFlixel/flixel/pull/3184))
- `FlxBitmapText`: Ignore border outline when computing field size ([#3193](https://github.com/HaxeFlixel/flixel/pull/3193))
- `FlxDebugger`: Improve console code completion ([#3222](https://github.com/HaxeFlixel/flixel/pull/3222))
- `FlxGraphicsShader`: Optimize color math ([#3227](https://github.com/HaxeFlixel/flixel/pull/3227))
- Improve android config on lime 8.2.0 ([#3253](https://github.com/HaxeFlixel/flixel/pull/3253))
- Debug Watch: Resize the watch window when watchers are added or removed ([#3251](https://github.com/HaxeFlixel/flixel/pull/3251))
- Reduce memory of Flixel's embedded assets via oxipng ([#3257](https://github.com/HaxeFlixel/flixel/pull/3257))
- Debug Stats: Improve accuracy of "Total Memory" in OpenFL 9.4.0 ([#3266](https://github.com/HaxeFlixel/flixel/pull/3266))
- `FlxGraphic`: Improve checks for max texture size ([#3279](https://github.com/HaxeFlixel/flixel/pull/3279))

#### Bugfixes:
- `FlxFlickerTween`: Fix "Unsupported recursive type" error on hl ([#3170](https://github.com/HaxeFlixel/flixel/pull/3170))
Expand All @@ -97,6 +110,9 @@ We removed many features and utilities that were previously deprecated
- `FlxCamera`: Fix blending issue ([#3217](https://github.com/HaxeFlixel/flixel/pull/3217)) ([#3255](https://github.com/HaxeFlixel/flixel/pull/3255))
- `FlxStrip`: Fix `color` preventing other strips from drawing ([#3220](https://github.com/HaxeFlixel/flixel/pull/3220))
- `FlxButton`: Fix `label` position when moves is false ([#3232](https://github.com/HaxeFlixel/flixel/pull/3232))
- Debug Console: Fix arrow keys ([#3247](https://github.com/HaxeFlixel/flixel/pull/3247))
- `FlxGame`: Fix `ACTIVATE` and `DEACTIVATE` event dispatches ([#3260](https://github.com/HaxeFlixel/flixel/pull/3260))
- `FlxAction`: Fix bug where multiple `check` calls wipe analog fields ([#3277](https://github.com/HaxeFlixel/flixel/pull/3277))

5.8.0 (April 19, 2024)
------------------------------
Expand Down
Binary file modified assets/images/debugger/buttons/arrowLeft.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/bitmapLog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/close.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/console.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/eraser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/interactive.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/log.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/maximize.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/minimize.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/mover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/pause.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/pointer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/stats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/toggleSize.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/transform.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/buttons/watch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/cursorCross.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/cursors/transformRotate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/cursors/transformScaleX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/cursors/transformScaleXY.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/cursors/transformScaleY.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/debugger/flixel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/logo/default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/logo/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/tile/autotiles_full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/images/ui/button.png
Binary file modified assets/images/ui/virtual-input.png
3 changes: 2 additions & 1 deletion checkstyle.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
"exclude": {
"all": [
"TestSuite",
"/export/"
"/export/",
"tests/unit/bin/"
],
"AvoidStarImport": [
"flixel.math.FlxRandomTest"
Expand Down
7 changes: 7 additions & 0 deletions flixel/FlxG.hx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import flixel.math.FlxRandom;
import flixel.math.FlxRect;
import flixel.system.FlxQuadTree;
import flixel.system.FlxVersion;
import flixel.system.frontEnds.AssetFrontEnd;
import flixel.system.frontEnds.BitmapFrontEnd;
import flixel.system.frontEnds.BitmapLogFrontEnd;
import flixel.system.frontEnds.CameraFrontEnd;
Expand Down Expand Up @@ -335,6 +336,12 @@ class FlxG
*/
public static var signals(default, null):SignalFrontEnd = new SignalFrontEnd();

/**
* Contains helper functions relating to retrieving assets
* @since 5.9.0
*/
public static var assets(default, null):AssetFrontEnd = new AssetFrontEnd();

/**
* Resizes the game within the window by reapplying the current scale mode.
*/
Expand Down
5 changes: 4 additions & 1 deletion flixel/FlxGame.hx
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,9 @@ class FlxGame extends Sprite
#if (desktop && openfl <= "4.0.0")
stage.addEventListener(FocusEvent.FOCUS_OUT, onFocusLost);
stage.addEventListener(FocusEvent.FOCUS_IN, onFocus);
#elseif (sys && openfl >= "9.3.0")
stage.nativeWindow.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.nativeWindow.addEventListener(Event.ACTIVATE, onFocus);
#else
stage.addEventListener(Event.DEACTIVATE, onFocusLost);
stage.addEventListener(Event.ACTIVATE, onFocus);
Expand Down Expand Up @@ -919,4 +922,4 @@ private class FlxIntroSplash extends FlxSplash
FlxG.game._gameJustStarted = true;
super.startOutro(onOutroComplete);
}
}
}
15 changes: 12 additions & 3 deletions flixel/graphics/FlxGraphic.hx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class FlxGraphic implements IFlxDestroyable

if (!Cache)
{
bitmap = FlxAssets.getBitmapData(Source);
bitmap = FlxG.assets.getBitmapData(Source);
if (bitmap == null)
return null;
return createGraphic(bitmap, Key, Unique, Cache);
Expand All @@ -51,7 +51,7 @@ class FlxGraphic implements IFlxDestroyable
if (graphic != null)
return graphic;

bitmap = FlxAssets.getBitmapData(Source);
bitmap = FlxG.assets.getBitmapData(Source);
if (bitmap == null)
return null;

Expand Down Expand Up @@ -564,7 +564,7 @@ class FlxGraphic implements IFlxDestroyable
if (assetsClass != null)
newBitmap = FlxAssets.getBitmapFromClass(assetsClass);
else if (assetsKey != null)
newBitmap = FlxAssets.getBitmapData(assetsKey);
newBitmap = FlxG.assets.getBitmapData(assetsKey);

if (newBitmap != null)
return FlxGraphic.getBitmap(newBitmap, unique);
Expand Down Expand Up @@ -634,6 +634,15 @@ class FlxGraphic implements IFlxDestroyable
bitmap = value;
width = bitmap.width;
height = bitmap.height;

#if FLX_OPENGL_AVAILABLE
var max:Int = FlxG.bitmap.maxTextureSize;
if (max != -1)
{
if (width > max || height > max)
FlxG.log.warn('Graphic dimensions (${width}x${height}) exceed the maximum allowed size (${max}x${max}), which may cause rendering issues.');
}
#end
}

return value;
Expand Down
17 changes: 8 additions & 9 deletions flixel/graphics/frames/FlxAtlasFrames.hx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import flixel.math.FlxPoint;
import flixel.math.FlxRect;
import flixel.system.FlxAssets;
import haxe.xml.Access;
import openfl.Assets;
import openfl.geom.Rectangle;

/**
Expand Down Expand Up @@ -40,7 +39,7 @@ class FlxAtlasFrames extends FlxFramesCollection
*
* @param source The image source (can be `FlxGraphic`, `String`, or `BitmapData`).
* @param description Contents of JSON file with atlas description.
* You can get it with `Assets.getText(path/to/description.json)`.
* You can get it with `FlxG.assets.getText(path/to/description.json)`.
* Or you can just a pass path to the JSON file in the assets directory.
* You can also directly pass in the parsed object.
* @return Newly created `FlxAtlasFrames` collection.
Expand All @@ -56,7 +55,7 @@ class FlxAtlasFrames extends FlxFramesCollection
*
* @param source The image source (can be `FlxGraphic`, `String`, or `BitmapData`).
* @param description Contents of JSON file with atlas description.
* You can get it with `Assets.getText(path/to/description.json)`.
* You can get it with `FlxG.assets.getText(path/to/description.json)`.
* Or you can just a pass path to the JSON file in the assets directory.
* You can also directly pass in the parsed object.
* @param useFrameDuration If true, any frame durations defined in the JSON will override the
Expand Down Expand Up @@ -132,7 +131,7 @@ class FlxAtlasFrames extends FlxFramesCollection
*
* @param source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param description Contents of the file with atlas description.
* You can get it with `Assets.getText(path/to/description/file)`.
* You can get it with `FlxG.assets.getText(path/to/description/file)`.
* Or you can just pass path to the description file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.
*/
Expand All @@ -152,8 +151,8 @@ class FlxAtlasFrames extends FlxFramesCollection

frames = new FlxAtlasFrames(graphic);

if (Assets.exists(description))
description = Assets.getText(description);
if (FlxG.assets.exists(description))
description = FlxG.assets.getTextUnsafe(description);

var pack:String = StringTools.trim(description);
var lines:Array<String> = pack.split("\n");
Expand Down Expand Up @@ -358,7 +357,7 @@ class FlxAtlasFrames extends FlxFramesCollection
*
* @param Source The image source (can be `FlxGraphic`, `String` or `BitmapData`).
* @param Description Contents of the file with atlas description.
* You can get it with `Assets.getText(path/to/description/file)`.
* You can get it with `FlxG.assets.getText(path/to/description/file)`.
* Or you can just pass a path to the description file in the assets directory.
* @return Newly created `FlxAtlasFrames` collection.
*/
Expand All @@ -378,8 +377,8 @@ class FlxAtlasFrames extends FlxFramesCollection

frames = new FlxAtlasFrames(graphic);

if (Assets.exists(Description))
Description = Assets.getText(Description);
if (FlxG.assets.exists(Description))
Description = FlxG.assets.getTextUnsafe(Description);

var pack = StringTools.trim(Description);
var lines:Array<String> = pack.split("\n");
Expand Down
18 changes: 6 additions & 12 deletions flixel/graphics/tile/FlxGraphicsShader.hx
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ class FlxGraphicsShader extends GraphicsShader
{
@:glVertexSource("
#pragma header
attribute float alpha;
attribute vec4 colorMultiplier;
attribute vec4 colorOffset;
uniform bool hasColorTransform;
void main(void)
{
#pragma body
openfl_Alphav = openfl_Alpha * alpha;
if (hasColorTransform)
{
openfl_ColorOffsetv = colorOffset / 255.0;
Expand Down Expand Up @@ -48,13 +48,7 @@ class FlxGraphicsShader extends GraphicsShader
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);
color = clamp(openfl_ColorOffsetv + (color * openfl_ColorMultiplierv), 0.0, 1.0);
if (color.a > 0.0)
{
Expand All @@ -65,7 +59,7 @@ class FlxGraphicsShader extends GraphicsShader
")
@:glFragmentSource("
#pragma header
void main(void)
{
gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);
Expand Down
40 changes: 17 additions & 23 deletions flixel/input/actions/FlxAction.hx
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ class FlxAction implements IFlxDestroyable
var _y:Null<Float> = null;

var _timestamp:Int = 0;
@:deprecated("_checked is deprecated, use triggered, instead")
var _checked:Bool = false;

/**
Expand Down Expand Up @@ -435,40 +436,33 @@ class FlxAction implements IFlxDestroyable
*/
public function check():Bool
{
if (_timestamp == FlxG.game.ticks)
return triggered; // run no more than once per frame

_x = null;
_y = null;

if (_timestamp == FlxG.game.ticks)
{
triggered = _checked;
return _checked; // run no more than once per frame
}


_timestamp = FlxG.game.ticks;
_checked = false;

var len = inputs != null ? inputs.length : 0;
for (i in 0...len)
triggered = false;
var i = inputs != null ? inputs.length : 0;
while (i-- > 0) // Iterate backwards, since we may remove items
{
var j = len - i - 1;
var input = inputs[j];

final input = inputs[i];

if (input.destroyed)
{
inputs.splice(j, 1);
inputs.remove(input);
continue;
}

input.update();

if (input.check(this))
{
_checked = true;
}
triggered = true;
}

triggered = _checked;
return _checked;

return triggered;
}

/**
Expand Down
8 changes: 4 additions & 4 deletions flixel/input/actions/FlxActionInput.hx
Original file line number Diff line number Diff line change
Expand Up @@ -110,22 +110,22 @@ enum FlxInputDevice
* Just a bucket for some handy sentinel values.
* @since 4.6.0
*/
class FlxInputDeviceID
enum abstract FlxInputDeviceID(Int) from Int to Int
{
/**
* Means "every connected device of the given type" (ie all gamepads, all steam controllers, etc)
*/
public static inline var ALL:Int = -1;
var ALL = -1;

/**
* Means "the first connected device that has an active input" (ie a pressed button or moved analog stick/trigger/etc)
*/
public static inline var FIRST_ACTIVE:Int = -2;
var FIRST_ACTIVE = -2;

/**
* Means "no device"
*/
public static inline var NONE:Int = -3;
var NONE = -3;
}

/**
Expand Down
12 changes: 6 additions & 6 deletions flixel/input/actions/FlxActionInputAnalog.hx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class FlxActionInputAnalogMouseMotion extends FlxActionInputAnalog
deadZone = DeadZone;
invertX = InvertX;
invertY = InvertY;
super(FlxInputDevice.MOUSE, -1, cast Trigger, Axis);
super(FlxInputDevice.MOUSE, -1, Trigger, Axis);
}

override public function update():Void
Expand Down Expand Up @@ -144,7 +144,7 @@ class FlxActionInputAnalogMousePosition extends FlxActionInputAnalog
*/
public function new(Trigger:FlxAnalogState, Axis:FlxAnalogAxis = EITHER)
{
super(FlxInputDevice.MOUSE, -1, cast Trigger, Axis);
super(FlxInputDevice.MOUSE, -1, Trigger, Axis);
}

override public function update():Void
Expand Down Expand Up @@ -193,7 +193,7 @@ class FlxActionInputAnalogGamepad extends FlxActionInputAnalog
*/
public function new(InputID:FlxGamepadInputID, Trigger:FlxAnalogState, Axis:FlxAnalogAxis = EITHER, GamepadID:Int = FlxInputDeviceID.FIRST_ACTIVE)
{
super(FlxInputDevice.GAMEPAD, InputID, cast Trigger, Axis, GamepadID);
super(FlxInputDevice.GAMEPAD, InputID, Trigger, Axis, GamepadID);
}

override public function update():Void
Expand Down Expand Up @@ -265,7 +265,7 @@ class FlxActionInputAnalogSteam extends FlxActionInputAnalog
@:allow(flixel.input.actions.FlxActionSet)
function new(ActionHandle:Int, Trigger:FlxAnalogState, Axis:FlxAnalogAxis = EITHER, DeviceID:Int = FlxInputDeviceID.ALL)
{
super(FlxInputDevice.STEAM_CONTROLLER, ActionHandle, cast Trigger, Axis, DeviceID);
super(FlxInputDevice.STEAM_CONTROLLER, ActionHandle, Trigger, Axis, DeviceID);
#if FLX_NO_STEAM
FlxG.log.warn("steamwrap library not installed; steam inputs will be ignored.");
#end
Expand Down Expand Up @@ -310,9 +310,9 @@ class FlxActionInputAnalog extends FlxActionInput
static inline var A_X = true;
static inline var A_Y = false;

function new(Device:FlxInputDevice, InputID:Int, Trigger:FlxInputState, Axis:FlxAnalogAxis = EITHER, DeviceID:Int = FlxInputDeviceID.FIRST_ACTIVE)
function new(Device:FlxInputDevice, InputID:Int, Trigger:FlxAnalogState, Axis:FlxAnalogAxis = EITHER, DeviceID:Int = FlxInputDeviceID.FIRST_ACTIVE)
{
super(FlxInputType.ANALOG, Device, InputID, Trigger, DeviceID);
super(FlxInputType.ANALOG, Device, InputID, cast Trigger, DeviceID);
axis = Axis;
xMoved = new FlxInput<Int>(0);
yMoved = new FlxInput<Int>(1);
Expand Down
Loading

0 comments on commit 4602462

Please sign in to comment.