Commit graph

13090 commits

Author SHA1 Message Date
Robert Kowalski
e337b6e4d1 The default for inputActivePointers works for this condition now 2024-04-22 09:30:00 -04:00
Robert Kowalski
ec98b33757 Consistently check length for each pointer event Fix #6783 2024-04-21 23:57:18 -04:00
Richard Davey
c1c1a0ffa4 If GetURL returns false File.load will now throw a helpful error instead of crashing 2024-04-21 18:41:17 +01:00
samme
fbc7f57c28 Docs: note velocity units
Phaser.Physics.Arcade.Components.Velocity
2024-04-17 06:54:31 -07:00
samme
73ff013d95 Throw an error for invalid BitmapText key 2024-04-08 08:56:37 -07:00
Rex
f9cf19f479 displayList might be null 2024-04-08 00:36:59 +08:00
Rex
266c1f411d Fix bug 2024-04-06 16:24:08 +08:00
Rex
a2702fd795 Add some helper methods for changing rendering order 2024-04-06 09:24:04 +08:00
samme
f7e029ca2d Improve the audio warnings 2024-04-04 08:40:06 -07:00
samme
e988861f5d
Docs: correct TilemapJSONFile superclass 2024-03-17 18:06:12 -07:00
Robert Kowalski
e1d23b98c0 Spelling fixes 2024-03-05 22:21:42 -05:00
Richard Davey
8acc797b64 Updated documentation and removed Transform component 2024-02-27 15:48:31 +00:00
Richard Davey
6943c9bbca Reverted a change made in TouchManager that would prevent clicks from outside the game window from being registered. Fix #6747 2024-02-27 15:36:34 +00:00
Richard Davey
229f9232f4 Modified onMouseUpWindow and onMouseDownWindow in the MouseManager so they now check for sourceCapabilities.firesTouchEvents and if found, abort registering the event. This new browser event property is designed to prevent you accidentally registering a Mouse Event when a Touch Event has just occurred (see https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceCapabilities/firesTouchEvents) #6747 2024-02-27 15:36:23 +00:00
Richard Davey
fb47fcf455 Update const.js 2024-02-27 14:59:29 +00:00
Ben Richards
b1806fd721 Remove unsynced flipY from Shader and DynamicTexture textures.
This might be causing some issues with context restore,
and seems entirely unnecessary.
2024-02-27 17:29:49 +13:00
Ben Richards
1b77881dd4 Ensure TextureSource.setFlipY always updates the texture.
When it's a Canvas or Video, at least.
2024-02-27 15:17:52 +13:00
Lukas Dachtler
d5b9c684a3 marked updateVelocity as optional parameter 2024-02-26 23:42:20 +01:00
Ben Richards
37ba3510f2 Fix RenderTexture crashing in the presence of a light.
More generally, anything with a default/no normal map should be fixed.
2024-02-26 17:45:52 +13:00
Ben Richards
7eede9d236 Standardise texture update in Shader.initSampler2D. 2024-02-26 16:19:24 +13:00
Ben Richards
cab4bab15e Eliminate duplicate code in WebGL video handling.
This involves a new method, `videoToTexture`.
2024-02-23 19:16:18 +13:00
Ben Richards
9a5b51dd27 Eliminate duplicate code in WebGL texture creation/update.
This should make the code lighter and more maintainable.
`UNPACK_FLIP_Y_WEBGL` is now always set, where previously it was allowed
to just remain default (false); this is necessary for the new code path.
`Uint8Array` sources are now allowed to generate MIPMaps.
`WebGLTextureWrapper.update` now checks the type of `pixels`, although
it should only ever be the final case.
2024-02-23 18:43:27 +13:00
Ben Richards
42039a144e Fix failure to restore compressed textures after WebGL context loss. 2024-02-23 17:55:03 +13:00
Ben Richards
3cd756dbe9 Fix new WebGLTextures remaining bound after creation.
This caused an error when calling `Shader.setRenderToTexture()`
after the game started running.
The leftover texture caused a temporary cyclic reference with the new
Framebuffer. The actual rendering pipeline was not affected.
2024-02-22 19:01:03 +13:00
Richard Davey
e0f9e7d1d0 Preparing for v3.90 development 2024-02-21 23:15:21 +00:00
Richard Davey
57b7b09597 Fixed jsdoc 2024-02-21 22:39:29 +00:00
Richard Davey
143d1d9be9 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-21 21:31:54 +00:00
Richard Davey
89afecc597 Swapped to the ComputedSize component, moved metadata handler logic to the new inline setSizeToFrame method 2024-02-21 21:31:51 +00:00
Robert Kowalski
60aa42fec4 Quick cleanup and documentation update 2024-02-21 16:12:29 -05:00
Robert Kowalski
7e848e66fa Add documentation about fixed frame size on plane animation 2024-02-21 16:07:24 -05:00
Ben Richards
198598882e Document non-optional texture update flags correctly. 2024-02-22 09:56:17 +13:00
Ben Richards
a0aa09ff31 Fix WebGL errors when updating video textures. 2024-02-22 09:18:12 +13:00
Richard Davey
5a12f2a193 Preparing for v3.80 release 2024-02-21 13:31:13 +00:00
Richard Davey
ff945e1595 Fix merge error 2024-02-21 13:25:08 +00:00
Richard Davey
c445303ffb Revert define changes as they don't work 2024-02-21 13:23:52 +00:00
Richard Davey
d25d65835a Update NineSliceRender.js 2024-02-21 12:59:40 +00:00
Richard Davey
509f78ed72 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-21 12:57:55 +00:00
Richard Davey
7aaa976a4e Updated webpack config DefinePlugin use and corresponding defs to allow those crazy souls who import source directly on node to have a better life #6644 2024-02-21 12:57:48 +00:00
Robert Kowalski
9d155d8dde Revert "Add bounce event to arcade physics Fix #6406"
This reverts commit 542bac2d02.
2024-02-21 07:22:57 -05:00
Richard Davey
d70e3f453c The ArcadePhysics.World.collideSpriteVsTilemapLayer method has been modified so that the body bounds are now expanded by the size of the scaled base tile in the Tilemap Layer. This fixes an issue where the check would skip over-sized tiles that were outside the bounds of the body. Mostly noticeable on layers that had a different base tile size to the map itself. Fix #4479 2024-02-21 01:11:43 +00:00
Richard Davey
d855fa73d3 The TilemapWebGLRenderer function has been fixed so it now uses the TileSet width and height for the tile draw command. This fixes an issue where the Tilemap would render incorrectly if the base tile size was different to the tile size. Fix #5988 2024-02-21 00:17:09 +00:00
Richard Davey
c273a1c9af Handle non-sprite sheets 2024-02-21 00:01:28 +00:00
Richard Davey
862f75089e Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-20 23:56:21 +00:00
Richard Davey
133073a55e The Tileset.updateTileData method has two new optional parameters offsetX and offsetY which allow you to set the offset that the tile data starts from within the base source texture. 2024-02-20 23:56:14 +00:00
Richard Davey
724ed7ec17 Texture#getFrameBounds is a new method that will return the bounds that all of the frames of a given Texture Source encompass. This is useful for things like calculating the bounds of a Sprite Sheet embedded within a Texture Atlas. 2024-02-20 23:53:26 +00:00
Richard Davey
085bfa0cac Use the TextureManager 2024-02-20 23:53:11 +00:00
Richard Davey
4df43d7bed Math.RectangleLike is a new typedef that defines a rectangle-like object with public x, y, width and height properties. 2024-02-20 23:52:54 +00:00
Ben Richards
60176e4b39 Merge remote-tracking branch 'origin/master' 2024-02-21 11:49:15 +13:00
Ben Richards
13d6defb33 Fix rare text sizes failing to render.
If initialized at a power-of-two resolution, then resized to a
non-power-of-two resolution, some extra parameters must be updated.
2024-02-21 11:48:59 +13:00
Richard Davey
5d0c50c704 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-20 22:46:12 +00:00
Richard Davey
68e089a380 The ScaleManager.orientationChange event listener will now directly refresh the Scale Manager internals. This fixes an issue where the orientation change event would fire after the window resize event, causing the Scale Manager to incorrectly report the new orientation on Chrome on iOS. Fix #6484 2024-02-20 22:46:05 +00:00
Robert Kowalski
542bac2d02 Add bounce event to arcade physics Fix #6406 2024-02-20 17:16:32 -05:00
Richard Davey
ebe627836e Fixed object creation, sprite origin and added useSpriteSheet property 2024-02-20 21:38:42 +00:00
Richard Davey
0002c009f7 Updated jsdocs 2024-02-20 21:38:19 +00:00
Robert Kowalski
77778a07aa Just updateDisplayOrigin without defaults Fix #6655 2024-02-20 14:21:36 -05:00
Richard Davey
89811d7388 The Tilemap.createFromTiles method has been updated. It will now copy the following properties, if set in the Tile, to the Sprites it creates: rotation, flipX, flipY, alpha, visible and tint. If these properties are declared in the spriteConfig passed to the method, those will be used instead, otherwise the Tile values are used. Fix #6711 2024-02-20 18:39:52 +00:00
Richard Davey
2dfd421495 WebAudioSound will now set hasEnded = false as part of stopAndRemoveBufferSource, after the source has been stopped and disconnected. This should prevent it from being left in a true state if the source onended callback fired late, after the sound had been re-played. Fix #6657 2024-02-20 17:50:44 +00:00
Richard Davey
429dcf0ed0 Clarified docs. Fix #6516 2024-02-20 16:47:18 +00:00
Richard Davey
38da7de892 Fix Tilemap properties JSDoc type. Fix #6331 2024-02-20 16:35:18 +00:00
Richard Davey
76a1062d50 Clarify container level. Fix #6699 2024-02-20 16:23:37 +00:00
Robert Kowalski
371a8b31a9 Add documentation on crop functionality Fix #6589 2024-02-20 11:21:47 -05:00
Ben Richards
a74f99563b Fix spritesheet from atlas from compressed texture. 2024-02-20 21:45:06 +13:00
Ben Richards
93b4b083f1 Fix setting unnecessarily high texture filters. 2024-02-20 13:10:08 +13:00
Ben Richards
a2178c8466 Fix MIPMaps being disabled for compressed textures. 2024-02-20 13:02:19 +13:00
Richard Davey
1f8276ac76 Updated copyright year, company and author 2024-02-19 17:12:24 +00:00
Robert Kowalski
7a6845f6bf Use GetFastValue so all children are added to the container via GameObjectCreator Fix #6743 2024-02-19 12:09:07 -05:00
Richard Davey
5dc286268f A new property is available in the Game Configuration specifically for setting the 'snap' values for the Scale Manager. You can now set snap: { width, height } in the game config. This is then passed to the display size by the Scale Manager and used to control the snap values. Fix #6629 (thanks @musjj @samme) 2024-02-19 16:35:42 +00:00
Richard Davey
d2ce0f9358 Config#snapWidth and Config#snapHeight are new properties in the Game Config that hold the parsed snap config values, as used by the Scale Manager. 2024-02-19 16:35:27 +00:00
Richard Davey
1199178eff beta 3 tag for safety 2024-02-19 16:27:19 +00:00
Richard Davey
0ee06b65b3 Docs fix 2024-02-19 16:27:07 +00:00
Richard Davey
55b4c8db4a The Browser Device class will no longer think that Chrome is Mobile Safari on iOS devices. Fix #6739 2024-02-19 15:36:37 +00:00
Richard Davey
21a10b736a
Merge pull request #6728 from moufmouf/fix-postfxpipeline
Fixing the Postfix pipeline without introducing a skip frame
2024-02-19 15:30:34 +00:00
Richard Davey
56213a5f7e Update WebGLRenderer.js 2024-02-19 15:28:21 +00:00
Richard Davey
de0a22964e WebGLPipeline.resizeUniform is a new property that is defined in the WebGLPipelineConfig. This is a string that defines a uResolution property, or similar, within the pipeline shader. If the WebGL Renderer resizes, this uniform will now be updated automatically as part of the pipeline resize method. It has been added to both the Multi and Mobile pipelines as default. This fixes issues where the pipelines were rendering with old resolution values, causing graphical glitches in mostly pixel-art games. Fix #6674 2024-02-19 15:28:18 +00:00
Richard Davey
82b1a3e2aa Added missing copyright block 2024-02-19 15:01:56 +00:00
Richard Davey
a9012b19b4 The BitmapText.setFont method will now set the texture, size and alignment even if the same font key has been given as is already in use. Fix #6740 2024-02-19 14:41:59 +00:00
Richard Davey
76903fcdb9
Merge pull request #6719 from Stan-Stani/master
docs: clarify overlapOnly param
2024-02-19 14:31:29 +00:00
Richard Davey
9a175caa39
Merge pull request #6734 from yaustar/master
File creation checks if URL is a string before seeing if its Base64
2024-02-19 14:29:57 +00:00
Richard Davey
6d82af183c
Merge pull request #6741 from samme/docs/tween-chain-callbacks
Docs: remove unused TweenChainBuilderConfig props
2024-02-19 14:28:48 +00:00
Ben Richards
747c961632 Remove documentation requiring linear color space in ASTC textures.
This is no longer true.
2024-02-19 15:09:39 +13:00
Robert Kowalski
a7f00773ff Properly detect mesh like gameObjects when supplying an input configuration 2024-02-18 08:01:22 -05:00
Ben Richards
89543c9880 Change S3TCRGB to S3TCSRGB. 2024-02-17 20:59:00 +13:00
Ben Richards
f8ebbf38ef Verify compressed texture compatibility with WebGL and improve warnings. 2024-02-17 20:43:43 +13:00
Ben Richards
27f61c25e9 Merge remote-tracking branch 'origin/master' 2024-02-17 18:16:14 +13:00
Ben Richards
6c8c432fbf Add support for sRGB color in ETC compressed PVR files. 2024-02-17 18:15:56 +13:00
Robert Kowalski
b4c9cc92c2 Call the Time.Timeline loop callback earlier 2024-02-16 16:31:05 -05:00
Ben Richards
d70c107fde Add experimental support for BPTC compressed textures in PVR files.
These haven't been verified to work, but PVR format 15
(COMPRESSED_RGBA_BPTC_UNORM_EXT or COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT)
conforms to the specification, and PVR format 14
(COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT or
COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT) is a best guess.
2024-02-16 17:55:44 +13:00
Ben Richards
14bea5a995 Support sRGB compressed textures in PVR files.
ASTC format textures would previously be defaulted to linear RGB.
S3TC format textures would either default to linear RGB,
or not load at all.
2024-02-16 17:48:43 +13:00
Robert Kowalski
6bb3138c03 Path lineTo and moveTo now support Vector2Like Fix #6557 2024-02-15 20:24:49 -05:00
samme
5500c2170b Docs: TweenChainBuilderConfig descriptions 2024-02-15 17:01:49 -08:00
samme
55fb8a4ad8 Docs: remove unused TweenChainBuilderConfig props 2024-02-15 16:58:55 -08:00
Richard Davey
61a8fda08c Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-14 22:34:22 +00:00
Richard Davey
43954cf89b The Device.Browser.safari regular expression has been strenghtened so it now captures versions with double or triple periods in. Previously it would fail for Version/17.2.1 due to the minor value 2024-02-14 22:32:42 +00:00
Robert Kowalski
b9a7b3ed33 Cleanup and added loop callback to Time.Timeline 2024-02-14 10:21:06 -05:00
Ben Richards
878d3d2211 Fix support for BPTC and RGTC texture compression.
They use different WebGL extension name formats.
2024-02-13 17:38:19 +13:00
Robert Kowalski
e999c5a911 Add repeating functionality to Time.Timeline Fix #6560 2024-02-12 18:00:36 -05:00
Robert Kowalski
480cccb19e Add hitAreaCallback workaround back to Input.InputPlugin#setHitArea 2024-02-12 10:03:54 -05:00
Robert Kowalski
51dfa7866e Adds metadata event to Video Game Objects and a starting texture Fix #6475 2024-02-09 22:36:52 -05:00
Steven Yau
a25d61068e File creation checks if URL is a string before seeing if its Base64
Fixes #6733
2024-02-09 21:42:22 +00:00
Richard Davey
3015fe11eb v3.80 Beta 2 2024-02-09 14:39:41 +00:00
Ben Richards
5ac59c1890 Fix headless renderer compatibility. 2024-02-09 18:57:13 +13:00
Ben Richards
9ab82970c7 Fix inappropriate default type of Shader._deferSetShader. 2024-02-09 18:40:37 +13:00
Ben Richards
2e8a8f8081 Add default normal map texture __NORMAL.
Remove `LightPipeline.defaultNormalMap`, as this universal texture is
now available to use.
2024-02-09 15:51:53 +13:00
Ben Richards
23a672bc48 Improve resize handling.
Although the `resize` function does make GL calls,
they will have no effect during context loss.
2024-02-09 12:28:20 +13:00
Ben Richards
6d56791568 Fix incorrect type on WebGLAttribLocationWrapper.wegGLAttribLocation.
A uniform uses a `WebGLUniformLocation`, but an attrib uses a `GLint`.
2024-02-09 11:06:47 +13:00
Ben Richards
4353a1e175 Improve safety around context loss.
Clarify notes on drawing dynamic textures during context loss.
Allow `Shader` to initialize and operate during context loss.
Improve resize handling on context loss and recovery.
2024-02-08 18:53:10 +13:00
Robert Kowalski
b762b28575 Use built in HasAny to check for Mesh Game Objects 2024-02-07 21:05:31 -05:00
Robert Kowalski
827d6320e7 Remove old Mesh based Game Object detection for input and check if interactive config is empty 2024-02-07 15:52:17 -05:00
Robert Kowalski
798082c6c6 Mesh based Game Objects can use an input configuration Fixes #6510 2024-02-06 23:44:02 -05:00
Ben Richards
36a05e268a Merge remote-tracking branch 'origin/master' 2024-02-07 12:00:45 +13:00
Ben Richards
719e7a5e73 Remove unnecessary checks around Text WebGL texture. 2024-02-07 11:50:33 +13:00
Robert Kowalski
d35e69ce25 Move resetCursor so it does not lose input Fix #6387 2024-02-05 18:38:42 -05:00
Ben Richards
7ed40fdf7d Allow WebGL wrapper operations during context loss. 2024-02-05 16:40:16 +13:00
Ben Richards
06d463e92e Fix text initialization in WebGL.
As `frame.glTexture` is now a getter, this would error out in strict mode.
Repeated texture updates would also generate new wrappers.
2024-02-05 15:39:17 +13:00
Ben Richards
a4e96855fc Correct documentation of LightPipeline.currentNormalMap. 2024-02-05 14:30:24 +13:00
biometricPsychography
27f0a822c8 docs: move overlapOnly caveat to the @classdesc 2024-02-03 13:26:22 -06:00
Robert Kowalski
39b35580c9 Keep temp hit test when disabling interactivity Fix #6601 2024-02-02 17:56:45 -05:00
Robert Kowalski
2cf82a9b54
Merge pull request #6730 from samme/fix/static-body-reset-offset
Reapply offset when resetting static body
2024-02-02 16:17:23 -05:00
David Négrier
e5454a1203 Fixing the Postfix pipeline without introducing a skip frame
Due to #6681, we introduced a skip frame to wait for the PostFX pipeline to be correctly booted.
While this fixed the display issue, it introduced a "skip" frame.
The pipeline would only be visible one frame after being introduced.

