Commit graph

9991 commits

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