All Versions
57
Latest Version
Avg Release Cycle
104 days
Latest Release
814 days ago
Changelog History
Page 4
Changelog History
Page 4
-
v3.3.4 Changes
May 28, 2014- Compatibility with OpenFL 2.0.0
-
v3.3.3 Changes
May 06, 2014- ๐ FlxSpriteFilter: fixed graphic being destroyed when not used elsewhere
- ๐ FlxTileblock: fixed graphic not showing up
- ๐ FlxBar: fixed a crash
- ๐ TexturePackerData: fixed a crash when destroy() is called more than once
- ๐ FlxSprite: fixes for drawFrame() and stamp()
- ๐ FlxVelocity and FlxAngle: removed arbitrary limitation of some parameters being of type Int (now Float)
- FlxTypedEmitter: added a set() to Bounds
-
v3.3.2 Changes
May 03, 2014- โก๏ธ Updated the Xbox 360 button IDs to work with OpenFL 1.4.0
- ๐ FlxBitmapTextField: fixed graphic "corrupting" after state switches
- โ Added a bitmapLog window to the debugger to view BitmapData, used via FlxG.bitmapLog
- โ Added a way to view the graphics cache via FlxG.bitmapLog.viewCache() or by typing "viewCache" / "vc" into the console
- 0๏ธโฃ CachedGraphics: destroyOnNoUse is now true by default
- FlxBitmapUtil: added getMemorySize()
- FlxStringUtil: added formatBytes()
- ๐ FlxTimer: fixed a bug where a timer could be added to the TimerManager more than once
- FlxTilemap.ray() consistency fix
- FlxTextField: fix initial height being too small
- ๐ FlxAnimationController: fixed frameIndex not being reset after a graphic is loaded
- ๐จ FlxKeyboard: added FlxKey.PRINTSCREEN for native targets
- ๐ Allowed changing the HTML5-backend (before including flixel:
<set name="html5-backend" value="new-backend">
) - FlxSprite: optimization for less BitmapData creation of simple sprites with blitting. Might require an additional dirty = true; when manipulating the BitmapData directly.
- FlxCollision.pixelPerfectCheck() now works with bitfive
-
v3.3.1 Changes
April 25, 2014- ๐ FlxKeyboard: fixed function keys being offset by 1 on cpp (F2-F13)
- ๐ FlxTilemap: fixed possible crash during collision checks
- ๐ FlxG.sound.play(): fixed volume parameter not working
-
v3.3.0 Changes
April 24, 2014- Added flash gamepad support. This either requires a swf-player-version of 11.8 to be set or FLX_NO_GAMEPAD to be defined.
- FlxGamepad.getAxis() has been split into getXAxis() and getYAxis() for consistency across targets
- FlxGamepad.dpadUp / Down / Left / Right don't work in flash, use getButton() in conjunction with the IDs in the button ID classes instead
- โ Added "tracker" window to the debugger which creates a Watch window with the most important properties of an object
- Use FlxG.debugger.track(Object); to create a new tracker window
- Use FlxG.debugger.addTrackerProfile() to add a profile for classes don't have one yet or override existing ones
- Use the "track [object]" command to open a tracker window from the console
- FlxCamera:
- Added static defaultCameras array which is used by FlxBasics when their cameras array has not been set - previously the use of FlxG.cameras.list / all existing cameras was hardcoded
- Fixed a bug where following a target would prevent you from setting the coordinates of the camera
- Added pooling for FlxPoint, FlxVector, and FlxRect. Usage: var point = FlxPoint.get(); /* do stuff with point */ point.put(); // recycle point. FlxPoint.weak() should be used instead of get() when passing points into flixel functions, that way they'll be recycled automatically.
- ๐ Debugger windows:
- Fixed dragging of overlapping windows
- Fixed the visibility of windows on native targets (now saving correctly)
- Fixed resizing when moving the mouse to the left / above the window
- ๐ FlxPath: fixed a bug with drawDebug()
- FlxG:
- fullscreen: fixed offset in flash
- openURL(): now adds "http://" to the URL if necessary
- Added maxElapsed
- Fixed some variables not being reset in resetGame()
- added FlxG.accelerometer for mobile targets
- FlxSound:
- Added loadByteArray()
- Now has a read-only variable time
- Allow sound caching on all targets instead of only on Android
- Added FlxG.sound.soundTrayEnabled to allow dis- and enabling the tray at runtime
- survive -> persist
- ๐ MouseEventManager:
- Improved handling of visible / exists
- Now works on FlxObjects
- addSprite() -> add()
- FlxPoint:
- Added floor() and ceil()
- Added add() and addPoint() (removed add() from FlxVector)
- Added subtract() and subtractPoint() (removed substract() from FlxVector)
- ๐ Changed the default html5 backend to openfl-bitfive
- Middle and right mouse events are now supported
- Sounds are now supported
- 0๏ธโฃ FlxObject: replaced forceComplexRender by pixelPerfectRender which rounds coordinates by default (if true) for drawing (also on cpp targets, making it consistent with flash)
- FlxText:
- Added shadowOffset
- Fixed the widthInc and heightInc of addFilter() which did not work at all previously
- Separated visible and physical width by adding fieldWidth to fix a bug
- Added autoSize that makes sure the entire text is displayed if true with wordWrap = false. Setting fieldWidth to 0 in the constructor is now allowed and activates this behaviour.
- Fixed variation in height of empty texts
- FlxSpriteUtil: added bound()
- FlxSpriteGroup:
- Added FlxTypedSpriteGroup, which can be used in the same way as FlxTypedGroup, but its type parameter is T:FlxSprite
- Setting cameras will now set cameras on its members, add()-ing a sprite will synchronize the values
- Abstracted rendering into FLX_RENDER_TILE and FLX_RENDER_BLIT conditionals as opposed to being hardcoded based on the target
- FlxTween:
- num(): added an optional tweenFunction parameter which can be used for increased performance (as MultiVarTween and SingleVarTween are fairly slow, using Reflection)
- singleVar() and multiVar() have been replaced by tween()
- Removed SfxFader and Fader
- FlxKeyboard:
- Implemented a workaround for function and numpad keys not working on native targets
- Added FlxKey.NUMPADMULTIPLY / "NUMPADMULTIPLY"
- Added firstPressed(), firstJustPressed() and firstJustReleased()
- โ Added FlxCallbackPoint, a FlxPoint that calls a function when x, y or both are changed.
- FlxTilemap:
- Replaced scaleX and scaleY by a scale FlxPoint
- Removed rayHit(), ray() provides the same functionality
- โ Added FlxDestroyUtil (FlxG.safeDestroy() -> FlxDestroyUtil.destroy())
- โก๏ธ Debugger stats window: added a button to expand the window and show two more graphs (draw and update time)
- โ Added buildFileReferences() macro to FlxAssets.hx (auto-completion for asset string paths)
- FlxTilemap.computePathDistance() is now public and has a new StopOnEnd parameter
- โ Added FlxColor.MAGENTA
- โ Added FlxMouse.setGlobalScreenPositionUnsafe()
- FlxTypedButton:
- Fixed label.visible = false; not working
- Fixed a one-frame-delay between setting the label's position and it taking effect
- Fixed label scrollFactor being out of sync before the first update()
- FlxButton: Added a text property as a shortcut for label.text
- FlxSprite:
- Added support for more texture packer formats: LibGDXData, SparrowData, TexturePackerXMLData
- Fixed a null error crash in FlxAtlas on cpp targets with haxe 3.1.0+
- setOriginToCenter() -> centerOrigin()
- Fixed a "jittering"-issue between simple and complex render sprites due to rounding
- Removed flipped as well as the "Reverse" param from loadGraphic() and loadGraphicFromTexture()
- Added flipX, flipY and setFacingFlip() - graphics can now be flipped vertically as well
- Fixed a bug with flipped graphics + origin on FLX_RENDER_TILE targets
- FlxPreloader:
- Spit up FlxPreloader into FlxPreloader and FlxPreloaderBase to make it easier to extend
- Small fix that should prevent it from getting stuck
- Added siteLockURLIndex to control which URL in allowedURLs is used when the site-lock triggers
- allowedURLs now works with URLs that don't start with "http://"
- ๐ Fixed camera shifting after resizing with StageSizeScaleMode
- โ Added flixel.util.FlxSignal and FlxG.signals
- FlxAnimationController:
- Added append(), appendByNames(), appendByStringIndices(), appendByIndices() and appendByPrefix()
- addByStringIndicies() -> addByStringIndices()
- addByIndicies() -> addByIndices()
- Fixed a bug with callback firing every time play() was called instead of only when the frame changes
- FlxTypedGroup: added forEachOfType() iterator
- FlxGamepad:
- Added anyPressed(), anyJustPressed() and anyJustReleased()
- Added PS4ButtonID
- 0๏ธโฃ Traces are not being redirected to the debugger log window anymore by default
- ๐ Fixed mouse cursor scale at initial camera zoom levels different from 1
- FlxState: active, visible and exists are now respected
- FlxVector: substractNew() -> subtractNew()
- ๐ FlxGradient: fixed a memory leak in the overlayGradientOn()-functions
- FlxTimer and FlxPath:
- paused -> active
- abort() -> cancel()
- removed pooling due to potential issues
- start() -> new FlxTimer() / FlxPath()
- run() -> start()
- ๐ FlxTimer and FlxTween: removed userData
- Added flash gamepad support. This either requires a swf-player-version of 11.8 to be set or FLX_NO_GAMEPAD to be defined.
-
v3.2.2 Changes
March 08, 2014- โ Removed the allow-shaders="false" attribute from the window tag in the include.xml, as it causes problems (white screen) with lime 0.9.5 on iOS
-
v3.2.1 Changes
February 23, 2014- FlxTypedButton:
- add onUp event listener again for actions that need to be user-initiated, like ExternalInterface.call()
- fix buttons not working when FLX_NO_TOUCH is defined
- FlxSprite
- small optimization for set_pixels()
- fix for frame being null after loadGraphic() in some cases
- FlxRandom: fix inaccurate results in weightedPick()
- FlxTypedButton:
-
v3.2.0 Changes
February 21, 2014- โ Added PixelPerfectScaleMode (scales the game to the highest integer factor possible while maintaining the aspect ratio)
- FlxTween
- backward is now a public, read-only property
- renamed delay to startDelay
- added loopDelay that controls the delay between loop executions with LOOPING and PINGPONG
- Added easier to use FlxTween.tween() function, which automatically determines whether to use single VarTween or MultiVarTween based on the number of Values being tweened
- โ Added some basic unit tests
- ๐ FlxCamera: removed followAdjust(), the followLead point should be set directly
- FlxSpriteUtil.screenWrap(): prevent sprite from ever being offscreen
- FlxSprite:
- fixed crash on cpp with loadRotatedGraphic() on state switches
- fixed "jittering" in certain cases with y velocity in simple render on flash (for example when standing on a platform in a platformer)
- ๐ Moved FlxTilemap-functions arrayToCSV(), bitmapToCSV() and imageToCSV() to FlxStringUtil
- FlxMath.computeVelocity() -> FlxVelocity.computeVelocity()
- FlxState.setSubState() -> FlxState.openSubState()
- โ Added FlxStringUtil.getDebugString()
- ๐ Improvements to FlxSystemButton
- Window: add optional close button
- ๐ฆ Exposed complete callback in FlxTimer, so now you can do: FlxTimer.start(...).complete = function(t) { };
- ๐ Fixed a bug with onFocus() not firing the first time on Android
- FlxTypedButton
- added allowSwiping flag
- added allowHighlightOnMobile flag
-
v3.1.0 Changes
February 07, 2014- ๐จ Refactor of FlxRandom
- All functions are now deterministic and safe to use with replays
- Due to the use of a new algorithm for pseudo-random number generation (a linear congruential generator) and a new seed type (integer instead of float values), old replays will have unpredictable results
- FlxColorUtil.getRandomColor(), FlxArrayUtil.shuffle(), and FlxArrayUtil.getRandom() have been moved to FlxRandom.color(), FlxRandom.shuffleArray(), and FlxRandom.getObject(), respectively. The old functions are still in place but are marked as deprecated.
- weightedPick(), weightedGetObject() and colorExt() have been added
- Replays are now fully deterministic, whether replaying the whole game or just a single state.
- New FLX_NO_SOUND_SYSTEM conditional
- FlxTrailArea:
- can now be resized with setSize()
- default delay is now 2
- removed smoothing, use antialising instead
- is now compatible with animated sprites / sprites that have a spritesheet
- ๐ Moved FlxSlider, FlxTrail and FlxTrailArea to flixel-addons
- ๐ FlxMisc has been removed, openURL() can now be found in FlxG. Added Target param to openURL().
- FlxCamera:
- getContainerSprite() has been removed, as well as the underscore in some public variables ("_flashSprite")
- BUG: fixed alpha being initialized with 0 instead of 1
- BUG: fixed FlxSprites not taking camera.alpha into account on cpp targets
- FlxSpriteGroup: Added forEach(), forEachAlive(), forEachDead() and forEachExists()
- FlxSpriteUtil:
- new drawTriangle() and drawPolygon(), fadeIn() and fadeOut() functions
- more control for the drawing functions via FillStyle and DrawStyle
- added convenient default values for drawCircle()
- allow FlxObjects in screenWrap() and screenCenter()
- now the functions return the sprite / object to allow chaining
- BUG: fixed null error in alphaMaskFlxSprite()
- ๐จ FlxTypedButton refactor
- Callbacks are now set via the FlxButtonEvent objects, for example button.onDown.callback = someFunction;
- The type of callback has been changed from Dynamic to Void->Void to avoid Reflection. This means you need to bind custom parameters to your callback function like so: callback = someFunction.bind(1); (more info)
- new labelAlphas and labelOffsets arrays for more control
- the highlight frame is now disabled by default on mobile
- "swiping" is now possible (entering the button area while the input is pressed to press the button)
- FlxTypedEmitter and FlxSound: Added setPosition() methods
- โก๏ธ FlxSlider: New setVariable flag, improvements to inner update logic
- FlxSprite:
- pixelsOverlapPoint() has been removed
- setGraphicDimensions() -> setGraphicSize(), removed the UpdateHitbox flag
- added getGraphicsMidpoint()
- bakedRotation -> bakedRotationAngle
- loadfromSprite() -> loadGraphicFromSprite()
- loadImageFromTexture() -> loadGraphicFromTexture()
- loadRotatedImageFromTexture() -> loadRotatedGraphicFromTexture()
- setColorTransformation() -> setColorTransform()
- โก๏ธ Optimized input checking when using FlxG.keys (aka FlxKeyShortcuts)
- FlxTypedGroup:
- autoReviveMembers flag has been removed
- Revive param has been added to recycle()
- Fixed a bug with callAll()'s Args parameter which would get lost in recursive mode
- FlxRect, FlxPoint and FlxBasic and FlxObject now have toString() functions used for traces and the flixel debugger
- The focus lost screen and the sound tray now react to window resizes
- ๐ BUG: Fixed numpad minus not working as a default volume down key
- FlxStringUtil:
- added sameClassName()
- added getDomain()
- ๐จ The stats window of the debugger has been refactored, now has fancy FPS and memory graphs
- FlxGame.focusLostFramerate added
- ๐ BUG: Fixed flixel cursor reappearing after regaining focus
- Android sound caching improvement
- ๐ Fixes for OUYA gamepad combatibility (fixed some button IDs in OUYAButtonID)
- ๐ Fix for a bug in the standalone flash player that would fire onFocus / onFocusLost twice
- Prevent paused sounds from playing after regaining focus
- FlxText:
- BUG: Fix inaccurate text color when setting both color and alpha
- BUG: Fix incompatiblity of FlxText.borderStyle and FlxText.alpha
- BUG: Fixed changing color or alpha of a FlxText affecting its origin
- Internal optimizations for less BitmapData creations
- Added basic text formatting via FlxTextFormat, so different sections of the same FlxText can have different formatting. For this, addFormat(), removeFormat() and clearFormats() have been added.
- Added italic property (flash-only for now)
- ๐ Renamed framerates to clear up confusion:
- gameFramerate -> updateFramerate
- flashFramerate -> drawFramerate
- ๐ BUG: Fixed order of operations issue that was causing FlxSubStates to crash on close.
- ๐ BUG: Fixed a splash screen repeating bug when using default splash screen.
- ๐ Gamepad support improvements
- Improvements and optimizations to gamepad api, fixed Ouya compatibility!
- FlxGamepadManager: getActiveGamepadIDs(), getActiveGamepads(), getFirstActiveGamepadID(), getFirstActiveGamepad and anyInput() added
- FlxGamepad: firstPressedButtonID(), firstJustPressedButtonID() and firstJustReleasedButtonID() added
- Added PS3ButtonID and LogitechButtonID classes
- FlxG.gamepads.get() -> getByID()
- ๐ Ported scale modes from flixel for moneky (FlxG.scaleMode / flixel.system.scaleModes) and removed FlxG.autoResize
- ๐ Renamed FlxG.debugger.visualDebug to drawDebug
- FlxTween:
- optimizations
- AngleTween now accepts FlxSprite as a parameter
- Now possible to delay tweens via the TweenOptions typedef
- FlxEase: Added elastic easing functions
- Exposed the duration and the type of tweens so they can be changed after they have been started
- ๐ BUG: Fixed jittering movement of FlxObjects following a FlxPath
- โ Removed FlxG.paused, it was a container variable without functionality
- FlxRect:
- Added setSize()
- top / bottom / left / right can now be set
- FlxArrayUtil:
- added fastSplice()
- moved intFromString() to FlxStringUtil.toIntArray()
- moved floatFromString() to FlxStringUtil.toFloatArray()
- ๐ Moved flixel.system.input to flixel.input
- ๐ฆ Moved interfaces into a new interfaces package
- ๐ BUG: Fixed crash when using traces on android
- Haxe 3.1.0 compatibility
- ๐ FlxG.keyboard has been merged with Flx.keys again. FlxG.keyboard.pressed(), justPressed() and justReleased() have been removed, anyPressed(), anyJustPressed() and anyJustReleased() should be used instead.
- โ Removed dynamic types and casting in some places
- ๐จ FlxMouse refactor
- Removed show() and hide(), visible should be used instead
- load() should be used for loading a cursor graphic, which was previously possible via show()
- FLX_MOUSE_ADVANCED has been turned into FLX_NO_MOUSE_ADVANCED, which means the event listeners for middle and right mouse clicks are now available by default / opt-out
- FlxState.useMouse has been removed
- The mouse cursor is now by default visible on non-mobile targets
- โก๏ธ FlxG.pixelPerfectOverlap() / FlxCollision.pixelPerfectCheck() has been heavily optimized to perform well on cpp targets, default AlphaTolerance is now 1
- FlxG.LIBRARY_MINOR_VERSION, LIBRARY_MAJOR_VERSION, LIBRARY_NAME and libraryName have been refactored into a FlxVersion object available via FlxG.VERSION
- FlxSound:
- Made fadeIn() and fadeOut() more intuitive to use
- Added pan property to allow non-proximity-based panning
- FlxAngle:
- added getCartesianCoords() and getPolarCoords()
- removed the Round parameter from getAngle()
- ๐ FlxVirtualPad now extends FlxSpriteGroups and uses enums for the action and dpad-button-styles
- โ Added collisionXDrag flag to FlxObject to allow turning off the default "move-with-horizontally-moving-platform"-behaviour
- ๐ FlxSoundUtil has been removed
- ๐ General improvements to the in-code documentation
- โ Added
<window allow-shaders="false" />
to the include.xml to boost performance (especially on mobile) - โ Added an option for looping to FlxG.sound.playMusic()
- ๐ BUG: Fix the last command of the console not working
- ๐ BUG: Fix setting a Boolean on cpp not working
- ๐ BUG: Added a workaround for onFocus() firing immediately on startup for cpp targets
- ๐ Code style change for keyword order, public/private first, see the styleguide for more info
- โ Added getByID() to FlxG.touches
- โ Added FlxG.swipes (contains all the FlxSwipe objects that are active this frame) to allow for better handling of touch inputs. A FlxSwipe has the following properties:
- startPosition
- endPosition
- distance
- angle
- duration
- 0๏ธโฃ All FlxPoints of FlxObject and FlxSprite are now (default, null) / read-only - this means you should now use .set(x, y) if you were previously new()-ing the point.
- โก๏ธ Asset embedding has been optimized to only embed sound / graphic assets when they are needed, as opposed to always including all of them.
- ๐ Changed the way FlxTypedGroup.sort() works by adding flixel.util.FlxSort for increased performance
- ๐ BUG: fixed onFocus and onFocusLost not working on mobile
- ๐ Changed default volume from 0.5 to 1
- ๐จ Refactor of FlxRandom
-
v3.0.4 Changes
December 28, 2013- โ Removed experimental FLX_THREADING conditional
- ๐ Changes type of CHANGELOG and LICENSE files from .txt to .md - makes it more readable on github
- ๐ FlxSpriteGroup: Default scrollFactor is now (1, 1) and upon adding sprites, their scrollFactor is synchronized
- 0๏ธโฃ Now using the HaxeFlixel logo as an icon for the application by default again
- FlxAnimationController: Additional null checks to prevent errors with FlxSpriteFilter
- ๐ FlxG: addChildBelowMouse() and removeChild() added
- ๐ FlxG.debugger.removeButton() added
- โ Added toString() functions to FlxPoint and FlxRect
- ๐จ Console: Refactor which includes removing some commands and making it more flexible
- FlxColorUtil: Now uses proper terminology (ARGB instead of the misleading RGBA)
- โก๏ธ FlxSprite: setGraphicDimensions() and updateHitbox() helper functions for working with scale added
- FlxStringUtil: htmlFormat() and filterDigits() added
- FlxMath: Improvements to sign() and chanceRoll()
- ๐ FlxClickArea: Has been moved to flixel-addons
- FlxText: Internal TextField is now accessible via textField
- FlxTrailArea added, an alternative to FlxTrail which should be more performant
- ๐ FlxBitmapUtil.merge() added