Skip to content
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

chore: Update dependency excalibur to v0.28.6 #482

Merged
merged 1 commit into from
Jan 15, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 15, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
excalibur 0.28.1 -> 0.28.6 age adoption passing confidence

Release Notes

excaliburjs/Excalibur (excalibur)

v0.28.6

Compare Source

Breaking Changes
Deprecated
Added
  • Added arbitrary data storage in isometric tiles, ex.IsometricTile.data this brings it into feature parity with normal ex.Tile.data
  • New graphics events and hooks that allow you to hook into graphics drawing before or after any drawing transformations have been applied
    • Actor.graphics.onPreTransformDraw with the corresponding event .on('pretransformdraw')
    • Actor.graphics.onPostTransformDraw with the corresponding event .on('posttransformdraw')
  • New property and methods overloads to ex.Animation
    • ex.Animation.currentFrameTimeLeft will return the current time in milliseconds left in the current
    • ex.Animation.goToFrame(frameNumber: number, duration?: number) now accepts an optional duration for the target frame
    • ex.Animation.speed can set the speed multiplier on an animation 1 = 1x speed, 2 = 2x speed.
Fixed
  • Fixed issue where nesting ex.CompositeColliders inside one another would cause a crash on collision
  • Fixed issue where ex.CompositeColliders did not respect collider offset
  • Fixed issue where parenting a entity with fixed updates on would cause a drawing flicker, transform interpolation now is aware of changing parents so it interpolates drawing continuously to prevent any flickering
  • ex.Animation.reset() did not properly reset all internal state
Updates
Changed

v0.28.5

Compare Source

Breaking Changes
Deprecated
Added
  • Added collision lifecycle convenience methods to Actor, you can now override the following events
    class MyActor extends ex.Actor {
      constructor(args: ex.ActorArgs) {
        super(args);
      }
      onPreCollisionResolve(self: ex.Collider, other: ex.Collider, side: ex.Side, contact: ex.CollisionContact): void {
        
      }
      onPostCollisionResolve(self: ex.Collider, other: ex.Collider, side: ex.Side, contact: ex.CollisionContact): void {
        
      }
      onCollisionStart(self: ex.Collider, other: ex.Collider, side: ex.Side, contact: ex.CollisionContact): void {
        
      }
      onCollisionEnd(self: ex.Collider, other: ex.Collider): void {
        
      }
    }
  • Added Scene specific background color
  • Added ability to apply draw offset to ex.IsometricMap and ex.Tilemap
  • Added visibility and opacity to ex.IsometricMap
  • Added base elevation for ex.IsometricMap so multiple maps can sort correctly
  • Added method to suppress convex polygon warning for library code usage
  • Added more configuration options to debug draw flags, including isometric map controls
  • Added actionstart and actioncomplete events to the Actor that are fired when an action starts and completes
Fixed
  • Fixed issue where the Camera wasn't interpolated during fixed update, which is very noticeable when using camera locked strategies
  • Fixed issue where IsometricMap would debug draw collision geometry on non-solid tiles
  • Fixed issue where CompositeCollider offset was undefined if not set
  • Fixed Actor so it receives predraw/postdraw events per the advertised strongly typed events
  • Fixed infinite loop 💣 when certain degenerate polygons were attempted to be triangulated!
  • Fixed incorrect type on ex.Tilemap.getTileByPoint()
  • Fixed TS type on GraphicsComponent and allow .material to be null to unset, current workaround is using .material = null as any
Updates
Changed
  • All debug geometry settings are controlled from debug.collider now
  • Removed dunder prefixed parameters from overrideable methods
  • Tweaked debug draw to be less noisy by default
  • Removed dependency on ex.IsometricMap in the ex.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
  • Ability to configure TileMap debug drawing with the ex.Engine.debug.tilemap property.
  • Materials have a new convenience method for updating uniforms
    game.input.pointers.primary.on('move', evt => {
      heartActor.pos = evt.worldPos;
      swirlMaterial.update(shader => {
        shader.trySetUniformFloatVector('iMouse', evt.worldPos);
      });
    });
Fixed
  • Fixed issue where TileMap solid tiles tile packing algorithm would incorrectly merge tiles in certain situations.
  • Sprite tint was not respected when supplied in the constructor, this has been fixed!
  • Adjusted the FontCache font timeout to 400 ms and makes it configurable as a static FontCache.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 call
    • a_screenuv - The vertex attribute corresponding to the screen uv relative to the current graphic
    • v_screenuv - The fragment varying corresponding to the screen uv relative to the current graphic
  • Materials 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
  • TileMap debug draw is now less verbose by default to save draw cycles when toggling to debug

v0.28.3

Compare Source

Breaking Changes
Deprecated
Added
  • Added new feature to collision group raycasting, directly provide a collisionMask that you want to search for.
const playerGroup = ex.CollisionGroupManager.create('playerGroup');
const notPlayersMask = ~playersGroup.category;
const hits = engine.currentScene.physics.rayCast(
  new ex.Ray(player.pos, playerDir),
  {
    maxDistance: playerSightDistance,
    // Search for all categories that match the mask
    collisionMask: notPlayers,
    searchAllColliders: false
  });
Fixed
  • Fixed issue where rendering multiple materials at once would crash the renderer
  • Fixed issue where raycasting with more complex collision groups was not working as expected
Updates
Changed

v0.28.2

Compare Source

Breaking Changes
Deprecated
Added
  • Added ex.Engine.version to report the current excalibur version build string
  • Added new ex.Screen.events
    • screen.events.on('resize', (evt) => ) Will emit when the screen is resized
    • screen.events.on('fullscreen', (evt) => ) Will emit when the screen is changed into browser fullscreen mode
    • screen.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
  • Fixed issue where removing handlers by function reference only removed the first registered one
  • Fixed issue where play button was hidden when going fullscreen mode
  • Fixed issue where screen resizing caused artifacts on the loading screen
  • Fixed bug in useCanvas2DFallback() where antialiasing settings could be lost
  • Fixed bug in useCanvas2DFallback() where opacity was not respected in `save
  • Fixed typo in trigger event signature entertrigger should have been enter
  • Fixed typo in trigger event signature exittrigger should have been exit
  • Fixed typo in animation event signature ended should have been end
  • Fixed issue where some excalibur clear() implementations modified the collection they were iterating over
  • Fixed async issue where sound could not be stopped if stop()/start() were called in rapid succession
  • Fixed issue with input mapper where keyboard.wasPressed(...) did not fire
  • Fixed issue issue where TileMaps would not properly draw Tiles when setup in screen space coordinates
  • Fixed issue where the ex.Line graphics bounds were incorrect causing erroneous offscreen culling
  • Fixed event type signature on ex.Engine.input.pointers.primary.on('wheel', ...) for wheel events
Updates
  • Improved performance in TileMaps when drawing tiles using QuadTree data structure
Changed
  • Changed the canvas 2d fallback default, no longer is enabled by default. Developers must opt in.
  • Allow entity names to be set after construction! Entities will now default to a name "Entity#1234" followed by an id.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot merged commit d6992b4 into main Jan 15, 2024
2 checks passed
@renovate renovate bot deleted the renovate/excalibur-0.x branch January 15, 2024 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants