Commit graph

10319 commits

Author SHA1 Message Date
Richard Davey
114201f497 Fixed tilemaps with missing function 2020-10-08 11:07:05 +01:00
Richard Davey
2e988801ce Made obj material parsing external 2020-10-08 10:45:03 +01:00
Richard Davey
c0ab4d4ae9 OBJFile can now optionally load a material file along with the model data 2020-10-08 10:44:49 +01:00
Richard Davey
82c87ee814 Create materials container 2020-10-08 10:44:32 +01:00
Richard Davey
f191283928 Moved ParseObjMaterial to Geom namespace 2020-10-08 10:44:23 +01:00
Richard Davey
727383d4f3 Loader.MultiFile will now parse the given files array and only add valid entries into the file list, allowing multifiles to now have optional file entries. 2020-10-08 10:44:02 +01:00
Richard Davey
5bb73b5c95 In the Loader.FileTypes.TextFile config you can now override the type and cache destination for the file. 2020-10-08 10:43:13 +01:00
Richard Davey
324fa6a3b2 Removed MeshCamera, updated Mesh to focus on ortho projections 2020-10-07 22:27:04 +01:00
Richard Davey
9e07e5a27b Expose RGB 2020-10-07 18:06:39 +01:00
Richard Davey
8f67ffca5f Starting to add materials 2020-10-07 18:06:33 +01:00
Richard Davey
90824e1485 Removed normalMatrix 2020-10-07 18:06:22 +01:00
Richard Davey
dda4431366 Merged the Layer3D Game Object and pipeline back in for now 2020-10-07 17:44:36 +01:00
Richard Davey
c3fe480905 Finished all docs and added some missing methods and made use of setValues 2020-10-07 17:42:19 +01:00
Richard Davey
75fd64ace7 Modified cam layout 2020-10-07 13:16:24 +01:00
Richard Davey
f6a0a8d96b Transform based on z value 2020-10-07 13:16:10 +01:00
Richard Davey
55d7b36217 Pass in the z value 2020-10-07 13:16:01 +01:00
Richard Davey
2137e3413d Added cameraZ parameter 2020-10-07 13:15:53 +01:00
Richard Davey
c6d25c9559 Added z parameter 2020-10-07 13:15:44 +01:00
Richard Davey
8ff78ef08a Fixed addVerts face addition 2020-10-07 12:45:31 +01:00
Richard Davey
e331638b05 Updated to use transformed values 2020-10-07 12:04:58 +01:00
Richard Davey
caf545d042 Added position, rotation and scale vectors, caching and removed old methods 2020-10-07 12:04:46 +01:00
Richard Davey
a367799da1 Update Vertex.js 2020-10-07 12:04:16 +01:00
Richard Davey
cdc34ef3a8 inputMousePreventDefaultWheel is a new config option that allows you to control preventDefault calls specifically on mouse wheel events. Set it via input.mouse.preventDefaultWheel in the Game Config. It defaults to true, the same as the previous capture property did. 2020-10-07 10:14:28 +01:00
Richard Davey
619fd18028 MouseManager.preventDefaultWheel is a new boolean property, set via the inputMousePreventDefaultWheel config option that allows you to toggle capture of mouse wheel at runtime. 2020-10-07 10:14:02 +01:00
Richard Davey
2246b63504 inputMousePreventDefaultWheel is a new config option that allows you to control preventDefault calls specifically on mouse wheel events. Set it via input.mouse.preventDefaultWheel in the Game Config. It defaults to true, the same as the previous capture property did. 2020-10-07 10:13:50 +01:00
Richard Davey
7a0b056fef Trying out MeshCamera 2020-10-06 18:05:14 +01:00
Richard Davey
4b7c344497 Added parseOBJMaterial method and set default texture to __WHITE 2020-10-06 16:00:22 +01:00
Richard Davey
dff414fe82 Added Grid Config typedefs 2020-10-06 13:47:49 +01:00
Richard Davey
1f1edd3742 addGrid now takes config object and works with texture frames, with or without repeating 2020-10-06 13:42:44 +01:00
Richard Davey
440c33deb8 Use config object 2020-10-06 11:11:28 +01:00
Richard Davey
bbaa5c3eae Added OBJFileConfig defs 2020-10-06 10:42:22 +01:00
Richard Davey
7287a760ae Added ParseOBJ type defs 2020-10-06 10:38:21 +01:00
Richard Davey
816c45937d Removed the Quad Game Object. Mesh can do it better now. 2020-10-06 10:16:46 +01:00
Richard Davey
f0348126de Improved docs 2020-10-06 09:59:16 +01:00
Richard Davey
b285b2b5bb Expose manager functions. Fix #5345 2020-10-06 09:59:16 +01:00
Richard Davey
00b8bb4e0f
Merge pull request #5344 from samme/fix/collisions-update-center
Correct Arcade Body center after separations
2020-10-06 09:45:41 +01:00
Richard Davey
a0020b2ad4 Fixed paths and addGrid 2020-10-05 17:40:42 +01:00
Richard Davey
b774df9426 More documentation 2020-10-05 17:25:24 +01:00
Richard Davey
57974c120a Updated docs 2020-10-05 17:12:18 +01:00
Richard Davey
4d7ff23159 Device.Audio.wav now uses audio/wav as the canPlayType check string, instead of audio/wav; codecs="1", which should allow iOS13 to play wav files again. 2020-10-05 17:12:09 +01:00
Richard Davey
eb6d342607 Merged the Mesh Geometry functions back in and completed the JSDocs 2020-10-05 16:52:44 +01:00
Richard Davey
6c5a83b862 Added the OBJFile type 2020-10-05 16:52:23 +01:00
Richard Davey
270c2f425d Create OBJFile.js 2020-10-05 16:52:15 +01:00
Richard Davey
7aaf77a2c6 Merged the Mesh Game Object back in 2020-10-05 16:52:01 +01:00
Richard Davey
8091f09c10 Don't set OutlineStyle if undefined 2020-10-05 13:53:11 +01:00
Richard Davey
706d02873a Fixed issue with camera flash/fade not working 2020-10-05 13:44:29 +01:00
Richard Davey
468b1ba255 Added 2nd conditional back 2020-10-05 13:43:54 +01:00
Richard Davey
a16ab01e22 MouseManager.isTop is a new boolean read-only property that flags if the mouse event listeners were attached to window.top (true), or just window (false). By default Phaser will attempt window.top, but this isn't possible in all environments, such as cross-origin iframes, so it will fall back to window in those cases and set this property to false 2020-10-05 10:40:35 +01:00
Richard Davey
0fb0c094c6 Removed inner loop 2020-10-05 08:07:06 +01:00
Richard Davey
30d80bb74b Added keyframe 2020-10-05 08:06:53 +01:00
samme
130160f825 Update center after world bounds collision 2020-10-03 13:46:11 -07:00
Richard Davey
c8a99f00f2 Improved JSDocs 2020-10-03 10:15:19 +01:00
Richard Davey
2b99623cdc Group now extends EventEmitter, allowing you to emit custom events from within a Group. 2020-10-03 10:05:38 +01:00
Richard Davey
d9d4d74c89 Updated docs 2020-10-02 14:03:32 +01:00
Richard Davey
42d6188b7a Now using the GetCullTilesFunction #4922 2020-10-02 13:53:20 +01:00
Richard Davey
c0c00b66be Tilemaps.Components.IsometricCullTiles is a new function that culls tiles in a isometric map. 2020-10-02 13:48:52 +01:00
Richard Davey
ab753ffe10 Tilemaps.Components.StaggeredCullTiles is a new function that culls tiles in a staggered map. 2020-10-02 13:48:42 +01:00
Richard Davey
0b8b9fb3ba Tilemaps.Components.HexagonalCullTiles is a new function that culls tiles in a hexagonal map. 2020-10-02 13:48:33 +01:00
Richard Davey
c44c43a553 Tilemaps.Components.StaggeredCullBounds is a new function that calculates the cull bounds for a staggered map. 2020-10-02 13:48:22 +01:00
Richard Davey
e42b407721 Tilemaps.Components.HexagonalCullBounds is a new function that calculates the cull bounds for a hexagonal map. 2020-10-02 13:48:13 +01:00
Richard Davey
2450a16911 Tilemaps.Components.GetCullTilesFunction is a new function that returns the correct culling function to use. 2020-10-02 13:48:01 +01:00
Richard Davey
c66df4b94b Deleted unused files 2020-10-02 13:47:49 +01:00
Richard Davey
9c92fccd3a Updated to use new components 2020-10-02 13:47:36 +01:00
Richard Davey
f58ec09489 Tilemaps.Components.CullBounds is a new function that calculates the cull bounds for an orthogonal map. 2020-10-02 13:47:27 +01:00
Richard Davey
b11e5fe1fb Tilemaps.Components.RunCull is a new function that runs the culling process from the combined bounds and tilemap. 2020-10-02 13:47:10 +01:00
Richard Davey
7980beaeab Fixed references and docs #4922 2020-10-02 12:09:58 +01:00
Richard Davey
da651dc650 Fixed require filename 2020-10-02 12:06:07 +01:00
Richard Davey
1839e58581 Tidied up formatting #4922 2020-10-02 12:05:52 +01:00
Richard Davey
8ea29b6cf2 Removed console warnings 2020-10-02 12:02:48 +01:00
Richard Davey
89cec01b39 Updated types 2020-10-02 12:02:40 +01:00
Richard Davey
04ecc38a61 Fixed JSDocs and const path #4922 2020-10-02 11:57:37 +01:00
Richard Davey
b09197d8cb Added proper JSDocs and fixed private accessors #4922 2020-10-02 11:53:23 +01:00
Richard Davey
d5561ad97a Use cached vec2s to avoid constant vector creation 2020-10-02 11:41:11 +01:00
Richard Davey
aafd5c6cee Use cached vec2s to avoid constant vector creation 2020-10-02 11:36:44 +01:00
Richard Davey
f03ddf033b Formatting fix #4992 2020-10-02 11:27:50 +01:00
Richard Davey
a3f67973cd Corrected documentation and tidied up #4992 2020-10-02 11:25:48 +01:00
Richard Davey
ffb49bdb3a Tilemaps.Components.StaggeredTileToWorldXY is a new function that converts staggered tile coordinates to world coordinates. 2020-10-02 11:22:48 +01:00
Richard Davey
4281bc1763 Tilemaps.Components.IsometricTileToWorldXY is a new function that converts isometric tile coordinates to world coordinates. 2020-10-02 11:22:39 +01:00
Richard Davey
3c3c01d4d5 Tilemaps.Components.HexagonalTileToWorldXY is a new function that converts hexagonal tile coordinates to world coordinates. 2020-10-02 11:22:30 +01:00
Richard Davey
a51e0b8a68 Tilemaps.Components.GetWorldToTileXYFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:22:18 +01:00
Richard Davey
6049701d91 Restored previous function 2020-10-02 11:22:02 +01:00
Richard Davey
a89a58bd6c Restore previous function 2020-10-02 11:16:32 +01:00
Richard Davey
769850a400 Tilemaps.Components.StaggeredTileToWorldY is a new function that converts a staggered Y coordinate to a world coordinate. 2020-10-02 11:16:18 +01:00
Richard Davey
0b7d3236b4 Tilemaps.Components.HexagonalTileToWorldY is a new function that converts a hexagonal Y coordinate to a world coordinate. 2020-10-02 11:16:07 +01:00
Richard Davey
0b630754f7 Tilemaps.Components.GetTileToWorldYFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:15:54 +01:00
Richard Davey
00603c0d39 Tilemaps.Components.GetTileToWorldXFunction is a new function that returns the correct conversion function to use. 2020-10-02 11:03:56 +01:00
Richard Davey
3eaacffb37 Restore previous function #4992 2020-10-02 11:03:03 +01:00
Richard Davey
0952421bfb Expose the new functtions #4992 2020-10-02 11:00:30 +01:00
Richard Davey
da3d0108f4 Restore back to previous version 2020-10-02 10:59:24 +01:00
Richard Davey
9c22133bb2 Tilemaps.Components.StaggeredWorldToTileXY is a new function that converts world coordinates to staggered tile coordinates. 2020-10-02 10:58:36 +01:00
Richard Davey
b8520f3b0d Tilemaps.Components.IsometricWorldToTileXY is a new function that converts world coordinates to isometric tile coordinates. 2020-10-02 10:58:18 +01:00
Richard Davey
7402d22c53 Tilemaps.Components.HexagonalWorldToTileXY is a new function that converts world coordinates to hexagonal tile coordinates. 2020-10-02 10:57:57 +01:00
Richard Davey
7d39bf9217 Tidy return statements 2020-10-02 10:57:14 +01:00
Richard Davey
ef2d4f6d7a Tilemaps.Components.GetWorldToTileXYFunction is a new function that returns the correct conversion function to use. 2020-10-02 10:56:44 +01:00
Richard Davey
2537e3ff70 Tilemaps.Components.GetWorldToTileXFunction is a new function that returns the correct conversion function to use. 2020-10-02 10:37:41 +01:00
Richard Davey
3352bd800c Restored previous version #4992 2020-10-02 10:37:30 +01:00
Richard Davey
92b431646a Tilemaps.Components.GetWorldToTileYFunction is a new function that returns the correct type of translation to use. 2020-10-02 10:31:02 +01:00
Richard Davey
f1c85fc220 Tilemaps.Components.HexagonalWorldToTileY is a new function that converts world Y coordinates from pixels to hexagonal tile Y coordinates. 2020-10-02 10:30:53 +01:00
Richard Davey
cb09374f9d Tilemaps.Components.StaggeredWorldToTileY is a new function that converts world Y coordinates from pixels to staggered tile Y coordinates. 2020-10-02 10:30:43 +01:00
Richard Davey
17df0f7135 Restored to previous version. #4992 2020-10-02 10:30:30 +01:00
Richard Davey
398bdf4314 Tilemap.hexSideLength is a new property that holds the length of the hexagon sides, if using Hexagonal Tilemaps. 2020-10-02 10:30:08 +01:00
Richard Davey
24437485af Fixed static function #4992 2020-10-02 10:19:13 +01:00
Richard Davey
ba4be029be Create TilemapOrientationType.js 2020-10-02 10:18:57 +01:00
Richard Davey
a8bd2204f2 Fixed updatePixelXY and prioritied orthogonal maps. #4992 2020-10-02 09:52:40 +01:00
Richard Davey
9caadeb364 Lint fix. #4992 2020-10-02 09:49:39 +01:00
Richard Davey
555c47e773 Moved Tilemap const declarations to the correct place. #4992 2020-10-02 09:48:44 +01:00
Richard Davey
c3c35322c4
Merge pull request #4992 from svipal/master
Preliminary PR for isometric support
2020-10-02 09:42:47 +01:00
samme
2223aebffb Don't update center before separation
Should be unnecessary now
2020-10-01 10:44:40 -07:00
samme
9a348409e3 Update center after separation 2020-10-01 10:42:30 -07:00
Richard Davey
6bc858e332 Moved out OBJFile and updated PipelineManager 2020-10-01 18:00:02 +01:00
Richard Davey
3baecb19d4 Moved old mesh pipeline and code into own folder 2020-10-01 17:56:49 +01:00
Richard Davey
239edd5296 Preparing for beta 8 2020-10-01 17:38:47 +01:00
Richard Davey
4b5450d136 Expose Basic ShaderLib, add Program, Attribute and Uniform handlers 2020-10-01 17:19:13 +01:00
Richard Davey
21cf8bcf78 Create ShaderChunk.js 2020-10-01 16:16:18 +01:00
Richard Davey
6c1a9282c6 Added all of the shader chunks 2020-10-01 16:16:12 +01:00
Richard Davey
8c3226dc91 New shader bundler script 2020-10-01 16:15:00 +01:00
Richard Davey
bf17d061f7 Geometry, VAO and Renderer updated ready for shader build 2020-10-01 14:29:53 +01:00
Richard Davey
2d43561e1a WebGLRenderer.vaoExtension is a new property that holds a reference to the Vertex Array Object WebGL Extension, if supported by the browser. 2020-10-01 13:48:27 +01:00
Richard Davey
0a695e6061 Material can store its own transient properties, rather than using a Map 2020-10-01 12:16:08 +01:00
Richard Davey
4238505ee2 Update Renderer.js 2020-10-01 12:15:54 +01:00
Richard Davey
f9617bd0be The RenderState class 2020-10-01 12:15:47 +01:00
Richard Davey
dd99853cdb Created all of the WebGL state handling functions 2020-10-01 12:15:29 +01:00
Richard Davey
d8992ccf9d WebGLRenderer.instancedArraysExtension is a new property that holds the WebGL Extension for instanced array drawing, if supported by the browser. 2020-10-01 10:57:13 +01:00
Richard Davey
23d6c68f1c Update Renderer.js 2020-09-30 17:45:12 +01:00
Richard Davey
b05d7f5481 Starting core renderer 2020-09-30 17:45:05 +01:00
Richard Davey
c0bfb6a61c Added basic Camera and Frustum 2020-09-30 17:07:57 +01:00
Richard Davey
3baa34bea5 Create Mesh.js 2020-09-30 17:07:40 +01:00
Richard Davey
ee7804f515 Matrix4.getInverse is a new method that takes a Matrix4, copies it to the current matrix, then returns the inverse of it. 2020-09-30 17:07:32 +01:00
Richard Davey
1907bda5ee Update GameObjectFactory.js 2020-09-30 16:30:12 +01:00
Richard Davey
5313356fb0 Added basic Geometry 2020-09-30 15:30:50 +01:00
Richard Davey
6ab0803469 Fixed path 2020-09-30 15:11:42 +01:00
Richard Davey
abf7756e19 Starting to flesh out the Layer3D Plugin basics 2020-09-30 15:10:48 +01:00
Richard Davey
1c2c479689 Include Layer3D if feature enabled 2020-09-30 15:09:57 +01:00
Richard Davey
f8d7e823d7 Quaternion.setFromRotationMatrix is a new method that will set the rotation of the quaternion from the given Matrix4. 2020-09-30 15:09:35 +01:00
Richard Davey
9afaf5f2c0 Moved RGB class 2020-09-30 14:16:13 +01:00
Richard Davey
7f3e6798e4 Added multiplyMatrices and premultiply methods and removed unused method. 2020-09-30 14:02:16 +01:00
Richard Davey
06d359dc25 Matrix4.transform is a new method that will generate a transform matrix from the given position and scale vectors and a rotation quaternion.
Removed un-used methods.
2020-09-30 13:48:59 +01:00
Richard Davey
d3e318a51c Added projectViewMatrix and unprojectViewMatrix. 2020-09-30 13:39:48 +01:00
Richard Davey
40a808cb50 Matrix4.lookAtRH is a new method that will generate a right-handed look-at matrix from the given eye, target and up positions. 2020-09-30 13:36:14 +01:00
Richard Davey
51ab68573f Matrix4.getMaxScaleOnAxis is a new method that will return the maximum axis scale from the Matrix4. 2020-09-30 13:19:20 +01:00
Richard Davey
7896bb4157 Added new methods.
* `Vector3.setFromMatrixPosition` is a new method that will set the components of the Vector3 based on the position of the given Matrix4.
* `Vector3.setFromMatrixColumn` is a new method that will set the components of the Vector3 based on the specified Matrix4 column.
* `Vector3.fromArray` is a new method that will set the components of the Vector3 based on the values in the given array, at the given offset.
* `Vector3.min` is a new method that will set the components of the Vector3 based on the `Main.min` between it and the given Vector3.
* `Vector3.max` is a new method that will set the components of the Vector3 based on the `Main.max` between it and the given Vector3.
* `Vector3.addVectors` is a new method that will set the components of the Vector3 based on the addition of the two Vector3s given.
* `Vector3.addScalar` is a new method that will multiply the components of the Vector3 by the scale value given.
* `Vector3.applyMatrix3` is a new method that will take a Matrix3 and apply it to the Vector3.
* `Vector3.applyMatrix4` is a new method that will take a Matrix4 and apply it to the Vector3.
2020-09-30 13:18:45 +01:00
Richard Davey
c299c9e108 Renamed method to setFromEuler 2020-09-30 11:23:01 +01:00
Richard Davey
3b8c78cca2 Quaternion.fromEuler is a new method that will set the quaternion from the given Euler object, optionally calling the onChangeCallback in the process.
The `Quaternion.set` method has a new optional boolean parameter `update` (defaults to `true`), which will call the `onChangeCallback` if set.
2020-09-30 11:21:28 +01:00
Richard Davey
8823f7f0e4 Removed Layer3D and Quad Game Objects 2020-09-30 11:03:19 +01:00
Richard Davey
11e6101f8d Added Math.Euler class 2020-09-30 11:02:54 +01:00
Richard Davey
368df2acef Quaternion now has a new property onChangeCallback which, if set, will be invoked each time the quaternion is updated. This allows you to link change events to other objects.
Internally, the `Quaternion` class now has 4 new private properties: `_x`, `_y`, `_z` and `_w` and 4 new getters and setters for the public versions. It also now passes most methods via `set` to allow for the onChange callback to be invoked. This does not change the public-facing API.
2020-09-30 11:02:33 +01:00
Richard Davey
4dfa49fc05 Fix return states 2020-09-30 09:23:58 +01:00
Richard Davey
0e72b3d3a0 Container doesn't need to be on the updateList, so remove the handler. 2020-09-30 09:20:16 +01:00
Richard Davey
24de03ca96 Added missing ADDED_TO_SCENE handlers 2020-09-29 20:14:30 +01:00
Richard Davey
12c8ddfd05 Use getXRound 2020-09-29 18:05:39 +01:00
Richard Davey
9619995527 Add to UpdateList if not on Display List 2020-09-29 18:05:29 +01:00
Richard Davey
8119ce7da1 Fixed use of old camera private properties 2020-09-29 16:44:11 +01:00
Richard Davey
76d2630f8b Fixed Shake effect 2020-09-29 16:43:42 +01:00
Richard Davey
83542ff51d
Merge pull request #5330 from somnolik/fix-render-texture-group
Fix drawing Group to RenderTexture
2020-09-29 12:22:07 +01:00
Richard Davey
780e1d9adb Texture parsed files no longer store their data in the data caches as well.
You can now use `TextureManager.remove` to remove a texture and not have to worry about clearing the corresponding JSON or XML cache entry as well in order to reload a new texture using the same key. Fix #5323
2020-09-29 10:38:44 +01:00
Richard Davey
90096a6b64 Added mention about tint to the docs. Fix #5327 2020-09-29 09:31:09 +01:00
samme
e639bb73d8 Correct Arcade Body types
For TypeScript

