-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(deps): update dependency excalibur to v0.30.2 (main) #70
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/main-excalibur-0.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
February 6, 2022 00:59
d7a5fd5
to
e7b2eb7
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.25.2 (main)
fix(deps): update dependency excalibur to v0.25.3 (main)
Feb 6, 2022
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
April 22, 2022 04:41
e7b2eb7
to
3c235c0
Compare
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
May 21, 2022 01:32
3c235c0
to
947c0d4
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.25.3 (main)
fix(deps): update dependency excalibur to v0.26.0 (main)
May 21, 2022
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
July 9, 2022 03:32
947c0d4
to
51445d2
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.26.0 (main)
fix(deps): update dependency excalibur to v0.27.0 (main)
Jul 9, 2022
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
October 31, 2022 23:18
51445d2
to
91c735b
Compare
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
January 27, 2023 02:41
91c735b
to
546cc46
Compare
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
August 11, 2023 03:33
546cc46
to
0d490cd
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.27.0 (main)
fix(deps): update dependency excalibur to v0.28.1 (main)
Aug 11, 2023
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 2, 2023 03:11
0d490cd
to
c74bb55
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.1 (main)
fix(deps): update dependency excalibur to v0.28.2 (main)
Dec 2, 2023
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 12, 2023 18:45
c74bb55
to
4f8b670
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.2 (main)
fix(deps): update dependency excalibur to v0.28.3 (main)
Dec 12, 2023
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 22, 2023 06:02
4f8b670
to
594c926
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.3 (main)
fix(deps): update dependency excalibur to v0.28.4 (main)
Dec 22, 2023
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
January 6, 2024 05:16
594c926
to
ea55c2f
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.4 (main)
fix(deps): update dependency excalibur to v0.28.5 (main)
Jan 6, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
January 13, 2024 17:04
ea55c2f
to
aa6d4a0
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.5 (main)
fix(deps): update dependency excalibur to v0.28.6 (main)
Jan 13, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
January 27, 2024 02:22
aa6d4a0
to
31732f8
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.6 (main)
fix(deps): update dependency excalibur to v0.28.7 (main)
Jan 27, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
February 20, 2024 15:08
31732f8
to
5e84264
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.28.7 (main)
fix(deps): update dependency excalibur to v0.29.0 (main)
Feb 20, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
February 23, 2024 17:06
5e84264
to
13186bc
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.29.0 (main)
fix(deps): update dependency excalibur to v0.29.1 (main)
Feb 23, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
April 7, 2024 21:36
13186bc
to
cebfa0a
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.29.1 (main)
fix(deps): update dependency excalibur to v0.29.2 (main)
Apr 7, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
May 5, 2024 19:19
cebfa0a
to
f69d89f
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.29.2 (main)
fix(deps): update dependency excalibur to v0.29.3 (main)
May 5, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
September 11, 2024 22:36
f69d89f
to
5c30532
Compare
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 13, 2024 07:08
5c30532
to
9b68633
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.29.3 (main)
fix(deps): update dependency excalibur to v0.30.1 (main)
Dec 13, 2024
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 20, 2024 05:35
9b68633
to
82c5cb4
Compare
renovate
bot
force-pushed
the
renovate/main-excalibur-0.x
branch
from
December 26, 2024 04:30
82c5cb4
to
edd49aa
Compare
renovate
bot
changed the title
fix(deps): update dependency excalibur to v0.30.1 (main)
fix(deps): update dependency excalibur to v0.30.2 (main)
Dec 26, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.24.4
->0.30.2
Release Notes
excaliburjs/Excalibur (excalibur)
v0.30.2
: Excalibur v0.30.2 ReleaseCompare Source
Added
Fixed
Full Changelog: excaliburjs/Excalibur@v0.30.1...v0.30.2
v0.30.1
: Excalibur v0.30.1 ReleaseCompare Source
Read https://github.com/excaliburjs/Excalibur/releases/tag/v0.30.0 for more!
Full Changelog: excaliburjs/Excalibur@v0.30.0...v0.30.1
v0.30.0
Compare Source
Breaking Changes
ex.Engine.goto(...)
removed, useex.Engine.goToScene(...)
ex.GraphicsComponent.show(...)
removed, useex.GraphicsComponent.use(...)
ex.EventDispatcher
removed, useex.EventEmitter
instead.ex.Engine.getAntialiasing()
andex.Engine.setAntialiasing(bool)
have been removed, use the engine constructor parameter to configurenew ex.Engine({antialiasing: true})
or set on the screenengine.screen.antialiasing = true
ex.Physics.*
configuration statics removed, use the engine constructor parameter to configurenew ex.Engine({physics: ...})
ex.Input.*
namespace removed and types promoted toex.*
ex.Configurable
function type used for doing dark magic to allow types to be configured by instances of that same type 💥ex.Collider
types, this previously would sometimes emit anex.Entity
if you attached to theex.ColliderComponent
ex.PreCollisionEvent
ex.PostCollisionEvent
ex.ContactStartEvent
ex.ContactEndEvent
ex.CollisionPreSolveEvent
ex.CollisionPostSolveEvent
ex.CollisionStartEvent
ex.CollisionEndEvent
System.priority
is refactored to be static.ex.Timer
now only takes the option bag constructorPreDrawEvent
,PostDrawEvent
,PreTransformDrawEvent
,PostTransformDrawEvent
,PreUpdateEvent
,PostUpdateEvent
now useelapsedMs
instead ofdelta
for the elapsed milliseconds between the last frame.460696Trigger
API has been slightly changed:action
now returns the triggering entity:(entity: Entity) => void
target
now works in conjunction withfilter
instead of overwriting it.EnterTriggerEvent
andExitTriggerEvent
now contain aentity: Entity
property instead ofactor: Actor
ex.Vector.normalize()
return zero-vector ((0,0)
) instead of(0,1)
when normalizing a vector with a magnitude of 0ex.Gif
transparent color constructor arg is removed in favor of the built in Gif file mechanismex.Particle
andex.ParticleEmitter
now have an API that looks like modern Excalibur APIsparticleSprite
is renamed tographic
particleRotationalVelocity
is renamed toangularVelocity
fadeFlag
is renamed tofade
acceleration
is renamed toacc
particleLife
is renamed tolife
minVel
is renamed tominSpeed
maxVel
is renamed tomaxSpeed
ParticleEmitter
now takes a separateparticle: ParticleConfig
parameter to disambiguate between particles parameters and emitter onesDeprecated
easeTo(...)
andeaseBy(...)
actions marked deprecated, usemoveTo({easing: ...})
insteadVector.size
is deprecated, useVector.magnitude
insteadScreenShader
v_texcoord is deprecated, use v_uv. This is changed to match the materials shader APIactor.getGlobalPos()
- useactor.globalPos
insteadactor.getGlobalRotation()
- useactor.globalRotation
insteadactor.getGlobalScale()
- useactor.globalScale
insteadAdded
ex.SpriteSheet.getTiledSprite(...)
to help pulling tiling sprites out of a sprite sheetengine.screen.drawWidth/drawHeight
withengine.screen.width/height
;ex.TiledSprite
andex.TiledAnimation
for Tiling Sprites and Animationsex.ImageSource.fromHtmlCanvasElement(image: HTMLCanvasElement, options?: ImageSourceOptions)
maxParticles
is new for GPU particles.ex.assert()
that can be used to throw in development buildseasing
option tomoveTo(...)
ex.lerpAngle(startAngleRadians: number, endAngleRadians: number, rotationType: RotationType, time: number): number
in order to lerp angles between each otherpointerenter
andpointerleave
events toex.TileMap
tiles!pointerenter
andpointerleave
events toex.IsometricMap
tiles!ex.BezierCurve
type for drawing cubic bezier curvesactor.actions.curveTo(...)
andactor.actions.curveBy(...)
ex.lerp(...)
,ex.inverseLerp(...)
, andex.remap(...)
for numbersex.lerpVector(...)
,ex.inverseLerpVector(...)
, andex.remapVector(...)
forex.Vector
actor.actions.flash(...)
Action
to flash a color for a period of timeex.NineSlice
Graphic
for creating arbitrarily resizable rectangular regions, useful for creating UI, backgrounds, and other resizable elements.ex.GraphicsComponent.forceOnScreen
ex.Slide
scene transition, which can slide a screen shot of the current screen:up
,down
,left
, orright
. Optionally you can add anex.EasingFunction
, by defaultex.EasingFunctions.Linear
ex.ImageSource.fromSvgString('<svg>...</svg>')
, note images produced this way still must be loaded..toSprite(options:? SpriteOptions)
ex.Engine
constructor had a newenableCanvasContextMenu
arg that can be used to enable the right click context menu, by default the context menu is disabled which is what most games seem to want.ex.Actor
inherits opacity of parentsex.Engine.timeScale
values of 0 are now supportedex.Trigger
now supports all valid actor constructor parameters fromex.ActorArgs
in addition toex.TriggerOptions
ex.Gif
can now handle default embedded GIF frame timingsex.Screen.worldToPagePixelRatio
API that will return the ratio between excalibur pixels and the HTML pixels.--ex-pixel-ratio
ex.coroutine(...)
ex.CoroutineInstance
is returned (still awaitable)ex.coroutine(function*(){...}, {autostart: false})
.start()
and.cancel()
coroutinesactor.oldGlobalPos
returns the globalPosition from the previous frameRentalPool
type for sparse object poolingex.SparseHashGridCollisionProcessor
which is a simpler (and faster) implementation for broadphase pair generation. This works by bucketing colliders into uniform sized square buckets and using that to generate pairs.contact.bias(collider)
. This adjusts the contact so that the given collider is colliderA, and is helpful if youare doing mtv adjustments during precollision.
angleBetween
medhod added to Vector class, to find the angle for which a vector needs to be rotated to match some given angle:Fixed
ex.ParticleEmitter.clearParticles()
did not worklastWorldPos
was not updated when the currentCamera
movedcancel()
'd events still bubbled to the top level input handlersex.Engine.screenshot()
images may not yet be loaded in time for use inex.Transition
sblockInput: true
on scene transition only blocked input events, not accessors likewasHeld(...)
etc.RendererPlugin
because the type was not exposedex.Fade
sometimes would not complete depending on the elapsed timeex.PolygonColliders
would get trapped in infinite loop for degenerate polygons (< 3 vertices)ex.Label
where setting the opacity of caused a multiplicative opacity effect when actor opacity setex.Loader
would have a low res logo on small configured resolution sizesex.Gif
was not parsing certain binary formats correctlyex.Loader
was removing pixelRatio overrideex.RasterOptions
, it now extendsex.GraphicsOptions
which is the underlying truthfilter
would not be called in hit orderex.SparseHashGridCollisionProcessor
strategyex.Engine.start('scene', { loader })
ex.Scene.onPreLoad(loader: ex.DefaultLoader)
would lock up the engine if there was an empty loaderex.Scene
scoped input events would preserve state and get stuck causing issues when switching back to the original scene.ex.Keys
including the reportedex.Keys.Tab
ex.Graphic.tint
ex.SpriteFont
did not respect scale when measuring textex.GraphicsSystem
would crash if a parent entity did not have aex.TransformComponent
canonicalizeAngle
, don't allow the result to be 2PI, now it will be in semi-open range [0..2PI)Actions
andMath
packages by movingRotationType
intoMath
package.Updates
Remove units by default from parameters
Perf improve PolygonCollider.contains(...) perf by keeping geometry tests in local space.
Perf improvement to image rendering! with ImageRendererV2! Roughly doubles the performance of image rendering
Perf improvement to retrieving components with
ex.Entity.get()
which widely improves engine performanceNon-breaking parameters that reference
delta
toelapsedMs
to better communicate intent and unitsPerf improvements to
ex.ParticleEmitter
Perf improvements to collision narrowphase and solver steps
SparseHashGridCollisionProcessor
which reduces pairs passed to narrowphasePerf Side.fromDirection(direction: Vector): Side - thanks @ikudrickiy!
Perf improvements to PointerSystem by using new spatial hash grid data structure
Perf improvements: Hot path allocations
Perf improvements to
CircleCollider
bounds calculationsSwitch from iterators to c-style loops which bring more speed
Entity
component iterationEntityManager
iterationEventEmitter
sGraphicsSystem
entity iterationPointerSystem
entity iterationPerf improvements to
GraphicsGroup
by reducing per draw allocations in bounds calculationsChanged
v0.29.3
Compare Source
Breaking Changes
ex.Action
now requires a uniqueid
propertyglobalZ
property on the Actor or TransformComponent.Deprecated
Added
id
propertyglobalZ
property to Actor and TransformComponentFixed
ImageRenderer
ex.Loader.suppressPlayButton = true
did not work. Only using theex.Engine({suppressPlayButton: true})
workedUpdates
Changed
ex.Vector.toAngle()
now returns angles from[0 - 2 PI)
v0.29.2
Compare Source
Breaking Changes
Deprecated
Added
ex.ImageSource
with the newex.ImageWrapping.Clamp
(default),ex.ImageWrapping.Repeat
, andex.ImageWrapping.Mirror
.ex.TileMap
's and individualex.Tile
'sex.IsometricMap
's and individualex.IsometricTile
'suseAnchor
parameter toex.GraphicsGroup
to allow users to opt out of anchor based positioning, if set to false all graphics memberswill be positioned with the top left of the graphic at the actor's position.
ex.coroutine
overloads, you need not pass engine as long as you are in an Excalibur lifecycleex.coroutine
overloads, you need not pass engine as long as you are in an Excalibur lifecycleex.coroutine
timing parameter to schedule when they are updatedGraphicsComponent.bounds
which will report the world bounds of the graphic if applicable!ex.Vector.EQUALS_EPSILON
to configure theex.Vector.equals(v)
thresholdFixed
ex.TileMap
culling did not work properly when using fixed updates lower than refresh rateex.FontSource().toFont(options)
ex.Loader
start button position when using CSS transformsex.Loader
DisplayMode.FillContainer
DisplayMode.FitContainer
DisplayMode.FitContainerAndFill
DisplayMode.FitContainerAndZoom
ex.ParticleEmitter
z-index did not propagate to particlestransform.scale = v
andtransform.scale.setTo(x, y)
ex.coroutine
TypeScript type to include yieldingundefined
Color.toHex()
produced invalid strings if the channel values are negative or fractional, or if the alpha channel was different than 1Updates
Changed
ex.Loader
viewport/resolution internal configurationv0.29.1
: Excalibur v0.29.1 ReleaseCompare Source
Small release to fix transition bug!
What's Changed
Full Changelog: excaliburjs/Excalibur@v0.29.0...v0.29.1
v0.29.0
Compare Source
Breaking Changes
ex.Entity.tags
is now a javascriptSet
instead of anArray
this will affect methods that inspected tags as an array before.ex.Engine.goToScene
's second argument now takesGoToOptions
instead of just scene activation dataex.Physics
static is marked as deprecated, configuring these setting will move to theex.Engine({...})
constructorChanged the
Font
default base align toTop
this is more in line with user expectations. This does change the default rendering to the top left corner of the font instead of the bottom left.Remove confusing Graphics Layering from
ex.GraphicsComponent
, recommend we use theex.GraphicsGroup
to manage this behaviorex.GraphicsGroup
to be consistent and useoffset
instead ofpos
for graphics relative positioningECS implementation has been updated to remove the "stringly" typed nature of components & systems
class MySystem extends System<'ex.component'>
becomesclass MySystem extends System
class MyComponent extends Component<'ex.component'>
becomesclass MyComponent extends Component
ex.System.update(elapsedMs: number)
is only passed an elapsed timePrevent people from inadvertently overriding
update()
inex.Scene
andex.Actor
. This method can still be overridden with the//@​ts-ignore
pragmaex.SpriteSheet.getSprite(...)
will now throw on invalid sprite coordinates, this is likely always an error and a warning is inappropriate. This also has the side benefit that you will always get a definite type out of the method.Deprecated
Added
Added new
ex.Tilemap.getOnScreenTiles()
method to help users access onscreen tiles for logic or other concerns.Added
ex.FontSource
resource typeFont options can be defined either at the source or at the
toFont()
call. If defined in both,toFont(options)
willoverride the options in the
FontSource
.Added fullscreen after load feature! You can optionally provide a
fullscreenContainer
with a string id or an instance of theHTMLElement
Added new
ex.Debug
static for more convenient debug drawing where you might not have a graphics context accessible to you. This works by batching up all the debug draw requests and flushing them during the debug draw step.ex.Debug.drawRay(ray: Ray, options?: { distance?: number, color?: Color })
ex.Debug.drawBounds(boundingBox: BoundingBox, options?: { color?: Color })
ex.Debug.drawCircle(center: Vector, radius: number, options?: ...)
ex.Debug.drawPolygon(points: Vector[], options?: { color?: Color })
ex.Debug.drawText(text: string, pos: Vector)
ex.Debug.drawLine(start: Vector, end: Vector, options?: LineGraphicsOptions)
ex.Debug.drawLines(points: Vector[], options?: LineGraphicsOptions)
drawPoint(point: Vector, options?: PointGraphicsOptions)
Experimental
ex.coroutine
for running code that changes over time, useful for modeling complex animation code. Coroutines return a promise when they are complete. You can think of eachyield
as a frame.Added additional options in rayCast options
ignoreCollisionGroupAll: boolean
will ignore testing against anything with theCollisionGroup.All
which is the default for allfilter: (hit: RayCastHit) => boolean
will allow people to do arbitrary filtering on raycast results, this runs very last after all other collision group/collision mask decisions have been madeAdded additional data
side
andlastContact
toonCollisionEnd
andcollisionend
eventsAdded configuration option to
ex.PhysicsConfig
to configure composite collider onCollisionStart/End behaviorAdded configuration option to
ex.TileMap({ meshingLookBehind: Infinity })
which allows users to configure how far the TileMap looks behind for matching colliders (default is 10).Added Arcade Collision Solver bias to help mitigate seams in geometry that can cause problems for certain games.
ex.ContactSolveBias.None
No bias, current default behavior collisions are solved in the default distance orderex.ContactSolveBias.VerticalFirst
Vertical collisions are solved first (useful for platformers with up/down gravity)ex.ContactSolveBias.HorizontalFirst
Horizontal collisions are solved first (useful for games with left/right predominant forces)Added Graphics
opacity
on the Actor constructornew ex.Actor({opacity: .5})
Added Graphics pixel
offset
on the Actor constructornew ex.Actor({offset: ex.vec(-15, -15)})
Added new
new ex.Engine({uvPadding: .25})
option to allow users using texture atlases in their sprite sheets to configure this to avoid texture bleed. This can happen if you're sampling from images meant for pixel artAdded new antialias settings for pixel art! This allows for smooth subpixel rendering of pixel art without shimmer/fat-pixel artifacts.
new ex.Engine({pixelArt: true})
to opt in to all the right defaults to make this work!Added new antialias configuration options to deeply configure how Excalibur does any antialiasing, or you can provide
antialiasing: true
/antialiasing: false
to use the old defaults.Added new
lineHeight
property onSpriteFont
andFont
to manually adjust the line height when rendering text.Added missing dual of
ex.GraphicsComponent.add()
, you can nowex.GraphicsComponent.remove(name)
;Added additional options to
ex.Animation.fromSpriteSheetCoordinates()
you can now pass any validex.GraphicOptions
to influence the sprite per frameAdded additional options to
ex.SpriteSheet.getSprite(..., options)
. You can pass any validex.GraphicOptions
to modify a copy of the sprite from the spritesheet.New simplified way to query entities
ex.World.query([MyComponentA, MyComponentB])
New way to query for tags on entities
ex.World.queryTags(['A', 'B'])
Systems can be added as a constructor to a world, if they are the world will construct and pass a world instance to them
Added
RayCastHit
as part of every raycast not just the physics world query!Added the ability to log a message once to all log levels
debugOnce
infoOnce
warnOnce
errorOnce
fatalOnce
Added ability to load additional images into
ex.Material
s!Scene Transition & Loader API, this gives you the ability to have first class support for individual scene resource loading and scene transitions.
Add or remove scenes by constructor
Add loaders by constructor
New
ex.DefaultLoader
type that allows for easier custom loader creationNew
ex.Transition
type for building custom transitionsNew scene lifecycle to allow scene specific resource loading
onTransition(direction: "in" | "out") {...}
onPreLoad(loader: DefaultLoader) {...}
New async
goToScene()
API that allows overriding loaders/transitions between scenesScenes now can have
async onInitialize
andasync onActivate
!New scenes director API that allows upfront definition of scenes/transitions/loaders
Example:
Defining scenes upfront
Fixed
ex.TileMap
finding onscreen tiles is now BLAZINGLY FAST thanks to a suggestion from Kristen Maeyvn in the Discord.ex.TileMap.getTileByPoint()
did not take into account the rotation/scale of the tilemap.pixelRatio
on low res games to upscale'together'
, this means the whole composite collider is treated as 1 collider for onCollisionStart/onCollisionEnd. Now you can configure aseparate
which will fire onCollisionStart/onCollisionEnd for every separate collider included in the composite (useful if you are building levels or things with gaps that you need to disambiguate). You can also configure this on a per composite level to mix and matchCompositeCollider.compositeStrategy
Components
and.get(Builtin)
will return the correct subtype.v0.28.7
Compare Source
Breaking Changes
Deprecated
Added
Fixed
Updates
Changed
ex.PointerComponent.useGraphicsBounds = true
, users expect this to just work by default.ex.Material
API, if a material was created with a constructor it was lazily initialized. However this causes confusion because now the two ways of creating a material behave differently (the shader is not available immediately on the lazy version). Nowex.Material
requires the GL graphics context to make sure it always works the same.ex.Material
API, if a material was created with a constructor it was lazily initialized. However this causes confusion because now the two ways of creating a material behave differently (the shader is not available immediately on the lazy version). Nowex.Material
requires the GL graphics context to make sure it always works the same.v0.28.6
Compare Source
Breaking Changes
Deprecated
Added
ex.IsometricTile.data
this brings it into feature parity with normalex.Tile.data
Actor.graphics.onPreTransformDraw
with the corresponding event.on('pretransformdraw')
Actor.graphics.onPostTransformDraw
with the corresponding event.on('posttransformdraw')
ex.Animation
ex.Animation.currentFrameTimeLeft
will return the current time in milliseconds left in the currentex.Animation.goToFrame(frameNumber: number, duration?: number)
now accepts an optional duration for the target frameex.Animation.speed
can set the speed multiplier on an animation 1 = 1x speed, 2 = 2x speed.Fixed
ex.CompositeColliders
inside one another would cause a crash on collisionex.CompositeColliders
did not respect collider offsetex.Animation.reset()
did not properly reset all internal stateUpdates
Changed
v0.28.5
Compare Source
Breaking Changes
Deprecated
Added
Actor
, you can now override the following eventsex.IsometricMap
andex.Tilemap
visibility
andopacity
toex.IsometricMap
ex.IsometricMap
so multiple maps can sort correctlyactionstart
andactioncomplete
events to the Actor that are fired when an action starts and completesFixed
Camera
wasn't interpolated during fixed update, which is very noticeable when using camera locked strategiesIsometricMap
would debug draw collision geometry on non-solid tilesCompositeCollider
offset was undefined if not setpredraw
/postdraw
events per the advertised strongly typed eventsex.Tilemap.getTileByPoint()
GraphicsComponent
and allow.material
to be null to unset, current workaround is using.material = null as any
Updates
Changed
ex.IsometricMap
in theex.IsometricEntityComponent
, this allows for greater flexibility when using the component when a map may not be known or constructed.v0.28.4
Compare Source
Breaking Changes
Deprecated
Added
ex.Engine.debug.tilemap
property.Fixed
FontCache
font timeout to 400 ms and makes it configurable as a staticFontCache.FONT_TIMEOUT
. This is to help prevent a downward spiral on mobile devices that might take a long while to render a few starting frames causing the cache to repeatedly clear and never recover.Updates
Materials can now reference a new uniform for the screen texture and a screen uv attribute in their fragment shaders
u_screen_texture
- This is the texture of the screen right before the material draw calla_screenuv
- The vertex attribute corresponding to the screen uv relative to the current graphicv_screenuv
- The fragment varying corresponding to the screen uv relative to the current graphicMaterials can now reference the current time in their shaders
u_time_ms
- This is the ms since page navigation (performance.now() under the hood)Changed
v0.28.3
Compare Source
Breaking Changes
Deprecated
Added
collisionMask
that you want to search for.Fixed
Updates
Changed
v0.28.2
Compare Source
Breaking Changes
Deprecated
Added
ex.Engine.version
to report the current excalibur version build stringex.Screen.events
screen.events.on('resize', (evt) => )
Will emit when the screen is resizedscreen.events.on('fullscreen', (evt) => )
Will emit when the screen is changed into browser fullscreen modescreen.events.on('pixelratio', (evt) => )
Will emit when the screen's pixel ratio changes (moving from a hidpi screen to a non, or vice versa)Fixed
useCanvas2DFallback()
whereantialiasing
settings could be lostuseCanvas2DFallback()
where opacity was not respected in `saveentertrigger
should have beenenter
exittrigger
should have beenexit
ended
should have beenend
clear()
implementations modified the collection they were iterating overstop()
/start()
were called in rapid successionkeyboard.wasPressed(...)
did not fireex.Engine.input.pointers.primary.on('wheel', ...)
for wheel eventsUpdates
Changed
v0.28.1
Compare Source
v0.28.0
Compare Source
Breaking Changes
ex.Class
base class type, this was a common base class for many excalibur types that provided old on/off event functionality. This functionality has been preserved on the types that had it before usingex.EventEmitter
Deprecated
ex.Input.*
import site is deprecated, will be removed in v0.29.0. All the imports are still available onex.
nowisButtonPressed
has been renamed toisButtonHeld
ex.EventDispatcher
is marked deprecated, will eventually be removed in v0.29.0Added
Added new
ex.InputMapper
for mapping multiple input sources into actions! This can be useful for providing accessibility into your games and allowing users to map inputs to different game commands.Added strongly typed events with
ex.EventEmitter<TEventMap>
Added new convenience properties for flipping all the graphics on an Actor
ex.Actor.graphics.flipHorizontal
- Flips all the graphics horizontallyex.Actor.graphics.flipVertical
- Flips all the graphics verticallyAdded new
ex.Scene.transfer(actor)
method for transferring actors between scenes, useful if you want to only have an actor in 1 scene at a time.Added new
ex.Material
to add custom shaders perex.Actor
!ex.Actor.graphics.material = material
property or by setting the material property on theex.ExcaliburGraphicsContext.material = material
with.save()/.restore()
in vec2 v_uv
- UV coordinateuniform sampler2D u_graphic
- The current graphic displayed by the GraphicsComponentuniform vec2 u_resolution
- The current resolution of the screenuniform vec2 u_size;
- The current size of the graphicuniform vec4 u_color
- The current color of the materialuniform float u_opacity
- The current opacity of the graphics contextAdded updates to
ex.PostProcessor
ex.PostProcessor.onUpdate
hook for updating custom uniformsuniform float u_time_ms
- total playback time in millisecondsuniform float u_elapsed_ms
- the elapsed time from the last frame in millisecondsuniform vec2 u_resolution
- the resolution of the canvas (in pixels)Added new helper called
ex.Animation.fromSpriteSheetCoordinates
to help build animations more tersely from SpriteSheetsAdded new
FrameEvent
toex.Animation
which includes the frame index of the current frame!Added new typed
ex.EventEmitter
which will eventually replace the oldex.EventDispatcher
, this gives users a way of strongly typing the possible events that can be emitted using a type map. This is looselyConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.