Commit graph

12147 commits

Author SHA1 Message Date
Richard Davey
c4b9dbc260 Added staggerAxis and staggerIndex 2022-11-24 18:54:10 +00:00
Richard Davey
b065452cc4 Debugging 2022-11-24 13:44:52 +00:00
Richard Davey
4bf7e1978f WorldToTileXY now does all the calculations and X and Y just call it. 2022-11-24 12:51:18 +00:00
Richard Davey
36bbc88995 Removed HexagonalWorldToTileY as it cannot work without an X value 2022-11-24 12:41:42 +00:00
Richard Davey
cf657f4fc7 Calling Tilemap.worldToTileX or worldToTileY on a Isometric or Hexagonal Tilemap will now always return null instead of doing nothing, as you cannot convert to a tile index using just one coordinate for these map types, you should use worldToTileXY instead. 2022-11-24 00:42:13 +00:00
Richard Davey
70cf842b8c Added NULL OP 2022-11-24 00:42:04 +00:00
Richard Davey
c8b40de29c Improved jsdocs 2022-11-24 00:41:55 +00:00
Richard Davey
6aa193c21b Added new getIsoTileAtWorldXY method. 2022-11-24 00:27:01 +00:00
Richard Davey
25bc5dec90 Fixed world to isometric conversion and added optional base origin property.
Fix #5781
2022-11-24 00:26:40 +00:00
samme
995edbbe85 Add maxSpeed and useDamping to physics group config 2022-11-23 09:06:44 -08:00
Richard Davey
fa6963319a The Game.headlessStep method will now reset SceneManager.isProcessing before PRE_RENDER. This fixes issues in HEADLESS mode where the Scene Manager wouldn't process additionally added Scenes created after the Game had started. Fix #5872 #5974 2022-11-23 16:14:15 +00:00
Richard Davey
384276ef0e If Rope.setPoints was called with the exact same number of points as before, it wouldn't set the dirty flag, meaning the vertices were not updated on the next render 2022-11-23 15:24:55 +00:00
Richard Davey
c0e592770f Update BitmapTextWord.js 2022-11-23 15:10:50 +00:00
Richard Davey
e0a8486dbc Update BitmapTextWord.js 2022-11-23 14:22:13 +00:00
Richard Davey
5d77e1fdc8 Particle.fire will now check to see if the parent Emitter is set to follow a Game Object and if so, and if the x/y EmitterOps are spread ops, then it'll space the particles out based on the follower coordinates, instead of clumping them all together. Fix #5847 2022-11-23 00:29:12 +00:00
Richard Davey
5f35c016f3 Upgrade Earcut
Earcut has been updated to version 2.2.4. This release improves performance by 10-15% and fixes 2 rare race conditions that could leave to infinite loops. Earcut is used internally by Graphics and Shape game objects when triangulating polygons for complex shapes.
2022-11-22 23:51:20 +00:00
Richard Davey
64ede38b9d Added more docs confirming overrides. Fix #6046 2022-11-22 23:37:20 +00:00
Richard Davey
03b1ed62d1 When using RTL (right-to-left) Text Game Objects, the Text would vanish on iOS15+ if you changed the text or font style. The context RTL properties are now restored when the text is updated, fixing this issue. Fix #6121 2022-11-22 22:58:48 +00:00
Richard Davey
886920155b Add generics 2022-11-22 21:55:30 +00:00
Richard Davey
49c2f106b5 Swapped to non-instance based checks and added generics 2022-11-22 20:35:59 +00:00
Richard Davey
9bdf022bed The BaseSoundManager.getAll method used to require a key parameter, to return Sounds matching the key. This is now optional and if not given, all Sound instances are returned. 2022-11-22 18:49:37 +00:00
Richard Davey
320317c884 The WebAudioSoundManager will now detect if the Audio Context enters a 'suspended' or 'interrupted' state as part of its update loop and if so it'll try to resume the context. This can happen if you change or disable the audio device, such as plugging in headphones with built-in audio drivers then disconnecting them, or swapping tabs on iOS. Fix #5353 2022-11-22 18:38:49 +00:00
Richard Davey
ee2b5f5e35 Clarify jsdocs. Fix #6043 2022-11-22 18:26:13 +00:00
Richard Davey
9357b8e609 The RenderTarget class will now create a Framebuffer that includes a Depth Stencil Buffer attachment by default. Previously, it didn't. By attaching a stencil buffer it allows things like Geometry Masks to work in combination with Post FX and other Pipelines. Fix #5802 2022-11-22 18:13:03 +00:00
Richard Davey
e7efa068a7 Previously, calling createBitmapMask on a Shape Game Object would fail unless you passed the shape to the method. Now, it will correctly create a mask from the Shape without needing to pass it. Fix #5976 2022-11-22 17:40:56 +00:00
Richard Davey
95ef3f9c25 Update Container.js 2022-11-22 00:19:02 +00:00
Richard Davey
436a42cfb4 The InputPlugin.sortGameObjects method was using the Camera Render List to determine the Game Object display list. This would exclude non-rendering objects, such as Game Objects with alpha set to zero, even if their Input alwaysEnable flag was set. This method now uses the Display List instead, which gives correct results for invisible 'always enabled' objects. Fix #5507 2022-11-21 23:26:44 +00:00
Richard Davey
154e262ae8 No point doing this twice 2022-11-21 22:46:01 +00:00
Richard Davey
45fbebb53a BaseSoundManager.getAllPlaying is a new method that will return all currently playing sounds in the Sound Manager.
Fix #6147
2022-11-21 21:38:54 +00:00
Richard Davey
d71b53a7f5 Updated jsdocs. Fix #5981 2022-11-18 22:14:59 +00:00
Richard Davey
0f4bd028ce Corrected jsdocs. Fix #6113 2022-11-18 22:09:05 +00:00
Richard Davey
d4b386aa90 Added generics to Container 2022-11-18 22:04:39 +00:00
Richard Davey
84cdbdd560 Added generics. Fix #6140 2022-11-18 21:30:28 +00:00
Richard Davey
b28eaf8da7 Added generics to Scene Manager functions. Fix #5662 2022-11-17 22:13:24 +00:00
Richard Davey
d48f548472 TS defs update. Fix #5665 2022-11-17 18:40:24 +00:00
Richard Davey
e608c2caf1 The CONTEXT_RESTORED Game Event has been removed and the WebGL Renderer no longer listens for the contextrestored DOM event, or has a contextRestoredHandler method. This never actually worked properly, in any version of Phaser 3 - although the WebGLRenderer would be restored, none of the shaders, pipelines or textures were correctly re-created. If a context is now lost, Phaser will display an error in the console and all rendering will halt. It will no longer try to re-create the context, leading to masses of WebGL errors in the console. Instead, it will die gracefully and require a page reload. 2022-11-17 18:04:51 +00:00
Richard Davey
1b8495f4ec Update TweenChain.js 2022-11-17 17:31:25 +00:00
Richard Davey
c9d7a76998 The Light fragment shader will now use the outTintEffect attribute meaning the Light Pipeline will now correctly light both tinted and fill-tinted Game Objects. Fix #5452 2022-11-17 17:25:47 +00:00
Richard Davey
8c7c8ee2a4 The batchLine method in the Multi Pipeline will now check to see if the dxdy len is zero, and if so, it will abort drawing the line. This fixes issues on older Android devices, such as the Samsung Galaxy S6 or Kindle 7, where it would draw erroneous lines leading up to the top-left of the canvas under WebGL when rendering a stroked rounded rectangle. Fix #5429 2022-11-17 16:49:10 +00:00
Richard Davey
ce12d63d01 The Tilemap.destroyLayer method would throw an error "TypeError: layer.destroy is not a function". It now correctly destroys the TilemapLayer. Fix #6268 2022-11-17 14:34:46 +00:00
Richard Davey
759599e4d1 MapData and ObjectLayer will now enforce that the Tilemap.objects property is always an array. Sometimes Tiled willl set it to be a blank object in the JSON data. This fix makes sure it is always an array. Fix #6139 2022-11-17 14:28:23 +00:00
Richard Davey
05845c6ee0 The ParseJSONTiled function will now run a DeepCopy on the source Tiled JSON, which prevents object mutation, fixing an issue where Tiled Object Layer names would be duplicated if used across multiple Tilemap instances. Fix #6212 2022-11-17 14:17:58 +00:00
Richard Davey
2f720246ab Reset the buffer and textures on rebind. 2022-11-15 21:54:43 +00:00
Richard Davey
6220d9b18d Fake this flag to allow Bobs to get a physics body. Fix #6284 2022-11-14 21:41:37 +00:00
Richard Davey
11def7bf38 Added addMultiple and removed ability from add and chain to pass in arrays of configs 2022-11-14 17:04:05 +00:00
Dmitry Omelchenko
4f30e0b5b9 fix advancedWordWrap concatenate when wrapping 2022-11-12 17:30:27 +02:00
Richard Davey
c5e10cd3f1 Fix #6052 2022-11-10 22:14:18 +00:00
Richard Davey
cfc8e4df3d Preparing for Beta 15 2022-11-10 16:21:07 +00:00
Richard Davey
064e8a3ec2 Fixed type issues 2022-11-10 16:05:20 +00:00
Richard Davey
c546a38ae2 Updated jsdocs 2022-11-10 15:10:50 +00:00
Richard Davey
465bf07334 The GameObjects.Components.Mask.createBitmapMask method can now accept the x, y, texture and frame parameters new to the BitmapMask constructor. 2022-11-10 15:09:27 +00:00
Richard Davey
b457e42a2f The Light Pipeline will now check to see if a Light2D enabled Game Object has a parent Container, or not, and factor the rotation and scale of this into the light calculation. Fix #6086 2022-11-09 18:18:35 +00:00
Richard Davey
6b9872fb33 The method Color.setFromHSV would not change the members h, s and v, only the RGB properties. It now correctly updates them both. Fix #6276 2022-11-09 16:30:38 +00:00
Richard Davey
778b3e7f52 Allow key presses during pre-create stage 2022-11-08 23:32:58 +00:00
Richard Davey
987e769b6b Scenes.Systems.canInput is a new internal method that determines if a Scene can receive Input events, or not. This is now used by the InputPlugin instead of the previous isActive test. This allows a Scene to emit and handle input events even when it is running init or preload. Previously, it could only do this after create had finished running. Fix #6123 2022-11-08 23:21:33 +00:00
Richard Davey
b182557d03 Added canInput method 2022-11-08 23:21:25 +00:00
Richard Davey
6943989f46 The BitmapText Game Object has two new read-only properties displayWidth and displayHeight. This allows the BitmapText to correctly use the GetBounds component.
The `BitmapText` Game Object now has the `GetBounds` component added to it, meaning you can now correctly get its dimensions as part of a Container. Fix #6237
2022-11-08 18:42:05 +00:00
Richard Davey
3b57593e47 When calling GameObject.getPostPipeline and passing in a string for the pipeline name it would error with 'Uncaught TypeError: Right-hand side of 'instanceof' is not an object'. This is now handled correctly internally 2022-11-08 18:10:16 +00:00
Richard Davey
6bde2f2706
Merge pull request #6273 from samme/patch-17
Docs: correct example code in FILE_KEY_COMPLETE
2022-11-08 18:04:22 +00:00
Richard Davey
ed5759b846 Improve jsdocs and restrict Tween.updateTo to active Tweens only. Fix #6009 2022-11-08 18:03:33 +00:00
Richard Davey
70fff93516 Reset TD on loop 2022-11-06 22:00:56 +00:00
Richard Davey
d7a15e92a6 Added activeBuffer and activeTextures check to avoid gl ops 2022-11-03 22:05:18 +00:00
Richard Davey
2d81a4a50e Reverting to forloop shader 2022-11-03 22:04:58 +00:00
Richard Davey
528e32a18a Reverting to forloop approach 2022-11-03 22:04:44 +00:00
Richard Davey
65e8dcbb6b Fix conditional check 2022-11-03 18:45:11 +00:00
Richard Davey
4e4218ea73 Add missing parameter 2022-11-03 18:45:03 +00:00
Richard Davey
6724cc6e91 texture can be a string, or a string in the properties block 2022-11-03 18:44:54 +00:00
Richard Davey
2a8250ef60 Modified return types to 'this' 2022-11-03 16:03:51 +00:00
Richard Davey
8ea3e09307 Removed global functions and tidied up 2022-11-03 15:22:50 +00:00
Richard Davey
2ca2bd5535 Added setStateFromEnd, setStateFromStart, reset and onRepeat 2022-11-03 15:22:37 +00:00
Richard Davey
4d4f3aeadc reset should return this 2022-11-03 15:22:10 +00:00
Richard Davey
755517f80b Removed init method - let's just call reset directly 2022-11-03 15:22:02 +00:00
Richard Davey
ce1cc86185 Add isSeeking parameter 2022-11-03 14:26:38 +00:00
Richard Davey
1ca43444f4 Only reset property if seeking 2022-11-03 14:26:30 +00:00
Richard Davey
9f0baeaab7 Update TweenManager.js 2022-11-03 13:24:51 +00:00
Richard Davey
b9004eff67 Made getValue more bullet proof 2022-11-03 13:24:48 +00:00
Richard Davey
e921c61b39 Improved jsdocs and removed this.delta property as we don't need to store it internally 2022-11-03 13:17:39 +00:00
Richard Davey
36c65618d7 Safer seek loop 2022-11-03 12:56:58 +00:00
Richard Davey
b7a109bd26 Updated docs to remove frame reference and add clarity 2022-11-03 12:45:10 +00:00
Richard Davey
fc007d39ef Updated docs and seeking 2022-11-02 19:00:16 +00:00
Richard Davey
57a49934af Use reset now 2022-11-02 19:00:08 +00:00
Richard Davey
a679efe03f Use MAX const 2022-11-02 18:03:07 +00:00
Richard Davey
2daa8c9853 New reset and seek methods 2022-11-02 18:03:01 +00:00
Richard Davey
9f89de4594 New reset method that fully resets this TweenData 2022-11-02 18:02:52 +00:00
Richard Davey
a7827ba52e Use MAX const 2022-11-02 18:02:28 +00:00
Richard Davey
3f0a466a8d Added MAX const 2022-11-02 18:02:18 +00:00
Richard Davey
59b0ca98bf Added isInfinite and redid seek handling. Added forward and rewind. 2022-11-02 13:35:30 +00:00
Richard Davey
3d9ac51338 Clamp the progress between 0 and 1 2022-11-02 13:34:55 +00:00
samme
0ba6261eff
Docs: correct example code in FILE_KEY_COMPLETE
AtlasJSONFile type is `atlasjson`
2022-11-01 20:16:10 -07:00
Richard Davey
3b50fa65d6 WebGLSnapshot will now flip the pixels in the created Image element if the source was a framebuffer. This means grabbing a snapshot from a Dynamic or Render Texture will now correctly invert the pixels on the y axis for an Image. Grabbing from the game renderer will skip this. 2022-10-31 22:47:14 +00:00
Richard Davey
7d594dd49a Clarify snapshot docs 2022-10-31 22:46:44 +00:00
Richard Davey
e878cebd16 Force it to return Color object 2022-10-31 22:17:39 +00:00
Richard Davey
22eae26007 WebRenderer.snapshotFramebuffer and by extension, the snapshot methods in Dynamic Textures and Render Textures, has been updated to ensure that the width and height never exceed the framebuffer dimensions, or it'll cause a runtime error. The method snapshotArea has had this limitation removed as a result, allowing you to snapshot areas that are larger than the Canvas. Fix #5707 2022-10-31 22:17:27 +00:00
Richard Davey
af7ba68a19 When playing a chained animation, the nextAnim property could get set to undefined which would stop the next animation in the queue from being set. The check now handles all falsey cases. Fix #5852 2022-10-31 18:08:01 +00:00
Richard Davey
8434d45912 Animation.stop is always called when a new animation is loaded, regardless if the animation was playing or not and the delayCounter is reset to zero. This stops animations with delays preventing other animations from being started until the delay has expired. Fix #5680 2022-10-31 18:02:50 +00:00
Richard Davey
dfc794c339 Animation.showBeforeDelay is a new optional boolean property you can set when creating, or playing an animation. If the animation has a delay before playback starts this controls if it should still set the first frame immediately, or after the delay has expired (the default). 2022-10-31 18:01:35 +00:00
Richard Davey
ba6af3a920 Conditionally set DEBUG 2022-10-31 16:17:16 +00:00
Richard Davey
e618e149e8 Update InputPlugin.js 2022-10-28 18:43:40 +01:00
Richard Davey
4f0029c03c Added captureFrame, captureNextFrame, getFps, startCapture and stopCapture methods 2022-10-28 18:23:24 +01:00
Richard Davey
4a5f6adfe4 Enable for debugging 2022-10-28 18:22:57 +01:00
Richard Davey
94942d6633 Update InputPlugin.js 2022-10-28 17:57:43 +01:00
Richard Davey
ae378e3820 Added resetPointers method 2022-10-28 17:56:57 +01:00
Richard Davey
598921b638 If in debug mode, add texture key to Spector meta data 2022-10-28 17:53:55 +01:00
Richard Davey
1657f9e843 If in debug mode, add to window 2022-10-28 17:53:41 +01:00
Richard Davey
d909af6b62 Added Pointer.reset 2022-10-28 17:50:26 +01:00
Richard Davey
f3e773d102 Much better docs and more concise function code. 2022-10-26 23:02:50 +01:00
Richard Davey
56561b2f6d Updated docs 2022-10-26 23:02:36 +01:00
Richard Davey
fa0cd537f4 Preparing for Beta 14 2022-10-26 17:09:49 +01:00
Richard Davey
e868c5b284 Fix #6264 2022-10-26 15:24:41 +01:00
Richard Davey
0fbedd349b Added getTarget and setTargetValue methods 2022-10-26 15:22:35 +01:00
Richard Davey
4c0ad6946d ScaleManager.listeners has been renamed to domlisteners to avoid conflicting with the EventEmitter listeners object. Fix #6260 2022-10-26 15:08:52 +01:00
Richard Davey
58ef1ebc39
Merge pull request #6263 from Trissolo/master
When calling the 'Phaser/Geom/Intersects#LineToLine' method without passing in the third parameter, 'out', avoid creating a new Phaser.Geom.Point, as it will be totally inaccessible.
2022-10-26 15:04:35 +01:00
Richard Davey
2759837f8a Fix #6265 2022-10-26 15:03:07 +01:00
Richard Davey
93a66e2ae2 Don't run a step with a negative delta
Fix #6253
2022-10-26 14:59:02 +01:00
Trissolo
822e1401cf Replace the typedef of the last parameter with the more appropriate 'Phaser.Math.Vector2Like' 2022-10-26 08:58:55 +02:00
Trissolo
b9467f6f5e If the 'out' parameter is not passed in, do not create an useless new Phaser.Geom.Point, because, having no external references, it will be unreachable. 2022-10-25 09:17:56 +02:00
Richard Davey
6d5bf93e24 Replace this.systems with this.events 2022-10-20 16:57:57 +01:00
Richard Davey
4f7bbc8b61 Update PlaceOnCircle.js 2022-10-19 22:06:12 +01:00
Richard Davey
10ff7a3712 Improved jsdocs 2022-10-19 21:14:31 +01:00
Richard Davey
252bc784d7 Fix Ropes for new pipeline batch 2022-10-19 15:34:07 +01:00
Richard Davey
147479c992 Update TextureSource.js 2022-10-19 15:33:57 +01:00
Richard Davey
27a4804978 Consolidate vars 2022-10-19 15:22:53 +01:00
Richard Davey
1eb692251b The tempZone used by GridAlign has now had setOrigin(0, 0) applied to it. This leads to more accurate / expected zone placement when aligning grid items. 2022-10-14 16:15:47 +01:00
Shin
96052dba5c Fix Tween.callbackScope 2022-10-14 21:10:21 +07:00
Richard Davey
3e65947cb2 When calling InputPlugin.clear it will now call removeDebug on the Game Object, making sure it clears up any Input Debug Graphics left in the Scene. Fix #6137 2022-10-14 13:32:59 +01:00
Richard Davey
051dadd02a Add 'willReadFrequently' to CanvasTexture 2022-10-14 13:25:01 +01:00
Richard Davey
ac2c9c8fb8 Fixed Texture Manager reference. Fix #6250 2022-10-14 13:24:46 +01:00
Richard Davey
e722904139 Merge branch 'master' of https://github.com/photonstorm/phaser 2022-10-13 22:03:37 +01:00
Richard Davey
bd1adbd67e Clear TEXTURE1. Fix #6248 2022-10-13 22:03:33 +01:00
Richard Davey
fe75fa2a09
Merge pull request #6246 from rexrainbow/RenderTexture-resize
Add resize method back
2022-10-13 21:09:34 +01:00
samme
6960205f46
Docs: correct EdgeZoneSourceCallback return type 2022-10-13 12:59:26 -07:00
Richard Davey
ac79cea3bc Update TweenManager.js 2022-10-13 14:56:53 +01:00
Rex
999a68c019 Update hitarea 2022-10-13 12:36:37 +08:00
Rex
d4093765be Add resize method back 2022-10-12 16:58:52 +08:00
Richard Davey
4bd64129e9 Only checkWorldBounds in Body.reset if the Body collides with it 2022-10-11 01:45:21 +01:00
Yuval Greenfield
080a30d789 More accurate "since" version for SceneType.js 2022-10-10 10:08:50 -07:00
Richard Davey
0301922bdc Preparing for Beta 13 2022-10-10 17:59:52 +01:00
Richard Davey
07e0753e74 Fixed type def 2022-10-10 17:54:34 +01:00
Richard Davey
ead9de5c04 Drawing a frame via draw, drawFrame or batchDrawFrame and specifying a tint value would inverse the Red and Blue channels. These are now handled properly. Fix #5509 2022-10-10 17:44:00 +01:00
Richard Davey
f3c804805f Update MultiPipeline.js 2022-10-10 17:43:53 +01:00
Richard Davey
3bb2a51f85
Merge pull request #6193 from JaroVDH/master
Add raw character index to BitmapText text bounds
2022-10-10 16:34:21 +01:00
Richard Davey
205dab8794 Abort update if stuck in a countdown 2022-10-10 16:32:54 +01:00
Jaro Vanderheijden
e4b3e1ac15 Move BitmapTextCharacter typedef to proper location 2022-10-10 17:05:56 +02:00
Jaro Vanderheijden
f8f8f38715
Merge branch 'photonstorm:master' into master 2022-10-10 16:59:05 +02:00
Richard Davey
a970e0bcfb Using DynamicTexture.fill in CANVAS mode only, after using the erase method, wouldn't reset the global composite operation correctly, resulting in fills. Fix #6124 2022-10-10 15:39:16 +01:00
Richard Davey
cb5d91f596 Fix #6242 2022-10-10 15:31:50 +01:00
Richard Davey
346aff2858 Don't get targets from destroyed tweens. Fix #6244 2022-10-10 15:28:11 +01:00
Richard Davey
a5b3b91da1
Merge pull request #6236 from samme/feature/group-post-creation-options
Skip the Group createMultiple() post-creation options if not set
2022-10-10 15:18:18 +01:00
Richard Davey
d68b0b7c91
Merge pull request #6155 from ef4/better-closest-type
Improve types for ArcdePhysics.closest
2022-10-10 14:50:36 +01:00
Richard Davey
8f4b57a018
Merge pull request #6007 from rexrainbow/scene-transition-onstart
Add onStart parameter into scene.transition(config)
2022-10-10 14:47:23 +01:00
Richard Davey
f56499f62b
Merge pull request #6221 from samme/fix/video-load-url
Update video texture after loading
2022-10-10 14:46:06 +01:00
Richard Davey
a6a83ca592 Testing customSampler 2022-10-10 13:27:33 +01:00
Richard Davey
ed679fc023 Don't try and stop destroyed tweens 2022-10-10 01:29:06 +01:00
Richard Davey
954eb00fa1 Give Shapes the FX component 2022-10-09 23:16:58 +01:00
Richard Davey
52f7ec621a Added destroy method back in again 2022-10-09 23:16:48 +01:00
Richard Davey
d0cc5f17d5 Extend the MultiPipeline and use new batch system 2022-10-09 23:16:38 +01:00
Richard Davey
6c2b45d99f Use setQuad 2022-10-09 21:40:22 +01:00
Richard Davey
2e2c6528b6 Preparing for beta 12 2022-10-09 18:25:34 +01:00
Richard Davey
5dd3a40342 Fixed data types 2022-10-09 18:11:00 +01:00
Richard Davey
76ce040bcb Fixed Mesh renderer 2022-10-09 18:04:36 +01:00
Richard Davey
01150a6efc Removed un-needed method 2022-10-09 17:49:21 +01:00
Richard Davey
6ff216d832 Create WebGLPipelineBatchEntry.js 2022-10-09 17:49:11 +01:00
Richard Davey
7600f2f6b6 Added all new jsdocs 2022-10-09 17:49:08 +01:00
Richard Davey
a2d5f25a55 Added new method 2022-10-09 17:30:36 +01:00
Richard Davey
3c54c852dc Don't forget to update the batch count 2022-10-09 17:30:27 +01:00
Richard Davey
70ef38c03c Fixed rendering 2022-10-09 17:29:37 +01:00
Richard Davey
e44a148882 Store actual WebGLTextures 2022-10-09 17:29:29 +01:00
Richard Davey
b318cd734f Removed use of UUID from RenderTexture and fixed saveTexture method. 2022-10-09 16:01:06 +01:00
Richard Davey
57f2f7abd7 Broken for now 2022-10-07 18:03:16 +01:00
Richard Davey
5908eea4ce Use new methods 2022-10-07 16:24:07 +01:00
Richard Davey
496882fbd2 Inc count on batchVert 2022-10-07 16:23:57 +01:00
Richard Davey
4a44bd6024 Update Texture.js 2022-10-07 16:23:34 +01:00
Richard Davey
c9e37ed373 Remove calls to resetTextures 2022-10-07 16:09:23 +01:00
Richard Davey
bfa0a7298a Update TextureSource.js
* The `Textures.TextureSource.glIndex` property has been removed.
* The `Textures.TextureSource.glIndexCounter` property has been removed.
2022-10-07 16:08:50 +01:00
Richard Davey
080242f928 Due to all of the changes with how WebGL texture batching works a lot of mostly internal methods and properties have been removed. This is the complete list
* The `WebGLRenderer.currentActiveTexture` property has been removed.
* The `WebGLRenderer.startActiveTexture` property has been removed.
* The `WebGLRenderer.tempTextures` property has been removed.
* The `WebGLRenderer.textureZero` property has been removed.
* The `WebGLRenderer.normalTexture` property has been removed.
* The `WebGLRenderer.textueFlush` property has been removed.
* The `WebGLRenderer.isTextureClean` property has been removed.
* The `WebGLRenderer.setBlankTexture` method has been removed.
* The `WebGLRenderer.setTextureSource` method has been removed.
* The `WebGLRenderer.isNewNormalMap` method has been removed.
* The `WebGLRenderer.setTextureZero` method has been removed.
* The `WebGLRenderer.clearTextureZero` method has been removed.
* The `WebGLRenderer.setNormalMap` method has been removed.
* The `WebGLRenderer.clearNormalMap` method has been removed.
* The `WebGLRenderer.unbindTextures` method has been removed.
* The `WebGLRenderer.resetTextures` method has been removed.
* The `WebGLRenderer.setTexture2D` method has been removed.
* The `WebGLRenderer.pushFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.setFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.popFramebuffer` method has had the `resetTextures` argument removed.
* The `WebGLRenderer.deleteTexture` method has had the `reset` argument removed.
2022-10-07 16:08:39 +01:00
Richard Davey
5641bfe48c Update index.js 2022-10-07 15:27:50 +01:00
Richard Davey
9d834efb0a Update RenderTexture.js 2022-10-07 15:14:15 +01:00
Richard Davey
cbc0ac5a7a Create a batch if empty 2022-10-07 12:47:04 +01:00
Richard Davey
9671e54e2b Add Camera property 2022-10-07 12:46:54 +01:00
Richard Davey
f4a248e575 Debugging while testing texture batching 2022-10-07 01:37:37 +01:00
Richard Davey
e2187086ce Merged batch code in 2022-10-07 01:37:17 +01:00
Richard Davey
e18c7fe6c9 New shaders 2022-10-07 01:36:58 +01:00
Richard Davey
5aa1584360 TextureManager.silentWarnings is a new boolean property that, when set, will prevent the Texture Manager from emiting any warnings or errors to the console in the case of missing texture keys or invalid texture access. The default is to display these warnings, this flag toggles that. 2022-10-06 22:04:21 +01:00
Richard Davey
59166f5f3f Fix #6239 2022-10-06 18:51:36 +01:00
Richard Davey
3f4ebf5dd7 Update WebGLRenderer.js 2022-10-06 18:35:04 +01:00
Richard Davey
f0d3588f7b Use batch system to avoid bufferSubData spamming - massively improves performance! 2022-10-05 00:59:04 +01:00
Richard Davey
08ee414ad5 Inline array add to stop branching 2022-10-05 00:58:33 +01:00
Yuval Greenfield
7a4dd97793 Fix the typescript types in the js
This generates the desired phaser.d.ts
2022-10-04 10:48:21 -07:00
Richard Davey
010db3f2a3 Updated jsdocs 2022-10-04 18:27:19 +01:00
Richard Davey
ba8d25909f Update PipelineManager.js 2022-10-04 18:27:11 +01:00
Richard Davey
03f09e2c10 Added setDefaultPipeline method 2022-10-04 18:20:17 +01:00
Richard Davey
f5960bea30 Get the default pipeline from the Pipeline Manager 2022-10-04 18:04:41 +01:00
Richard Davey
3d3b675ae8 Pass over the config values 2022-10-04 18:04:26 +01:00
Richard Davey
64972f8456 Added default pipeline and mobile swap 2022-10-04 18:04:18 +01:00
Richard Davey
fea000cf94 Added defaultPipeline and autoMobilePipeline configs 2022-10-04 18:04:01 +01:00
Richard Davey
20485e1aa2 Added MobilePipeline 2022-10-04 17:08:48 +01:00
Richard Davey
083100163b Updates stableSort and added autoMobilePipeline 2022-10-04 17:08:34 +01:00
Richard Davey
0fe75e9969 Use new features.stableSort 2022-10-04 17:08:18 +01:00
Richard Davey
9688698954 Added stableSort and fixed final canvas read warning in Chrome 2022-10-04 17:08:09 +01:00
Richard Davey
20a40a8844 Updated docs 2022-10-04 15:42:25 +01:00
Richard Davey
56a1af3c05 Updated RenderTexture to just be an Image backed by a DynamicTexture 2022-10-04 14:49:47 +01:00
Richard Davey
554ef91353 Correct docs 2022-10-04 14:49:26 +01:00
Richard Davey
e774987897 Removed unused code 2022-10-04 14:49:19 +01:00
Richard Davey
6f68e075ba Update DynamicTexture.js 2022-10-04 14:49:10 +01:00
Richard Davey
1316c09d1c Merge branch 'master' of https://github.com/photonstorm/phaser 2022-10-04 13:17:44 +01:00
Richard Davey
d9a30e6c52 Remove unused shaders 2022-10-04 13:17:33 +01:00
arbassic
58cf547d47 fix: use webgl 1 pattern to always use best precision available 2022-10-04 01:11:10 +02:00
Richard Davey
4db20ffa9e Allow a DynamicTexture to be used as a BitmapMask 2022-10-03 23:15:53 +01:00
Richard Davey
c2869d2eb6 Scale 1 2022-10-03 23:15:40 +01:00
Richard Davey
8bfc0b2eee The BitmapMask now registers itself with the Game Object Factory. This means you can do this.add.bitmapMask() from within a Scene, for easier creation. 2022-10-03 22:13:25 +01:00
Richard Davey
1a23b31947 Remove swap and rename method 2022-10-03 22:07:07 +01:00
Richard Davey
b52a730f9b Rename function 2022-10-03 22:06:58 +01:00
Richard Davey
17f2d7e072 Update Mask.js 2022-10-03 22:06:16 +01:00
Richard Davey
0385f34e00 Create Image object directly 2022-10-03 22:06:12 +01:00
Richard Davey
416aa053da Swap to using RenderTarget, much cleaner 2022-10-03 21:09:15 +01:00
Richard Davey
a563b49877 Put missing return back in 2022-10-03 20:23:24 +01:00
Richard Davey
eba9254e1a The BitmapMaskPipeline now hands over most control of the framebuffers to the WebGLRenderer. 2022-10-03 18:50:48 +01:00
Richard Davey
95cd4f294d Camera is for textures only 2022-10-03 18:50:09 +01:00
Richard Davey
b327f39c5e Bitmap Mask updates
* The `WebGLRenderer` has 4 new properties: `maskTargetFramebuffer`, `maskSourceFramebuffer`, `maskTargetTexture` and `maskSourceTexture`. These are the new global locations of the mask framebuffers.
* `WebGLRenderer.createBitmapMask` is a new method that internally creates the Bitmap Mask framebuffers.
* `WebGLRenderer.clearBitmapMask` is a new method that internally clears the existing Bitmap Mask framebuffers, called as part of a resize event.
* `WebGLRenderer.enableBitmapMask` is a new method that starts the process of using the mask target framebuffer for drawing. This is called by the `BitmapMaskPipeline`.
* `WebGLRenderer.drawBitmapMask` is a new method that completes the process of rendering using the mask target framebuffer. This is called by the `BitmapMaskPipeline`.
2022-10-03 18:49:55 +01:00
Richard Davey
fb88b6639d Removed fbos and textures, all now managed by the WebGL Renderer. 2022-10-03 18:46:53 +01:00
Richard Davey
d9a2c052d8 No longer requires the Scene argument 2022-10-03 18:30:11 +01:00
Richard Davey
62769d78ce Camera.isSceneCamera is a new boolean that controls if the Camera belongs to a Scene (the default), or a Texture. You can set this via the Camera.setScene method. Once set the Camera.updateSystem method is skipped, preventing the WebGL Renderer from setting a scissor every frame. 2022-10-03 15:49:40 +01:00
Richard Davey
bf8ec50fe1 Remove use of 'len' for iOS test 2022-10-03 14:42:33 +01:00
Richard Davey
dcb1c8a9dd Allowing custom resolution for mask shader 2022-09-29 23:35:06 +01:00
Richard Davey
3abea4286f When rendering a Sprite with a Camera set to roundPixels it will now run Math.floor on the Matrix position, preventing you from noticing 'jitters' as much when Camera following sprites in heavily zoomed Camera systems. 2022-09-29 22:11:02 +01:00
Richard Davey
f136a796fa * Camera.preRender will now apply Math.floor instead of Math.round to the values, keeping it consistent with the Renderer when following a sprite. 2022-09-29 22:10:29 +01:00
Richard Davey
e2c9838896 Update StampConfig.js 2022-09-29 18:51:31 +01:00
Richard Davey
9ba74e9f8c Added scale, blendMode and erase support 2022-09-29 18:51:27 +01:00
Richard Davey
18ec3db0ef Update BlendMode.js 2022-09-29 18:51:16 +01:00
Richard Davey
f7196a07c2 Added stamp method docs and swap to using config object 2022-09-29 17:42:52 +01:00
Richard Davey
4b14d3d6c6 Create StampConfig.js 2022-09-29 17:42:40 +01:00
Richard Davey
476d117bf9 TransformMatrix.multiply now directly updates the Float32Array, leading to 6 less getter invocations.
`TransformMatrix.setQuad` is a new method that will perform the 8 calculations required to create the vertice positions from the matrix and the given values. The result is stored in the new `TransformMatrix.quad` Float32Array, which is also returned from this method.
2022-09-29 17:20:05 +01:00
Richard Davey
2e870a0a2c Previously, the Multi Tint methods batchSprite, batchTexture, batchTextureFrame and batchFillRect would all make heavy use of the TransformMatrix.getXRound and getYRound methods, which in turn called getX and getY and applied optional rounding to them. This is all now handled by one single function (setQuad) with no branching, meaning rendering one single sprite has cut down 16 function calls and 48 getters to just 1 function. 2022-09-29 17:17:24 +01:00
Richard Davey
519aed9f4a Update Camera.js 2022-09-29 16:46:30 +01:00
Richard Davey
fba997d75e If you create a repeating or looping TimerEvent with a delay of zero it will now throw a runtime error as it would lead to an infinite loop. Fix #6225 2022-09-29 15:02:02 +01:00
Richard Davey
e86c78dd1e lint fix 2022-09-29 14:56:31 +01:00
Richard Davey
9aa1e0c2a9
Merge pull request #6216 from JernejHabjan/visible-children-performance
Improve visible children performance
2022-09-29 14:54:16 +01:00
Richard Davey
b2d47b11c1
Merge pull request #6214 from rexrainbow/getviewport-with-camera
Get viewport under a camera
2022-09-29 14:40:08 +01:00
Richard Davey
347413afb1
Merge pull request #6227 from EmilSV/tween-fixes
Tween fixes
2022-09-29 14:36:26 +01:00
Richard Davey
70da8df4a1
Merge pull request #6228 from EmilSV/tween-seek-fix
Tween seek use less then instead of less or equal
2022-09-29 14:35:50 +01:00
Richard Davey
3528354a4b Added handy 'stamp' method 2022-09-28 22:43:29 +01:00
Richard Davey
064a1e0f4f Added resetStamp 2022-09-28 22:43:20 +01:00
Richard Davey
0d951029b6 No need for 'this.frame' 2022-09-28 20:57:50 +01:00
Richard Davey
a60660a474 Create on READY 2022-09-28 20:57:42 +01:00
Richard Davey
e3503ef8b4 All of the following Texture Manager methods will now allow you to pass in a Phaser Texture as the source parameter: addSpriteSheet, addAtlas, addAtlasJSONArray, addAtlasJSONHash, addAtlasXML and addAtlasUnity. This allows you to add sprite sheet or atlas data to existing textures, or textures that came from external sources, such as SVG files, canvas elements or Dynamic Textures. 2022-09-28 20:34:34 +01:00
Richard Davey
8bfe54287a Updated documentation 2022-09-28 19:53:59 +01:00
Richard Davey
676f0db838 Added Stamp 2022-09-28 19:53:49 +01:00
Richard Davey
0e57db40d4 Improved docs 2022-09-28 19:09:35 +01:00
Richard Davey
f9ecb2461b Update DynamicTexture.js 2022-09-28 17:51:09 +01:00
Richard Davey
d64878736f Testing out the new DynamicTexture 2022-09-27 23:39:23 +01:00
Richard Davey
d3de5ef1e4 SceneManager.systemScene` is a new property that is set during the game boot and is a system Scene reference that plugins and managers can use, that lives outside of the Scene list. 2022-09-27 23:39:04 +01:00
Richard Davey
3dff7f07d2 Tween needs to persist 2022-09-27 21:12:47 +01:00
Richard Davey
951006bf8f Create NineSlice.js 2022-09-27 18:42:50 +01:00
Richard Davey
62f3315b1c Trying DynamicTexture (to replace RenderTexture) 2022-09-27 18:42:46 +01:00
Richard Davey
b13232c211 Moved nineslice out, use multi pipeline and make snapshot functions smaller 2022-09-27 16:59:01 +01:00
Richard Davey
35bae05603 Allow negative offsets 2022-09-27 13:29:34 +01:00
Richard Davey
e15f2414d6 Update TextureManager.js 2022-09-26 23:18:12 +01:00
Richard Davey
90ad29e958 Renamed frameFill to repeat and made it a lot more flexible.
Added resetStamp and removed un-used methods.
2022-09-26 23:18:07 +01:00
Richard Davey
9ca7513b14 Use Tween.callbackScope fix #6229 2022-09-26 21:42:24 +01:00
Richard Davey
291f3049e6 RenderTexture.isDrawing is a new read-only flag that tells if the Render Texture is currently batch drawing, or not. 2022-09-26 18:32:31 +01:00
Richard Davey
3d3db60331 Fixed repeating methods 2022-09-26 18:06:28 +01:00
Richard Davey
af66164302 Testing 9-slice 2022-09-26 18:00:15 +01:00
Richard Davey
1283ca8198 The TextureManager.get methof can now accept a Frame instance as its parameter, which will return the frames parent Texture. 2022-09-26 17:18:04 +01:00
Richard Davey
ff4d7084d9 Update IsPlainObject.js 2022-09-26 17:15:45 +01:00
Richard Davey
3d0d2b4d94 The GameObject#setFrame method can now accept a Frame instance as its parameter, which will also automatically update the Texture the Game Object is using. 2022-09-26 17:15:34 +01:00
Richard Davey
25ab9f329d TextureManager.parseFrame is a new method that will return a Texture Frame instance from the given argument, which can be a string, array, object or Texture instance. 2022-09-26 15:28:41 +01:00
Richard Davey
5320402a07 The endFrame and startFrame properties of the SpriteSheet parser wouldn't correctly apply themselves, the Texture would still end up with all of the frames. It will now start at the given startFrame so that is frame zero and end at endFrame, regardless how many other frames are in the sheet. 2022-09-24 21:35:58 +01:00
Emil Schnedler Vad
340f9d29a1 made seek use less then instead of less or equal 2022-09-23 22:00:30 +02:00
Emil Schnedler Vad
f07042cbc4 BaseTween and TweenChain available from Phaser.Tweens 2022-09-23 20:53:51 +02:00
Emil Schnedler Vad
169faa6b96 made tweenManager# chain use TweenChainBuilderConfig 2022-09-23 13:07:16 +02:00
Richard Davey
ab04cb6c05 Lots of LightPipeline improvements
* The Light Pipeline no longer creates up to `maxLights` copies of the Light shader on boot. Previously it would then pick which shader to use, based on the number of visible lights in the Scene. Now, the number of lights is passed to the shader and branches accordingly. This means rather than compiling _n_ shaders on boot, it now only ever needs to create one.
* You can now have no lights in a Scene, but the Scene will still be impacted by the ambient light. Previously, you always needed at least 1 light to trigger ambient light (thanks jstnldrs)
* The `Light.frag` shader now uses a new `uLightCount` uniform to know when to stop iterating through the max lights.
* The `LightPipeline.LIGHT_COUNT` constant has been removed as it's not used internally.
* The `LightPipeline` previous created a global level temporary vec2 for calculations. This is now part of the class as the new `tempVec2` property.
2022-09-23 00:42:04 +01:00
Richard Davey
a135271f19 Use new uLightCount uniform 2022-09-23 00:41:47 +01:00
Richard Davey
b789742636 Update Utils.js 2022-09-22 14:55:29 +01:00
Richard Davey
9d43583a63 This shader is just better. More crappy iOS testing needed though. 2022-09-21 23:13:04 +01:00
Richard Davey
023343c789 All events have a type of string. Fix #6136 2022-09-21 22:01:03 +01:00
Richard Davey
10fe5db0a6 Fixed jsdocs
Fix #6195
2022-09-21 21:10:52 +01:00
Richard Davey
71703ff19c GameConfig.stableSort is a new optional property that will control if the internal depth sorting routine uses our own StableSort function, or the built-in browser Array.sort one. Only modern browsers have a _stable_ Array.sort implementation, which Phaser requires. Older ones need to use our function instead. Set to 1 to use the legacy version, 0 to use the ES2019 version or -1 to have Phaser try and detect which is best for the browser
Ref #6217
2022-09-21 17:52:57 +01:00
Richard Davey
cf397b7c13 Added missing safariVersion and new es2019 test 2022-09-21 17:35:47 +01:00
Richard Davey
7c9d6a180b Testing native stable sort 2022-09-21 16:34:08 +01:00
Richard Davey
17415902ab The Texture.destroy method will only destroy sources, dataSources and frames if they exist, protecting against previously destroyed instances. 2022-09-21 14:06:58 +01:00
Richard Davey
4dcf3b1622 Getting ready for Beta 11 2022-09-20 23:23:26 +01:00
Richard Davey
6fe41a4845 Fix path 2022-09-20 22:24:27 +01:00
Richard Davey
06b1adca14 Lint fix 2022-09-20 22:23:09 +01:00
Richard Davey
6c70869ea4 Lots of jsdoc / TS fixes 2022-09-20 22:17:21 +01:00
Richard Davey
c5610630a1 Lots of jsdoc fixes and Tween State updates 2022-09-20 18:44:44 +01:00
Richard Davey
2834dba8d0 jsdoc fixes 2022-09-20 17:36:31 +01:00
Richard Davey
a4d7c6d680 Fixed destroy 2022-09-20 16:39:01 +01:00
Richard Davey
ded399e727 Call addFrame 2022-09-20 13:09:01 +01:00
Richard Davey
e42c814af8 Corrected jsdocs 2022-09-20 13:08:53 +01:00
Richard Davey
009ad199bf Updated to use the new BaseTweenData to avoid duplicate props and methods 2022-09-20 12:40:28 +01:00
Richard Davey
e2389927ea Create BaseTweenData.js 2022-09-20 12:40:15 +01:00
Richard Davey
6e0566ced4 Fixed target getting bug 2022-09-19 23:24:23 +01:00
Richard Davey
c6338aab5f Merge branch 'master' of https://github.com/photonstorm/phaser 2022-09-19 22:52:44 +01:00
Richard Davey
09b7901380 Supports making TweenFrameData 2022-09-19 22:52:39 +01:00
Richard Davey
9b70d1c998 Added addFrameData method 2022-09-19 22:52:26 +01:00
Richard Davey
ff8d86c516 Force yoyo for repeat (or it all looks wrong) 2022-09-19 22:52:15 +01:00
samme
cfb92c6957 Give TilemapLayer origin (0, 0) 2022-09-19 08:33:33 -07:00
Richard Davey
ef5f40c1b8 Support TweenFrameData 2022-09-16 18:53:47 +01:00
Richard Davey
4e40a6941a Create TweenFrameData.js 2022-09-16 18:53:35 +01:00
Richard Davey
f7583926cc t1 and t2 don't need to be properties 2022-09-16 18:53:30 +01:00
Richard Davey
d42122d05b Added completeAfterLoop method 2022-09-16 17:50:18 +01:00
Richard Davey
618891bcda The TextureManager.addSpriteSheet method will now allow you to pass in a Phaser Texture as the 2nd parameter. This allows you to add sprite sheet data to textures that came from external sources, such as SVG files or canvas elements. 2022-09-15 22:30:59 +01:00
Richard Davey
0b14cc4898 Update BaseTween.js 2022-09-14 23:22:34 +01:00
Richard Davey
20e8c183c2 Fixed 2022-09-14 22:34:08 +01:00
Richard Davey
fc231a23b2 Fixed path 2022-09-14 14:16:44 +01:00
Richard Davey
de8614356d All method and property jsdocs done 2022-09-13 23:34:19 +01:00
Richard Davey
b419f79b6a Added remove method 2022-09-13 23:34:09 +01:00
Richard Davey
673a7251d4 Make the creation methods a lot more flexible 2022-09-13 22:54:18 +01:00
Richard Davey
94b3e19c75 Remove un-used method 2022-09-13 22:54:02 +01:00
Richard Davey
3429946b13 Update TweenChainBuilder.js 2022-09-13 22:53:51 +01:00
Richard Davey
c05d8d6c6c All method and property docs done. Fixed init, restart and others. 2022-09-13 22:53:45 +01:00
Richard Davey
b8a3cf9232 Extends BaseTween and start delay and lots of other fixes 2022-09-13 18:47:12 +01:00
Richard Davey
a2b349d745 Extends BaseTween 2022-09-13 18:46:57 +01:00
Richard Davey
c6250fe62c Update TweenBuilderConfig.js 2022-09-13 18:46:46 +01:00
Richard Davey
20ff1c99ec add can now take Tween instances and chain uses the new TweenChainBuilder 2022-09-13 18:46:41 +01:00
Richard Davey
de53735e93 Added START_DELAY const 2022-09-13 18:45:20 +01:00
Richard Davey
2c5cdf7023 Removed non-BaseTween methods 2022-09-13 18:45:11 +01:00
Richard Davey
8705f2a606 If you pass in a tween, return it. Also use merged defaults and base type 2022-09-13 18:44:56 +01:00
Richard Davey
1a509fbd98 Create TweenChainBuilder.js 2022-09-13 18:44:36 +01:00
Richard Davey
6c2fc3fcba Working on BaseTween again so Chain can share the features 2022-09-13 13:16:31 +01:00
Richard Davey
bdbadd1339 Update CreateGroupLayer.js 2022-09-12 20:17:11 +01:00
Richard Davey
96203aac19 Swap to use TweenChain 2022-09-12 18:50:01 +01:00
Richard Davey
bfce0c147b Update Tween.js 2022-09-12 18:49:53 +01:00
Richard Davey
0f6977c03e Update TweenChain.js 2022-09-12 18:49:49 +01:00
Jernej Habjan
f8030d5ed8 Lint fixes 2022-09-11 10:34:58 +02:00
samme
1a5320dc08 Rope and Video already on update list 2022-09-10 08:44:43 -07:00
samme
ed7c999a0a Update video texture after loading
loadURL() or loadMediaStream()
2022-09-10 08:42:53 -07:00
Richard Davey
672fe0c97f Create TweenChain.js 2022-09-08 22:57:50 +01:00
Richard Davey
4e866b6046 onComplete can handle the pending state 2022-09-08 22:57:47 +01:00
Richard Davey
bdce1b255f Update index.js 2022-09-08 21:36:28 +01:00
Richard Davey
5a7949b391 Refactored updated to handle progress better 2022-09-08 18:54:19 +01:00
Jernej Habjan
272f61eda2 Improve visible children performance 2022-09-08 19:18:45 +02:00
Richard Davey
145832ed93 Destroying a WebAudioSound in the same game step as destroying the Game itself would cause an error when trying to disconnect already disconnected Web Audio nodes. WebAudioSound will now bail out of its destroy sequence if it's already pending removal. 2022-09-08 14:53:02 +01:00
Rex
05d4d87b2c Get viewport under a camera 2022-09-08 09:52:18 +08:00
Richard Davey
3f89904040 Fixed a bug where setting repeat and hold would cause the Tween to include one final hold before marking itself as complete. It now completes as soon as the final repeat concludes, not after an addition hold. 2022-09-07 22:40:35 +01:00
Richard Davey
f3d798d4b4 Rename to avoid conflict with tween property of same name 2022-09-07 22:05:40 +01:00
Richard Davey
a2a492bb9f Optimize the update flow with new countdown boolean 2022-09-07 18:49:28 +01:00
Richard Davey
fd17a6c569 Fixed state setter 2022-09-07 18:41:50 +01:00
Richard Davey
783254f47a
Merge pull request #6213 from vzhou842/delta-smoothing-max-fix
Fix delta history array length
2022-09-07 18:26:20 +01:00
Richard Davey
a421b1057a Add jsdocs so TypeScript won't complain #6200 2022-09-07 18:24:55 +01:00
Richard Davey
ec412b08a5 Tidy up 2022-09-07 18:24:26 +01:00
Richard Davey
135c504035 Removed INIT as no longer used 2022-09-07 18:11:32 +01:00
Richard Davey
f3c53b4c55 Added all of the state methods and swapped to using them
Reduces code complexity, improves readability, reduces duplicated code
2022-09-07 18:11:24 +01:00
Richard Davey
2482eab664 Added Game.pause and Game.resume methods 2022-09-07 16:11:13 +01:00
Victor Zhou
213dc394bc Fix delta history array length 2022-09-06 14:36:04 -07:00
Richard Davey
3aaf9b1dbd Reset the delta and elapsed for more accurate timing 2022-09-06 18:50:14 +01:00
Richard Davey
9fc45df7ac Update Tween.js 2022-09-06 18:50:01 +01:00
Richard Davey
68c560064c All of the 'Scope' tween configuration callback properties have been removed, including onActiveScope, onCompleteScope, onLoopScope, onPauseScope, onRepeatScope, onResumeScope, onStartScope, onStopScope, onUpdateScope and onYoyoScope. You should set the callbackScope property instead, which will globally set the scope for all callbacks. You can also set the Tween.callbackScope property. 2022-09-06 15:38:05 +01:00
Richard Davey
2f638d4abe You can now specify a target property as 'random' to have the Tween pick a random float between the two given values. For example: alpha: 'random(0.25, 0.75)'. If you wish to only select a random integer, you can use 'int' instead: x: int(300, 600)'. 2022-09-06 15:34:02 +01:00
Richard Davey
ca571b2571 Update TweenData.js 2022-09-05 18:54:21 +01:00
Richard Davey
b0797af3d8
Merge pull request #6201 from samme/fix/no-audio-sound-manager-missing-methods
Add missing NoAudioSoundManager methods
2022-09-05 18:35:26 +01:00
Richard Davey
a79cb668aa
Merge pull request #6202 from samme/fix/render-texture-snapshot-pixel-alpha
Fix wrong alpha in snapshot pixel
2022-09-05 18:34:03 +01:00
Richard Davey
fea706cdf0
Merge pull request #6206 from zpxp/master
Show WebGL error code
2022-09-05 18:32:45 +01:00
Artem
754ed600d1
fix function Graphics -> strokeRoundedRect
added max radius
2022-09-03 16:50:29 +03:00
Richard Davey
d058d216ed Starting to refactor for new TweenData format 2022-09-02 18:56:40 +01:00
Richard Davey
e22009f585 Don't pass value if no interpolation func 2022-09-02 18:56:26 +01:00
Richard Davey
46739819db Added jsdocs and returned TweenData 2022-09-02 18:56:04 +01:00
Richard Davey
e0202e6953 No need for ternary check 2022-09-02 18:55:53 +01:00
Richard Davey
02a6989ec7 Uses string based callback approach 2022-09-02 18:14:51 +01:00
Richard Davey
9da43d3af4 jsdoc updates and tidying up 2022-09-02 18:10:24 +01:00
Richard Davey
4eea1e75b3 Use GetValue for numeric-only properties 2022-09-02 18:10:08 +01:00
Richard Davey
072c709d04 Update GetNewValue.js 2022-09-02 18:09:52 +01:00
Richard Davey
2fc5c358f1 Finished jsdocs and tidied up some functions 2022-09-02 18:09:46 +01:00
Richard Davey
9cb86916ab Added new typedefs for states and TweenData 2022-09-02 18:09:30 +01:00
Richard Davey
b60fa310be Update Tween.js 2022-09-02 16:20:49 +01:00
Richard Davey
8b6bdba654 Just use targetIndex plus tidied up functions 2022-09-02 16:20:39 +01:00
Richard Davey
05659d2b6b Refactored TweenData into a class to aid the VM in knowing its shape 2022-09-02 00:56:22 +01:00
Richard Davey
be6d69b574 Updated new timestep system, added full docs 2022-09-01 18:54:42 +01:00
Richard Davey
13e812bea0 Lots of tidying up and refactoring 2022-09-01 18:54:27 +01:00
Richard Davey
32bf211131 Removed unused const 2022-09-01 18:54:17 +01:00
Richard Davey
6aea1e7c94 Update TweenManager.js 2022-09-01 00:00:05 +01:00
Richard Davey
af18ffd564 Testing new timing system 2022-08-31 18:55:40 +01:00
Richard Davey
465d6727b0 Switch setTimeout order to avoid double-length frames 2022-08-31 17:11:01 +01:00
Richard Davey
18e639a37a Consolidated init, seek and calcDuration into a single method 2022-08-31 13:48:37 +01:00
Richard Davey
6e69ecdb0c Corrected the jsdocs 2022-08-31 12:50:25 +01:00
Richard Davey
9eb364e3a2 Trying new flow 2022-08-30 23:45:19 +01:00
Richard Davey
b352deff83 create accepts an array as well 2022-08-30 22:06:48 +01:00
Richard Davey
95d0dbb624 RenderTexture.fillFrame is a new method that will take a given texture and draw it to the Render Texture as a fill-pattern. You can control the offset, alpha and tint of the draw 2022-08-30 22:06:34 +01:00
Richard Davey
0781e0f05b Better chain method and getChainedTweens 2022-08-30 18:44:09 +01:00
Richard Davey
3bfa25f410 Improved docs, new chain method, new getChainedTweens method 2022-08-30 18:43:54 +01:00
Richard Davey
7e69ffb279 add can now take an array of configs and moved chain related functions to the new chain method 2022-08-30 18:18:09 +01:00
brendo
93eceb7d99 show error code 2022-08-30 07:42:14 +08:00
Richard Davey
6332241d88 Testing chained tweens debug 2022-08-29 23:49:28 +01:00
Richard Davey
42b1afb784 Fixed fps rate limit 2022-08-29 16:58:54 +01:00
Richard Davey
9017d29d52 Update FPSConfig.js 2022-08-29 16:31:58 +01:00
Richard Davey
f776037f8e Lots of jsdoc updates. Fixed time reset. Split limit fps up. 2022-08-29 16:29:37 +01:00
Richard Davey
bda695280f Pass the raf timer value across to Timestep 2022-08-29 16:10:01 +01:00
samme
0462351a64 Add missing NoAudioSoundManager methods
Fixes #6200
2022-08-26 11:41:34 -07:00
Richard Davey
bbe25598f5 Update Tween.js 2022-08-26 18:55:06 +01:00
Richard Davey
7fdaa08343 Testing new fps limit system 2022-08-26 18:54:55 +01:00
samme
bbd4840dbc Fix wrong alpha in snapshot pixel 2022-08-26 10:44:06 -07:00
Richard Davey
3c2272708f The RequestAnimationFrame.target property has been renamed to delay to better describe what it does. 2022-08-26 18:34:32 +01:00
Richard Davey
45e3c24497 Removed tick, lastTime and target
* The `RequestAnimationFrame.tick` property has been removed as it's no longer used internally.
* The `RequestAnimationFrame.lastTime` property has been removed as it's no longer used internally.
* The `RequestAnimationFrame` class no longer calculates the tick or lastTime values and doesn't call `performance.now` as these values were never used internally and not used by the receiving callback either.
2022-08-26 18:32:47 +01:00
Richard Davey
593aaced12 The TimeStep no longer calculates or passes the interpolation value to Game.step as it was removed several versions ago, so is redundant. 2022-08-26 17:56:54 +01:00
Richard Davey
8625b02314 * RequestAnimationFrame.step will now no longer call requestAnimationFrame is isRunning has been set to false (via the stop method) 2022-08-26 17:56:01 +01:00
Richard Davey
262dc391d6 Remove useFrames 2022-08-24 21:53:19 +01:00
Richard Davey
508252c039 The property and feature Tween.useFrames has been removed and is no longer a valid Tween Config option. Tweens are now entirely ms/time based. 2022-08-24 21:51:57 +01:00
Richard Davey
bc7e5f9c79
Merge pull request #6196 from samme/feature/texture-add-remove-key-events
Add texture add/remove key events
2022-08-24 21:20:13 +01:00
Richard Davey
5c4f4a3450
Merge pull request #6197 from samme/fix/getTextureKeys-white
Exclude __WHITE in getTextureKeys()
2022-08-24 21:16:15 +01:00
Richard Davey
169c402bb8
Merge pull request #6198 from samme/fix/arcade-world-destroy-debugGraphic
Destroy Arcade Physics debug graphic with world
2022-08-24 21:14:41 +01:00
Richard Davey
7fea4a095b Testing new chain + delta system 2022-08-24 18:51:30 +01:00
Richard Davey
88d9c9c19c Allow arrays of chained tweens 2022-08-24 18:51:18 +01:00
Richard Davey
23130bfaf0 Added CHAINED const 2022-08-24 18:50:16 +01:00
samme
7824876bd7 Add texture add/remove key events
- Phaser.Textures.Events.ADD_KEY
- Phaser.Textures.Events.REMOVE_KEY
2022-08-24 10:13:58 -07:00
Richard Davey
fef6718ea6 Added missing property 2022-08-24 14:51:45 +01:00
Richard Davey
4c2d3e3cff setTextureZero will now set isTextureClean to false 2022-08-24 13:56:12 +01:00
Richard Davey
c7d66ded23 Corrected docs 2022-08-24 13:55:53 +01:00
Richard Davey
a236326dcc Fixed jsdocs and preparing for Tween.chain 2022-08-23 21:43:05 +01:00
Richard Davey
2d11103c34 Removed BaseTween and merged back into Tween
As we don't need to split it for Timeline any longer.
2022-08-23 21:27:15 +01:00
Richard Davey
77603c2b42 Removed all Timeline related code and events 2022-08-23 21:13:03 +01:00
samme
01735b5a5c Exclude __WHITE in getTextureKeys() 2022-08-23 10:38:51 -07:00
Richard Davey
1f01eaa355 Update StaggerBuilder.js 2022-08-23 18:08:48 +01:00
Richard Davey
30ef13291c Dispatch the pause and resume events 2022-08-23 18:05:59 +01:00
Richard Davey
80d0f9197c Updated typedefs 2022-08-23 17:54:53 +01:00
Richard Davey
2a32d33860 No need to pass TweenData ref to funcs 2022-08-23 17:50:08 +01:00
Richard Davey
68f2f6cb61 Remove console.log 2022-08-23 17:49:55 +01:00
Richard Davey
73a96bc4c2 Removed unsupported interpolation functions 2022-08-23 17:49:47 +01:00
Richard Davey
86f123fc8f Now supports interpolation tweens 2022-08-23 17:38:19 +01:00
Richard Davey
b5f219097c Added interpolationData parameter 2022-08-23 17:37:59 +01:00
Richard Davey
2f46aaf54a Typo 2022-08-23 17:37:46 +01:00
Richard Davey
4c23a88e03 We can simplify this a lot and only call funcs during TweenData creation 2022-08-23 17:37:40 +01:00
Richard Davey
6f9f20f0b3 Add interpolation to reserved props list 2022-08-23 17:37:13 +01:00
Richard Davey
e697176fd8 Add interpolation default 2022-08-23 17:37:01 +01:00
Richard Davey
0eb0171dfb Specify return type 2022-08-23 17:36:52 +01:00
Richard Davey
b3b4d596a9 Return interpolation getStart and getEnd 2022-08-23 17:36:42 +01:00
Richard Davey
4f34cb6b42 Can return null. 2022-08-23 17:36:14 +01:00
Richard Davey
e845dc207f Added support for value interpolation 2022-08-23 15:21:32 +01:00
Richard Davey
bec14fbac1 Now supports tween interpolation 2022-08-23 15:21:15 +01:00
Richard Davey
17d9c4b362 Added TweenData.interpolation 2022-08-23 15:21:01 +01:00
Richard Davey
98cba07913 Now passes the TweenData to the start and end callbacks 2022-08-23 15:20:50 +01:00
Richard Davey
16c1c4352b Added GetInterpolationFunction 2022-08-23 15:20:28 +01:00
Richard Davey
1b4053a8e7 Removed array check and tidied up direction code 2022-08-23 15:20:14 +01:00
Richard Davey
7cd749e776 Working through getting timelines running again 2022-08-23 00:04:24 +01:00
Richard Davey
285fc14b87 Update jsdocs and persist checks 2022-08-23 00:04:15 +01:00
Richard Davey
6165549c6f Remove console 2022-08-23 00:03:59 +01:00
Richard Davey
f8933f151e Ready for TIMELINE_ACTIVE 2022-08-23 00:03:52 +01:00
Richard Davey
45f1bef45e Make sure Tween.restart fires the Start event again 2022-08-22 21:36:44 +01:00
Richard Davey
94d0b8d797 Add onPause and onResume callbacks 2022-08-22 21:36:31 +01:00
Richard Davey
63fbff291a Added persist to the config defaults 2022-08-22 19:45:19 +01:00
Richard Davey
fced56b261 Tween.restart should unpause the tween 2022-08-22 19:42:23 +01:00
Richard Davey
70c0aa2091 Reworked the 'restart' flow 2022-08-22 17:55:15 +01:00
Richard Davey
cbe9aa5c17 Fixed missing const 2022-08-22 17:55:03 +01:00
Richard Davey
2065f29f10 Added new persist feature 2022-08-22 17:54:52 +01:00
Richard Davey
36f60d9bb7 Added FINISHED state 2022-08-22 17:54:38 +01:00
Richard Davey
337d5b3228 Tween.stop has had the resetTo parameter removed from it. Calling stop on a Tween will now prepare the tween for immediate destructions. If you only wish to pause the tween, see Tween.pause instead. 2022-08-22 16:43:24 +01:00
Jaro Vanderheijden
b271accaf0 Add raw character index to bitmap text bounds 2022-08-20 12:29:47 +02:00
Richard Davey
a13b79f86e Added getTotal test 2022-08-19 18:49:08 +01:00
Richard Davey
c72ea9b7f8 Stop removing 2022-08-19 18:48:59 +01:00
Richard Davey
ce772272b0 Remove as part of destroy 2022-08-19 18:48:40 +01:00
Richard Davey
b6ae1f0061 Removed un-used property 2022-08-19 17:29:54 +01:00
Richard Davey
faec522e15 Special-case for scale 2022-08-19 17:29:44 +01:00
Richard Davey
7c26b7d461 Remove scale 2022-08-19 17:29:35 +01:00
Richard Davey
489130ce7b Added scale 2022-08-19 16:52:53 +01:00
Richard Davey
87ba0cdbb0 Use substring instead 2022-08-19 16:50:59 +01:00
Richard Davey
3f502758b3 Updated docs 2022-08-19 16:45:03 +01:00
Richard Davey
0258714887 Update TextureManager.js 2022-08-19 16:44:55 +01:00
Richard Davey
21a695d070 Removed log 2022-08-19 16:44:51 +01:00
Richard Davey
1cee183703 Fixed jsdocs 2022-08-19 16:44:41 +01:00
Richard Davey
5260fd90f2 Update Tween.js 2022-08-19 15:05:33 +01:00
Richard Davey
ec870f6a86 Corrected target param 2022-08-19 14:58:30 +01:00
Richard Davey
dfebdb9a7a The TweenManager calls init. 2022-08-19 14:42:20 +01:00
Richard Davey
30e92ac5b8 Create callback arguments dynamically 2022-08-19 14:36:35 +01:00
Richard Davey
7eec2cedd2 Pass by reference 2022-08-19 14:36:20 +01:00
Richard Davey
c2827e83fe Unified all of the tween callbacks 2022-08-19 14:35:24 +01:00
Richard Davey
328fb964e2 Fixed missing event params in jsdocs 2022-08-19 13:45:56 +01:00
samme
d40b084063 Destroy debugGraphic also 2022-08-18 17:25:32 -07:00
samme
f32043a605 Skip the post-creation options if not set 2022-08-18 12:41:07 -07:00
Richard Davey
bf95d61c11 Tween.init called by the TweenBuilder 2022-08-18 18:45:25 +01:00
Richard Davey
a8b7e7c249 Added BaseTypes back 2022-08-18 18:45:02 +01:00
Richard Davey
e25b3249c3 TweenBuilder calls Tween.init directly 2022-08-18 18:44:53 +01:00
Richard Davey
e3afb1d159 GameObjects.Text.appendText is a new method that will append the given text, or array of text, to the end of the content already stored in the Text object. 2022-08-18 18:44:40 +01:00
Richard Davey
f96986a2e7 Remove console.log 2022-08-18 18:24:08 +01:00
Richard Davey
c44b25ea8e Update TweenManager.js 2022-08-18 18:01:57 +01:00
Richard Davey
af202fdc6c Update CanvasPool.js 2022-08-18 18:01:53 +01:00
Richard Davey
9bc8826684 Specify the canvas is for drawing, not reading 2022-08-18 18:01:45 +01:00
Richard Davey
7c4eff9251 The CanvasFeatures tests and the TextureManager _tempContext now specify the { willReadFrequently: true } hint to inform the browser the canvas is to be read from, not composited. 2022-08-18 18:01:28 +01:00
Richard Davey
21ed9efca1 Improved jsdocs 2022-08-18 16:23:38 +01:00
Richard Davey
e39970eeff Create TweenCallbacks.js 2022-08-18 15:18:16 +01:00
Richard Davey
778521393b Using ACTIVE again. Also hardened destroyed tween handling. 2022-08-18 15:18:12 +01:00
Richard Davey
6e100270fd Swapping from PLAYING to ACTIVE 2022-08-18 15:17:57 +01:00
Richard Davey
d689908aa0 Added onStop and callback types 2022-08-18 15:17:47 +01:00
Richard Davey
810cfa587b Added link to SnowBMF 2022-08-17 16:41:40 +01:00
Richard Davey
da59d01823 Update Tween.js 2022-08-09 18:39:23 +01:00
Richard Davey
df978a4801 Fixed jsdocs for class 2022-08-09 18:39:17 +01:00
Richard Davey
790b4a4341 Added Tween pause and resume events 2022-08-09 18:39:09 +01:00
Richard Davey
13b6598558 The Physics.Arcade.Body.reset() method will now call Body.checkWorldBounds as part of the process, moving the body outside of the bounds, should you have positioned it so they overlap during the reset. Fix #5978 2022-07-28 18:35:56 +01:00
Flávio Silva
b2a0fe79ed
fix: Wrap documentation 2022-07-28 15:42:18 +01:00
Richard Davey
41803facaa Fixed an issue where neither Tweens or Timelines would factor in the Tween Manager timeScale value unless they were using frame-based timing instead of delta timing. 2022-07-28 14:21:50 +01:00
Richard Davey
ef0ddec588 Update TweenBuilder.js 2022-07-27 17:52:28 +01:00
Richard Davey
62e6fc6946 Now extend from BaseTween 2022-07-27 16:54:57 +01:00
Richard Davey
87bb5dbea9 Create BaseTween.js 2022-07-27 16:54:57 +01:00
Dmitry Omelchenko
901dc31880 add second possible flac mime 2022-07-27 15:49:39 +03:00
Dmitry Omelchenko
ef5432df57 add "flac" sound type support 2022-07-27 15:45:33 +03:00
Richard Davey
7fb8fe2223 Calling Tween.setCallback() without specifying the params argument would cause an error invoking the callback params. This parameter is now fully optional. Fix #6047 2022-07-26 18:42:21 +01:00
Richard Davey
ceaafe7d6e Update Timeline.js 2022-07-26 18:36:08 +01:00
Richard Davey
fb4f95adf0 Now supports deeply-nested arrays of targets. Fix #6016 2022-07-26 18:36:02 +01:00
Richard Davey
1f6554f98e Utils.Array.Flatten is a new function that will return a flattened version of an array, regardless of how deeply-nested it is. 2022-07-26 18:34:04 +01:00
Richard Davey
f1bb335d35 Added ability to destroy a tween and tided up lots more 2022-07-26 12:50:27 +01:00
Richard Davey
246f60ba87 Update Tween.js 2022-07-26 02:41:11 +01:00
Richard Davey
efd97acdb6 Merge reset - check more isn't needed 2022-07-26 02:40:52 +01:00