FlxG.Assets: Check any sound extension before appending ingetSoundAddExt(#3511)FlxCamera: Honor color transformation indrawTrianglesonrenderBlittargets (#3503)FlxInputText: HonorselectionColor.alphaFloat(#3491)FlxGraphicsShader: Remove redundant body glsl (#3512)BaseScaleMode: AddsetGlobalSizeto allow derived classes to modifyFlxG.width/height(#3516)FlxG: query maxTextureSize when window is created (#3522)FlxCallbackPoint: Fix duplicate calls and call xy whenever x or y is set directly (#3524)
FlxDebugger: Fixed watch window position (#3506)FlxCamera: Fix filter memory leak (#3459)FlxTilemap: Fix tilemap debug drawing onrenderBlittargets(#3509)FlxCamera: Fix FLX_RENDER_TRIANGLE not rendering anything (#3505)
FlxSignal: Remove antiquated Hashlink workaround (#3458)FlxCollision: Make result optional incalcRectExit(#3448)FlxCamera: Honor alpha inflash()(#3455)FlxGame: Update inputs before dispatchingFlxG.signals.preUpdate(#3442)FlxTouchManager: add null-safety (#3440)FlxCamera: Improve error message when drawing a destroyedFlxGraphic(#3417)FlxCamera: Remove references to unusedblendingvariable (#3467)FlxText: Improve pixel font support (#3453)FlxDrawQuadsItem: CallendFill()after drawing (#3462)FlxFrame: Updateuvinclipmethod (#3476)FlxSignal: Allowdestroyduringdispatch(#3436)FlxG.gamepads: Extend PS4 mapping to work with PS5 (#3380)
FlxCamera: Honorfilterchanges whenactive = false(#3481)FlxUVRect: Fix mixup ofrightandtopfields (#3475)FlxCamera: FixFlxStripdisapearing on zoomed out cameras (#3484)FlxFrame: Fix rotated frames not rendering on Hashlink (#3454)FlxSound: Prevent paused sounds resuming on focus (#3316)FlxTilemap: Fix debug draw when zoomed (#3504)
- Various improvements to debug tools (#3328) (#3374) (#3375)
FlxG.watch: AddFloat,Intand hexdecimal parsing on all targetsFlxG.watch: Add scroll bars- Centralize all debugger icons
FlxGraphicSource: AddresolveBitmapDataInteraction: Fix bug where the cursor blocked mouse clicks and align pointers to system cursorFlxSprite: Improve bitmap tracker infoBitmapLog: Change window iconBitmapLog: Change drag from middle click to leftWindow: Improve window resizingFlxG.debug: addwindowsandtoolsshortcuts- Refactor
Pointer,BitmapLogandTransformwindows Transformdebug tool: Improved scaling
FlxGroup: Inline group iterators (#3362)FlxFrame: Improve code readability withUVRect(#3371)FlxG.bitmap: Query max texture size only once instead of every time it's needed (#3369)FlxSprite: Allow changes toclipRectto take effect without the setter (#3381)FlxSoundTray: Various improvements for extending classes (#3378)- Change
volumeUpSoundandvolumeDownSoundtoFlxSoundAssettypes - Add private local
_labeland_bgfields - Add
showAnim, deprecateshow - Dynamically size the background
- Change
FlxSpriteGroup: RemoveinlinefromclipRectTransform, allowing overriding (#3388)FlxKeyboard: Addenabledcheck when preparing to toggle debugger (#3393)FlxGraphic: Stop destroying tracking info, for debugging (3402)FlxBitmapText: Improve performance, and memory in renderTile targets (3395)FlxFrame: Make constructor public (3395)FlxColor: Madealphaargs optional in most functions (3395)FlxSound: Remove Flash compiler conditions (3406)FlxSprite: Warn when neitherFLX_HEALTHorFLX_NO_HEALTHis defined (3407)FlxTilemap: deprecaterayStep(3407)
FlxColor: Addluminance(#3357)FlxStringUtil: AddcapitalizeFirstLettersandisRomanNumeral(#3374)- New Debug tools:
LogBitmapandTrackObject(#3375) FlxRect: AddFlxReadOnlyRect,setAbs,setBoundsandsetBoundsAbs(#3382)FlxBitmapText: AddautoBounds(#3396)FlxDebugger: Addscale,defaultScaleand-DFLX_DEBUGGER_SCALE=2(3399)FlxRect: Addcontainsmethod (3395)FlxFrame: Addoverlaps,containsandisContainedmethodsFlxColorTransformUtil: (3395)- Add
reset,set, multiplescaleMultipliersoverloads - Overloaded
setMultipliers - Made
alphaargs optional in most functions
- Add
FlxG.sound: Added customizableapplySoundCurveandreverseSoundCurve(3248)FlxSoundGroup: Addmutedfield (3421)
FlxG.sound: Set volume prior to dispatchingonVolumeChange(#3360)FlxPoint: Fix math indistanceSquaredTo(#3365)FlxCamera: Fix size on the flash target (#3370)FlxBGSprite: Cover entire view (#3397)FlxAtlas: Fixpersist(#3400)FlxSprite: Fix bug whenclipRectis off the frame (3395)FlxBitmapText: Fix Incorrectalphabehavior (3409)FlxSubState: RenderbgColorto the correct camera (3415)- Rendering (html5): Fix flickering issue when sprites have varied colors (3356)
We removed many features and utilities that were previously deprecated
flixel.util.FlxPath: New package,flixel.path.FlxPathFlxSwipe::angle: UseFlxSwipe.degrees, insteadFlxAngle.angleFromFacing: UsedegreesinFlxDirectionFlags, insteadFlxAngle.getCartesianCoords: UseFlxVector.setPolarDegrees, insteadFlxObject(legacy directions): UseFlxDirectionFlags, insteadFlxObject::collisonXDrag: Typo in name corrected toFlxObject::collisionXDragFlxCamera::viewOffsetX/Y/Width/Height: UseviewMarginX/Y/Top/Bottom/Left/Right, insteadFlxTween(legacy FlxTweenTypes): UseFlxTweenType, insteadFlxRandom.shuffleArray: Useshuffle, insteadFlxPoint.rotate: UsepivotDegrees, insteadFlxPoint.angleBetween: UsedegreesTo, insteadFlxVector: UseFlxPoint, insteadFlxTilemap.useScaleHack: No longer needed, due todefaultFramePaddingFlxG.signals.stateSwitchedandgameStarted: UsepreStateSwitchandpostGameStart, respectivelyFlxPath(Legacy types): UseFlxPathType, insteadflixel.system.FlxSoundandFlxSoundGroup: new package,flixel.soundFlxState::switchTo: UsestartOutro, insteadFlxAnimation::delay: UseframeDuration, insteadFlxCollision.pixelPerfectPointCheck: UseFlxSprite::pixelsOverlapPoint, insteadFlxAnimationController.frames: UsenumFrames, insteadFlxAssets.FlxAngelCodeSource: UseFlxAssets.FlxAngelCodeAsset, insteadFlxAssets.FlxTexturePackerSource: UseFlxTexturePackerJsonAsset, insteadFlxUnicodeUtil: UseUnicodeString, insteadFlxState::switchTo: UsestartOutro, instead (#2733)FlxCamera.defaultCameras: UseFlxG.cameras.setDefaultDrawTarget, insteadFlxSave: Deprecate and remove all uses ofFlxSaveStatus.ERRORforFlxSaveStatus.SAVE_ERROR(#3294)FlxDefines:FLX_POST_PROCESSand all flags pertaining to outdated openfl/lime versions (#3059)FlxDirectionandFlxDirectionFlags: Deprecate implicit casts to/from Int and all operators (#3308)
FlxSpritegroup: Settingoriginnow causes members to pivot around the same point (#2981)FlxCamera: Smoother camera lerping, particularly with non-fixed timesteps (#2922)FlxState: Removed deprecatedswitchTo(#2733)FlxG: Added deprecation warning onswitchStatewith instances (#2733)FlxCamera: RemoveddefaultCamerasFlxCamera: FixedzoomanddefaultZoomso it works with values other than 1.0 (#2907)FlxBasic: AddedgetDefaultCamera, used in nearly all methods taking an optionalcameraarg (#3072)FlxG.log: AddPosInfosargs to loggers, for better tracing info (#3338)FlxSpriteUtil:drawCiclenow centers the image to the bitmap, if x/y are omitted (#3340)FlxCamera: Calulate adjusted lerp only when needed (#3106)FlxGraphicsShader: Compatibility with future OpenFL Shader improvements (#3347)
FlxMath: Add improved, euclidean divisionmodfunction (#3341)FlxVirtualStick: Add analog directional input toFlxVirtualPad, deprecatedFlxAnalog(#3340)FlxButton: AddedtoStringandtoIntmethods toFlxButtonState, deprecatestatusAnimations(#3340)FlxPoint: Addedscale,dist,distSquared,distanceToanddistanceSquaredTooverloaded methods (#3340)FlxMath: AddedgetElapsedLerpfor framerate independate lerping (#3340)FlxAnalogState: addmoved,justMoved,stoppedandjustStoppedgetters (#3340)
FlxInputText: Add improved input text to core flixel (flixel-ui's implementation will be deprecated) (#3219)FlxReplay: AddgetDuration(#3135)InputFrontEnd: (#3134)- Add
addInputandaddUniqueTypeto replaceadd - add
destroyOldarg to thereplacemethod - Allow more than one instance of a certain
IFlxInputManagertype
- Add
SoundFrontEnd: AddonVolumeChangesignal (#3148)FlxBasePath: (#3153)- Create base class for
FlxPathfor simpler custom path following logic - Add signals
onEndReached,onFinishedandonNodeReached - Replacement fields:
startAt,direction,loopType,target,currentIndex,nextIndex,currentandnext
- Create base class for
FlxGraphic: AddtrackingInfoto help debugging graphics (#3183)FlxFlicker: Addpauseandresume(#3179)FlxRect: AddclipToand fixintersectionbug (#3190)FlxPointer: AddgetGamePosition,gameX/Y,getViewPosition, andviewX/Y, to replace "screen" fields (#3210)FlxAnimationController: AddonLoop,onFrameChangeandonFinish, to replacecallbackandfinishCallback(#3205) (#3216)FlxStrip: Add support for blendmodes (#3213)FlxTextBorderStyle: Add SHADOW_XY, prevent border clipping (#3236)LogStyle: AddonLogsignal to replacecallbackFunction(#3239)(#3307)FlxBar: Add custom border sizes (#3234)- Gamepads: Add
acceptModeand "mapped inputs" (#3276) (#3280)- Add
ACCEPTandCANCELinput IDs that conditionally map to eitherAorBdepending onFlxG.gamepads.acceptMode - Add
gamepad.getMappedInputto get an anum value of every possible gamepad input from various devices, i.e.PS4(PS4ID.X)
- Add
FlxG.assets: A way to overwrite and customize the way HaxeFlixel fetches or produces assets from ids (#2982)FlxG.cameras: Addinsertmethod (#3290)FlxSave: Allow custom handling of parsing errors (#3286)FlxDirectionFlags: Addup,down,leftandrightfields (#3303)FlxG.assets: AddgetSoundAddExt(#3311)FlxG.assets: Add-DFLX_DEFAULT_SOUND_EXTto automatically append file extension to sound asset ids (#3314)
FlxKey: AddNONEtofromStringMapandtoStringMap(#3119)FlxPreloader: Improve documentation (#3123)FlxDrawTrianglesItem: minor optimization (#3121)FlxTypedTilemap: Add privatecreateTilemethod for easier extension, with custom tile types (#3154)FlxState: Improve doc forpersistentUpdate&persistentDraw(#3155)FlxCamera: Improve doc (#3161)NextState: Improve doc (#3160)FlxSprite: Account forscale,origin,offset,angleandpixelPerfectPositioningetGraphicMidpoint(#3125)- Major change to
FlxTilemapandFlxTilescollision (#3158) (#3189)FlxTile: Various features for allowing custom overlap/collision logic- Add dynamic methods
overlapsObjectandorientAtwith helpersorient,orientByIndexandorientAtByIndex - Add
onCollidesignal, when overlaps are detected for collision purposes
- Add dynamic methods
- Tilemaps: Add various new tools and helpers to
FlxTilemapandFlxBaseTilemap- Added new
forEachOverlappingTilewhich calls a method with every tile that overlaps an object - Added new
forEachMapIndexwhich calls a method with every tile of a certain tile index - Added new
isOverlappingTilemethod, allows you to check all tiles overlapping an object - Added new
objectOverlapsTilesto replace the now deprecatedoverlapsWithCallbacks- Eschews
flipCallbackParamsarg, allowing better typing of both callback params - Adds
isCollisionflag to control whether the Tiles' collision callbacks are fired and allows for processing non-solid tiles
- Eschews
- Added new helpers:
getMapIndex,getMapIndexAt,getRow,getColumn,getTileIndex,getTileIndexAt,getTileData,getTileDataAt,tileExists,tileExistsAt,setTileIndex,setTileIndexAt,getColumnAt,getRowAt,columnExists,rowExists,columnExistsAt,rowExistsAt,getColumnPos,getRowPos,getColumnPosAt,getRowPosAt,getTilePos,getTilePosAtandgetAllTilePos FlxObject: Add internal helpers for processing tilemaps inseparate,updateTouchingFlagsand similar functions- Debug Drawing: Various improvements to debug drawing tilemaps
- Now honors tiles'
ignoreDrawDebuganddebugBoundingBoxColorfields - New
getDebugBoundingBoxColorinFlxObject. Meant to eventually replacedrawDebugBoundingBox
- Now honors tiles'
- Added new
FlxBGSprite: Prevent draw call when transparent (#3173)FlxArrayUtil: Deprecateresize, usearray.setLength(#3094)- Debugging: Check alpha when point-selecting sprites (#3184)
FlxBitmapText: Ignore border outline when computing field size (#3193)FlxDebugger: Improve console code completion (#3222)FlxGraphicsShader: Optimize color math (#3227)- Improve android config on lime 8.2.0 (#3253)
- Debug Watch: Resize the watch window when watchers are added or removed (#3251)
- Reduce memory of Flixel's embedded assets via oxipng (#3257)
- Debug Stats: Improve accuracy of "Total Memory" in OpenFL 9.4.0 (#3266)
FlxGraphic: Improve checks for max texture size (#3279)(#3295)- Debugging: Stop dispatching onFocus event when closing debugger (#3271)
FlxFlickerTween: Fix "Unsupported recursive type" error on hl (#3170)FlxBGSprite: Fix draw size when scale is not1.0(#3142)FlxGraphic: Prevent null ref ingetFramesCollectionswith destroyed graphics (#3180)FlxText: Handle null align on HL (#3196)FlxCamera: Fix blending issue (#3217) (#3255)FlxStrip: Fixcolorpreventing other strips from drawing (#3220)FlxButton: Fixlabelposition when moves is false (#3232)- Debug Console: Fix arrow keys (#3247)
FlxGame: FixACTIVATEandDEACTIVATEevent dispatches (#3260)FlxAction: Fix bug where multiplecheckcalls wipe analog fields (#3277)FlxKeyManager: Remove events on destroy, preventing crashes (#3299)
FlxBitmapText: AddgetRenderedText(#3120)
FlxSpriteGroup: Fix propegation ofcamerasfield to members (#3118)FlxBitmapText: Fix wrap issues caused from kerning (#3120)
FlxSpriteGroup: Better long term fix for members cameras (#3116)
FlxImageFrame: Prevent null ref from destroyed graphics (#3113)FlxSpriteGroup: Fix issue where members draw to the wrong cameras (#3113)
FlxBitmapFont: AddedsetCharFrame(#3037)FlxTimer: Added staticwaitandloopsmethods (#3040)FlxBasic: Addedcontainerfield andFlxContainerandFlxSpriteContainerwhere a basic can only be in one container (#3050) (#3055) (#3068)FlxPath: AddedcenterModeto center onTOP_LEFT,CENTER,ORIGINand more (#3052)FlxG.plugins: AddeddrawOnTopfield (#3057)FlxCamera: AddedstopFade,stopFlash, andstopShake(#3063)FlxRect: AddedcontainsXY(#3069)FlxDebugger: Added button to toggleignoreDrawDebugon selected objects (#3071)FlxTween: Add tween-basedflicker()system (#3086)FlxButton: AddDISABLEDstate (#3087)FlxBitmapFont: Honor kerning data from BMFont files (#3035)
FlxBitmapText: Honorscalewhen changingwidthandheight(#3037)FlxSound: Deprecatedsound.groupsetter, avoiding recursion errors (#3041)FlxAssets: Allow the immediate use of async images, once loaded (#3022)FlxText: Removed references toFlxUnicodeUtil(#3049)FlxObject: Deprecatedhealthandhurt(#3065)- Added compiler flag
FLX_NO_HEALTHto create your own replacement, if needed (#3067)
- Added compiler flag
- Prevent building debug bitmaps in release mode (#3077)
FlxUnicodeUtil: Deprecated (#3078)- Various Changes brought up by EliteMasterEric (#3085)
FlxGraphic: CheckisDestroyedfor better error messages when using destroyed graphicsFlxGraphic: Prevent double destroy, and double adding of frame collectionsFlxFlicker: Prevent doublerelease()calls
FlxDebugger: Updated the URL to HaxeFlixel site (#3102)
FlxKeyboard: FixPLUSkey on windows (#3093)FlxSpriteContainer: Fix error indestroy(#3095)FlxSprite: FixgetGraphicMidpoint()(#3101)FlxPool: Fix various point and rect pooling leaks (#3103) (#3108)FlxAtlasFrames: Prevent errors when adding frames of size 0 (#3096)FlxSound: Fix sound panning (#2863)
FlxBitmapFont: Prevent crashes from missing xml fields infromAngelCode(#3029)
FlxBitmapFont: Downgraded crashes of missing xml fields to warnings infromAngelCode(#3025)- Corrected documenation for the recent
FlxG.switchstatearg changes
FlxGraphic: AddedisDestroyed(#2974)FlxBitmapFont: Support for all BMFont output file types (#2949)FlxObject: Add staticdefaultMovesfield (#2980)FlxText: Addunderlinefield (#3002)FlxBitmapText: Addwrapfield to expand wordwrap capabilities (#2722)- Can now choose various to split words, conditionally, like if they are too long to fit in one line
- Also deprecates
wordWrapandwrapByWord
Android: Set the defaultappCategoryto "game" (#3009)
FlxMouse: Made the private_cursorfield public, and renamed tocursor(#2969)Interaction: Changes to Flixel's Debug Pointer and Mover tools (#2964)- Hold Ctrl to drag selected objects, Shift to add to selection, Alt to remove from selection
- works better with
FlxObjects - See detailed list of changes here
PluginFrontEnd: Allow multiple plugins of the same type (#2952)- Add
addPlugin,addIfUniqueandremoveAllByType - Deprecate
addandremoveType
- Add
- Remove compile conditionals using
FLX_DRAW_QUADS(#2962) AseAtlas: Set animationloopsto match Aseprite's own settings (#2963)FlxMouseEvent: Added links to FlxMouseEvent Demo (#2961)NextState: Allow()->FlxStateargs inFlxG.switchStateandFlxGame.new(#2997)FlxSplash: Can now extendFlxSplashto add custom behavior (#2997)FlxDrawQuadsItem: Improve performance by pre-calculating alpha (#2996)FlxSpriteGroup: Now able to follow itspath(#3014)FlxAtlasFrames: RemoveHash<T>in favor ofDynamicAccess<T>(#3015)- Various documentation (#3021) (#3012)
- Prevent crash when drawing a sprite with a destroyed graphic, by loading the placeholder logo. (#2974)
FlxG: Fix HTML5 reflection issue wherestate.switchTois null (#2985)FlxBitmapText: Defaulttextto""instead ofnull(#2976)FlxPlugin: Fix inline error on haxe 4.3.3 (#2986)FlxKeyboard: Fix plus keybind on Mac (#2987)FlxSignal: Fix one-time listeners not being removed on hashlink (#3004)QuadPath: Prevent crash by avoiding divide by zero ingetCurveLength(#3019)
FlxG: AddedanimationTimeScale(#2937)
FlxPool: Use factory functions to create instances (#2934)
- Fixed errors from OpenFL 9.3.2
FlxText: Remove warnings about potential typos (#2935)FlxText: Regen graphic ingetScreenBoundscalls (#2942)FlxBar: Various fixes (#2938)
- Various improvements and new features for animations (#2930)
FlxAnimation: MakeframeDurationandloopedpublicFlxAnimation: AddtimeScale(not to be confused with the same field added toFlxAnimationControllerin 5.4.0)FlxAseAtlasUtils: Use fieldsrepeatanddirectionwhen creating animations from Aseprite tag data
FlxTilemap: AdddefaultFramePaddingback (#2886)
FlxSoundTray: Fix sound tray hide animation (#2923)
- README.md: Add Turkish translations
AssetPaths: AddallFilesfield, and an arg inFlxAssets.buildFileReferencesto change the identifier (#2807)- Debug tools: Add ways to remove custom debug tools (#2792)
FlxG.console: AddremoveByAlias,removeEnum,removeClass,removeObjectandremoveFunctionFlxG.game.debugger.interaction: AddremoveTool
FlxText: AddfieldHeightfield (#2789)FlxG: Add compiler flagFLX_NO_SAVEto removeFlxG.save(also counter-flagFLX_SAVE) (#2840)FlxCamera: AddpixelPerfectShakefield, for pixel-perfect camera shaking (#2841)LogStyle: Allow log styles to throw errors (#2842)FlxTilemap: addFlxTypedTilemap<T>(#2734)FlxGroup: Various changes (#2806)- Add
killMembers,reviveMembersandkeyValueIterator - Add new searching utils
getFirst,getLast,getFirstIndex,getLastIndex,anyandevery - Replace
getFirstNull's loop with a simpleindexOfcheck - Improve readibility and simplify loops under the hood
- Add
FlxSpriteUtil: AddsetTintandsetBrightness(#2869)FlxAsepriteUtils: New util class with various helpers (viausing FlxAsepriteUtil;(#2860)- Added
loadAseAtlas,addAseAtlasTagsByIndex, andaddAseAtlasTagsByPrefix - Added
TexturePackerAtlasandAseAtlastypes - Added Aseprite metadata types:
AseAtlasMeta,AseAtlasTag,AseAtlasSliceandAseAtlasLayer - Deprecated
TexturePackerObject,TexturePackerFrameDataandTexturePackerFrameRectforTexturePackerAtlas,TexturePackerAtlasFrameandAtlasRect, respectively;
- Added
FlxAtlasFrames: Added multi-atlas capabilities withaddAtlasandconcat(#2772)FlxAnimationController: addtimeScalefield to control animation speed (#2913)
FlxEase: SimplifybounceInandbounceInOut(#2788)- Fix typos in various docs (#2793)(#2799)
FlxBaseTilemap: Log errors rather than throw exceptions insetTilePropertieswith invalid args (#2815)- Add hxformat.json to published Flixel release (#2818)
FlxSprite: Add erroneously unusedcameraarg when callingpixelsOverlapPoint(#2824)- Changed references to the
flashpackage to theiropenflequivalent, whenever possible (#2832) FlxSpriteUtil: FixcameraWrapandcameraBounderror when camera scroll is non-0 (#2851)FlxBar: Fix pixel perfect rendering issue (#2853)FlxText: Trigger re-draw whentextis set to empty string (#2846)FlxPoint: Small doc fix (#2873)FlxAndroidKey: Fix@:enumdeprecation warning (#2876)- Change
FlxSprite.setColorTransformandFlxSpriteUtil.setOffsetsargs from ints to floats (#2875) FlxSprite: ChangesetGraphicSizeargs from ints to floats (#2881)FlxAnimationController: Accept float for all functions takingframeRate(#2884)FlxCamera: Make thefiltersarray public (#2890)FlxSubState: Destroy_bgSprite(#2897)FlxCamera: ImproveSCREEN_BY_SCREENfollow mode and addbindScrollPosmethod (#2903)Watch: AllowaddFunctionto overwrite existing watches (#2902)FlxMath: Wrap methods and imports in conditionals when in macros (#2911)- Assets: Run DeveImageOptimizer on all of HaxeFlixel's image assets (#2901)
FlxG: AllowopenURLto work with any URL protocol (#2877)
FlxAnimation: Fix issue wherefinishCallbackwasn't being fired on reversed animations (#2811)FlxTilemap: Reset buffers when loading maps a second+ time from the same instance (#2883)FlxPointer: Fixoverlapscalls with a specifiedcameraarg (#2885)FlxStrip: Fix black shapes whendrawDebugis true (#2906)FlxBitmapText: FixtextColornot applied correctly (#2918)FlxCamera: Fix camera lerping speeds on lower fps (#2920)
- Change all
@:enum abstracttoenum abstractto prevent warnings in haxe 4.3.1 (#2790) FlxAnimation: Prevent crash when destroying sprites in an anim callback (#2785)FlxCollision: Fix gap increateCameraWall(#2781)
- Dropped support for haxe 4.0 and 4.1, use 4.2.5 or higher
FlxAtlasFrames: AddaddFrameOffsetandaddFramesOffsetByPrefix(#2746)FlxFrame: Addduration(#2752)FlxAtlasFrames: AddfromAsepritewhich takes Aseprite generated Json, and honors frame duration
FlxState: AddstartOutro, deprecateswitchTo(#2768)
FlxSoundandFlxSoundGroup: Moved to theflixel.soundpackage, deprecate old package (#2726)FlxBitmapText: Addx,yandtextargs to constructor (#2750)FlxAtlasFrames: TakeXmlinfromSparrow(#2751)FlxBitmapFont: TakeXmlinfromAngelCode(#2751)FlxAnimation: Deprecatedelayin favor of the newframeDurationfield (#2752)FlxAnimationandFlxColor: Small fixes (#2755)FlxSound: Fix doc comment (#2767)FlxSprite: Better warnings for invalidwidth/heightargs onloadGraphic(#2762)FlxCamera: AllowfollowLerpto be used withNO_DEAD_ZONE(#2771)- Improve docs (#2777) (#2778)
FlxSave: Fixed issue withmergeDataFromwhereoverwrite = true(#2738)FlxText: FixembedFontsgetter (#2749)DebugFrontEnd: Fixed freezing bug when pressing tab on debug (2760)LogFrontEnd: Fixed null crashes when logging beforeFlxGamein created (2779)FlxSave: Fixed saves with multiple invalid characters (#2779)
FlxGamePad: Fix various "firstPressed" functions (#2728)FlxSave: Prevent crash when hiding debug windows, afterFlxG.save.bindis called (#2725)FlxCamera: remove uses of camera.camera (#2731)
FlxSave: Fix save location on android and ios (#2718)
FlxMouse: addeddeltaX,deltaY,deltaScreenXanddeltaScreenY(#2709)FlxCamera: added publicviewandviewMarginproperties, deprecated old, private viewOffset fields(#2714)
FlxStrip: allows shaders and color transforms (#2696)
FlxSpriteGroup: FixfindMinY()andfindMaxY()returningxinstead ofy(#2713)
SoundFrontEnd: addedsoundTraygetter forFlxG.game.soundTray(#2706)
FlxArrayUtil: Addedswap,swapByIndex,safeSwapandsafeSwapByIndex(#2685)FlxDirectionFlags: AddedhasAny(#2705)
FlxPoint: fixed math error inrotate,pivotDegreesandpivotRadians(#2700)FlxObject: fixedisTouchingandwasTouchingto check any given instead of all (#2705)
FlxAssetPaths: Warnings involving assets will point to that asset instead of the build macro. (#2684)FlxTilemap: HonorsFlxSprite.defaultAntialiasing(#2688)
- Fix lime < 8 not being properly defined to FLX_NO_PITCH (#2678)
AssetPaths: various fixes (#2680)- apply
include/excludeargs to files, not directories - default file renamer will replace spaces with underscore
- apply
FlxKeys: AddedSCROLL_LOCK,NUMLOCK,WINDOWS,MENU,BREAKandNUMPADSLASHkeys (#2638)
The alpha was causing issues with CI due to haxelib issues. We're foregoing the alpha, since the new features are considiered "stable".
FlxDefinesprevent compile error when targeting lime 7 on non-sys targets (#2676)
FlxMouse: Addedreleased,releasedRightandreleasedMiddle(#2496)- Angles: Added various degree/radian specific versions of existing angle helpers (#2482)
FlxDirectionFlags: Various helpersFlxVector: AddedcopyTo(#2550)FlxCollision: AddedcalcRectEntryandcalcRectExit(#2480)FlxTilemap: Overhaul to pathfinding (#2480)FlxPathfinder: Allows customizable pathfinding algorithms for tilemapFlxPathSimplifier: Replace findPath simplify args with a new enum- Expose previously private fields:
tileWidth,tileHeight,scaledTileWidth,scaledTileHeight,scaledWidth, andscaledHeight FlxBaseTilemap: addedcalcRayEntryandcalcRayExit
FlxPath: various new featuresFlxPathDrawData: addedmyFlxPath.debugDrawDatato allow custom colors and draw properties (#2480)FlxAxes: addedxandygetters,NONEvalue,toString,fromStringandfromBoolsmethods (#2480, #2659)FlxTween: addedShakeTweenandFlxTween.shake()helper (#2549)WatchFrontEnd: addedFlxG.watch.addFunction(#2500)FlxPoint: added binary operators+,-,+=,-=,*, and*=(#2557)FlxColor: addedrgbgetter and setter (#2555)FlxSave: addedmergeDataFrom,mergeDatastatus,isBoundandisEmpty(#2566) (#2584)FlxAnimation- addedloopPointto allow looping to a frame other than the starting frame (#2621)FlxSound- addedpitchto alter the playback speed (#2564)FlxSprite- addedgetPixelAt,getPixelAtScreen,transformWorldToPixelsandtransformScreenToPixels(#2640)FlxStringUtil- addedtoTitleCaseandtoUnderscoreCase(#2670)FlxAssets- changed parameters tobuildFileReferences(AffectsAssetPaths) (#2575)- replaced
filterExtensionsarg withincludeandexcludeargs - changed
renamearg to take the full filepath, can returnnullto exclude
- replaced
FlxSprite: FixedloadRotatedGraphicto solve Mod by 0 (#2518)FlxText: Fixed alignment issues across platforms (#2536)FlxBitmapText: Fixed issue on non-multiline text with wordWrap disabled (#2590)FlxTypedButton- preventonOversound when releasing a button (#2657)
- Collision: preserve momentum in
FlxG.collide(#2422) - Angles: All angle utils treat right as 0 (affects
FlxSwipeandFlxPath) (#2482) FlxAngle: deprecated:getCartesianCoords,getPolarCoords,angleFromFacingandFlxPoint.angleBetween(#2482)FlxTilemap: renamedraytorayStepadded newraywith noresolutionarg (#2480)FlxPath: move toflixel.path.FlxPath(#2480)FlxPoint/FlxVector: moved allFlxVectorfields and methods intoFlxPoint(#2557)FlxSave: changed the default save name and path to unique values based on Project.xml metadata (#2566)FlxTilemap: ReplaceduseScaleHackwith staticdefaultFramePaddingto fix tile tearing (#2581)FlxSprite: various improvements.FlxGame: removed misleadingzoomarg from constructor (#2591)FlxMouseEventManager: Changed from a static manager to an instance. UseFlxMouseEventfor the default manager (#2540)
- Dropped support for haxe 3, use 4.0.5 or higher
FlxAnimationController: addedgetAnimationList,getNameList,existsandrename(#2473)FlxRect: addedgetRotatedBounds(#2298)FlxObject: addedgetRotatedBounds(#2298)FlxSprite: addedgetScreenBounds(#2298)FlxSpriteUtil: addedcameraWrapandcameraBounds(#2298)FlxCamera: addedgetViewRectandcontainsRect(#2298)
- Fixed segmentation faults on Hashlink for linux (#2487)
FlxSpriteGroup:kill,reviveandrevivecall the respective function on members (#2423)
FlxCollision: improvedpixelPerfectCheckperformance, now honors scale (#2298)FlxSprite: improvedisOnScreenaccuracy (#2298)FlxCamera: addedputWeakcall incontainsPoint(#2298)FlxObject:screenCenterdefaults toXYrather thannull(#2441)FlxState: Clarify restrictions in state constructors (#2479)
- Added
FlxDirectionFlagsandFlxDirection(#2303) FlxBitmapText: added support for unicode combining diacritical marks (#2309)FlxTextFormat: addedleading(#2334)FlxAction: addedaddAndroidKey()(#2393)FlxVector: addedsetPolarRadians()andsetPolarDegrees()(#2401)
FlxAssetPaths: fixed paths for iOS (#2345)VarTween: fixed an error ifcancel()is called duringonUpdate(#2352)FlxGradient: fixed last pixels sometimes not being filled (#2367)FlxTilemap: fixed built-in autotile assets for HTML5 (#2402)FlxDebugger: fixed single-character vertical text in the stats window
FlxSpriteUtil: enableddrawRoundRectComplex()for non-Flash targets (#2332)FlxTween: allowedcancelTweensOf()to cancel "grandchild" tweens (#2354)
- Compatibility with Haxe 4.2.x
FlxTween: addedcancelTweensOf()andcompleteTweensOf()(#2273)FlxSound: added anOnLoadcallback toloadStream()(#2276)FlxState: addedsubStateOpenedandsubStateClosedsignals (#2280)FlxG.cameras: added aDefaultDrawTargetargument toadd()andsetDefaultDrawTarget()(#2296)
FlxTween: fixed an issue with settingstartDelayafter tween creation (#2262)FlxEmitter: fixedmaxSizenot being set toQuantityinmakeParticles()(#2265)FlxBitmapFont: fixed infinite loops caused by "farbling" in the Brave browser (#2300)
FlxG.plugins: improved type safety forget()andremove()(#2292)FlxAtlasFrames: improved animation support infromLibGdx()(#2278)FlxBasic: assign an incrementedIDfor each created instance (#2266)FlxCamera: deprecateddefaultCamerasin favor of default draw targets inFlxG.cameras(#2296)
- improved rendering performance on low-end devices
FlxSplash: addedmuted(defaults totrueon HTML5)FlxBaseKeyList: addedNONE(#2253)FlxKeyManager: addedreleased(#2253)FlxGamepad:FlxText: added support for removing partial ranges inremoveFormat()(#2256)
FlxGamepad: fixedpressednot beingtrueduring the firstjustPressedframe (#2253)FlxKeyManager: fixedanyPressed([ANY])not working (#2253)
- Fixed
Std.is()deprecation warnings with Haxe 4.2
FlxGroup: added support for specifyingcameras(#2232)
FlxButton: fixedmouseButtonshandling (#2246)FlxTilemap: handle negative tile indices for allloadmethods, not just CSV (#2250)FlxVirtualPad: fixed graphic not showing up on HTML5OUYAID: fixed button mappings (#2234)
FlxAnimation: changedframeRateto aFloat(#2252)
- Compatibility with Haxe 4.0.0-rc.3
FlxAssetPaths: added support for custom renaming (#2227)
FlxGraphicsShader: fixed crashes on some old iOS devices (#2219)FlxG.android:
FlxDebugger:- disabled mouse input when the debugger interaction tool is active (#2209)
- clear the transform tool target on state switches
FlxBasePreloader: fixed a crash on the HashLink target
- Compatibility with Haxe 4.0.0-rc.1
- Added a new
FlxActionAPI /flixel.input.actions(#1805) FlxGamepadManager: addeddeviceConnectedanddeviceDisconnected(#1805)FlxBitmapText: addedclipRectsupport (#2171)FlxTilemap: added 47 tile autotiling (#2184)FlxG.signals:FlxSave: added support for local storage paths (#2202)FlxVector: addedweak()support and turned it into anabstract(#2191)- Added blend mode support for
drawQuads()rendering with OpenFL 8.8.0+ (#2199)
FlxFilterFrames: fixed previousoffsetbeing ignored inapplyToSprite()(#2176)FlxBitmapFont: fixed background only being removed on Flash infromXNA()(#2187)- Fixed
drawQuads()rendering issues if there are color offsets, but no multipliers (#2195) - Fixed
FlxSubStatenot being updated in the frame it is entered (#2204) FlxText: fixed frame size not always being correct whenupdateHitbox()is called (#2205)
- Fixed compatibility with OpenFL 8.5.0
FlxSoundGroup: fixedadd()adding sounds twice
- Added support for Lime 7
FlxTween:- added support for tweening sub-properties like
"scale.x"withtween()(#2152) - added a
FlxTweenTypeenum abstract and deprecated the constants inFlxTween
- added support for tweening sub-properties like
FlxSpriteGroup: addeddirectAlpha(#2157)FlxDebugger: added a transform interaction tool (#2159)
FlxBitmapText: fixed clipping issues with text using borders (#2151)FlxAssetPaths: fixed variables with invalid Haxe identifiers being generated (#1796)FlxSpriteUtil: fixedspaceFromBoundsinspace()not being respected (#1963)FlxSpriteGroup: fixed sprites not showing up again after settingalphato0(#1353)
FlxSpriteUtil: added an argument allowing to use a positioning function inspace()(#2154)FlxG.accelerometer: enabled accelerometer support on HTML5
- Fixed compatibility with Haxe 4.0.0-preview.4
- Fixed an issue with code completion on the Flash target in VSCode
- Added support for OpenFL 8 and Lime 6.3.0 (#2136)
- Removed support for Haxe versions < 3.4.0
- Fixed compatibility with Haxe 4 / development
FlxStringUtil: addedgetEnumName()(95615382)FlxG.console: addedregisterEnum()(24905c4b)FlxMouse: addedjustMoved(#2087)FlxMouseEventManager:
FlxDebuggerconsole: fixed enum completion on non-Flash targets (404c16b3)FlxMouseEventManager:FlxAssetPaths: fixedfilterExtensionsfor files with multiple dots (#2107)FlxDebuggerinteraction tool: fixed custom cursors not showing on native targets (ca52e7a2)FlxDebuggerconsole: fixed tab not focusing the text field on native targetsFlxMath: fixedroundDecimals()for large inputs (#2127)FlxG.sound: fixed sounds not being removed from the default groups on state switches (#2124)FlxBar: fixed bars not reaching 100% by rounding (#2139)
FlxG.keys: added arrow keys, space and tab topreventDefaultKeyson HTML5FlxSpriteGroup: added acamerasetter override (#2146)
FlxTween: addedcancelChain()(#1988)FlxMatrix: addedtransformX()andtransformY()(dcc66b3)FlxCamera: addedcontainsPoint()(#1964)FlxSubState: addedopenCallback(#2023)FlxSpriteGroup:FlxSoundGroup: addedpause()andresume()(#2043)FlxDebuggerinteraction tool:FlxDebuggerconsole: added an "Entry Type" quick watch entry (d354352)FlxStringUtil: addedgetHost()(#1996)FlxPoint: addedtoVector()(#2061)FlxGamepad: addedgetAnalogAxes()(#2064)FlxMouse: added getters forjustPressedTimeInTicks(#2070)FlxEase: addedlinear/smooth/smootherfunctions (#2080)
FlxAnimation: fixed reversed animations (#1998)FlxRandom: fixedgetObject()not respectingstartIndex(#2009)FlxGroup: fixedremove()withSplice = truenot decreasinglength(#2010)FlxStringUtil: fixed an issue with decimals informatMoney()(#2011)FlxMouseEventManager:FlxPreloader: fixed missing assets with full DCE (764a5a8)FlxG.cameras: fixedreset()not removing all cameras (#2016)FlxAnimationController: fixedflipX/Ynot being copied incopyFrom()(#2027)haxelib run flixel: fixed the working directory not being passed on (61f2c20)FlxDebuggerinteraction tool:FlxG.html5: fixedplatformdetecting iPhone and iPod as "Mac" (#2052)FlxTilemap: fixed a missing bounds check ingetTileIndexByCoords()(#2024)FlxAnalog: fixed mouse input withoutFLX_NO_TOUCH(#2067)flixel.input: fixedFloatbeing used for tick values (#2071)FlxCamera: fixed object visibility forzoom < 1(#2003)FlxEmitter: fixed issues withlifespan == 0(#2074)
FlxBitmapText: allowed negativelineSpacingvalues (#1984)FlxStringUtil: madegetDomain()more robust (#1993, #1996)FlxG.signals: changedgameResizedto be dispatched after camera resize (#2012)FlxAtlasFrames: allowed passing a parsedDescriptioninfromTexturePackerJson()(#2021)FlxG.watch: optimized expression watch entries (#2004)FlxDebuggerconsole:FlxBasePreloader: improved the design of the sitelock failure notice (#1994)FlxFlicker: madestop()public (#2084)FlxAnalog: several fixes and improvements (#2073)
- fixed rendering with Haxe 3.4.0 and OpenFL Next
FlxG.html5: addedplatformandonMobile(#1897)FlxText: added support for multi-character markers inapplyMarkup()(#1908)FlxG: addedonMobile(#1904)FlxPreloader: added HTML5 support (#1846)FlxTweenManagerandFlxTimerManager:FlxPath:FlxG.cameras: addedcameraAdded,cameraRemovedandcameraResizedsignals (edf93b5)FlxDebugger: added a tools panel to interact with objects (#1862)ConsoleCommands: added astep()command (#1910)FlxG.console: addedstepAfterCommand(#1910)FlxSound:FlxMouse: addedregisterSimpleNativeCursorData()(73b0ff2)FlxRandom: addedshuffle()(#1947)WatchEntry:FlxAnimation: added support for changingframes(#1967)FlxObject: addeddebugBoundingBoxColorSolid, -NotSolidand -Partial(#1847)FlxTilemap:- Added an HTML5 template to center games horizontally (#1918)
- Added support for
haxelib run flixelas an alias forhaxelib run flixel-tools(#1950)
FlxBitmapText: fixedalphanot working (#1877)FlxEmitter: fixed properties not being ignored if their.activeis set tofalse(#1903)FlxCamera:FlxTilemap: fixed buffers not being resized on camera changes (#1801)FlxSpriteGroup:flixel.input.gamepad.mappings: fixed some mappings for digitized stick movements (c04ce96)FlxAtlasFrames: fixed offset parsing for whitespace-stripped atlases infromLibGdx(#1923)FlxKeyboard: fixed someFlxG.debugger.toggleKeysandFlxG.vcr.cancelKeysnot working on native (470c8e8)FlxMouse: fixedFlxButtonpresses during VCR playback (#1729)FlxSprite:FlxCollision: fixed an animation-related crash withFlxG.renderBlit(#1928)FlxTimerManager: fixed issues related to adding / removing timers inonComplete(#1954)WatchEntry: fixed variables being turned intoStringon Neko (#1911)FlxVector: fixednormalize()returning(1,0)for(0,0)(#1959)FlxFrame: fixed inconsistent sorting across platforms (#1926)FlxSubState: fixedclose()if same instance is used in two different states (#1971)CompletionHandler: fixed completion mid-text (#1798)
flixel.util.helpers: changed the default value ofactivetotrue(d863892)FlxGitSHA: optimized for compiler completion (f5dca1d)FlxRect: added an optionalresultargument tointersection()(c52b534)FlxG.debugger: addedF2totoggleKeys(f3f029c)FlxRandom: deprecatedshuffleArray()in favor ofshuffle()(#1947)FlxEmitter:emitParticle()now returns the particle (#1957)FlxG.bitmap:FlxFramesCollection: frame sizes are now checked and trimmed (#1966)
- fixed the check for Lime <= 2.9.1
FlxG.vcr: added anOpenSaveDialogargument tostopRecording()(#1726)FlxSound:FlxMouse:addedenabledFlxGamepadInputID: added IDs for analog stick directions (#1746)FlxG.watch: addedaddExpression()andremoveExpression()(#1790)Console:- added
watchandwatchExpressioncommands (#1790) - added
Reflect,Std,StringTools,Sys,TypeandFlxTweento default classes
- added
CompletionHandler: added locals declared withvarto completionWatchEntry:- added a remove button
- added
Floatrounding (toFlxG.debugger.precisiondecimals) - added support for in- / decrement of numeric values via up / down keys
- added support for moving selection to start / end via up / down keys (non-numeric values)
FlxStringUtil: addedisNullOrEmpty()FlxDefines: added inverted versions of allFLX_NO-defines (e.g.FLX_DEBUGforFLX_NO_DEBUG)FlxTileFrames: addedspacingandborderarguments tocombineTileSets()andcombineTileFrames()(#1807)FlxBitmapDataUtil: addedcopyBorderPixels()FlxGame:GameWidthandGameHeightinnew()now use the window size if set to 0 (#1811)FlxPoint: addedscale()(#1811)FlxBar: addednumDivisionsFlxBaseTilemap: addedloadMapFromGraphic()(#1525)FlxAnimation: added the ability to setpauseddirectly (#1538)FlxTilemap: addedantialiasing(#1850)- Added GLSL
shadersupport forFlxSprite,FlxTilemap,FlxBarandFlxBitmapText(#1848) FlxGraphic: added an optionalCacheargument tofromFrame()FlxG.debugger: addedvisibilityChanged(#1865)
FlxText: [Flash] fixed blurry lines on multiline texts withFlxTextAlign.CENTER(#1728)FlxSound: fixedfadeOut()andfadeIn()not canceling the previous tween (#1834)FlxGamepad:[Flash] fixed potential range errors when checking axis valuesCompletionListEntry: fixed text width exceeding list widthFlxGame: [HTML5] fixedticksholding the current date's timestamp instead of ms since game startFlxCamera: fixed background scaling forzoom < 1on native targets (#1588)FlxBaseTilemap: [Neko,HTML5] fixed invalid array access inoverlapsPoint()(#1835)FlxObject: fixedoverlapsPoint()at x / y = 0 (#1818)FlxReplay: fixed simultaneous recording of key and mouse input (#1739)FlxVelocity: fixedaccelerateFromAngle()settingmaxVelocityto negative values (#1833)- Fixed compilation with
hscriptPosdefined (#1840) FlxDrawTilesItem: fixednumTilesvalue with color offsetsFlxBitmapFont: fixed a crash related to incorrect UTF-8 handling (#1857)FlxAtlas: fixed a crash when the constructor is called withpowerOfTwo == true(#1858)FlxTween: fixed nested tween chains (#1871)FlxTypedGroup: fixed recursion inforEachOfType()(#1876)Tracker: [Neko] fixed a crash insetVisible()(#1879)- Fixed some flixel-internal fields being accessible when they shouldn't be (#1849)
Console: removedresetState,switchStateandresetGamecommandsFlxArrayUtil: optimizedflatten2DArray()FlxSpriteUtil: changedalphaMask()arguments fromDynamictoFlxGraphicAsset(#1806)FlxG.signals: changedpreUpdateto be dispatched afterFlxG.elapsedis updated (#1836)FlxG.debugger: changeddrawDebugChangedto be dispatched afterdrawDebugis updatedFlxDefines: added a check for incompatible OpenFL / Lime versions (should be < 4.0.0 / < 3.0.0 respectively)
FlxDebugger: [HTML5] fixed version text color (#1727)FlxFlicker/LabelValuePair: fixed DCE issues (#1757)FlxMouse: fixeduseSystemCursor = truenot always working with native cursor APIFlxDebuggermouse handling fixes (#1775):- fixed
FlxMouse'svisibleanduseSystemCursornot being restored properly - fixed cursor disappearing after losing Console focus with native cursor API
- fixed mouse focus area of windows being too big
- fixed
FlxAnimationController: fixedfinishCallbackfiring multiple times in one frame (#1781)FlxPreloader: [HTML5] fixed preloader not showing up (#1750)FlxStringUtil.formatMoney():- fixed formatting for
Amount < 0(#1754) - fixed formatting for negative amounts
- [HTML5] fixed formatting for amounts > Int32
- fixed formatting for
- Debugger Stats window: fixed paused time being taken into account for average FPS
- Changed
static inlinevars to enums: (#998)FlxCamerafollow stylesFlxCamerashake modesFlxTextborder stylesFlxTilemapauto-tiling optionsFlxBarfill directionsFlxG.html5browser types
- Moved
FlxMath,FlxPoint,FlxVector,FlxRect,FlxAngle,FlxVelocityandFlxRandomtoflixel.math - Moved "typed" classes: (#1100)
FlxTypedGroupintoFlxGroup.hxFlxTypedSpriteGroupintoFlxSpriteGroup.hxFlxTypedEmitterintoFlxEmitter.hxFlxTypedButtonintoFlxButton.hx
- The signature of
update()functions was changed toupdate(elapsed:Float). Theelapsedargument should be used instead ofFlxG.elapsed. (#1188)
- Added
flixel.FlxStripwhich supports rendering viadrawTriangles() - Added an experimental rendering method using
drawTriangles()(enabled by definingFLX_RENDER_TRIANGLE, requiresFlxG.renderTileto be true). - The tile renderer now uses
Tilesheet.TILE_RECTinstead ofaddTileRect() - Renderers are now distinguished by
FlxG.renderMethod(FlxG.renderBlit/FlxG.renderTilefor easy access) instead of defines (FLX_RENDER_BLIT/FLX_RENDER_TILE). This allows for a fallback to software rendering on certain targets if hardware rendering is not available. (#1668)
- added
pixelPerfectRenderas a global setting for sprites and tilemaps (#1060) pixelPerfectRendernow defaults tofalsewithFlxG.renderTile(#1065)bounds->minScrollX,maxScrollX,minScrollYandmaxScrollY(nullmeans unbounded) (#1070)setBounds()->setScrollBoundsRect()(#1070)- added
setScrollBounds() - added
targetOffset(#1056) - added
scrollRectsprite which crops the camera's view when the camera is scaled - camera now scales from its center, not its top left corner
followLerpis now a range taking values from 0 to (60 / FlxG.updateFramerate) - the closer to zero the more lerp! (#1220)- added
snapToTarget()(#1477) fade(): fixedFadeIn == truenot working in a fade out callback (#1666)follow(): removed theOffsetargument (#1056)
debugger: fixed a crash when callingaddTrackerProfile()beforetrack()signals:- split
gameResetinto pre/post signals - added
preStateCreate(#1557)
- split
android:preventDefaultBackActionhas been replaced bypreventDefaultKeysinputs: addedresetOnStateSwitch- added
FlxG.addPostProcess()/removePostProcess() - added
resizeWindow() - Added
filtersEnabledandsetFilters()toFlxCameraandFlxGame(#1635) versionnow includes the commit SHA via a build macro
- added
getPosition()andgetHitbox() - split some of
separate()'s functionality intoupdateTouchingFlags(), allowingtouchingto be used without any separate calls (#1555) - added
path(#1712)
- added
graphicLoaded() getScreenXY()->getScreenPosition()- removed the
NewSpriteargument fromclone() - added
clipRect frames->numFrames- added
frameswhich reflects the sprite's current frames collection - removed
loadGraphicFromTexture()andloadRotatedGraphicFromTexture() cachedGraphics->graphic- added
setFrames()which allows you to save animations which already exists in the sprite colorTransformis always instantiated- added
loadRotatedFrame()which allows you to generate prerotated image from given frame and load it - added error message then trying to get pixels and graphic is null
drawFrame()is no longerinlineso it can be redefined in subclasses.set_angle(): always change the prerotated animation angle to prevent delays- removed
resetFrameBitmaps()method, since frames don't store bitmaps anymore. Setdirtyto true to force the frame graphic to be regenerated in the next render loop. - added
useFramePixels setColorTransform()'s offset arguments now work with drawTiles rendering on OpenFL 3.6.0+ (#1705)getFlxFrameBitmapData()->updateFramePixels()(#1710)
onFocus()andonFocusLost()no longer requireFlxG.autoPauseto be false- added
switchTo()(#1676)
FlxAnimation:- added
reversedvar which allows you to play animation backwards - second argument of
play()method isReversednow - added
flipXandflipY(#1670)
- added
FlxAnimationController:curAnimdoes also return animations that have finished now- removed
get() callback: fixed oldframeIndexvalue being passed instead of the current oneadd()now makes a copy of theFramesarray before callingsplice()on it- fixed
finishednot being true during the last animation frame in thecallback - added
Reversedargument inplay()method, which allows you to set animation's playback direction
FlxEmitter:at()->focusOn()on->emitting- emitters and particles now use
FlxColorinstead of separate red, green, and blue values - removed
FlxEmitterExt,FlxEmitternow has two launch modes:CIRCLE(the new default) andSQUARE(#1174) - removed
xPosition,yPosition,life,bounce, and various other properties, and property setting convenience functions (see below) (#1174) - a variety of values can now be set with much greater control, via
lifespan.set(),scale.set(),velocity.set()and so on (#1174) - simplified
start()parameters (#1174) - added
angularDragandangularAcceleration(#1246)
FlxParticle: (#1174)maxLifespan->lifespan,lifespan->age, percent indicates(age / lifespan)agecounts up (as opposed tolifespan, which counted down)- range properties (
velocityRange,alphaRange) which determine particle behavior after launch - "active" flags (
alphaRange.active,velocityRange.active, etc) whichFlxEmitteruses to control particle behavior
FlxGraphic:- renamed from
CachedGraphicsand moved toflixel.graphics - added
defaultPersist(#1241) - added
fromAssetKey(),fromClass()andfromBitmapData() bitmapis now settable
- renamed from
FlxAtlas:- moved to
flixel.graphics.atlas - added
addNodeWithSpacings() - added
minWidth,maxWidth,minHeightandmaxHeight(the size starts atminand grows up untilmaxas images are added) - added
powerOfTwo(forces atlas size to a power of two) - added
allowRotation(indicates whether added images may be rotated to save space)
- moved to
FlxNode:- moved to
flixel.graphics.atlas - added
getTileFrames()andgetImageFrame()
- moved to
- Introduced a new frames collections concept replacing regions:
- added
FlxImageFrameframes collection which contains single frame - added
FlxTileFramesframes collection which contains frames for spritesheet, which can be generated from image region or frame (including rotated and trimmed frames) - added
FlxAtlasFramesframes collection instead of various texture atlas loaders (likeSparrowDataandTexturePackerData). It contains various static methods for parsing atlas files - added
FlxFilterFramesframes collection instead ofFlxSpriteFilter(see filters demo)
- added
- Rewrote
PxBitmapFontand renamed it toFlxBitmapFont. It supports AngelCode, XNA and Monospace bitmap fonts now. FlxFrame:- doesn't store the frame's bitmapatas anymore, so
getBitmap()and other bitmap methods have been removed - added
paint()andpaintFlipped()methods instead. This solution requires much less memory, but will be a bit slower. - added
flipXandflipY(#1591)
- doesn't store the frame's bitmapatas anymore, so
FlxTypedGroup:FlxTypedSpriteGroup: addediterator()
FlxSwipe:durationnow uses seconds instead of milliseconds (#1272)FlxMouseandFlxTouchnow extend a new common base classFlxPointerinstead ofFlxPoint(#1099)- adds
overlaps()toFlxMouse
- adds
FlxGamepadManager:- better handling of disconnecting and reconnecting gamepads.
getByID()can now returnnull. anyButton()now has astateargumentglobalDeadZonecan now be 0globalDeadZonenow overshadows instead of overriding the gamepad's deadzone values
- better handling of disconnecting and reconnecting gamepads.
FlxGamepad:- refactored gamepads to include mappings, removing the need to write separate logic for each gamepad type (#1502):
- each gamepad now has a
model,mappingandname - moved the ID classes to
flixel.input.gamepad.id - all IDs are now mapped to a value in
FlxGamepadInputID - the previous "raw" gamepad IDs are now available via separate functions
- added
pressed,justPressed,justReleasedandanalog - removed the dpad properties, they are now mapped to buttons
- added a
connectedflag - added
deadZoneMode, circular deadzones are now supported (#1177) anyButton()now has astateargument- added support for WiiMote (#1563) and PS Vita (#1714) controllers
FlxKeyboard:- added
preventDefaultKeysfor HTML5 - added an
abstractenum for key names (FlxG.keys.anyPressed([A, LEFT])is now possible) - the any-functions now take an Array of
FlxKeys instead of Array of Strings (string names are still supported) - removed
FlxKey.NUMPADSLASH(SLASHhas the same keycode)
- added
FlxMouseEventManager:
FlxAngle:FlxMath:bound()andinBounds()now acceptnullas values, meaning "unbounded in that direction" (#1070)wrapValue()->wrap(), replaced theamountargument with a lower bound- changed
MIN_VALUEandMAX_VALUEtoMIN_VALUE_FLOATandMAX_VALUE_FLOAT, addedMAX_VALUE_INT(#1148) - added
sinh()(#1309) - added
fastSin()andfastCos()(#1534) - optimized
isEven()andisOdd() - added
remapToRange()(#1633) getDistance()->FlxPoint#distanceTo()(#1716)
FlxPoint:inFlxRect()->inRect
FlxRandom:FlxRandomfunctions are now member functions, callFlxG.randominstead ofFlxRandom(#1201)- exposed
currentSeedas an external representation ofinternalSeed(#1138) - removed
intRanged()andfloatRanged(),int()andfloat()now provide optional ranges (#1138) - removed
weightedGetObject(),getObject()now has an optionalweightsparameter (#1148) - removed
colorExt(), try usingFlxColorto get finer control over randomly-generated colors (#1158) - updated random number generation equation to avoid inconsistent results across platforms; may break recordings made in 3.x! (#1148)
- can now create an instance of
FlxRandomto create deterministic pseudorandom numbers independently of HaxeFlixel core functions (e.g. particle emitters) chanceRoll()->bool()- added
floatNormal()(#1251)
FlxRect:- added
weak(),putWeak(),ceil()andfloor() containsFlxPoint()->containsPoint()
- added
FlxVelocity:accelerateTowards*()-functions now only take a singlemaxSpeedargument (instead ofxandy)
FlxAssets:cacheSounds()->FlxG.sound.cacheAll()(#1097)- OpenFL live asset reloading is now supported (native targets)
FlxSound
Console:- refactored the console to be powered by hscript (#1637)
- added auto-completion
- fixed focus on native targets
BaseScaleMode: addedhorizontalAlignandverticalAlignRatioScaleMode#new(): added afillScreenoption- The
FlxCamerasprite is now scaled (instead ofFlxGame)
- Rewrote
FlxBitmapTextFieldand renamed it toFlxBitmapText FlxText:- added an
abstractenum for alignment (text.alignment = CENTER;is now possible) fontnow supports font assets not embedded viaopenfl.Assets(i.e.@:font)font = null;now resets it to the default font- fixed an issue where the value returned by
get_font()wouldn't be the same as the one passed intoset_font() - added
applyMarkup()(#1229) - fixed issues with
borderStyleandFlxTextFormaton native - added
stampOnAtlas()method, which stamps text graphic on provided atlas and loads result node's graphic into this text object - retrieving text dimensions (
widthandheight) can now trigger text graphic regeneration (if any changes led to a dimensions change) to report the correct values borderColornow supports alpha values / ARBG colors- fixed
setFormat()resettingalignment(#1629)
- added an
- Moved
FlxTextFieldto flixel-addons
FlxBaseTilemap: addedsetRect()method which allows you to set a rectangular region of tiles to the provided indexFlxTile: addedframevariable which holds tile's "graphic"FlxTileblock:- added
setTile()andtileSprite(#1300) - added
loadFrames()method which allows you to use frames collection as a source of graphic
- added
FlxTilemap:- separated rendering and logic, adding
FlxBaseTilemap(#1101) - added
getTileIndexByCoords()andgetTileCoordsByIndex() - fixed a bug in
overlapsAt() loadMap()now treats tile indices with negative values in the map data as 0 (#1166)- added
blend,alphaandcolor - added
framesproperty, so you can change tilemap's graphic without reloading map loadMap()acceptsFlxGraphic,String,FlxTileFramesorBitmapDataasTileGraphicnowloadMap()has been split intoloadMapFromCSV()andloadMapFromArray()(#1292)- added
loadMapFrom2DArray()(#1292) - added
offsetproperty (#1444) allowCollisionsnow sets theallowCollisionsproperty of each tile- fixed
ray()not detecting a collision with perfectly diagonal start and end points (#1617) findPath(): replacedWideDiagonalargument withDiagonalPolicy(#1659)
- separated rendering and logic, adding
FlxTweencompletecallback parameter in options is now calledonComplete. Its type,CompleteCallback, is now calledTweenCallback. (#1273)- added
onStartandonUpdatecallback parameters in options (#1273) - fixed
active = false;not doing anything duringonComplete()ofLOOPINGorPINGPONGtweens - angle tween sets sprite's angle on start now
- added
then()andwait()for chaining (#1614) - made
start()public (#1692) activeis now only true when in progress
- Motion tweens:
- the original
FlxObject#immovablevalue is now restored after completion
- the original
FlxAnalogandFlxVirtualPadnow have their own atlas to reduce draw callsFlxTypedButton:- now implements
IFlxInput, addingpressed,justPressed,releasedandjustReleased - now uses animations for statuses instead of setting
frameIndexdirectly for more flexibility (removesallowHighlightOnMobile, addsstatusAnimations) - disabling the highlight frame is now tied to
#if FLX_NO_MOUSEinstead of#if mobile labelAlphas[FlxButton.HIGHLIGHT]is now 1 forFLX_NO_MOUSEset_label()now updates the label position- added
maxInputMovement - added
mouseButtonsto control which mouse buttons can trigger the button labelis no longer initialized if the text passed tonew()isnull- added
stampOnAtlas()for draw call optimization
- now implements
- Added
FlxSpriteButton
FlxArrayUtil:- removed
indexOf() - moved randomness-related to
FlxRandom(#1138)
- removed
FlxBitmapDataUtil:- renamed from
FlxBitmapUtil(#1118) - added
replaceColor()(used byFlxSprite#replaceColor()) - added
addSpacing() - added
generateRotations()
- renamed from
FlxColor:FlxPath:- the original
FlxObject#immovablevalue is now restored after completion activeis now only true when in progress- fixed velocity being set even if the object position matches the current node
- exposed
nodeIndexas a read-only property - removed the
Objectargument fromstart(), now the path has to be assigned toFlxObject#path(#1712)
- the original
FlxPool:- improved pooling performance (#1189)
FlxSignal:- fixed a bug that occurred when calling
remove()during a dispatch (#1420)
- fixed a bug that occurred when calling
FlxSpriteUtil:drawLine(): default settings forlineStyleare now thickness 1 and color whitefadeIn()andfadeOut()now tweenalphainstead ofcolor- added
drawCurve()(#1263) - removed
FillStyle, the same functionality is now covered byFillColor - moved
screenCenter()toFlxObjectand changed the the arguments from two booleans to theFlxAxesenum (#1541)
FlxTimer:complete->onComplete(#1275)activeis now only true when in progress
- Added an initialization macro that aborts compilation with helpful errors when:
- targeting older SWF versions with invalid defines
- using an unsupported Haxe version
- Flixel sound assets are now being embedded via
embed="true"