Commit graph

12913 commits

Author SHA1 Message Date
Ben Richards
377221de35 Create and use WebGLBufferWrapper.
This mostly handles VertexBuffers, but there's an IndexBuffer which
is not internally used that uses the same wrapper.
2024-01-29 16:40:18 +13:00
Ben Richards
842d666ebf Use and document WebGLFramebufferWrapper.
Also tweak WebGLTextureWrapper to have more standard destroyers
in itself and WebGLRenderer.
2024-01-29 14:53:23 +13:00
Ben Richards
68671f0d8a Create WebGLFramebufferWrapper to encapsulate state. 2024-01-29 14:48:28 +13:00
Ben Richards
b591c3674a Document usage of WebGLTextureWrapper in place of WebGLTexture. 2024-01-29 11:47:39 +13:00
Ben Richards
216b7564f6 Update systems to use WebGLTextureWrapper and Uint8Array textures.
This is mostly hooking up gl calls to look inside the wrapper.
A few other things have changed.
Spector metadata is set the new way.
`Frame` changed `glTexture` to a getter, simplifying bookkeeping.
`LightPipeline` and `Plane` use standard methods to create textures.
`WebGLRenderer` maintains a list of wrappers, and automatically
manages it through `createTexture2D` and `deleteTexture`. The update
methods `updateCanvasTexture` and `updateVideoTexture` have been
delegated to the wrapper.
2024-01-29 11:45:12 +13:00
Ben Richards
a8dff1f990 Add Uint8Array texture creation methods. 2024-01-29 11:30:54 +13:00
Ben Richards
3b2aeaf18b Create WebGLTextureWrapper to encapsulate texture state. 2024-01-29 11:08:16 +13:00
biometricPsychography
631dc01f91 docs: clarify overlapOnly param
in Phaser.Physics.Arcade.Collider

Explain that the callback will trigger on any overlap with any part of a tileLayer
2024-01-26 20:48:26 -06:00
Robert Kowalski
2e4b43be4e AnimationFrame duration is the duration of the frame if set, msPerFrame is not added 2024-01-26 13:19:54 -05:00
Robert Kowalski
1bfdcfe922 TileSprite textures are now stored in the TextureManager 2024-01-24 19:54:46 -05:00
Robert Kowalski
6ea40f8b32 Text textures are now stored in the TextureManager 2024-01-24 17:25:42 -05:00
Richard Davey
91b2b0c531 lint fix 2024-01-23 00:46:53 +00:00
Dhashvir Lalla
835d77cb85 fix nineslice hit areas 2024-01-15 05:16:56 +11:00
Richard Davey
95df650f71 The Time.Timeline class didn't show as extending the Event Emitter, or have config as an optional argument in the docs / TS defs. Fix #6673 2024-01-12 18:21:59 +00:00
Richard Davey
786a3933cd Factory.staticBody had the wrong return type in the docs/TS defs. Fix #6693 2024-01-12 18:18:06 +00:00
Richard Davey
2c4df2488b Update SCALE_MODE_CONST.js 2024-01-12 18:08:42 +00:00
Richard Davey
d6d4fc9705
Merge pull request #6703 from rexrainbow/expand-scale-mode
Add EXPAND scale mode
2024-01-12 18:05:39 +00:00
Richard Davey
d137a4782f
Merge pull request #6683 from paxperscientiam/patch-2
Update GetFirst.js
2024-01-12 18:03:57 +00:00
Richard Davey
9febc6b44a Update version number 2024-01-12 18:03:09 +00:00
Richard Davey
e91551b4c5
Merge pull request #6686 from samme/fix/container-destroy-child
Fix removing destroyed Container children
2024-01-12 17:57:57 +00:00
Richard Davey
8cae5a33e7 Update TextureManager.js 2024-01-12 17:56:30 +00:00
Richard Davey
08f340c438
Merge pull request #6670 from stevenwithaph/master
Added correct parameters for create
2024-01-12 17:55:22 +00:00
Richard Davey
9018430e30
Merge pull request #6666 from PresentCreativeLLC/typofix/NineSlice
Update NineSlice.js correcting a typo
2024-01-12 17:51:16 +00:00
Richard Davey
8287d44a04
Merge pull request #6679 from somechris/touch-move-coordinates-on-scrolled-down-page
Fix `InputManager.onTouchMove` to work on scrolled-down pages
2024-01-12 17:48:05 +00:00
Richard Davey
b6c7b51f3d
Merge pull request #6685 from samme/docs/dragend-dropped
Docs: add `dropped` argument in DRAG_END, GAMEOBJECT_DRAG_END
2024-01-12 17:46:38 +00:00
Richard Davey
74515f6437 The TweenChainBuilder was incorrectly setting the persist flag on the Chain to true, which goes against what the documentation says. It now correctly sets it to false. This means if you previously had a Tween Chain that was persisting, it will no longer do so, so add the property to regain the feature. 2024-01-12 17:43:51 +00:00
Rex
3b8d019b97 Add EXPAND scale mode 2023-12-31 17:11:38 +08:00
Oliver Kisielius
9ac03cd565 Check for undefined to avoid a crash in the examples at phaser3-custom-build. 2023-12-13 15:06:21 -05:00
samme
3b2ed4a4fe Exclude the renderers 2023-12-11 17:33:57 -08:00
samme
7b648c64d2 Docs: add dropped arg in DRAG_END 2023-12-04 14:57:45 -08:00
samme
5cd5cadf79 Fix removing destroyed Container child 2023-12-03 16:14:46 -08:00
Chris
c048c1bb54
Update GetFirst.js
Improve type accuracy for GetFirst
2023-12-02 15:38:05 -05:00
Christian Aistleitner
66901b32d3 Fix InputManager.onTouchMove to work on scrolled-down pages
`document.elementFromPoint` expects plain viewport coordinates [1],
while we used `page[XY]`, which are viewport coordinates with added
scroll offsets [2].

So on pages where no scrolling had yet occurred,
`InputManager.onTouchMove` worked as expected. But as soon as one
scrolled down/right on the page, the element detection was off by the
scroll offset.

We switch from `page[XY]` to `client[XY]` which are plain viewport
coordinates [3] and thereby make element detection work also on pages
that have been scrolled around.