The root issue is a binding issue on currentRenderTarget.

Here, we fix the root issue and remove the skip frame.
2024-02-02 16:05:08 +01:00
Richard Davey
604c34c13b Stop tsgen from crashing! 2024-02-02 13:56:24 +00:00
Richard Davey
e00d12195d Fixed incorrect jsdocs 2024-02-02 13:03:38 +00:00
Richard Davey
7bac75a2f4 Fixed some jsdoc name references and minor lint errors 2024-02-02 13:01:03 +00:00
Richard Davey
56f4c89938
Merge pull request #6725 from phaserjs/webgl-wrappers
Merge WebGL Context Loss work
2024-02-02 12:36:57 +00:00
Ben Richards
49e9d45435 Emit LOSE_WEBGL event.
Also rearrange RESTORE_WEBGL event code.
2024-02-02 21:57:28 +13:00
Ben Richards
d57b46e690 Tidy up wrappers on WebGLRenderer destroy. 2024-02-02 20:55:09 +13:00
Ben Richards
4fd8fc94c3 Fix WebGLShader recovery from WebGL context loss. 2024-02-02 20:50:39 +13:00
Ben Richards
6f36e8201d Fix Shader recovery from WebGL context loss. 2024-02-02 17:43:53 +13:00
Ben Richards
1ad6a64a81 Ensure that Shader render target is correctly updated. 2024-02-02 16:52:50 +13:00
Ben Richards
ade7b57e3d Restore WebGL extensions. 2024-02-02 16:29:24 +13:00
Ben Richards
b66028ec8e Handle more invalidated state on WebGL context restore. 2024-02-02 15:53:03 +13:00
Ben Richards
4c849cb2f7 Tidy up WebGL Wrappers.
Dispose of all references on destroy.
Properly name WebGLProgramWrapper#initialize.
Remove renderer dependence in WebGLFramebufferWrapper.
2024-02-02 15:30:38 +13:00
Ben Richards
24d739ed72 Emit RESTORE_WEBGL event. 2024-02-02 11:33:27 +13:00
Richard Davey
221eb1ae5d Added base64 property and onBase64Load method and removed data URI warnings 2024-02-01 19:23:26 +00:00
Richard Davey
324dcfba97 The XHRLoader will now return a fake XHR result object containing the decoded base64 data if a base64 file is detected, skipping the creation of a real XML Http Request object. 2024-02-01 19:23:26 +00:00
Richard Davey
aa0d60786f Update XMLFile.js 2024-02-01 19:23:26 +00:00
Richard Davey
8e4ea336c0 The ImageFile will now default to using the Image Load Element if a base64 file is detected, instead of throwing a console warning about unsupported types. 2024-02-01 19:23:26 +00:00
Robert Kowalski
d967da83d2 Merge branch 'master' of https://github.com/phaserjs/phaser 2024-02-01 13:10:42 -05:00
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
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