Robert Kowalski
0f55324632
pointerConstraint can't getWorldPoint with no camera. Fix #6684
2024-02-01 13:10:30 -05:00
Richard Davey
5bda070c98
The XHRLoader
will now listen for ontimeout
and if triggered it will hand over to the File.onError
handler. This prevents the Loader from stalling if a file times out. Fix #6472
2024-02-01 17:30:10 +00:00
Richard Davey
ceb92cb366
If you enable a Game Object for Input Debugging, the debug shape will no longer be rendered if the Game Object itself is not visible. Fix #6364
2024-02-01 17:25:52 +00:00
Richard Davey
d6d812fc86
Update Polygon docs re: getBounds. Fix #5441
2024-02-01 16:42:55 +00:00
Robert Kowalski
86b8364dd2
preventDefault in onTouchEndWindow when DOM elements are over input
2024-02-01 11:18:54 -05:00
Ben Richards
a0f066c543
Restore WebGL context.
...
All textures and shaders should automatically recover from WebGL
context loss.
Dynamic textures will lose their contents, unfortunately, as the texture
was stored on the GPU.
Frame buffers still have some bugs to work out.
2024-02-01 16:59:00 +13:00
Ben Richards
587b6e7bcd
Merge branch 'master' into webgl-wrappers
2024-02-01 11:00:08 +13:00
Richard Davey
a2f47d65c1
Modified RandomDataGenerator.weightedPick
method to avoid sampling past the last element. Fix #6701
2024-01-31 21:33:47 +00:00
Richard Davey
45f553d8af
x and y are non-optional. Fix #6518
2024-01-31 21:22:39 +00:00
Richard Davey
9bf53dd7c9
Added WebGLPipeline[]
as a valid type for the pipeline property
2024-01-31 21:18:11 +00:00
Robert Kowalski
bfce4b7269
Merge branch 'master' of https://github.com/phaserjs/phaser
2024-01-31 15:34:22 -05:00
Robert Kowalski
a48db68b53
The PlaceOnLine Action now supports ease functions
2024-01-31 15:34:19 -05:00
Richard Davey
cf27547793
The Matter.Body
function scale
has been updated so if the Body originally had an inertia
of Infinity
this will be restored at the end of the call. This happens if you set a Matter Body to have fixed rotation. Fix #6369
2024-01-31 20:32:10 +00:00
Richard Davey
51074c4567
The PostFXPipeline.postBatch
method will now skip onDraw
is the pipeline hasn't booted, introducing an artificial frame skip. This should potentially fix glitch errors on mobile devices where Post FX would appear corrupted for a single frame. Fix #6681
2024-01-31 20:23:43 +00:00
Richard Davey
c6c7fd60a6
The BloomFX
and BlurFX
and any custom pipeline that relies on using the UtilityPipeline
full or half frame targets will now correctly draw even after the renderer size changes. Fix #6677
2024-01-31 19:35:10 +00:00
Richard Davey
92065facf0
You can now specify an autoResize
boolean in the RenderTargetConfig
which is passed to the Render Targets when they are created by a pipeline.
2024-01-31 19:15:21 +00:00
Richard Davey
97967288b6
DynamicTexture.setSize
will now check to see if the glTexture
bound to the current frame is stale, and if so, destroy it before binding the one from the Render Target. This fixes an issue where constantly destroy and creating Dynamic Textures would cause a memory leak in WebGL. Fix #6669
2024-01-31 18:12:51 +00:00
Richard Davey
4ea4e55e0f
DynamicTexture
will now automatically call setSize(width, height)
for both WebGL and Canvas. Previously it only did it for WebGL. This fixes an issue where DynamicTextures in Canvas mode would have a width and height of -1. Fix #6682
2024-01-31 17:36:21 +00:00
Richard Davey
f258e11cb7
Merge pull request #6723 from samme/feature/renderer-custom-builds
...
Exclude the renderers by feature flag
2024-01-31 17:24:22 +00:00
Richard Davey
2489396d58
Updated docs
2024-01-31 17:15:38 +00:00
Richard Davey
f268ba3f6d
Removed debug code
2024-01-31 16:51:54 +00:00
Richard Davey
25787bde36
* The Layer.removeAll
, remove
and add
methods have been removed. These methods are all still available via the List
class that Layer inherits, but the destroyChild
parameters are no longer available.
2024-01-31 16:51:54 +00:00
Robert Kowalski
4e56bf453b
Merge branch 'master' of https://github.com/phaserjs/phaser
2024-01-31 11:34:24 -05:00
Robert Kowalski
ab0ce4d335
CheckIsoBounds after checking if the iso tile will be visible
2024-01-31 11:34:21 -05:00
samme
5ec9508c35
Reapply offset when resetting static body
2024-01-31 07:53:54 -08:00
Richard Davey
00c5d02e4e
Testing Layer remove fix
2024-01-31 15:35:18 +00:00
Ben Richards
8906e22aeb
Add PipelineManager#restoreContext
method for restoring uniforms.
...
Also add `WebGLShader#syncUniforms` and other code necessary to retain
and reapply uniform state on the GPU.
2024-01-31 16:46:41 +13:00
Robert Kowalski
b27e4d3744
Merge pull request #6537 from jorbascrumps/feat-use-seeded-random-for-tilemap-weighted-randomize
...
Updates `Tilemaps.Components.WeightedRandomize` to use seeded random value
2024-01-30 18:45:20 -05:00
Ben Richards
9b8bb39e7c
Fix texture uniform setting in Shader.
...
This call was crashing with the more explicit location wrappers,
as the location hadn't actually been created yet.
The call isn't necessary, as uniforms are set before rendering.
2024-01-31 11:55:31 +13:00
Ben Richards
b9deef7e61
Destroy location wrappers when they're unused.
2024-01-31 11:53:50 +13:00
Richard Davey
f7049fe831
Merge branch 'master' of https://github.com/phaserjs/phaser
2024-01-30 22:44:28 +00:00
Richard Davey
04b28e63f2
Fixed jsdoc
2024-01-30 22:44:25 +00:00
Ben Richards
e920b1a961
Create and use wrappers for WebGLUniformLocation and WebGLAttribLocation.
2024-01-30 22:13:51 +13:00
Robert Kowalski
be5223936a
Update CHANGELOG-v3.80.md
2024-01-29 23:33:19 -05:00
Robert Kowalski
6c55aba8d9
Merge pull request #6714 from dhashvir/master
...
fix nineslice hit areas
2024-01-29 20:04:33 -05:00
Ben Richards
0f9fb3177d
Fix incorrect WebGL calls.
2024-01-30 11:23:27 +13:00
Robert Kowalski
ddc43fcbee
Merge pull request #6694 from Byvire/master
...
Check for undefined to avoid a crash in the examples at phaser3-custo…
2024-01-29 15:27:08 -05:00
Robert Kowalski
e0e3de008a
Merge pull request #6722 from samme/feature/setTilesetImage-warnings
...
Improve the warnings in addTilesetImage()
2024-01-29 12:38:05 -05:00
samme
002fa6300a
Improve the warnings in addTilesetImage()
2024-01-29 09:17:41 -08:00
Ben Richards
2382f7c1eb
Create and use WebGLProgramWrapper.
...
This handles shader programs.
Also tweak the documentation in WebGLBufferWrapper and
WebGLFramebufferWrapper to better reflect purpose.
2024-01-29 17:35:57 +13:00
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
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