[1] https://drafts.csswg.org/cssom-view/#dom-document-elementfrompoint
[2] https://w3c.github.io/touch-events/#dom-touch-pagex
[3] https://w3c.github.io/touch-events/#dom-touch-clientx
2023-11-24 14:12:20 +01:00
Steven Adams
6a28ccbee1 Added correct parameters for create 2023-11-14 08:38:05 -05:00
Alvaro Estrada
0b22354afd Update NineSlice.js
Fixed the horiztonal typo
2023-11-10 13:43:50 -06:00
Richard Davey
47d393ac29 Update NineSlice.js 2023-11-10 16:44:16 +00:00
Richard Davey
450c8fcae0 Removed generics that were breaking Layer in TypeScript 2023-11-10 15:27:07 +00:00
Richard Davey
131f73005b eslint fix 2023-11-10 15:04:06 +00:00
Richard Davey
0b32610e56 Updated version to 3.70 2023-11-10 15:04:01 +00:00
Richard Davey
b44b2eda5a Revert "Merged all of the Matter JS "Improved performance and reduced memory usage" changes from PR 1238"
This reverts commit bfd08db935.
2023-11-10 14:58:18 +00:00
Richard Davey
1cae6391b3 Revert "Testing sleep static fixes"
This reverts commit f0d5280cf8.
2023-11-10 14:58:02 +00:00
Richard Davey
988ca7d2bf Updated docs re: #6574 2023-11-10 14:49:36 +00:00
Richard Davey
f0d5280cf8 Testing sleep static fixes 2023-11-10 13:44:47 +00:00
Richard Davey
bd67ed38a5 Disable roundPixels when drawing lines 2023-11-09 22:30:53 +00:00
Richard Davey
bfd08db935 Merged all of the Matter JS "Improved performance and reduced memory usage" changes from PR 1238 2023-11-09 22:12:12 +00:00
Richard Davey
1b93e66cb1 Updates to support the new scale9 Frame data
* You can now create a `NineSlice` Game Object without specifying a width or height for it. If you do this, it will use the size of the texture frame instead.
* The `NineSlice` Game Object will now check to see if its associated Frame has any scale9 data set, and if so this is now used automatically to populate all of the border values.
* The `NineSlice.setSlices` method has a new optional boolean parameter `skipScale9` which will allow you to set the border values of the Nine Slice directly, even if its Frame has associated scale9 data
2023-11-09 18:26:37 +00:00
Richard Davey
dada2ad181 Now parses Texture Packer 7.1.0 scale9 data and stores it on the Frames 2023-11-09 18:23:44 +00:00
Richard Davey
921ff93ba0 Added setScale9 method and scale9 and is3Slice boolean properties
* `Frame.setScale9` is a new method that allows you to set the scale9 data associated with the given Frame. This is used internally by the Texture Packer parsers, but can also be called directly.
* `Frame.scale9` is a new read-only boolean property that returns `true` if the Frame has scale9 data associated with it.
* `Frame.is3Slice` is a new read-only boolean property that returns `true` if the Frame has scale9 data associated with it that is 3-slice instead of 9-slice.
2023-11-09 18:23:27 +00:00
Richard Davey
a7d7a7d526 The Game instance will now boot the new SYSTEM_READY event, which indicates that the internal Scene System has been created by the Scene Manager and is ready for use. The Texture Manager now listens for this event in order to create the stamp Image. This fixes an issue where the stamp would throw a run-time error if the game didn't feature a preload function. Fix #6616 2023-11-09 13:42:00 +00:00
Richard Davey
1afb2810bf Expose new system ready event 2023-11-09 13:40:45 +00:00
Richard Davey
4e19417657 Create SYSTEM_READY_EVENT.js 2023-11-09 13:40:39 +00:00
Richard Davey
6f801eeac7 The TextureSource.setFilter method will now check to see if renderer is defined before accessing its gl property. This avoids Phaser crashing if you're in headless mode and set anti-aliasing to false in the game config. Fix #6663 2023-11-08 18:48:36 +00:00
Richard Davey
cda0c04afd There was an issue when loading Normal Maps with Sprite Sheets. Often, if the normal map image completed loading before the sprite sheet, it would cause it to be incorrectly added to the Texture Manager, resulting in broken frames. Now, regardless of the load order, the sprite sheet is added with its normal map correctly together. Fix #6491 2023-11-08 18:40:08 +00:00
Richard Davey
f49a8ee897 The MultiAtlas File Loader didn't prepend the Loader.prefix if set. This now forms part of the key, leading to the correct keys used for the Texture Manager. Fix #6614 2023-11-08 18:05:15 +00:00
Richard Davey
3b190360f1 During Game.runDestroy it will now check for this.domContainer.parentNode before trying to remove it, preventing errors if the DOM Container has already been removed. Fix #6559 2023-11-08 16:49:39 +00:00
Richard Davey
f844e966bc The RandomDataGenerator#weightedPick method will no longer under-sample the first and last elements in the given array, leading to better distribution of results. Fix #6562 2023-11-08 16:44:27 +00:00
Richard Davey
494ea72108 The BaseSound.destroy method will now call BaseSound.stop which will reset the isPlaying and other flags. Fix #6645 2023-11-08 16:26:48 +00:00
Richard Davey
304275dc7d
Merge pull request #6570 from Trissolo/feature/GeomLine-SetFromVectors
Added a new method: Phaser.Geom.Line#setFromObjects()
2023-11-08 16:15:14 +00:00
Richard Davey
5079f8e010
Merge pull request #6577 from Trissolo/fix/intersects-GetLineToPoints
Fix Geom.Intersects#GetLineToPoints
2023-11-08 16:12:34 +00:00
Richard Davey
f17cd8b50b When creating a TimelineEvent you can now set a new optional callback: if. If set, this callback is invoked at the start of the TimelineEvent. If it returns true, then the rest of the event is processed (i.e. tweens started, sound played, etc) otherwise the event is skipped. This allows you to create conditional events within a Timeline. 2023-11-08 16:09:42 +00:00
Richard Davey
1d15ac9a73 Fixed namespace 2023-11-08 15:56:28 +00:00
Richard Davey
4baa9bb80d
Merge pull request #6596 from rexrainbow/timeline-improvement
Timeline improvement
2023-11-08 15:53:32 +00:00
Richard Davey
9480cdac29
Merge pull request #6612 from PresentCreativeLLC/PathGetPointsUpdate
Update Path.js
2023-11-08 15:50:49 +00:00
Richard Davey
e8bb5f700e Fixed errors from #6626 2023-11-08 15:47:56 +00:00
Richard Davey
cc7b6c4a08
Merge pull request #6626 from rexrainbow/layer-remove-removeall
[Layer] Update remove, removeAll, add methods
2023-11-08 15:45:50 +00:00
Richard Davey
c7c3066777
Merge pull request #6602 from johnhyde/patch-1
Update InputConfiguration.js: Clarify alphaTolerance
2023-11-08 15:42:16 +00:00
Richard Davey
a6e9e4a4aa
Merge pull request #6624 from PresentCreativeLLC/EdgeZoneConstructorCorrection
Constructor parameters correction
2023-11-08 15:40:38 +00:00
Richard Davey
c7785b0f12
Merge pull request #6610 from PresentCreativeLLC/EmitterOpRandomMinMaxConfigFix
EmitterOpRandomMinMaxConfig type correction
2023-11-08 15:40:09 +00:00
Richard Davey
ea98751d05
Merge pull request #6609 from PresentCreativeLLC/ParticleDataTypesUpdate
Created ParticleData description
2023-11-08 15:39:09 +00:00
Richard Davey
28a605def3
Merge pull request #6608 from PresentCreativeLLC/ParticleEmitterTypesUpdate
Added the use of Vector2Like
2023-11-08 15:38:31 +00:00
Richard Davey
e552becd33
Merge pull request #6620 from PresentCreativeLLC/EmitZoneDataCorrection
Type clarification for emit zone data
2023-11-08 15:37:16 +00:00
Richard Davey
392be38db3
Merge pull request #6619 from PresentCreativeLLC/EmitterOpOnEmitCallbackUpdate
EmitterOpOnEmitCallback update
2023-11-08 15:36:48 +00:00
Richard Davey
36472d491d
Merge pull request #6625 from PresentCreativeLLC/DeathZoneObjDescription
Updated the description of DeathZoneObj
2023-11-08 15:36:21 +00:00
Richard Davey
21338577b8
Merge pull request #6628 from PresentCreativeLLC/AddZonesFix
AddEmitZone and AddDeathZone parity
2023-11-08 15:34:12 +00:00
Richard Davey
23372fa6cb
Merge pull request #6636 from PresentCreativeLLC/EmitterColorOpDescriptionCorrection
Added to the description that EmitterColorOp is an extension
2023-11-08 15:31:50 +00:00
Richard Davey
065d3f4635
Merge pull request #6637 from PresentCreativeLLC/EmitterOpRandomStartEndConfigRemoval
Removed interface EmitterOpRandomStartEndConfig
2023-11-08 15:31:28 +00:00
Richard Davey
a8a894e9dc
Merge pull request #6639 from PresentCreativeLLC/EmitterOpPropertyValueTypeAddition
Added missing reference to EmitterOpOnUpdateType
2023-11-08 15:30:55 +00:00
Richard Davey
2d1c24cc3a
Merge pull request #6641 from rexrainbow/gameobject-tint-getter
Add getter of tint property
2023-11-08 15:29:29 +00:00
Richard Davey
070e42d64e
Merge pull request #6648 from samme/fix/PutTileAt-2
Fix TypeError in PutTileAt()
2023-11-08 15:28:12 +00:00
Richard Davey
315e3b757f
Merge pull request #6653 from PresentCreativeLLC/TextColorGradient
Extended color and stroke definitions
2023-11-08 15:27:23 +00:00
Richard Davey
d9f2891292
Merge pull request #6660 from neki-dev/master
Fixed jsdoc for GetRandom
2023-11-08 15:26:40 +00:00
Richard Davey
2c8b70e4f7 Respect the disable fx flags and only create the pipelines and render targets as needed 2023-11-08 12:35:19 +00:00
Richard Davey
cc931f869c Added disablePreFX and disablePostFX flags 2023-11-08 12:34:46 +00:00
Richard Davey
eea31c7be8 Structs.Map.setAll is a new method that allows you to pass an array of elements to be set into the Map. This is a chainable method. 2023-11-08 12:09:05 +00:00
Richard Davey
ec5a695a5c PostFXPipeline.bootFX is a new method, which is the previous boot method but renamed. This is no longer called from the constructor, but instead when the Post FX Pipeline is activated by the Pipeline Manager. This means that the resources the Post FX requires, such as creating Render Targets and shaders, is delayed until the FX is actually used, saving on memory. 2023-11-07 23:42:04 +00:00
Richard Davey
d3050a05fc The MultiPipeline.batchTexture method has a new optional boolean parameter skipPrePost that will force the call to ignore calling the preBatch and postBatch Pipeline Manager methods for the Game Object. This allows you to skip the overhead of calling them if you know you don't need them. 2023-11-07 22:53:14 +00:00
Richard Davey
52619b26f9 Set missing uniforms to get FX working again :) 2023-11-07 22:51:38 +00:00
Richard Davey
ed5c44a65e Fixed an issue in the way the Tilemap WebGL Renderer would call batchTexture that meant if you applied a PostFX to a Tilemap it would apply the fx for every single tile in the layer, instead of just once per layer. In a simple map this fix has reduced draw calls from over 12,000 to just 52, making it useable. 2023-11-07 22:51:11 +00:00
Richard Davey
94c810fd39 Remove false param to setQuad 2023-11-07 18:53:51 +00:00
Richard Davey
0431796d94 false is the default now 2023-11-07 18:52:46 +00:00
Richard Davey
89ceaa288a Remove roundPixels 2023-11-07 18:52:30 +00:00
Richard Davey
755950760b Remove rounding 2023-11-07 18:52:23 +00:00
Richard Davey
34f282397c The TransformMatrix.setQuad method signature has changed slightly. The roundPixels parameter is now optional and defaults to false. Previously, you always had to set it. 2023-11-07 18:50:42 +00:00
Richard Davey
71e9e517a8 The Game Config roundPixels property is now true by default. This means that all Game Objects will be positioned and rendered with pixel-perfect precision, which is by far the most common use-case for Phaser games. This will prevent sub-pixelation when rendering at non-integer offsets and smoother scrolling, especially at high Camera zoom scales. If you wish to disable this, you can do so via the Game Config, or by setting the roundPixels property in the Game Config to false. 2023-11-07 18:41:00 +00:00
Richard Davey
77deea9f23 Beta 5 2023-11-07 18:37:42 +00:00
Richard Davey
f96b557f4c The MultiPipeline.batchSprite method (which is also used by the Single Pipeline and Mobile Pipeline) will no longer use roundPixels when calculating the quad vertex data. It also won't apply it to any of the sprite values. This is all now handled in the shader directly. 2023-11-07 18:37:34 +00:00
Richard Davey
7590600b5e Camera.preRender will no longer round the origin, follow coordinates or scrollX/Y coordinates. It will still round the World view. 2023-11-07 18:31:48 +00:00
Richard Davey
df846bdab3 CanvasRenderer.batchSprite has been updated to correctly use the Camera roundPixels property and apply it to the drawImage call. 2023-11-07 18:30:02 +00:00
Richard Davey
a26f827650 Optimized setTextureFilter 2023-11-07 18:28:27 +00:00
Richard Davey
d799c06031 Update TransformMatrix.js
* `TransformMatrix.setToContext` will now use `setTransform(this)` as 'this' is an equivalent object that this method can natively take.
* `TransformMatrix.setQuad` no longer uses an anonymous function for `roundPixels`, which will help with performance.
2023-11-07 18:27:47 +00:00
Richard Davey
4564216c54 Set the context from the CanvasTexture 2023-11-07 18:25:36 +00:00
Richard Davey
b0c2dcf463 Remove the gx/gy rounding (un-needed) and pass the roundPixels value to setQuad 2023-11-07 15:26:58 +00:00
Richard Davey
1b12993898 Updated jsdocs 2023-11-07 15:26:07 +00:00
Richard Davey
e36d43533c Updated shaders to use 'round' glsl instead of 'floor' 2023-11-07 15:23:57 +00:00
Richard Davey
91b145915c Don't use the anonymous function, just a boolean check 2023-11-06 18:54:11 +00:00
Richard Davey
5812b4b7a7 Fixed issue with Dynamic Textures and Render Textures not displaying until resized. Fix #6662 2023-11-03 19:02:52 +00:00
Richard Davey
5aa409e8f3 RenderTarget.willResize is a new method that will return true if the Render Target will be resized as a result of the new given width and height values. 2023-11-03 19:02:20 +00:00
Richard Davey
d589637b21 Beta 4 2023-10-27 16:38:24 +01:00
neki-dev
5f02636daa Fixed jsdoc for GetRandom 2023-10-27 17:22:39 +02:00
Richard Davey
4d555958de Added setDirectControl to allow a body to calculate velocity from position changes
Also added component method and internal autoFrame vec2.
2023-10-26 23:03:08 +01:00
Richard Davey
fbec8aebc9 Working through auto update optimizations 2023-10-26 22:03:18 +01:00
Richard Davey
fd1f0b3d68 Merge branch 'master' of https://github.com/photonstorm/phaser 2023-10-26 21:07:41 +01:00
Richard Davey
d66a4e7b65 Updated jsdocs 2023-10-26 21:07:39 +01:00
Richard Davey
f4a9b993cc Testing Body.autoUpdate 2023-10-26 19:02:19 +01:00
Richard Davey
6dd1017fd9 Docs update 2023-10-26 19:02:02 +01:00
Alvaro Estrada
dedd6c3438 Added missing property definitions
* Added missing parenthesis in the previous additions
* Added the definitions missing in the Text class
2023-10-16 15:59:33 -06:00
Alvaro Estrada
625981e57a Update TextStyle.js
Updated the setFill method to match the setColor method
2023-10-16 15:50:09 -06:00
Alvaro Estrada
ffad6f6d90 Extended color and stroke definitions
Declared that the color and stroke properties can also be CanvasGradient or CanvasPattern
2023-10-16 15:43:38 -06:00
Richard Davey
f20963c04f Fixed jsdocs 2023-10-15 17:24:21 +01:00
Richard Davey
b52221316b Update DynamicTexture.js
See. Never deploy on Friday the 13th.
2023-10-13 18:37:22 +01:00
Richard Davey
b28ad7f3d3 The BitmapMask wouldn't correctly set the gl viewport when binding, which caused the mask to distort in games where the canvas resizes from its default. Fix #6527 2023-10-13 17:53:55 +01:00
Richard Davey
bae26a5205 When a framebuffer is deleted, it now sets its renderTexture property to undefined to ensure the reference is cleared. 2023-10-13 17:15:21 +01:00
Richard Davey
3333fa39e7 Fixed DynamicTexture memory leak on WebGL
* The `DynamicTexture` was leaking memory by leaving a WebGLTexture in memory when its `setSize` method was called. This happens automatically on instantiation, meaning that if you created DynamicTextures and then destroyed them frequently, memory would continue to increase (thanks David)
* `DynamicTexture.width` and `height` were missing from the class definition, even though they were set and used internally. They're now exposed as read-only properties.
* `DynamicTexture.setFromRenderTarget` is a new method that syncs the internal Frame and TextureSource GL textures with the Render Target GL textures.
2023-10-13 17:14:22 +01:00
Richard Davey
059ff984a2 JSDocs fix 2023-10-13 14:45:49 +01:00
Richard Davey
4ef3c58caa Updated jsdocs 2023-10-13 13:09:28 +01:00
Richard Davey
389f510719 Update GetAdvancedValue.js 2023-10-12 18:49:10 +01:00
Richard Davey
d74e767050 Delete color attachment 2023-10-12 18:49:06 +01:00
Richard Davey
1935119141 Array Remove and unbind before deleting the framebuffer 2023-10-12 15:22:26 +01:00
Richard Davey
2d364f08c4 Clear stamp texture if current 2023-10-12 15:22:26 +01:00
Richard Davey
e5b04be760 Reset stamp texture 2023-10-12 15:22:26 +01:00
Richard Davey
aec66eea78 2nd parameter not required 2023-10-12 15:22:26 +01:00
Richard Davey
6fcee8fe8f No need to null the source glTexture 2023-10-12 15:22:26 +01:00
Richard Davey
758db68d1a Remove event handler first 2023-10-12 15:22:26 +01:00
Richard Davey
4748edf908 Use the new tile.tintFill boolean 2023-10-11 20:53:40 +01:00
Richard Davey
c04c61ad1a TilemapLayer.setTintFill is a new method that will apply a fill-based tint to the tiles in the given area, rather than an additive-based tint, which is what the setTint method uses. 2023-10-11 20:53:31 +01:00
Richard Davey
641276c625 Tile.tintFill is a new boolean property that controls if the tile tint is additive or fill based. This is used in the TilemapLayerWebGLRenderer function. 2023-10-11 20:53:12 +01:00
Richard Davey
181a022348 Merge branch 'master' of https://github.com/photonstorm/phaser 2023-10-10 20:22:31 +01:00
Richard Davey
b958123dad Fixed typedefs 2023-10-10 20:22:28 +01:00
samme
034a24b74b Fix TypeError in PutTileAt()
Fixes #6622
2023-10-10 11:36:23 -07:00
Richard Davey
0e145756bb Added new uniforms and handle rounding in the shader 2023-10-10 18:50:17 +01:00
Richard Davey
6360d76515 Removed use of roundPixels for now 2023-10-10 18:49:59 +01:00
Richard Davey
4bb2807627 Added uRoundPixels and uResolution to the core shaders 2023-10-10 18:49:49 +01:00
Richard Davey
cd1854630e Testing round pixels on shader 2023-10-05 14:39:21 +01:00
Richard Davey
ae24bc9d03 Updated GetCollidesWith 2023-10-04 21:31:54 +01:00
Richard Davey
f7f070eedf Merge all the functions into the component 2023-10-04 21:30:50 +01:00
Richard Davey
6bfaa94c4d Add Collision Component mixin 2023-10-04 21:30:41 +01:00
Richard Davey
07620231e5 Add Collision Component and properties 2023-10-04 21:30:27 +01:00
Richard Davey
3268650dcb Make Collision Component capable of working with Groups and Tilemap Layers 2023-10-04 17:09:37 +01:00
Richard Davey
0cb99a7ecf Added canCollide method and used it in all collision checks 2023-10-04 16:29:07 +01:00
Richard Davey
fd899c03e8 Update SetCollisionObject.js 2023-10-04 16:28:29 +01:00
Richard Davey
2461bf076a Added collision category, collision mask and related methods 2023-10-04 16:28:22 +01:00
Richard Davey
922b756503 Added collision category marker and nextCategory method 2023-10-04 16:27:37 +01:00
Richard Davey
eda08c20f5 Exposed Collision Component 2023-10-04 16:26:20 +01:00
Richard Davey
a08c25fd35 Added Collision component 2023-10-04 16:26:11 +01:00
Richard Davey
279a25ca88 Create Collision.js 2023-10-04 16:23:23 +01:00
Richard Davey
4e61b9fd13 Create ArcadeCollider.js 2023-10-04 16:23:17 +01:00
Richard Davey
9121ea527d Create SetCollidesWith.js 2023-10-04 16:23:13 +01:00
Richard Davey
e25e2489c4 Update SetCollisionObject.js 2023-10-04 12:49:27 +01:00
Richard Davey
49e97291cf SetCollisionObject is a new function that Arcade Physics bodies use internally to create and reset their ArcadeBodyCollision data objects. 2023-10-04 12:46:58 +01:00
Richard Davey
b364995f2f Added Body.slideFactor vec2
* Arcade Physics Bodies have a new property called `slideFactor`. This is a Vector2 that controls how much velocity is retained by a Body after it has been pushed by another Body. The default value is 1, which means it retains all of its velocity. If set to zero, it will retain none of it. This allows you to create a Body that can be pushed around without imparting any velocity to it.
* `Body.setSlideFactor` is a new method that sets the Body's `slideFactor` property.
2023-10-04 11:57:37 +01:00
Richard Davey
563137ac78 Typo fix 2023-10-04 11:57:24 +01:00
Rex
aae03412fb Add getter of tint property 2023-10-01 22:37:09 +08:00
Alvaro Estrada
7b9a3f2318 Added missing reference to EmitterOpOnUpdateType
* Added missing possible type description of the propertyValue and defaultValue
2023-09-28 08:42:35 -06:00
Richard Davey
a79ae92d44 Calling the Line.setLineWidth method on the Line Shape Game Object would result in a line with double the thickness it should have had in WebGL. In Canvas it was the correct width. Both renderers now match. Fix #6604 2023-09-27 18:53:36 +01:00
Richard Davey
2ad71909f3 The DynamicTexture.fill method will now correctly draw the fill rectangle if the width and height are provided in WebGL, where-as before it would assume the y axis started from the bottom-left instead of top-left. Fix #6615 2023-09-27 18:44:39 +01:00
Richard Davey
94662cdbc7 StaticBody.setSize will now check to see if the body has a Game Object or not, and only call getCenter and the frame sizes if it has. This fixes a bug where calling physics.add.staticBody would throw an error if you provided a width and height. Fix #6630 2023-09-27 18:22:01 +01:00
Richard Davey
d07d756760 The LoaderPlugin will now call removeAllListeners() as part of its shutdown method, which will clear any event listeners bound to a Loader instance of the Scene, during the Scene shutdown. Fix #6633 2023-09-27 18:15:12 +01:00
Richard Davey
455420c4a0
Merge pull request #6627 from rexrainbow/plane-origin
Add read-only originX, originY properties
2023-09-27 18:06:20 +01:00
Richard Davey
2be65ec210
Merge pull request #6632 from samme/docs/tween-persist
Docs: change tween `persists` to `persist`
2023-09-27 17:57:36 +01:00
Richard Davey
ba7f2ff22e
Merge pull request #6635 from PresentCreativeLLC/ParticleDocumentationTypoFix
Fixed a typo, changed 'Interal' for 'Internal'
2023-09-27 17:57:10 +01:00
Richard Davey
8472087534
Merge pull request #6638 from samme/docs/tween-builders
Docs: TweenBuilderConfig and NumberTweenBuilderConfig
2023-09-27 17:53:28 +01:00
samme
720b2ccc6f Docs: NumberTweenBuilderConfig
- Remove the v3.55 "Scope" properties
- Other simplifications
2023-09-27 09:30:15 -07:00
samme
485be95248 Docs: TweenBuilderConfig
Clarify onRepeat, onYoyo
2023-09-27 09:27:34 -07:00
Richard Davey
1be82975f7 The Request Video Frame polyfill will now check first to see if the browser supports HTMLVideoElement before trying to inspect its prototype. This should help in non-browser environments. 2023-09-27 17:18:10 +01:00
Richard Davey
6cda06c6b2 The Text.dirty Game Object property has been removed. It wasn't used internally at all, so was just adding confusion and using space. 2023-09-27 16:58:25 +01:00
Alvaro Estrada
73a1d96b48 Correction
Made a correction, my previous assumption was that the particleData stored a copy of the configuration data, but after further review of the code only the min and max values are ever used. Any further extensions of the code will need to have these properties.
2023-09-25 13:57:03 -06:00
Alvaro Estrada
1ce053c7a7 Removed interface EmitterOpRandomStartEndConfig
The interface EmitterOpRandomStartEndConfig, even though it is another path to configure a random emit value, it does not fully describe that all the options for the EmitterOpEaseConfig are available to use. Instead it is better to add to the description of the EmitterOpEaseConfig that there is a random start value option available.
2023-09-24 23:51:44 -06:00
Alvaro Estrada
9b4d41d1bf Fixed a typo, changed 'Interal' for 'Internal' 2023-09-24 22:49:42 -06:00
Alvaro Estrada
1888025575 Added to the description that EmitterColorOp is an extension of the EmitterOp class. 2023-09-24 22:48:21 -06:00
samme
76a6786fba Docs: change persists to persist 2023-09-23 08:12:22 -07:00
Rex
1704e2ca5a Add read-only originX, originY properties 2023-09-21 11:10:49 +08:00
Rex
8f061e1039 Update remove, removeAll, add methods 2023-09-21 00:40:53 +08:00
Alvaro Estrada
787c534ff1 Update ParticleEmitter.js
Made AddEmitZone and AddDeathZone work more similar.
* AddDeathZone returns an output array
* AddEmitZone checks for the validity of the source needed methods
2023-09-20 10:27:36 -06:00
Alvaro Estrada
5c09d6e34d Updated the description of DeathZoneObj
Switched the references of Circle, Ellipse, Polygon, and Triangle for only one reference to the DeathZoneSource
2023-09-19 12:15:34 -06:00
Alvaro Estrada
45b6292a0c Constructor parameters correction
Defining stepRate as an optional parameter
2023-09-18 09:58:58 -06:00
Alvaro Estrada
62949f1d38 addEmitZone return correction
Changed the type of return
2023-09-14 13:01:37 -06:00
Alvaro Estrada
62eb820ba0 Type clarification for emit zone data
I have updated the definition of EmitZoneObject to exclusively represent EdgeZone or RandomZone objects, excluding their configurations. Previously, the emitZones property was either an array of RandomZones or an array of EdgeZones, not an Array that could hold either. With this change, emitZones is now represented as an array of EmitZoneObjects.
EmitZoneData takes over the role previously held by EmitZoneObject.
2023-09-14 12:35:31 -06:00
Richard Davey
cbb802bcff Merge branch 'master' of https://github.com/photonstorm/phaser 2023-09-14 11:47:33 +01:00
Richard Davey
a1bc5e247b Clarify set body docs further 2023-09-14 11:47:31 +01:00
Alvaro Estrada
6aa625b3cc Description correction 2023-09-13 12:34:13 -06:00
Alvaro Estrada
5df5258c68 EmitterOpOnEmitCallback update
Changed the parameters to be optional since not all the onEmit calls actually pass parameters to the function, so there should be a warning about that
2023-09-13 12:31:29 -06:00
samme
f7571462a0 Docs: explain FileConfig.type values 2023-09-13 08:28:57 -07:00
Alvaro Estrada
f56a74b668 Update Path.js
* Added a defaultDivisions property, this brings it to parity with singular curves implementation
* Added a stepRate parameter to the getPoints method, so it can pass this parameter to the curve's getPoints method when given
2023-09-11 09:49:46 -06:00
Alvaro Estrada
9d33475c5d Changed the obligatory definition for an optional definition 2023-09-07 20:53:17 -06:00
Alvaro Estrada
7ff66e81bb Fixed int type
Added int as possible undefined
2023-09-07 18:43:26 -06:00
Alvaro Estrada
953b316526 EmitterOpRandomMinMaxConfig type correction
Added the description of the "int" boolean property that was missing
2023-09-07 18:18:52 -06:00
Alvaro Estrada
0ed6d4030d Created ParticleData description
Gave a description for the ParticleData type
2023-09-07 18:12:52 -06:00
Alvaro Estrada
2d32b53c1a Added the use of Vector2Like
Changed the types of follow and followOffset to use the interface Vector2Like, this enable more objects to be used and not only gameobjects and better describe followOffset
2023-09-07 18:11:02 -06:00
Richard Davey
5238c0b193 Ready for 3.61 Beta 3 2023-09-07 18:15:47 +01:00
Richard Davey
59438ad874 Both the Animation Config and the Play Animation Config allow you to set a new boolean property randomFrame. This is false by default, but if set, it will pick a random frame from the animation when it _starts_ playback. This allows for much more variety in groups of sprites created at the same time, using the same animation. This is also reflected in the new Animation.randomFrame and AnimationState.randomFrame properties. 2023-09-07 18:00:18 +01:00
Richard Davey
5961b821aa Added missing property 2023-09-07 17:24:19 +01:00
Richard Davey
de48d84699 Updated jsdocs 2023-09-07 17:21:32 +01:00
Richard Davey
232916e3fa Fixed use of modified Wrap function 2023-09-07 16:42:41 +01:00
Richard Davey
377cc6b37b iOS and any browser identifying as AppleWebKit will now set the Device.es2019 flag to true. This causes Phaser to use the native array Stable Sort. This fixes an issue where overlapping particles could flicker on iOS. Fix #6483 2023-09-07 16:22:39 +01:00
Richard Davey
533ed6e47d The ParticleEmitterWebGLRenderer has been refactored so that the particle.frame is used as the source of the glTexture used in the batch and also if a new texture unit is required. This fixes issues where a Particle Emitter would fail to use the correct frame from a multi-atlas texture. Fix #6515 2023-09-07 16:14:06 +01:00
Richard Davey
962ff04538 If you gave the width or height in the Game Config object as a string it would multiply the value given by the parent size, often leading to a huge game canvas, or causing WebGL errors as it tried to create a texture larger than the GPU could handle. This has now been strengthened. If you give a string with a % at the end, it works as before, i.e. "100%" or "50%" to set the scale based on the parent. If you don't include the %, or use another unit, such as "800px" it will now be treated as a fixed value, not a percentage. 2023-09-07 15:19:57 +01:00
Richard Davey
fe05501e38 The PostFXPipeline will now set autoResize to true on all of its RenderTarget instances. This fixes an issue where the PostFXPipeline would not resize the render targets when the game size changed, causing them to become out of sync with the game canvas. Fix #6503 #6527 2023-09-07 14:43:36 +01:00
Richard Davey
540fe9ec9a
Merge pull request #6578 from rexrainbow/mesh-setinteractive-improve
Uses current faces to do hit-testing
2023-09-07 14:08:28 +01:00
Richard Davey
066bb9be18 Updated jsdocs 2023-09-07 14:07:44 +01:00
Richard Davey
6cbcfefe7b Clarified jsdocs 2023-09-07 13:28:52 +01:00
Richard Davey
b57369347f
Merge pull request #6576 from PresentCreativeLLC/EmitParticle-Type-Fix
Update return type of emitParticle
2023-09-07 13:26:44 +01:00
Richard Davey
0cec5012b4
Merge pull request #6575 from PresentCreativeLLC/ParticleEmitterConfig-Type-Fix
Update ParticleEmitterConfig.js
2023-09-07 13:26:05 +01:00
Richard Davey
8622e611f7
Merge pull request #6595 from PresentCreativeLLC/ParticleEmitterFrameConfigFix
Update ParticleEmitterFrameConfig.js
2023-09-07 13:23:40 +01:00
Richard Davey
6d22019f26 Update ParticleEmitterAnimConfig.js 2023-09-07 13:21:51 +01:00
Richard Davey
18f5a73692
Merge pull request #6587 from PresentCreativeLLC/missing-particle-emitter-property
Added missing description of the anims property of the particle emitter for JSDoc
2023-09-07 13:19:17 +01:00
Richard Davey
4c65ea408a
Merge pull request #6605 from emadkhezri/master
Fixed a typo in TextFactory.js
2023-09-07 13:16:37 +01:00
samme
a581b821eb
Docs: correct type for BuildTilesetIndex(mapData)
This should be close enough
2023-09-06 16:26:36 -07:00
Richard Davey
d9f51c0562 null the Camera reference 2023-09-05 14:56:13 +01:00
Richard Davey
e3c1478867 null the glTexture reference 2023-09-05 14:56:06 +01:00
Richard Davey
e8e57b6b0c The WebGLRenderer.deleteFramebuffer method has been updated so it now tests for the exitennce of a COLOR and DEPTH_STENCIL attachments, and if found, removes the bindings and deletes the stencil buffer. The code that previously deelted the RENDERERBUFFER_BINDING has also been removed to avoid side-effects. 2023-09-05 13:40:45 +01:00
Richard Davey
c82a6bb466 DynamicTexture.preDestroy was never called, leading to an accumlation of framebuffers in memory. This method has now been renamed to destroy and cleans all references correctly. 2023-09-05 12:55:01 +01:00
Emad
266ddb7545 fixed a typo in TextFactory.js 2023-09-03 22:34:28 +10:00
John Hyde
e9808895ae
Update InputConfiguration.js: Clarify alphaTolerance
This change adds documentation to make it clear that alphaTolerance is a value between 0 and 255, rather than 0 and 1.
2023-08-30 13:07:33 -07:00
Richard Davey
61fa744473 Fixed the methods addAtlasJSONArray, addAtlasJSONHash, addAtlasXML and addUnityAtlas. Fix #6565 2023-08-28 16:21:17 +01:00
Richard Davey
28738a4046 Tile was incorrectly using the Alpha Game Object component, instead of the AlphaSingle component, which meant although the methods implied you could set a different alpha per tile corner, it was never reflected in the rendering. It has now been updated to use just the single alpha value. Fix #6594 2023-08-28 16:04:14 +01:00
Richard Davey
56a1bbfe8b
Merge pull request #6568 from Trissolo/fixProcessQueue
[Fix] Added missing parameter to some function calls in Phaser.Structs.ProcessQueue#add
2023-08-28 15:43:22 +01:00
Richard Davey
b5c9b76eff Updated docs 2023-08-28 15:42:02 +01:00
Richard Davey
5846acf682
Merge pull request #6569 from Trissolo/refineGameObjectSetTexture
Added two optional parameters to GameObjects.Components.Texture#setTexture
2023-08-28 15:39:47 +01:00
Richard Davey
2a5bf0e5f9
Merge pull request #6584 from Trissolo/fix/geomPolygon-unused-code
Remove unused code in Geom.Polygon#setTo
2023-08-28 15:27:45 +01:00
Richard Davey
63fbaf99df
Merge pull request #6590 from samme/samme-patch-1
Docs: StaticBody#reset description
2023-08-28 15:23:31 +01:00
samme
7338ca5793
Unprotect Animation#getFrameAt 2023-08-25 12:51:59 -07:00
Rex
8361735197 Add complete event 2023-08-25 11:25:48 +08:00
Rex
d46024c685 Do nothing if timeline is complete 2023-08-25 11:03:14 +08:00
Alvaro Estrada
4cfa8c4287 Update ParticleEmitterFrameConfig.js
Changed the configuration to better reflect what is accepted by the function
2023-08-24 13:57:52 -06:00
samme
90799f39ed
Docs: StaticBody#reset description 2023-08-22 08:48:01 -07:00
Alvaro Estrada
e37134e47e Fixed file name discrepancy with the interface name 2023-08-17 11:11:57 -06:00
Alvaro Estrada
525730dbb1 Added missing description of the anims property of the particle emitter
- Created a description of the object handed to the function setAnim
- Added the property anim to ParticleEmitterConfig
- Changed the parameters description of setAnim to better match
2023-08-17 11:09:04 -06:00
Trissolo
d33c83d27b Remove unused code 2023-08-16 05:42:00 +02:00
Richard Davey
9080dbf1fd Updated documentation to explain about calling convertTiles 2023-08-15 23:37:05 +01:00
Rex
cd3646c850 Uses current faces to do hit-testing 2023-08-10 12:04:41 +08:00
Trissolo
d3c2afc9a5 The intersection test between the given Line and the line segment between the first and last point is no longer skipped 2023-08-09 06:54:22 +02:00
Alvaro Estrada
d4dd2ca77b
Merge branch 'photonstorm:master' into ParticleEmitterConfig-Type-Fix 2023-08-08 13:27:46 +00:00
Alvaro Estrada
6177670abc Update return type of emitParticle
The function emitParticle can also return undefined when the particle max limit has been reached
2023-08-08 07:07:49 -06:00
Richard Davey
c5d53f9e94 Fixed typo 2023-08-08 13:08:54 +01:00
Alvaro Estrada
f01af5ba3a Update ParticleEmitterConfig.js
- Fixed the Texture type in the ParticleEmitterConfig
2023-08-07 23:15:25 -06:00
Alvaro Estrada
6bc801ddff Update ParticleEmitterConfig.js
- Fixed a typo
- Updated JSDoc so ParticleEmitterConfig refers to EmitZoneObject and EmitZoneObject[] instead of EdgeZoneConfig and RandomZoneConfig
- Updated JSDoc so ParticleEmitterConfig refers to DeatZoneObject and DeathZoneObject[] instead of DeathZoneConfig
2023-08-07 18:14:00 -06:00
Trissolo
f4e0f018ba Add Phaser.Geom.Line#setFromObjects() 2023-08-04 06:38:34 +02:00
Trissolo
1ea1c9313c Added two optional parameters, 'updateSize' and 'updateOrigin', which are used as second and third arguments when setting the frame. In fact 'setFrame()' takes three arguments 2023-08-02 11:17:20 +02:00
Trissolo
255eb85723 Added missing parameter to some function calls 2023-08-02 10:40:10 +02:00
Richard Davey
ab9fced253 Fixed breaking typo introduced by #6474 2023-08-01 21:15:01 +01:00
Richard Davey
8e1809688c The WebGLRenderer will now validate that the mipmapFilter property in the Game Config is a valid mipmap before assigning it. 2023-08-01 13:44:58 +01:00
Richard Davey
72f3997d21
Merge pull request #6561 from julescubtree/update-loader-event-firing-documentation
fix JSDoc fired event: Phaser.Loader.LoaderPlugin#ADD -> Phaser.Loader.Events#ADD
2023-07-26 18:52:24 +01:00
Richard Davey
d5318589bd Marked as optional 2023-07-26 18:49:38 +01:00
Richard Davey
80da532028
Merge pull request #6555 from PresentCreativeLLC/particle-emitter-type-fix
JSDocs update
2023-07-26 18:46:24 +01:00
Julius Diaz Panoriñgan
a902fe05da fix JSDoc fired event: Phaser.Loader.LoaderPlugin#ADD -> Phaser.Loader.Events#ADD 2023-07-26 09:51:49 -07:00
Richard Davey
d7da226935 Updated version 2023-07-24 14:34:24 +01:00
Richard Davey
719bfd9dd8 Default the fill/line style to transparent 2023-07-24 14:33:49 +01:00
Alvaro Estrada
996a1361c4 JSDocs update
Updated the JSDocs for the particle emitter to fix an issue with its typescript constructor description
2023-07-21 13:48:18 -06:00
Richard Davey
da947e8b4c 3.61.0 Beta 1 2023-07-21 18:45:47 +01:00
Richard Davey
002786e411 fx namespace fix 2023-07-21 18:41:30 +01:00
Richard Davey
b4849cf4f1 Math.Wrap` has been reverted to the previous version. Fix #6479 2023-07-21 18:32:45 +01:00
Richard Davey
c44dbccedc The PathFollower.pathUpdate method will now check if the tween property has a valid data component before running the update. This prevents a call to PathFollower.stopFollow from throwing a Cannot read properties of null (reading '0') error as it tried to do a single update post stop. Fix #6508 2023-07-21 18:20:38 +01:00
Richard Davey
23cd25f482 PhysicsGroup will now set the classType and null the config when an array of single configuration objects is given in the constructor. Fix #6519 2023-07-21 18:13:37 +01:00
Richard Davey
4fa348e161 Group.createFromConfig will now check to see if the config contains either internalCreateCallback or internalRemoveCallback and set them accordingly. This fixes an issue where the callbacks would never be set if specified in an array of single configuration objects. Fix #6519 2023-07-21 18:12:33 +01:00
Richard Davey
f0c6bd63bd The Matter Physics ignoreGravity boolean is now checked during the Matter Engine internal functions, allowing this property to now work again. Fix #6473 2023-07-21 17:40:47 +01:00
Richard Davey
7d4e6a3688 When using interpolation for a Particle Emitter operation, such as: x: { values: [ 50, 500, 200, 800 ] } it would fail to set the final value unless you specified the interpolation property as well. It now defaults to linear if not given. Fix #6551 2023-07-21 17:33:13 +01:00
Richard Davey
a17c6f78e9 Particle.alpha is now clamped to the range 0 to 1 within the update method, preventing it from going out of range. Fix #6551 2023-07-21 17:18:59 +01:00
Richard Davey
cd020af107 Guard against duplicate removal. Fix #6539 2023-07-21 17:13:26 +01:00
Richard Davey
56254d0114 The Rope Game Object now calls initPostPipeline allowing you to use Post FX directly on it, such as glow, blur, etc. Fix #6550 2023-07-21 17:07:32 +01:00
Richard Davey
b266223318 Modified method name to be plural 2023-07-21 16:57:48 +01:00
Richard Davey
a4e53acc33
Merge pull request #6453 from rexrainbow/particles-clear-zones
Add methods to clear EmitZone or DeathZone
2023-07-21 16:55:22 +01:00
Richard Davey
b3e1b77686 Updated jsdocs 2023-07-21 16:54:51 +01:00
Richard Davey
1ad5e626af Updated version number 2023-07-21 16:49:24 +01:00
Richard Davey
0db2134c2e
Merge pull request #6505 from Ariorh1337/6504
6504: add letter spacing
2023-07-21 16:48:45 +01:00
Richard Davey
80515012bd
Merge pull request #6542 from rui-han-crh/expose-layer-id
Expose layer id from Tiled map parser in LayerData and ObjectLayer
2023-07-21 16:40:53 +01:00
Richard Davey
c23b276cdd
Merge pull request #6536 from TJ09/animation-global-time-scale
Apply AnimationManager's global time scale to AnimationStates.
2023-07-21 16:38:49 +01:00
Richard Davey
31a0fe0303
Merge pull request #6480 from EmilSV/bitmaptext_render_fix
BitmapText now reset texture unit on flush
2023-07-21 16:36:27 +01:00
Richard Davey
1217464a0b
Merge pull request #6487 from DaliborTrampota/master
Fixes drawing hexagonal tilemaps
2023-07-21 16:35:28 +01:00
Richard Davey
a504c78d44 Physics.Arcade.World.singleStep is a new method that will advance the Arcade Physics World simulation by exactly 1 step (thanks @monteiz) 2023-07-21 16:33:31 +01:00
Richard Davey
d4d68e3f71
Merge pull request #6499 from charlieschwabacher/patch-1
avoid TypeError in addSpriteSheet method of TextureManager
2023-07-21 16:26:44 +01:00
Richard Davey
939bd5da5b
Merge pull request #6474 from wjaykim/patch-2
fix: Crash in PutTileAt
2023-07-21 16:25:56 +01:00
Richard Davey
8e119a0045
Merge pull request #6514 from dmokel/fix/GetLast
fix(Phaser.Actions.GetLast): fix the incorrect logic about GetLast fu…
2023-07-21 16:22:33 +01:00
Richard Davey
bba300b866 Update Config.js 2023-07-21 16:18:15 +01:00
Richard Davey
9ce718ad02
Merge pull request #6502 from wpederzoli/scale-width-height
add proper key value to scale width and height
2023-07-21 16:17:44 +01:00
Richard Davey
7b6e11295f
Merge pull request #6471 from wjaykim/patch-1
fix: memory leak in WebAudioSoundManager
2023-07-21 16:11:46 +01:00
Richard Davey
915f662d95
Merge pull request #6488 from samme/fix/setFromJSON
Fix `createFromObjects()` from Tiled array of object custom properties
2023-07-21 16:07:34 +01:00
Richard Davey
bce1e48040
Merge pull request #6494 from samme/docs/particle-emitter-xy
Docs: particleX and particleY are updatable ops
2023-07-21 16:06:53 +01:00
Richard Davey
1d00a7d923
Merge pull request #6493 from samme/docs/createFromObjects-2
Docs: createFromObjects() description
2023-07-21 16:05:45 +01:00
Richard Davey
10dbf1a4f2 FX.Circle.backgroundAlpha is a new property that allows you to set the amount of the alpha of the background color in the Circle FX (thanks @rexrainbow) 2023-07-21 16:05:07 +01:00
Richard Davey
0623c6f6bd Update version number 2023-07-21 16:03:43 +01:00
Richard Davey
63234a2add Text.setRTL is a new method that allows you to set a Text Game Object as being rendered from right-to-left, instead of the default left to right (thanks @rexrainbow) 2023-07-21 16:03:43 +01:00
Richard Davey
36d658e392
Merge pull request #6545 from rexrainbow/circle-effect-background-alpha
Add backgroundAlpha property in Circle effect  controller
2023-07-21 16:03:25 +01:00
Richard Davey
c678807d69
Merge pull request #6517 from rexrainbow/text-setrtl
Add setRTL method
2023-07-21 15:57:10 +01:00
Richard Davey
3f9ce29962 The FXBlurLow fragment shader didn't have the offset uniform. This is now passed in and applued to the resulting blur, preventing it from creating 45 degree artifacts (thanks Wayfinder) 2023-07-21 15:41:42 +01:00
Richard Davey
86f71e876e The BlurFXPipeline didn't bind the quality of shader specified in the controller, meaning it always used the Low Blur shader, regardless of what the FX controller asked for. 2023-07-21 15:40:44 +01:00
Richard Davey
5c4bed678c FX.Blur didn't set the quality parameter to its property, meaning it wasn't applied in the shader, causing it to always use a Low Blur quality (unless modified post-creation). 2023-07-21 15:39:32 +01:00
Richard Davey
92fcfe02dc Fixed typedef 2023-07-21 14:24:25 +01:00
Rex
3410f8e665 Add backgroundAlpha property 2023-07-14 13:14:30 +08:00
Rui Han
fababac09a
Change the note in documentation of id to be more descriptive 2023-07-09 23:57:02 +08:00
Rui Han
a3b3eb1d7a
Record layer id from Tiled map json in LayerData config 2023-07-07 18:14:21 +08:00
Rui Han
90209b3d10
Add layer id to ObjectLayer 2023-07-07 18:11:52 +08:00
Rui Han
f421546e39
Add layer id to LayerData 2023-07-07 18:11:13 +08:00
Chris Wright
af220fa531 Updated weighted random to use seeded random 2023-07-05 10:50:49 -04:00
T.J. Lipscomb
6272944f1e
Apply AnimationManager's global time scale to AnimationStates. 2023-07-03 11:43:29 -07:00
Richard Davey
1a2a255904 Matrix Translation fixes
* `Array.Matrix.RotateLeft` was missing the `total` parameter, which controls how many times to rotate the matrix.
* `Array.Matrix.RotateRight` was missing the `total` parameter, which controls how many times to rotate the matrix.
* `Array.Matrix.TranslateMatrix` didn't work with any translation values above 1 due to missing parameters in `RotateLeft` and `RotateRight`
2023-06-29 21:14:21 +01:00
Richard Davey
fb3c85888b Typo fix 2023-06-11 22:37:06 +01:00
Rex
ba5eb16aeb Add setRTL method 2023-05-31 21:01:15 +08:00
David Mokel
1507d56785 fix(Phaser.Actions.GetLast): fix the incorrect logic about GetLast function
Closes fix 6513
2023-05-29 07:21:36 +08:00
Dmitry Omelchenko
b84ee33cc2 add letter spacing 2023-05-13 04:50:37 +03:00
William Pederzoli
f89ea401d5 add proper key value to scale width and height 2023-05-11 20:36:27 +02:00
Charlie Schwabacher
bb2a156586
avoid TypeError in addSpriteSheet method of TextureManager 2023-05-09 17:10:52 -07:00
samme
c3335db081 Docs: Tilemap#createFromObjects description 2023-05-04 16:38:39 -07:00
samme
1149ad2fc5 Docs: particleX and particleY are updatable ops 2023-05-04 16:32:38 -07:00
samme
b70e353d49 Fix copying from the other Tiled object custom properties format
Fixes #6391
2023-05-01 11:30:44 -07:00
Dalibor Trampota
0ac9d48686 Fixes drawing hexagonal tilemaps 2023-05-01 19:39:32 +02:00
Richard Davey
ed180bcc44 Particle.scaleY would always be set to the scaleX value, even if given a different one within the config. It will now use its own value correctly. 2023-04-19 17:58:48 +01:00
Richard Davey
d5b0b9c9c4 Preparing for 3.60.1 2023-04-19 17:58:38 +01:00
Emil Schnedler Vad
0d06b87c9e BitmapText now reset texture unit on flush 2023-04-19 15:37:17 +02:00
Jay Kim
745fb79aad
fix: Crash in PutTileAt
If mutliple layer exists in tilemap and tilesets were added in each layers, calling putTileMap crashes the game because it tries to get tileset from its layers' own tileset array. Because tile index were gotten from tilemap.tiles, its index differ from index in layer specific tileset array.
2023-04-15 16:48:24 +09:00
Jay Kim
064b7cce25
fix: memory leak in WebAudioSoundManager
`unlockHandler` was not removed because of `this` was not binded to `bodyRemove` function, causing serious memory leak.
2023-04-14 18:16:38 +09:00
Richard Davey
304fb326ed Removed beta tag 2023-04-12 19:27:38 +01:00
Richard Davey
6b55674d89 Update ParticleEmitterConfig.js 2023-04-12 08:49:58 +01:00
Richard Davey
4ccf0371ec Remove visible check, so they render to DynamicTextures again 2023-04-12 07:10:52 +01:00
Richard Davey
a1e77e9e6b You can now correctly loading a Sprite Sheet with a Normal Map. The TextureManager.addSpriteSheet method has been updated to take an optional dataSource parameter and the SpriteSheetFile.addToCache method has been rewritten to handle normal maps as well. 2023-04-12 06:49:54 +01:00
Richard Davey
2a2b9181f8 Adding documentation 2023-04-12 03:58:49 +01:00
Richard Davey
96ee7679c4 Added Spector method docs 2023-04-12 03:45:19 +01:00
Richard Davey
f68218477c Setting SoundManager.pauseOnBlur to true would not stop the audio if a game lost focus on certain browsers (like Firefox and Chrome on Android 13). This is now enforced via the new gameLostFocus flag. Fix #6354 2023-04-12 03:23:21 +01:00
Richard Davey
69841028bb Matter.convertTilemapLayers had an edge-case which could create composite bodies unintentionally. If any tiles had multiple colliders and you were providing body creation options, the parts property in the options would be modified and then concatenated with any bodies created after it. This could mean that some tiles would be combined when they shouldn't be, and on large maps would eventually hang once the convex hull got too big / complex. It now runs a copy on the object before using it - fix #5977 2023-04-12 03:08:52 +01:00
Richard Davey
b676f2613f Update PreFXPipeline.js 2023-04-12 02:43:42 +01:00
Richard Davey
63a852779a Return array of zones 2023-04-12 02:07:59 +01:00
Richard Davey
1c6e0c81d1
Merge pull request #6462 from EmilSV/particle-render-fix
fixed particle using a white texture if flush happened
2023-04-12 01:54:43 +01:00
Richard Davey
4a892c007d Removed 'removeVideoElementOnDestroy' and better docs 2023-04-12 01:46:45 +01:00
Richard Davey
136c2fee42 Updated video events 2023-04-12 01:46:32 +01:00
Richard Davey
08556b2695 Delete VIDEO_TIMEOUT_EVENT.js 2023-04-12 01:46:23 +01:00
Richard Davey
ce05f42759 Update VideoFactory.js 2023-04-12 00:39:34 +01:00
Richard Davey
ff3f92f4d5 Test for ended state. Fix #5873 2023-04-12 00:39:30 +01:00
Richard Davey
9cd1fa45fb Updated jsdocs 2023-04-12 00:08:42 +01:00
Richard Davey
3af1d9002c Reset playCalled on complete. Emit new texture ready event. 2023-04-12 00:01:15 +01:00
Richard Davey
950fabe306 Added texture ready event 2023-04-12 00:00:58 +01:00
Richard Davey
91d598bd4f Added getWebGLTexture method 2023-04-11 23:42:17 +01:00
Richard Davey
8c2e591362 Moved PLAY event to after texture creation. Added frameReady property. Better paused handling. 2023-04-11 19:46:13 +01:00
Richard Davey
93620ca39e Fixed markers and video looping 2023-04-11 18:26:46 +01:00
Richard Davey
ec8dda5d17 Removed all mention of 'loadEvent' and 'asBlob' 2023-04-11 18:26:35 +01:00
Richard Davey
8412e53df3 Working perfectly for modern and legacy browsers. 2023-04-11 17:03:00 +01:00
Richard Davey
1384ff8cf5 Now just adds a dictionary entry into the cache, doesn't create a DOM element, doesn't hang the browser. 2023-04-11 17:02:46 +01:00
Richard Davey
7904ecfb15 Added requestVideoFrame polyfill 2023-04-11 17:02:09 +01:00
Richard Davey
0d35651e66 Removed 'hasRequestVideoFrame' and added 'getVideoURL' function 2023-04-11 17:01:42 +01:00
Richard Davey
257fdaed4f All now working via promise + rvf flow 2023-04-11 02:05:56 +01:00
Richard Davey
bff9184329 Added new unsupported event 2023-04-11 02:05:37 +01:00
Richard Davey
bde8bf3e11 Device.Video.hasRequestVideoFrame is a new boolean property that tells if the browser support the new requestVideoFrameCallback API, or not. 2023-04-11 01:34:13 +01:00