Fixes #5328
2020-09-28 11:42:21 -07:00
Richard Davey
f9803774dd The Line Game Object will now default its width and height to 1, rather than zero. This allows you to give Line objects a physics body (although you will still need to re-adjust the center of the body manually). Fix #4596 2020-09-28 17:00:15 +01:00
Richard Davey
1d66284a22 Removed debug logs and finished JSDocs 2020-09-28 15:25:43 +01:00
Richard Davey
34be82a20c Added processX and processY methods 2020-09-28 15:25:28 +01:00
Richard Davey
4d484e2c0c Updated to handle face blocking and all possible checks 2020-09-28 13:07:32 +01:00
Richard Davey
731e661d56 No longer needed 2020-09-28 13:07:11 +01:00
Richard Davey
4785953368 Merge branch 'master' of https://github.com/photonstorm/phaser 2020-09-28 08:07:23 +01:00
Richard Davey
09c2a2d622 Testing new separation 2020-09-28 08:07:19 +01:00
Richard Davey
30b514fc58
Merge pull request #5326 from samme/fix/body-setOffset
Remove Arcade.Body#updateCenter() in Arcade.Body#setOffset()
2020-09-26 10:19:53 +01:00
Stefan Karner
f4b2b34535 Fix drawing Group to RenderTexture
Group children (generic GameObjects) expect a 'camera' argument
in their 'willRender' function
2020-09-26 10:25:22 +02:00
samme
639a93583f Remove updateCenter() in setOffset() 2020-09-25 14:42:56 -07:00
samme
d0f6070e14 Docs: Arcade.Body#setOffset 2020-09-25 14:37:26 -07:00
samme
13c27064a8 Docs: Arcade.Body#reset
Only game object receives the passed coordinates
2020-09-25 14:19:12 -07:00
Richard Davey
bed716e382 X Separation working properly in all cases. Now to adjust Y. 2020-09-25 21:25:01 +01:00
Richard Davey
7630b8e28d Testing new Separation logic (Y done, X in progress) 2020-09-25 18:01:40 +01:00
Richard Davey
2bcf1f70be Testing new separation logic (incomplete atm) 2020-09-24 18:10:11 +01:00
Richard Davey
da78d3ee42 Tidy up docs 2020-09-24 18:10:00 +01:00
Richard Davey
69b8458bb8 Added new pushable component 2020-09-24 18:09:49 +01:00
Richard Davey
b64d63f60e When running an Arcade Physics overlap test against a StaticBody, it will no longer set the blocked states of the dynamic body. If you are doing a collision test, they will still be set, but they're skipped for overlap-only tests. Fix #4435 2020-09-24 11:04:56 +01:00
Richard Davey
aa3544310c When taking a snapshot in WebGL it would often have an extra line of empty pixels at the top of the resulting image, due to a rounding error in the WebGLSnapshot function. Fix #4956 2020-09-24 10:32:47 +01:00
Richard Davey
6484bc3607 Make it clear in the docs that you cannot mix blend modes and bitmap masks. Fix #4853 2020-09-24 09:36:15 +01:00
Richard Davey
4748c7c7fc WebGLRenderer.defaultScissor is a new property that holds the default scissor dimensions for the renderer. This is modified during resize and avoids continuous array generation in the preRender loop. 2020-09-24 09:26:41 +01:00
Richard Davey
e004fa47fc Creating a Bitmap Mask from a texture atlas that was then used to mask another Game Object also using that same texture atlas would throw the error GL_INVALID_OPERATION : glDrawArrays: Source and destination textures of the draw are the same.. It now renders as expected. Fix #4675 2020-09-23 18:10:12 +01:00
Richard Davey
5f28ff64a2 New clearMask and createMask methods and tidied up structure 2020-09-23 17:59:17 +01:00
Richard Davey
c6f533b872 Fixed legacy interpolation parameters 2020-09-23 17:55:29 +01:00
Richard Davey
232f8e0ebc Updated to use new uniforms and fixed renderWebGL parameters 2020-09-23 17:55:03 +01:00
Richard Davey
bba88b32d8 Fixed property name 2020-09-23 17:15:32 +01:00
Richard Davey
1f9243fe81
Merge pull request #5322 from samme/feature/setMaxVelocity
Set maxVelocity in PhysicsGroupConfig
2020-09-23 13:06:52 +01:00
Richard Davey
63bac3a13d The Loader.maxParallelDownloads value is now set to 6 if running on Android, or 32 on any other OS. This avoids net::ERR_FAILED issues specifically on Android. You can still override this in the Game Config if you wish. Fix #4957 2020-09-23 13:04:18 +01:00
Richard Davey
8d51e8ab2c Fix #4859 2020-09-23 12:59:03 +01:00
Richard Davey
212e7aa301 The Shape class now includes the ComputedSize component properties and methods directly in the class, rather than applying as a mixin. setSize is now flagged as being private, because it shouldn't be used on Shape classes, which was leading to confusion as it appeared in the public-facing API. Fix #4811 2020-09-23 12:46:55 +01:00
Richard Davey
f16e1c09f3 Lint fix 2020-09-23 12:39:21 +01:00
Richard Davey
e7926674b8 The Graphics WebGL Renderer will now default to pathOpen = true. This fixes issues under WebGL where, for example, adding an arc and calling strokePath, without first calling beginPath will no longer cause rendering artefacts when WebGL tries to close the path with a single tri. 2020-09-23 12:34:20 +01:00
Richard Davey
559127a53f Graphics.strokeRoundedRect now issues moveTo commands as part of the drawing sequence, preventing issues under WebGL where on older Android devices it would project additional vertices into the display. Fix #3955 2020-09-23 12:34:06 +01:00
Richard Davey
b86d982c00 The ParticleManagerCanvasRenderer now calculates its transform matrix differently, splitting out the parent matrix and factoring in the follow offsets separately. It also uses setToContext internally. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers, or having the Camera zoomed, running under Canvas. Fix #4908 #4531 #4131 2020-09-23 12:06:29 +01:00
Richard Davey
e2d775e083 Remove duplicate code 2020-09-23 12:06:22 +01:00
Richard Davey
a459ec090f Fixed lint issue 2020-09-23 11:50:07 +01:00
Richard Davey
fb849ae0dc The ParticleManagerWebGLRenderer now calculates its transform matrix differently, splitting out the parent matrix and factoring in follow offsets separately. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers. Fix #5319 #5195 #4739 #4691 2020-09-23 11:50:00 +01:00
Richard Davey
b350ebddcc Removed duplicate code. 2020-09-23 11:42:14 +01:00
svipal
79920709e5 removed useless change 2020-09-23 01:13:20 +02:00
samme
426c9632c7 Set maxVelocity in PhysicsGroupConfig 2020-09-22 16:05:21 -07:00
Richard Davey
76deec0ef6 When destroying an interactive Game Object that had useHandCursor enabled, it would reset the CSS cursor to default, even if the cursor wasn't over that Game Object. It will now only reset the cursor if it's over the Game Object being destroyed. Fix #5321
The `InputPlugin.shutdown` method will now reset the CSS cursor, in case it was set by any Game Objects in the Scene that have since been destroyed.
2020-09-22 22:40:56 +01:00
Richard Davey
aea0e4c925 Pointer.down will now check if the browser is running under macOS and if the ctrl key was also pressed, if so, it will flag the down event as being a right-click instead of a left-click, as per macOS conventions. Fix #4245 2020-09-22 20:42:38 +01:00
Richard Davey
fe4b706cb0 Setting the pixelArt config option will now set antialiasGL to false, as well as antialias. Fix #5309 2020-09-22 17:07:46 +01:00
Richard Davey
00b7530d7a Explain render modes better. 2020-09-22 17:00:02 +01:00
Richard Davey
d5de353890 You can now use setMaxWidth on DynamicBitmapText, which wasn't previously possible. Fix #4997 2020-09-22 16:52:36 +01:00
Richard Davey
6bf36083a8 Added setMaxWidth docs. Fix #4997 2020-09-22 16:48:38 +01:00
Richard Davey
5a6dec237c Fixed RetroFont Parser. Fix #5310 2020-09-22 16:47:05 +01:00
Richard Davey
4fd46f4d1f Fixed DynamicBitmapText WebGL Renderer. Fix #5303 2020-09-22 16:38:17 +01:00
Richard Davey
95b9ba55de Added setPosition and setScale 2020-09-22 15:25:09 +01:00
Richard Davey
b317f89404 Renderer updates the camera 2020-09-22 15:25:09 +01:00
Richard Davey
674966280e
Merge pull request #5320 from vforsh/master
Add reserve property to particle emitter config
2020-09-22 15:24:16 +01:00
Richard Davey
6ff21af807 Added start of controls 2020-09-22 12:48:32 +01:00
Richard Davey
fe17dfc022 Updated docs 2020-09-22 12:48:23 +01:00
Richard Davey
6cf95f3548 Updated missing docs 2020-09-22 12:48:15 +01:00
Richard Davey
06b3a01d87 Added layer property 2020-09-22 12:48:03 +01:00
Richard Davey
2143b38dc4 Added destroy method 2020-09-22 12:47:51 +01:00
Richard Davey
183e68580f Fixed dirty flag reset 2020-09-22 11:45:49 +01:00
Richard Davey
bd25dbc355 Added per-model cull mode 2020-09-22 11:39:26 +01:00
Richard Davey
0410c9f5aa Updated JSDocs 2020-09-22 11:33:40 +01:00
Richard Davey
7d5adab502 Added JSDocs 2020-09-22 11:17:40 +01:00
Richard Davey
9ec300d618 Updated JSDocs 2020-09-22 11:12:40 +01:00
Richard Davey
820ea7799c Completed JSDocs 2020-09-22 11:12:32 +01:00
Richard Davey
248d2352b6 Update the camera if dirty 2020-09-22 10:59:36 +01:00
Richard Davey
d08a6c657c Added all documentation and dirty flag handling 2020-09-22 10:59:28 +01:00
Richard Davey
4945fc95e1 Not yet fixed, but no longer crashes build 2020-09-21 18:25:02 +01:00
Richard Davey
3950191468 Lots of docs and tidying up 2020-09-21 18:24:47 +01:00
Richard Davey
333945a89e Remove Mesh Game Object and add Layer3D 2020-09-21 18:24:38 +01:00
Richard Davey
afe765a2cf Fix component properties 2020-09-21 18:24:12 +01:00
Richard Davey
6abeb84ff6 Remove Face and Vertex classes 2020-09-21 18:24:03 +01:00
Richard Davey
d86cde525a Remove console.log 2020-09-21 18:23:48 +01:00
Richard Davey
d33c69b65c Updated the shaders 2020-09-21 18:23:41 +01:00
Richard Davey
24f7c2e3df Updated to use RGB objects, finished missing methods 2020-09-21 15:57:57 +01:00
Richard Davey
893453f840 New uniforms handler, new cache and dirty checks 2020-09-21 15:57:38 +01:00
Richard Davey
33734309f1 Clean the mesh after rendering 2020-09-21 15:57:21 +01:00
Richard Davey
989e3e6e07 Swapped to use RGB objects 2020-09-21 15:57:11 +01:00
Richard Davey
82c8ada236 Added fog, dirty refresh and preUpdate handler 2020-09-21 15:56:58 +01:00
Richard Davey
27eafe3661 New Face and Vertex typedefs 2020-09-21 15:56:21 +01:00
Richard Davey
977054a7c8 Added new RGB class to encapsulate color data 2020-09-21 15:56:09 +01:00
Richard Davey
4549fb4320 Updated type defs 2020-09-21 14:05:51 +01:00
Richard Davey
f2f3aea79a Shorter errors 2020-09-21 14:05:38 +01:00
Richard Davey
9bb510be0c Now caches uniform locations and added all of the new set1f etc uniform methods 2020-09-21 14:05:30 +01:00
Richard Davey
7a8932a3a4 Remove log 2020-09-21 14:04:52 +01:00
Vladislav Forsh
4d7301a4be Improve types for particle emitter deathZone and emitZone 2020-09-21 12:38:29 +03:00
Richard Davey
7f7d7a1b2e Can now rotate the model 2020-09-21 10:13:58 +01:00
Richard Davey
1b4af32ec2 The Quaternion class constructor will now default the values to 0,0,0,1 if they're not provided, making it an identity quaternion, rather than the 0,0,0,0 it was before. 2020-09-21 10:13:50 +01:00
Vladislav Forsh
530c7a3d92 Add reserve property to particle emitter config 2020-09-21 12:06:49 +03:00
Richard Davey
a8df17b622 Corrected JSDocs 2020-09-21 09:54:23 +01:00
Richard Davey
99953b94b6
Merge pull request #5311 from vforsh/master
Add ability to use custom easing function(s) with particle emitters
2020-09-21 09:40:26 +01:00
Richard Davey
3672559fc1
Merge pull request #5315 from samme/feature/onWorldBounds
Add onWorldBounds argument in Arcade.Body#setCollideWorldBounds()
2020-09-21 09:38:05 +01:00
Richard Davey
e7f6e8aa57
Merge pull request #5317 from samme/docs/cursorKeys
Docs: correct CursorKeys
2020-09-21 09:35:31 +01:00
Richard Davey
48272312ed
Merge pull request #5318 from samme/fix/getMatching
Fix Group#getMatching()
2020-09-21 09:34:03 +01:00
Richard Davey
78c1eb7934 Removed debug, modified signatuers, added fog 2020-09-21 00:17:58 +01:00
Richard Davey
0ad265da2e Removed faces and verts arrays as moved to a single ArrayBuffer instance 2020-09-21 00:17:38 +01:00
Richard Davey
56caeb126f Renders whole buffer in a single draw with no vertex iteration 2020-09-21 00:17:14 +01:00
Richard Davey
1d2a8bc58f Added fog to shader 2020-09-21 00:16:43 +01:00
samme
d4059c8f6e Fix Group#getMatching 2020-09-19 10:10:25 -07:00
Svipal
3997cad5a7 same work 2020-09-19 13:05:56 +02:00
Svipal
e25c4a2e6b made it so github will not list file differences that are not there 2020-09-19 12:58:16 +02:00
Svipal
5fd854fd26 fixed dynamic layer 2020-09-19 11:45:46 +02:00
Svipal
7ca2f9f10b Merge branch 'master' of https://github.com/svipal/phaser into master 2020-09-19 11:04:49 +02:00
Svipal
a9e8c49bf0 fixed typo 2020-09-19 11:04:28 +02:00
svipal
030a9489cd
Merge pull request #9 from photonstorm/master
Final master pull hopefully
2020-09-19 11:01:04 +02:00
Svipal
299f83c13d fixed conflicts 2020-09-19 10:56:05 +02:00
Richard Davey
8366d90f96 Added material and other new methods 2020-09-18 17:52:53 +01:00
Richard Davey
374cc84be8 Now the pipeline does it all 2020-09-18 17:52:41 +01:00
Richard Davey
561a1b54a2 Handle vertex normals too 2020-09-18 17:52:30 +01:00
Richard Davey
640ce49d93 Update MeshCamera.js 2020-09-18 17:52:20 +01:00
Richard Davey
6e62ada207 Created new MeshLight class 2020-09-18 17:52:15 +01:00
Richard Davey
307cbe130f New Mesh Shader 2020-09-18 17:51:23 +01:00
Richard Davey
9a1b252a11 Use shouldFlush 2020-09-18 17:50:57 +01:00
Richard Davey
371fb5e68a Added normals, removed Vec3 2020-09-18 17:50:47 +01:00
Richard Davey
0e2911c4a5 Added fromRotation and mult methods 2020-09-18 17:50:40 +01:00
Richard Davey
0013db3747 Created new Mesh Pipeline 2020-09-18 17:50:20 +01:00
samme
08b2ea467b Docs: correct CursorKeys
Properties not optional
2020-09-18 08:57:05 -07:00
Richard Davey
74f35acad1 Better docs 2020-09-18 16:38:26 +01:00
svipal
79fe9abc6e finished updating culling system 2020-09-18 17:16:52 +02:00
samme
2eb505c91d Docs: Arcade.Body#setCollideWorldBounds 2020-09-17 14:20:13 -07:00
samme
7aa8f02d8c Add onWorldBounds arg in setCollideWorldBounds() 2020-09-17 14:19:57 -07:00
Richard Davey
5b8e490c7e Flush during render so we can have models with more vertices than the batch allows 2020-09-17 18:08:25 +01:00
Richard Davey
5ff9894925 MeshCamera now supports orbit and pan modes 2020-09-17 18:08:07 +01:00
Richard Davey
d40f99c332 Vertor3.addScale is a new method that will add the given vector and multiply it in the process. 2020-09-17 18:07:54 +01:00
Richard Davey
6ce58ed73b Let them define the orientation 2020-09-17 10:08:15 +01:00
Richard Davey
87ed734475 Easier iteration 2020-09-17 10:08:07 +01:00
Richard Davey
f853a2be70 Use the projected coordinates 2020-09-17 10:07:56 +01:00
Richard Davey
38958d025a We need the z axis 2020-09-17 10:07:19 +01:00
Richard Davey
8ca1730cc1 Remove log 2020-09-16 17:49:00 +01:00
Richard Davey
c5412df09e Fix docs 2020-09-16 17:48:56 +01:00
Richard Davey
8085952507 Expose MeshCamera 2020-09-16 17:35:54 +01:00
Richard Davey
c306229478 Final JSDocs 2020-09-16 17:33:17 +01:00
Richard Davey
303f09b23e Final JSDocs 2020-09-16 17:25:42 +01:00
Richard Davey
1d0b5cc6a9 Added Size component 2020-09-16 17:15:37 +01:00
Richard Davey
fcf0867843 Final JSDocs 2020-09-16 17:15:25 +01:00
Richard Davey
a38166ce2b Now allows a texture per model, not mesh 2020-09-16 16:39:06 +01:00
Richard Davey
fcd1cf96b8 Added dirty handling, drawDebug and destroy 2020-09-16 16:38:53 +01:00
Richard Davey
851775ae19 New MeshCamera class 2020-09-16 16:38:39 +01:00
Richard Davey
8ff008b740 Removed un-used components, refactored method names and added MeshCamera 2020-09-16 16:38:32 +01:00
Richard Davey
da6a300474 Iterates and renders the new models array 2020-09-16 13:51:39 +01:00
Richard Davey
4f7442ee96 Moving all dependencies to the Model object 2020-09-16 13:51:30 +01:00
Richard Davey
113ae646e2 Updated path ref 2020-09-16 13:50:44 +01:00
Richard Davey
a96d380933 Created new Geom.Mesh namespace for all of the Mesh related functions and classes 2020-09-16 13:50:36 +01:00
Vladislav Forsh
8fd4754b03 Add ability to use custom easing function(s) with particle emitters 2020-09-16 12:43:38 +03:00
Richard Davey
45412157c2 Added JSDocs 2020-09-16 09:50:24 +01:00
Richard Davey
b74928b2f8 Added hideCCW, addOBJ, addModel, sortByDepth, rotateX, rotateY, rotateZ, depthSort, addVertex and addFace methods. 2020-09-15 18:09:19 +01:00
Richard Davey
431eb69b42 Much cleaner rendering function, skipping invalid faces 2020-09-15 18:07:51 +01:00
Richard Davey
3e133c900a New method signature order 2020-09-15 18:07:24 +01:00
Richard Davey
a2a199818e Added contains and isCounterClockwise methods and depth property 2020-09-15 18:07:14 +01:00
Richard Davey
229d27dc9e Updated docs and added load method 2020-09-15 18:06:48 +01:00
Richard Davey
dd28a11c93 Loader.OBJFile is a new File Loader type that can load Wavefront OBJ files, which are then parsed and stored in the OBJ Cache. 2020-09-15 18:06:31 +01:00
Richard Davey
a0b47e8c5f Geom.ParseObj is a new function that will parse a Wavefront OBJ file into model data that can be consumed by the Mesh Game Object. 2020-09-15 18:05:47 +01:00
Richard Davey
bd2c56e306 Typo fix 2020-09-15 18:04:26 +01:00
Richard Davey
d8a8aa8448 Added clearVertices and renamed to addVertices so you can append on more verts post-creation 2020-09-15 11:57:44 +01:00
Richard Davey
b763fa0f18 The Mesh now renders by iterating through the Faces array, not the vertices. This allows you to use Array methods such as BringToTop to reposition a Face, thus changing the drawing order without having to repopulate all of the vertices. 2020-09-15 11:57:22 +01:00
Richard Davey
5e5b8c0938 The WebGLPipeline.shouldFlush method now accepts an optional parameter amount. If given, it will return true if when the amount is added to the vertex count it will exceed the vertex capacity. The Multi Pipeline has been updated to now use this method instead of performing the comparison multiple times itself. 2020-09-15 11:54:12 +01:00
Richard Davey
08b4597b72 Improved JSDocs 2020-09-15 10:37:19 +01:00
Richard Davey
99c12540f7 Utils.Array.Matrix.Translate is a new function that will translate an Array Matrix by horizontally and vertically by the given amounts. 2020-09-15 10:35:53 +01:00
Richard Davey
92982d810b Added ability to get InCenter. translate and rotate Face 2020-09-14 17:35:06 +01:00
Richard Davey
52d5b00fe5 Added setPosition and translate methods 2020-09-14 17:34:47 +01:00
Richard Davey
f97042193f Beta 7 tag 2020-09-14 15:35:00 +01:00
Richard Davey
6a966e3f3b Removed interpolationPercentage parameter from all render methods, as it has never been used. 2020-09-14 15:33:58 +01:00
Richard Davey
83f8f007d1 Now uses GetCalcMatrix 2020-09-14 15:22:16 +01:00
Richard Davey
1057ead114 Dump all of the old mega arrays and replace with an array of Vertex instances. 2020-09-14 15:09:34 +01:00
Richard Davey
36a33745b6 Expose Vertex and Face 2020-09-14 15:09:12 +01:00
Richard Davey
6a3ce21702 GameObject.Face is a new micro class that consists of references to the three Vertex instances that construct the single Face. 2020-09-14 15:08:36 +01:00
Richard Davey
8fc969088c GameObject.Vertex is a new micro class that encapsulates all of the data required for a single vertex, such as position, uv, color and alpha. This class is now created internally by the Mesh Game Object. 2020-09-14 15:08:25 +01:00
Richard Davey
3fa0070e50 Now uses white texture and tintEffect mode 1 2020-09-14 15:03:04 +01:00
Richard Davey
87c8e75ece Updated JSDocs 2020-09-14 15:02:21 +01:00
Richard Davey
951457c881 As a result of the change to the shader, all uses of the WebGL Util function getTintAppendFloatAlphaAndSwap have been replaced with getTintAppendFloatAlpha instead. 2020-09-14 15:02:13 +01:00
Richard Davey
194257d199 Create GetCalcMatrixResults.js 2020-09-14 15:01:45 +01:00
Richard Davey
8d25510b61 GameObjects.GetCalcMatrix is a new function that is used to calculate the transformed Game Object matrix, based on the given Game Object, Camera and Parent. This function is now used by the following Game Objects: BitmapText (Static and Dynamic), Graphics, Mesh, Rope, Shader, Arc, Curve, Ellipse, Grid, IsoBox, IsoTriangle, Line, Polygon, Rectangle, Star and Triangle. This dramatically reduces the amount of duplicate code across the API. 2020-09-14 15:01:40 +01:00
Richard Davey
4795c56d79 Config.images.white is a new Game Config property that specifies the 4x4 white PNG texture used by Graphics rendering. You can override this via the config, but only do so if needed. 2020-09-14 14:57:08 +01:00
Richard Davey
e368c479a0 The TextureManager now generates a new texture with the key __WHITE durings its boot process. This is a pure white 4x4 texture used by the Graphics pipelines. 2020-09-14 14:54:58 +01:00
Richard Davey
81800e0ce2 WebGLRenderer.whiteTexture is a new property that is a reference to a pure white 4x4 texture that is created during Boot by the Texture Manager. The Multi Pipeline uses this internally for all Graphic, Shape and fill rendering. 2020-09-14 14:44:29 +01:00
Richard Davey
81b63cdf20 The Rope.tintFill property is now a boolean, not an integer, and can no longer take 2 as a value for a complete fill. Instead, you should provide a solid color texture with no alpha. 2020-09-14 11:12:41 +01:00
Richard Davey
e5ce83aebd New direct tint value 2020-09-14 11:06:16 +01:00
Richard Davey
0f6cc79cd1 The function GetColorFromValue has been removed as it's no longer used internally. 2020-09-14 11:05:32 +01:00
Richard Davey
4ade25fc79 No longer read private values for tint
The `Multi Pipeline`, `Bitmap Text`, `Render Texture`, `Text`, `TileSprite` and `Camera` now all read the tint values from the public properties instead of the private `_tintTL` etc ones. They also now set the `tintEffect` value directly from the `tintFill` property, removing another conditional check.
2020-09-14 11:05:09 +01:00
Richard Davey
75c5f11aee Updated shader source RGB to BGR and removed if-else block
* The `Single.frag`, `Light.frag` and `Multi.frag` shaders have all been updated so they now read the color value as `outTint.bgr` instead of `outTint.rgb`. This allows the colors to remain in RGB order within the Tint component.
* The `Single.frag`, `Light.frag` and `Multi.frag` shaders have all been updated so they no longer have a 3-way check on the `outTintEffect` value.
2020-09-14 11:02:02 +01:00
Richard Davey
6d09f1fe40 Refactored Tint component
* `Tint.tintTopLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTL` which has now been removed.
* `Tint.tintTopRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintTR` which has now been removed.
* `Tint.tintBottomLeft` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBL` which has now been removed.
* `Tint.tintBottomRight` is now a normal property in RGB order, not a setter, and no longer passes through the `GetColorFromValue` function. This directly replaces the private property `_tintBR` which has now been removed.
* The property `Tint._isTinted` has been removed as it's no longer required.
2020-09-14 10:59:32 +01:00
Richard Davey
ea0abc4f69 Tidy up the formatting 2020-09-14 09:44:17 +01:00
Richard Davey
17ed707acb The Loader.path was being added to the File URL even if the URL was absolute. This is now checked for and the path is not applied unless the URL is relative #5301 2020-09-14 09:23:59 +01:00
Richard Davey
25b5c2d1d1 Loads of new Mesh updates
* `Mesh.setVertices` is a new method that allows you to set the verts of a Mesh Game Object from the given parameters. This allows you to modify a mesh post-creation, or populate it with data at a later stage.
* The Mesh constructor signature has changed to `scene, x, y, vertices, uvs, indicies, colors, alphas, texture, frame`, where `indicies` is the new parameter added to the list. It allows you to provide indexed vertex data to create the Mesh from, where the `indicies` array holds the vertex index information. The final list of vertices is built from this index along with the provided vertices and uvs arrays.
* You can now supply just a single numerical value as the `color` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the color for all vertices created.
* You can now supply just a single numerical value as the `alpha` parameter in the constructor, factory method and `setVertices` method. If a number, instead of an array, it will be used as the alpha for all vertices created.
* The `Mesh` Game Object now extends the `SingleAlpha` component and the alpha value is factored into the final alpha value per vertex during rendering. This means you can now set the whole alpha across the Mesh using the standard `setAlpha` methods. But, if you wish to, you can still control the alpha on a per-vertex basis as well.
* The `Mesh` Game Object now has the Animation State Component. This allows you to create and play animations across the texture of a Mesh, something that previously wasn't possible. As a result, the Mesh now adds itself to the Update List when added to a Scene.
* `Mesh.setDebug` is a new method that allows you to render a debug visualisation of the Mesh vertices to a Graphics Game Object. You can provide your own Graphics instance and optionally callback that is invoked during rendering. This allows you to easily visualise the vertices of your Mesh to help debug UV mapping.
* `Mesh.debugGraphic` is a new property that holds the debug Graphics instance reference.
* `Mesh.debugCallback` is a new property that holds the debug render callback.
* `Mesh.renderDebugVerts` is a new method that acts as the default render callback for `setDebug` if none is provided.
* `Mesh.preDestroy` is a new method that will clean-up the Mesh arrays and debug references on destruction.
2020-09-13 23:11:04 +01:00
Richard Davey
3fd52ecdd3 Added debug draw 2020-09-13 17:16:17 +01:00
Richard Davey
c76b084f2e Merge branch 'master' of https://github.com/photonstorm/phaser 2020-09-13 15:17:13 +01:00
Richard Davey
cd0a27acfa Fix #5308 2020-09-13 15:17:07 +01:00
Rex
0cb806c11e Fix add.existing bug
Add game object to updateList if it dose not add to displayList.
( Group game object dose not have `renderCanvas` or `renderWebGL` method)
2020-09-13 17:05:55 +08:00
Richard Davey
b733dbcbe1 The ScaleManager.resolution property has been removed and all internal use of it. 2020-09-12 11:59:30 +01:00
Richard Davey
68946f3894 The Phaser.Scale.Events#RESIZE event no longer sends the resolution as a parameter. 2020-09-12 11:58:50 +01:00
Richard Davey
e4b1093e72 The WebGLRenderer.resize and onResize methods no longer receives or uses the resolution parameter. 2020-09-12 11:58:08 +01:00
Richard Davey
67e49b515c The PipelineManager.resize method along with WebGLPipeline.resize and anything else that extends them no longer receives or uses the resolution parameter. 2020-09-12 11:57:16 +01:00
Richard Davey
37a9261ac4 The CanvasRenderer no longer reads or uses the Game Config resolution property. 2020-09-12 11:56:11 +01:00
Richard Davey
b63cc75154 Remove Camera.resolution use 2020-09-12 11:55:38 +01:00
Richard Davey
f2fca49b3f Remove Camera resolution use 2020-09-12 11:55:26 +01:00
Richard Davey
d6f5aabb7e The TextStyle.resolution property is no longer read from the Game Config. You can still set it via the Text Style config to a value other than 1, but it will default to this now. 2020-09-12 11:55:06 +01:00
Richard Davey
0acdf4373f Formatting update 2020-09-12 11:53:36 +01:00
Richard Davey
c46c3e4c82 The Core.Config.resolution property has been removed. 2020-09-12 11:53:23 +01:00
Richard Davey
f0f93cde7d The CameraManager.onResize method no longer receives or uses the resolution parameter. 2020-09-12 11:52:40 +01:00
Richard Davey
3579d39fa2 The Camera.preRender method no longer receives or uses the resolution parameter. 2020-09-12 11:51:59 +01:00
Richard Davey
d1f2c9239c Resolution removal
* The `BaseCamera.resolution` property has been removed.
* The internal private `BaseCamera._cx`, `_cy`, `_cw` and `_ch` properties has been removed.
* The `BaseCamera.preRender` method no longer receives or uses the `resolution` parameter.
2020-09-12 11:51:37 +01:00
Richard Davey
5d4fe0a466 Fixed a few linting errors 2020-09-12 10:34:57 +01:00
Richard Davey
36cf9c456a
Merge pull request #5270 from rexrainbow/text-measureText
Get ascent and descent from context.measureText method
2020-09-12 10:30:19 +01:00
Richard Davey
887e0d8a15
Merge pull request #5302 from samme/feature/copyPosition
Add Phaser.GameObjects.Components.Transform#copyPosition
2020-09-12 10:26:51 +01:00
samme
ad0c5ad5db Docs: since 2020-09-11 10:01:43 -07:00
samme
f05129f30c Add Transform#copyPosition
Needs JSDoc types for Vector3Like, Vector4Like
2020-09-11 09:44:31 -07:00
Emil Schnedler Vad
e1106a0112 Says webglRender but it is in PipelineManager 2020-09-11 18:44:11 +02:00
Richard Davey
9cd4c1bb0a Refactored to use local vars 2020-09-11 16:27:21 +01:00
Richard Davey
d844402d4d
Merge pull request #5298 from samme/feature/audio-config-default
Add default value for Phaser.Core.Config#audio
2020-09-11 16:25:50 +01:00
Richard Davey
7475b15976 Preparing for Beta 6 2020-09-11 15:56:53 +01:00
samme
93b5aebdbe Fix undefined TimerEvent
Fixes #5294
2020-09-11 07:45:22 -07:00
Richard Davey
6c8191f7c5 Fixed Audio and Video type defs. Fix #5295 2020-09-11 15:29:01 +01:00
Richard Davey
1c2a79ac51 The Scale Managers GetScreenOrientation function will now check for window.orientation first, because iOS mobile browsers have an incomplete implementation of the Screen API, forcing us to use the window value as a priority. This means the Scale Manager will now emit orientationchange events correctly on iOS. Fix #4361 #4914 2020-09-11 15:22:53 +01:00
Richard Davey
60e311afe5 Updated JSDocs 2020-09-11 15:16:37 +01:00
Richard Davey
2acfbfbe71 Gamepad._created is a new private internal property that keeps track of when the instance was created. This is compared to the navigator timestamp in the update loop to avoid event spamming. Fix #4890. 2020-09-11 14:01:55 +01:00
Richard Davey
5ecdc3b4a2 The GamepadPlugin will now call refreshPads as part of its start process. This allows you to use Gamepads across multiple Scenes, without having to wait for a connected event from each one of them. If you've already had a connected event in a previous Scene, you can now just read the pads directly via this.input.gamepad.pad1 and similar. Fix #4890 2020-09-11 14:00:14 +01:00
Richard Davey
00b799db23 Use Event const, not string. 2020-09-11 12:23:33 +01:00
Richard Davey
c90a3847e4 DataManager.Events.DESTROY is a new event that the Data Manager will _listen_ for from its parent and then call its own destroy method when received. 2020-09-11 12:21:39 +01:00
Richard Davey
ce236f0d69 ScaleManager.refresh is now called when the Game.READY event fires. This fixes a bug where the Scale Manager would have the incorrect canvas bounds, because they were calculated before a previous canvas was removed from the DOM. Fix #4905 2020-09-11 12:10:10 +01:00
Richard Davey
57657ce76c Updated JSDocs. Fix #5268 2020-09-11 11:08:43 +01:00
Richard Davey
56bbfbcb62 Removed capture and added preventDefaultDown, Up and Move instead. Also better passive handling and smaller listeners. 2020-09-11 10:59:47 +01:00
Richard Davey
0aea690497 Removed inputMouseCapture and added configs for inputMousePrventDefaultDown, Up and Move instead. 2020-09-11 10:59:20 +01:00
Richard Davey
3969d6e45a Updated JSDocs to cover situation in #3858 2020-09-11 10:08:22 +01:00
Richard Davey
a04690d5af The onMouse events in the Input Manager didn't reset the activePointer property to the mouse, meaning on dual-input systems such as Touch Screen devices, the active pointer would become locked to whichever input method was used first. Fix #4615 #5232 2020-09-11 09:48:13 +01:00
samme
ae5182be7d Default Phaser.Core.Config#audio; and refactor 2020-09-10 09:22:44 -07:00
Richard Davey
65faa34884 Merge branch 'master' of https://github.com/photonstorm/phaser 2020-09-10 17:05:05 +01:00
Richard Davey
205552d69c Fix namespaces. Fix #5289 2020-09-10 17:04:56 +01:00
Rex
f513f5bf31 Remove duplicated code
Adding game object  to UpdateList has been invoked in `displayList.add` by new ADDED_TO_SCENE event already.
2020-09-10 23:44:21 +08:00
Richard Davey
8b94cd71d6 Undo #5212 as it breaks all imports in webpack 2020-09-09 17:07:40 +01:00
Richard Davey
ea73a72b73 Restored animation complete key event. 2020-09-09 16:08:59 +01:00
Richard Davey
626a4e08f9 Update release version 2020-09-09 13:33:33 +01:00
Richard Davey
296dafebf5 No need for gl ref 2020-09-09 13:33:25 +01:00
Richard Davey
da4c387d86 Reference fixes 2020-09-09 13:21:38 +01:00
Richard Davey
6734932a32 Update PipelineManager.js 2020-09-09 13:09:25 +01:00
Richard Davey
7e840b2670 Removed all of the pipeline methods and added the Pipeline Manager instance 2020-09-09 13:05:18 +01:00
Richard Davey
52c2312455 Update PipelineManager.js 2020-09-09 13:05:18 +01:00
Richard Davey
2d3edc9512 Use the new Pipeline Manager methods 2020-09-09 13:05:18 +01:00
Richard Davey
e450bf2f1f Swap to using constants for pipeline names 2020-09-09 13:05:18 +01:00
Richard Davey
d198818d80 Game Objects now call the new Pipeline Manager methods directly 2020-09-09 13:05:18 +01:00
Richard Davey
4ea080e8a8 JSDoc fix 2020-09-09 13:05:17 +01:00
Richard Davey
7765016caa Pipeline constants so we can avoid using strings elsewhere 2020-09-09 13:05:17 +01:00
Richard Davey
d3e82f2d76 The new Pipeline Manager class 2020-09-09 13:05:17 +01:00
samme
b0ce62e2d8
Docs: correct type for Body#customBoundsRectangle 2020-09-08 18:44:12 -07:00
Svipal
1994185d6f merged master 2020-09-08 22:17:04 +02:00
Richard Davey
8b2c9edce2 GenerateFrameNames can now accept the start and end parameters in reverse order, meaning you can now do { start: 10, end: 1 } to create the animation in reverse. 2020-09-08 13:40:20 +01:00
Richard Davey
b8d35d7cf0 Utils.Array.NumerArray can now accept the start and end parameters in reverse order, i.e. 10, 1 will generate a number array running from 10 to 1. Internally it has also been optimized to skip string based returns. 2020-09-08 13:02:16 +01:00
Richard Davey
dfb71fe2a6 Fixes to GenerateFrameNumbers
* `GenerateFrameNumbers` would include the __BASE frame by mistake in its calculations. This didn't end up in the final animation, but did cause a cache miss when building the animation.
* `GenerateFrameNumbers` can now accept the `start` and `end` parameters in reverse order, meaning you can now do `{ start: 10, end: 1 }` to create the animation in reverse.
2020-09-08 13:01:11 +01:00
Richard Davey
bd56b0bd59 Updated JSDocs 2020-09-08 12:17:45 +01:00
Richard Davey
09d96d4e5e Now only dispatches one single event per action. Also added getFrameName method. 2020-09-08 12:17:38 +01:00
Richard Davey
d476032e9f Animation no longer extends the EventEmitter 2020-09-08 12:17:18 +01:00
Richard Davey
bbbae648b9 Deleted un-used events, renamed Sprite events and added lots more documentation. 2020-09-08 12:16:39 +01:00
Richard Davey
cdd612a273 AnimationState has moved namespace to keep things logically together 2020-09-08 09:31:59 +01:00
Richard Davey
5344d39498 Better Group docs. Fix #5011 2020-09-07 16:40:05 +01:00
Richard Davey
4af38a4836
Merge pull request #5285 from samme/feature/arcade-config-fixedstep
Add ArcadeWorldConfig.fixedStep
2020-09-07 16:24:49 +01:00
Richard Davey
dc99fd03aa Don't create if vertices already provided. Fix #5280 2020-09-07 16:03:36 +01:00
Richard Davey
5224985e7f Update BitmapMaskPipeline.js 2020-09-07 16:03:18 +01:00
Richard Davey
bd19929006 JSDoc fix 2020-09-07 16:03:06 +01:00
Richard Davey
bc694ce4ac Beta 4 2020-09-07 15:34:04 +01:00
Richard Davey
98dc69ed23 Added in support for blending animations with addMix, getMix and removeMix. 2020-09-07 15:33:57 +01:00
Richard Davey
438fe3c0d1 No Update unless playing 2020-09-07 14:50:33 +01:00
Rex
a9e6604eb2 Support IE
IE and Firefox for Android do not have actualBoundingBoxAscent and actualBoundingBoxDescent properties.
Use origin solution to get ascent and descent.
2020-09-07 21:36:27 +08:00
Richard Davey
94298efc4d Because do/while loops are quite dangerous 2020-09-07 11:54:08 +01:00
Richard Davey
ec06e79b26 Catch stops 2020-09-07 11:52:37 +01:00
Richard Davey
2b374c7e14 AnimationState.skipMissedFrames is now used when playing an animation, allowing you to create animations that run at frame rates far exceeding the refresh rate, or that will update to the correct frame should the game lag. Close #4232 2020-09-07 11:32:55 +01:00
Richard Davey
ace5b8cafb Update Animation.js 2020-09-07 11:32:46 +01:00
Richard Davey
24beb01963 Update AnimationState.js 2020-09-07 10:26:16 +01:00
Richard Davey
6eae9ca598 Fixed reference 2020-09-07 10:26:10 +01:00
Richard Davey
70110825da Console warning if frame doesn't exist
* `GenerateFrameNames` will now console.warn if the generated frame isn't present in the texture, which should help with debugging animation creation massively.
* `GenerateFrameNumbers` will now console.warn if the generated frame isn't present in the texture, which should help with debugging animation creation massively.
2020-09-07 10:26:04 +01:00
Richard Davey
ad4f0ce0c4 Updated docs 2020-09-05 12:01:11 +01:00
Richard Davey
2cabbbd504 Renamed to AnimationState for clarity. 2020-09-05 11:45:00 +01:00
Richard Davey
b0872c188a The Component.Animation.updateFrame method has now been removed. Everything is handled by setCurrentFrame instead, which removes one extra step out of the update process. 2020-09-05 11:12:52 +01:00
Richard Davey
af0f207cbb Update BuildGameObjectAnimation.js 2020-09-04 17:16:51 +01:00
Richard Davey
a2d395661c GameObjects.Shape.Grid would render a white fill even if you passed undefined as the fill color in the constructor. It now doesn't render cells if no fill color is given. 2020-09-04 15:29:22 +01:00
Richard Davey
89332aad5f You can now create Animations directly on Sprite
* `Component.Animation.create` is a new method that allows you to create animations directly on a Sprite. These are not global and never enter the Animation Manager, instead risiding within the Sprite itself. This allows you to use the same keys across both local and global animations and set-up Sprite specific local animations.
* All playback methods: `play`, `playReverse`, `playAfterDelay` and `playAfterRepeat` will now check to see if the given animation key exists locally on the Sprite first. If it does, it's used, otherwise it then checks the global Animation Manager for the key instead.
* `Component.Animation.remove` is a new method that will remove a locally stored Animation instance from a Sprite.
* `Component.Animation.get` is a new method that will return a locally stored Animation instance from the Sprite.
* `Component.Animation.exists` is a new method that will check if a locally stored Animation exists on the Sprite.
* The internal `Component.Animation.remove` method has been renamed to `globalRemove`.
* `Component.Animation.textureManager` is a new property that references the global Texture Manager.
* `Component.Animation.anims` is a new property that contains locally created Animations in a Custom Map.
2020-09-04 14:03:57 +01:00
Richard Davey
cee9ca00eb Improved docs 2020-09-04 13:58:34 +01:00
Richard Davey
66f4ab69e7 When playing an animation in reverse, if it reached the first frame and had to repeat, it would then jump to the frame before the final frame and carry on, skipping out the final frame. 2020-09-04 13:06:00 +01:00
Richard Davey
cebd1d0101 Tidy up order 2020-09-04 11:52:19 +01:00
Richard Davey
5979864dc4 Use new method name and parameter order 2020-09-04 11:50:13 +01:00
Richard Davey
858ae68841 Removed startFrame, chain can take arrays, delayedPlay rename, playAfterRepeat method and playAfterDelay method. 2020-09-04 11:49:16 +01:00
Richard Davey
afef6da59c Exposed all of the new animation methods on a Sprite level 2020-09-04 11:48:17 +01:00
Richard Davey
1d798441f3 Support repeat count for stopping 2020-09-04 11:40:32 +01:00
Richard Davey
1a4b5b2779 AnimationManager.createFromAseprite is a new method that allows you to use animations created in the Aseprite editor directly in Phaser. 2020-09-04 00:02:51 +01:00
Richard Davey
1515357039 Lots of updates (see full description)
* `Component.Animation.timeScale` is a new public property that replaces the old private `_timeScale` property.
* `Component.Animation.delay` is a new public property that replaces the old private `_delay` property.
* `Component.Animation.repeat` is a new public property that replaces the old private `_repeat` property.
* `Component.Animation.repeatDelay` is a new public property that replaces the old private `_repeatDelay` property.
* `Component.Animation.yoyo` is a new public property that replaces the old private `_yoyo` property.
* `Component.Animation.inReverse` is a new public property that replaces the old private `_reverse` property.
* `Component.Animation.startAnimation` is a new public method that replaces the old private `_startAnimation` method.
* The `Component.Animation.getProgress` method has been fixed so it will return correctly if the animation is playing in reverse.
* The `Component.Animation.remove` method will now always be called when an animation is removed, not just once.
* The `Component.Animation.getRepeat` method has now been removed. You can get the value from the `repeat` property.
* The `Component.Animation.setRepeatDelay` method has now been removed. You can set the value using the `repeatDelay` config property, or changing it at run-time.
* `Component.Animation.complete` is a new method that handles the completion in animation playback.
* The `Component.Animation.setTimeScale` method has now been removed. You can set the value using the `timeScale` config property, or changing it at run-time.
* The `Component.Animation.getTimeScale` method has now been removed. You can read the value using the `timeScale` property.
* The `Component.Animation.getTotalFrames` method has been fixed and won't error if called when no animation is loaded.
* The `Component.Animation.setYoyo` method has now been removed. You can set the value using the `yoyo` config property, or changing it at run-time.
* The `Component.Animation.getYoyo` method has now been removed. You can read the value using the `yoyo` property.
2020-09-03 17:56:22 +01:00
Richard Davey
13601ad31b Removed completeAnimation, load and setFrame and updated other methods to use new component properties. 2020-09-03 17:44:46 +01:00
Richard Davey
96bc2e89d3 Removed load and fixed staggerPlay 2020-09-03 17:42:10 +01:00
Richard Davey
b4b5338f28 Added playReverse, delayedPlay and stop methods and better docs. 2020-09-03 17:38:36 +01:00
Richard Davey
33cc87121c The BuildGameObjectAnimation function now uses the PlayAnimationConfig object to set the values. 2020-09-03 17:37:21 +01:00
Richard Davey
050c2a61b6 Fixed data-type 2020-09-03 17:36:36 +01:00
Richard Davey
b9e5f3e9bc GroupCreateConfig, which is used when calling Group.createMultiple or Group.createFromConfig, can now accept the following new properties: setOrigin: { x, y, stepX, stepY } which are applied to the items created by the Group. 2020-09-03 17:36:05 +01:00
Richard Davey
f505f6a3e3 Actions.setOrigin will now call updateDisplayOrigin on the items array, otherwise the effects can't be seen when rendering. 2020-09-03 17:34:16 +01:00
samme
803c300ae4 Add ArcadeWorldConfig.fixedStep 2020-09-03 07:32:44 -07:00
Richard Davey
15c6e7718c New Animation events 2020-09-03 15:04:09 +01:00
Richard Davey
28c6635ea3 Utils.Array.SortByDigits is a new function that takes the given array of strings and runs a numeric sort on it, ignoring any non-digits. 2020-09-03 15:01:55 +01:00
Richard Davey
bba8285665 Return type fix 2020-09-03 11:27:12 +01:00
Richard Davey
d92195a8b8 Default rotation as well 2020-09-02 22:55:51 +01:00
Richard Davey
1562525a51 When using Camera.setRenderToTexture its zoom value would be applied twice. Fix #4221 2020-09-02 22:50:27 +01:00