Richard Davey
8b6b398b68
When ImageFile
loads with a linked Normal Map and the map completes first, but the Image is still in a pending state, it would incorrectly add itself to the cache instead of waiting. It now checks this process more carefully. Fix #5886
2022-11-29 18:11:29 +00:00
Richard Davey
5ae9cf7f09
Using a dataKey
to specify a part of a JSON file when using load.pack
would fail as it wouldn't correctly assign the right part of the pack file to the Loader. You can now use this parameter properly. Fix #6001
2022-11-29 17:47:58 +00:00
Richard Davey
2b4332a404
Update JSONFile.js
2022-11-29 17:47:52 +00:00
Richard Davey
993562d803
Update LoaderPlugin.js
2022-11-29 17:47:44 +00:00
Richard Davey
ffa54fe1c1
Fixed loader reference. Fix #6295
2022-11-29 15:45:02 +00:00
Richard Davey
8b38fd3641
Reduce warning
2022-11-29 15:24:10 +00:00
Richard Davey
8b8b8fa352
Merge pull request #6281 from Ariorh1337/master
...
fix advancedWordWrap concatenate when wrapping
2022-11-29 15:23:21 +00:00
Richard Davey
4346113fee
Merge pull request #6238 from ubershmekel/master
...
Introduce `SceneType` for ease and correctness
2022-11-29 14:33:39 +00:00
Richard Davey
b585d7c2dd
Merge pull request #6292 from samme/feature/arcade-physics-group-defaults
...
Add `maxSpeed` and `useDamping` to Arcade Physics group config
2022-11-29 14:19:43 +00:00
Richard Davey
c0a072b37d
Update GetTileCorners.js
2022-11-28 18:34:20 +00:00
Richard Davey
7f8a4eebf4
Update GetTileCorners.js
2022-11-28 18:33:36 +00:00
Richard Davey
91c731d609
Update GetTileCornersFunction.js
2022-11-28 18:32:06 +00:00
Richard Davey
4253db9a08
The Tilemap
and TilemapLayer
classes have a new method getTileCorners
. This method will return an array of Vector2s with each entry corresponding to the corners of the requested tile, in world space. This currently works for Orthographic and Hexagonal tilemaps.
2022-11-28 18:31:20 +00:00
Richard Davey
f2aa880797
Update HexagonalTileToWorldXY.js
2022-11-28 18:16:01 +00:00
Richard Davey
3676881d57
Added comments
2022-11-28 17:34:18 +00:00
Richard Davey
f3e90518e5
Removed the HexagonalTileToWorldY
function as it cannot work without an X coordinate. Use HexagonalTileToWorldXY
instead.
2022-11-28 17:34:11 +00:00
Richard Davey
31ea1dc6da
Recoded the point conversion math in the HexagonalTileToWorldXY
function as it was incorrect. Now returns world coordinates correctly.
2022-11-28 17:33:48 +00:00
Richard Davey
e760178365
Tile.copy
will now use the DeepCopy
function to copy the Tile.properties
object, as otherwise it just gets copied by reference.
2022-11-28 13:35:15 +00:00
Richard Davey
27bbf9b2f5
Tilemap.copy
would error if you copied a block of tiles over itself, even partially, as it tried to copy already replaced tiles as part of the function. It will now copy correctly, regardless of source or destination areas. Fix #6188
2022-11-28 13:35:04 +00:00
Richard Davey
18b25d5bc1
Update GetTilesWithin.js
2022-11-28 13:34:57 +00:00
Richard Davey
949852d8d5
Recoded the point conversion math in the HexagonalWorldToTileXY
function as it was incorrect. Now detects any dimension hexagon correctly. Fix #5608
2022-11-24 23:31:49 +00:00
Richard Davey
5139d22814
Added debug code commented out
2022-11-24 23:11:11 +00:00
Richard Davey
84ef41f470
Fixed math for any layer scale
2022-11-24 23:11:01 +00:00
Richard Davey
ddd4eeaa53
Now works - time to tidy up
2022-11-24 21:29:58 +00:00
Richard Davey
d570b9b26b
Debugging hex coords
2022-11-24 18:54:17 +00:00
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