Commit graph

3350 commits

Author SHA1 Message Date
Zeke Chan
5d74999620 Fixed "undefined" style bug causing crashes 2024-07-19 11:06:23 +08:00
Richard Davey
2fc8f5b3f9
Floor, not round 2024-07-16 23:17:40 +01:00
Richard Davey
77f209bbe5
Removed the uRoundPixels shader uniform and from the pipelines. Pass camera.roundPixels to setQuad. 2024-07-16 21:24:16 +01:00
Richard Davey
160587fb2d
Inlined the BitmapText BatchChar math to avoid 16 function calls per character 2024-07-16 21:23:09 +01:00
Richard Davey
f2855c66dd
Merge branch 'master' of https://github.com/phaserjs/phaser 2024-07-16 20:25:28 +01:00
Richard Davey
a8724b88d8
Calling Ellipse.setSize will internally call updateDisplayOrigin to retain position 2024-07-16 20:25:26 +01:00
Zeke Chan
f8dc6dcadb
Merge pull request #6782 from rexrainbow/depth-helper
Add some helper methods for changing rendering order
2024-07-16 16:29:45 +08:00
Richard Davey
5038c26051 The TextStyle.setStyle method will no longer mutate the given style object if it includes a numeric fontSize value. Fix #6863 2024-07-15 17:44:39 +01:00
Richard Davey
b14c580282 typo 2024-07-15 17:26:16 +01:00
zekechan
944c6be993 BitmapText with maxWidth set does not wrap text correctly when a line ends with a white space. Fix #6860 2024-07-15 17:12:50 +08:00
Zeke Chan
7931e181a2 Updated maxWidth calculations 2024-07-12 15:34:48 +08:00
Zeke Chan
e9f92fab64 Revert "Updated maxWidth calculations"
This reverts commit 514f99d8aa.
2024-07-12 12:37:42 +08:00
Zeke Chan
514f99d8aa Updated maxWidth calculations 2024-07-12 12:27:13 +08:00
Zeke Chan
9ecd99d173 Corrected currentLine offset 2024-07-11 17:34:47 +08:00
Zeke Chan
6fd0769915 Fixed line wrapping issue for lines ending with a space 2024-07-11 17:00:53 +08:00
zekechan
a190054ce0 Update TileSprite.js
Default width and height are assigned to displayFrame separately.
2024-07-10 17:15:57 +08:00
Zeke Chan
ea48bcf491 Update ParticleEmitter.js 2024-06-26 10:58:39 +08:00
Zeke Chan
f0f82d3a40 Update ParticleEmitter.js 2024-06-25 15:55:55 +08:00
Zeke Chan
42a6831106 Update GetBitmapTextSize.js
Fixed extra empty line issue in GetBitmapTextSize.js when setMaxWidth is called with line width less than a word.
2024-06-21 16:27:30 +08:00
Zeke Chan
9b2663774e Fixed bitmapText kerning bug 2024-06-19 13:55:41 +08:00
Zeke Chan
b2d62b6234 Update DeathZone.js
DeathZone now checks for particle local coordinates, not world coordinates.
2024-06-12 16:43:32 +08:00
Richard Davey
2f3a92b2d9 Added useSpriteSheet config property. Fix #6752 2024-06-07 16:30:06 +01:00
Richard Davey
27a0cb1a8f
Merge pull request #6813 from AlbertMontagutCasero/fix-TextStyle-setWordWrapWidth-definition
Fix jsdoc in setWordWrapWidth from Text and TextStyle
2024-06-06 15:27:45 +01:00
Richard Davey
d18f42377b
Merge pull request #6801 from samme/fix/getPipelineName-null
`getPipelineName()` is null if pipeline is null
2024-06-06 15:18:12 +01:00
Richard Davey
159fe935bb
Merge pull request #6785 from samme/feature/bitmaptext-key-error
Throw an error for invalid BitmapText key
2024-06-06 15:14:12 +01:00
Jack Le Hamster
f3dd9523e2
Merge branch 'phaserjs:master' into master 2024-05-16 15:48:32 -07:00
David Négrier
0bcc71d469 Fixing DomElement position when camera zoom != 1
When the camera zoom is set to any other value than one, if a dom element origin
if set to anything other than 0, the final position of the DOM was incorrect.

I traced this back to the DOMElementCSSRenderer.
After some trial and error, I realized the translation needed to be applied after camera multiplication
and not at the beginning.

With this change, DOMElements are correctly positioned.
2024-05-15 16:25:28 +02:00
Richard Davey
946e82b058 Removed .js from require paths (not needed) 2024-05-15 15:02:31 +01:00
Richard Davey
fc873c0e6d
Remove .js from require path 2024-05-15 00:40:35 +01:00
Jack Le Hamster
cc1329e85d Revert "Fix bug in all JS files."
This reverts commit 0ffec094a1.
2024-05-14 14:17:03 -07:00
Jack Le Hamster
0ffec094a1 Fix bug in all JS files. 2024-05-14 00:55:03 -07:00
Jack Le Hamster
cde45d8766 Fix null pointer exception:
Uncaught TypeError: Cannot set properties of undefined (setting 'controller')

occurring on Windows when adding effects.
2024-05-14 00:24:41 -07:00
Albert Montagut Casero
b90fc23236 Fix jsdoc in setWordWrapWidth from Text and TextStyle 2024-05-07 10:36:46 +02:00
samme
840ff020f8 getPipelineName() is null if pipeline is null
Fixes #6799
2024-04-25 09:10:47 -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
Richard Davey
8acc797b64 Updated documentation and removed Transform component 2024-02-27 15:48:31 +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
7eede9d236 Standardise texture update in Shader.initSampler2D. 2024-02-26 16:19:24 +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
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
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
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
77778a07aa Just updateDisplayOrigin without defaults Fix #6655 2024-02-20 14:21:36 -05:00
Richard Davey
429dcf0ed0 Clarified docs. Fix #6516 2024-02-20 16:47: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
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
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
Robert Kowalski
51dfa7866e Adds metadata event to Video Game Objects and a starting texture Fix #6475 2024-02-09 22:36:52 -05:00
Ben Richards
9ab82970c7 Fix inappropriate default type of Shader._deferSetShader. 2024-02-09 18:40:37 +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
798082c6c6 Mesh based Game Objects can use an input configuration Fixes #6510 2024-02-06 23:44:02 -05:00
Ben Richards
719e7a5e73 Remove unnecessary checks around Text WebGL texture. 2024-02-07 11:50:33 +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
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
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
Richard Davey
d6d812fc86 Update Polygon docs re: getBounds. Fix #5441 2024-02-01 16:42:55 +00:00
Ben Richards
587b6e7bcd Merge branch 'master' into webgl-wrappers 2024-02-01 11:00:08 +13: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
Richard Davey
00c5d02e4e Testing Layer remove fix 2024-01-31 15:35:18 +00: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
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
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
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
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
Dhashvir Lalla
835d77cb85 fix nineslice hit areas 2024-01-15 05:16:56 +11: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
samme
5cd5cadf79 Fix removing destroyed Container child 2023-12-03 16:14:46 -08: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
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
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
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
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