Commit graph

12543 commits

Author SHA1 Message Date
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
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