Commit graph

6621 commits

Author SHA1 Message Date
Richard Davey
82251cd85b Removed Matrix Stack. No longer needed. 2018-08-03 19:17:12 +01:00
Richard Davey
2ab24c49c4 Tile Sprites updated to use new internal canvas and support crop 2018-08-03 19:14:06 +01:00
Richard Davey
e91d95e107 Text updated to use proper texture frame and now supports crop 2018-08-03 19:07:12 +01:00
Richard Davey
177e47cb84 The Texture Manager has a new method called renameTexture which will let you rename a texture, changing the key to the new one given. All existing Game Objects will still maintain their reference, even after a rename. 2018-08-03 19:03:52 +01:00
Richard Davey
708a857a26 SetTransform is a new Canvas Renderer function that consolidates the process of preparing a Game Object for rendering, without actually rendering it. This is used internally by the Graphics and Bitmap Text classes. 2018-08-03 19:02:43 +01:00
Richard Davey
8ed749bcb1 Removed old scissor code 2018-08-03 18:57:03 +01:00
Richard Davey
ae46e11e35 Skip processing if no tiles 2018-08-03 18:56:52 +01:00
Richard Davey
e8e32ecf2c Swap look-up for direct reference 2018-08-03 18:56:12 +01:00
Richard Davey
0a35275c1a TransformMatrix.setToContext is a new method that will set the values from the Matrix to the given Canvas Rendering Context using setTransform rather than transform. 2018-08-03 18:55:33 +01:00
Richard Davey
22bc6d2a86 The batchTexture method in the Texture Tint Pipeline now supports cropped Game Objects and will adjust the drawn texture frame accordingly. 2018-08-03 18:54:48 +01:00
Richard Davey
ca68904953 The Canvas Renderer has a new batchSprite method that consolidates the process of drawing a texture-based Game Object to the canvas. It processes the alpha, blend mode and matrix calculations in a single function and now is used by nearly all Game Object canvas renderers. 2018-08-03 18:53:50 +01:00
Richard Davey
921cc738d9 Render Textures now use the frame source to store the glTexture in, not locally. 2018-08-03 18:51:07 +01:00
Richard Davey
c98f5edc23 Added resetCropObject method to cut down on duplicate code. 2018-08-03 18:50:36 +01:00
Richard Davey
b65cf0647b New Crop Game Object component. 2018-08-03 18:49:10 +01:00
Richard Davey
8c842f67de Phaser.Utils.String.UUID will return an RFC4122 complaint UUID as a string. This is used internally to avoid cache key conflicts, but is exposed for your own use as well. 2018-08-03 18:47:27 +01:00
Richard Davey
fc0dc13930 Removed use of currentBlendMode and currentAlpha 2018-08-03 01:53:51 +01:00
Richard Davey
9f44896a3f The Blend Mode is now set directly in all Canvas Renderers without comparing it to what's stored in the Canvas Renderer. This fixes problems where the blend mode would be lost between two different Game Objects because they restored the context, but didn't update the renderer flag. Game Objects in Canvas can now mix and match blend modes across the display list. 2018-08-03 01:29:18 +01:00
Richard Davey
e0918df6b0 Canvas particle renderer now using same matrix math as webgl 2018-08-03 01:04:46 +01:00
Richard Davey
0a035353fa lint fix 2018-08-03 01:04:25 +01:00
Richard Davey
70b234952a Updated the canvas tilemap layer renderers to support parent matrix and tidied up the internal flow 2018-08-03 00:50:45 +01:00
Richard Davey
6ef7033b44 Added in parent matrix support and refactored the drawing 2018-08-03 00:42:27 +01:00
Richard Davey
31421ee00a The CullTiles updates from 3.11 didn't factor in the position of the Tilemap Layer to its bounds calculations, causing Static layers displayed out of the Camera viewport to never render in Canvas mode. The method has also been optimized further, with less divisions and less checks if culling is disabled. 2018-08-03 00:40:56 +01:00
Richard Davey
1b5f084640 Added jsdoc 2018-08-03 00:34:21 +01:00
Richard Davey
eff01adbc9 Added divide argument to the Snap methods. 2018-08-03 00:34:11 +01:00
Richard Davey
318cc87e59 Use proper matrix for static layer, so we can do fun things with Render Textures 2018-08-02 22:15:08 +01:00
Richard Davey
8135b687fb Added all the missing cull methods and properties into the Static Tilemap Layer, which is used by the Canvas Renderer 2018-08-02 22:14:51 +01:00
Richard Davey
f1d3412c38 Corrected data types 2018-08-02 22:14:32 +01:00
Richard Davey
66f6f9abc1 Removed un-used matrix 2018-08-02 22:14:23 +01:00
Richard Davey
0967bfcab4 Should use currentContext, not gameContext 2018-08-02 17:59:30 +01:00
Richard Davey
217bfd2343 Sorting out frame access 2018-08-02 17:59:19 +01:00
Richard Davey
96509e4ca4 Tidying p 2018-08-02 17:59:11 +01:00
Richard Davey
2a8dbb0c42 Removed un-used vars 2018-08-02 17:33:01 +01:00
Richard Davey
9ccb594958 Fixed Graphics Canvas Renderer so it uses the matrix values properly. 2018-08-02 17:24:29 +01:00
Richard Davey
c4c8b9e6ea Added copyToContext method 2018-08-02 17:23:52 +01:00
Richard Davey
674fc487ec Added missing commands 2018-08-02 17:03:41 +01:00
Richard Davey
20b74e746a Fixed parent order 2018-08-02 16:19:14 +01:00
Richard Davey
2a66e01577 Added source property so we can purge TSs based on origin 2018-08-02 16:16:46 +01:00
Richard Davey
7965c7aae4 Removed un-needed files. 2018-08-02 15:59:29 +01:00
Richard Davey
51163e6d4e If you set window.FORCE_WEBGL or window.FORCE_CANVAS in the window in which the Phaser game is loaded it will over-ride the renderer type setting in your game config, and force either WebGL or Canvas. This is handy for quickly testing the differences between renderers without having to do a new build each time. 2018-08-02 15:58:36 +01:00
Richard Davey
b83c8cf513 Merged all the functions into the single class and tidied up the naming. 2018-08-02 14:58:09 +01:00
Richard Davey
286f36cd1e Added ability for the Canvas Renderer to change context. 2018-08-02 14:57:37 +01:00
Richard Davey
122e6cab8a Fixed frame var 2018-08-02 12:35:26 +01:00
Richard Davey
affe47714f Render Textures can now save themselves to the Texture Manager. 2018-08-02 12:35:17 +01:00
Richard Davey
7566236d9b Added isRenderTexture property. 2018-08-02 12:34:57 +01:00
Richard Davey
261cb79d0d Added addRenderTexture method. 2018-08-02 12:34:01 +01:00
Richard Davey
3efc800bf7 Use global string to cut down on size a little. 2018-08-02 12:33:48 +01:00
Richard Davey
72d54dd1ac Only clear if dirty. Only render children is visible. 2018-08-01 20:25:55 +01:00
Richard Davey
c9e0963696 Added dirty fag 2018-08-01 20:25:40 +01:00
Richard Davey
a11b059531 Draw a whole Scene now! 2018-08-01 18:28:14 +01:00
Richard Davey
c9efa21cfd Added getChildren to keep inline with Group 2018-08-01 18:28:06 +01:00
Richard Davey
9bc71dc676 New handler so RenderTextures can draw any game object, group or container 2018-08-01 18:02:21 +01:00
Richard Davey
56a0b3b3bf Expose more functions (until we tidy this up) 2018-08-01 18:02:05 +01:00
Richard Davey
86b829efa6 Blank the texture after drawing 2018-08-01 18:01:54 +01:00
Richard Davey
d50b72dd14 Fixed Group creation arguments 2018-08-01 18:01:36 +01:00
Richard Davey
46552c8f2e Remove strict check 2018-08-01 16:04:08 +01:00
Richard Davey
f540d03346 Removed un-needed checks (willRender handles it now) 2018-08-01 16:03:58 +01:00
Richard Davey
2220faba49 Removed un-used method 2018-08-01 15:20:10 +01:00
Richard Davey
9977497137 Fixed Group config / children detection 2018-08-01 15:19:56 +01:00
Richard Davey
7ebf5766e8 Added docs for blankTexture and setBlankTexture. 2018-08-01 13:23:03 +01:00
Richard Davey
73524df816 The Game boot event flow has changed slightly. The Game will now listen for a texturesready event, which is dispatched by the Texture Manager when the default textures have finished processing. Upon receiving this, the Game will emit the ready event, which all the other systems listen for and respond to. The difference is that the Renderer uses the texturesready event to ensure that it is the first thing to be activated, before any other system. 2018-08-01 13:18:28 +01:00
Richard Davey
94e4411ac1 Testing RenderTexture updates to allow any GameObject to be drawn to it 2018-08-01 00:01:16 +01:00
Richard Davey
a4db967b19 Added 4 temp matrices to the Canvas renderer. 2018-07-31 23:23:04 +01:00
Richard Davey
7313573161 The ParticleEmitterManager now has the Transform component. This means you can now set the position, rotation or scale of the Emitter Manager, and it will influence every Emitter it is rendering. The Managers transform is mixed with that of the Camera. This works in both Canvas and WebGL. 2018-07-31 23:21:07 +01:00
Richard Davey
c3cc4317dd Particle.color has been removed as it's now calculated during rendering to allow for Camera alpha support. 2018-07-31 23:18:49 +01:00
Polar stoat
beaedc12e8 Fix documentation formatting
Add fullstops to end of each line
Fix JSDoc formatting for properties that take multiple types
2018-07-31 20:36:54 +01:00
Richard Davey
9d7ec132a4 Refactoring RenderTexture to remove the matrix stack and add in support for drawing Game Objects and arrays of them 2018-07-31 17:10:26 +01:00
Richard Davey
be379fd3a1 Added batchTextureFrame method 2018-07-31 17:10:02 +01:00
Richard Davey
a3fc263360 Binding a framebuffer sets the viewport size 2018-07-31 17:09:47 +01:00
Richard Davey
8cb812bbec Merged jsdocs (re: #3823) 2018-07-31 15:13:21 +01:00
Richard Davey
84ae027665 lint fix 2018-07-31 12:59:11 +01:00
Richard Davey
718d72b4c8 Container child willRender check. Fix #3881 2018-07-31 12:57:31 +01:00
Richard Davey
a29aba0a11
Merge pull request #3859 from samme/feature/plugin-data
Pass `data` value to global plugins
2018-07-31 11:39:36 +01:00
Richard Davey
eb30a2118b
Merge pull request #3872 from ampled/master
add typedef for SpriteConfig and allowed GameObject#update signature override
2018-07-31 11:38:06 +01:00
Richard Davey
fa2b78192c The CameraManager was accidentally adding extra destroy event calls when a Scene was restarted, causing an Uncaught TypeError: Cannot read property 'events' of null when trying to destroy a game instance having swapped from a Scene to another, and back again. Fix #3878 2018-07-31 11:34:59 +01:00
Richard Davey
d0f3d85cbd Iterate from front to back for destroy 2018-07-31 11:33:38 +01:00
Richard Davey
5aafad5f88 Don't process events if the manager has been removed 2018-07-31 11:33:18 +01:00
Richard Davey
7e73024d83 Added new noReturn destroy boolean for when you absolutely want to nuke the site from orbit. 2018-07-31 10:29:11 +01:00
Richard Davey
063a432ec9 Destroy will now clear out all custom plugins. Fix #3856 2018-07-31 10:28:36 +01:00
Richard Davey
75db482ec6 Added destroyCustomPlugin and destroyCorePlugin 2018-07-31 10:28:09 +01:00
Richard Davey
3d23013b86 Body setSize changes to fix #3863 PR 2018-07-31 09:39:22 +01:00
Richard Davey
16234491f2
Merge pull request #3863 from tarsupin/patch-2
Empty params reset to current texture size
2018-07-31 09:31:05 +01:00
Chris Andrew
1ceec99306 Added missing property documentation to FixedKeyControlConfig (#3874, thanks @guzmonne). 2018-07-31 00:36:04 +01:00
Chris Andrew
634edcf538 Fixed Graphics.generateTexture() causing a runtime error (#3879).
The Graphics object had new dependencies (1a62a356) that were not provided when the static Graphics.TargetCamera object was used by the Graphics.generateTexture() method. Providing a Graphics instances scene object to the TargetCamera at texture rendering time resolved the issue.
2018-07-30 23:02:40 +01:00
Chris Andrew
157dc59999 Fixed invalid syntax in the HTMLFile's loader file type documentation example (#3873). 2018-07-30 19:01:53 +01:00
Chris Andrew
3141510fdf Fixed invalid syntax in some loader file type documentation examples (#3873). 2018-07-30 18:52:53 +01:00
Richard Davey
a8b605f42d Zone now calls updateDisplayOrigin in its constructor, causing the displayOriginX and displayOriginY values to now be correct if you create a Zone and then don't resize it. Fix #3865 2018-07-29 12:34:21 +01:00
Richard Davey
189c2c7e0f Merge branch 'master' of https://github.com/photonstorm/phaser 2018-07-29 12:24:17 +01:00
Richard Davey
7fe9167657 The alpha value is now always set for Render Textures in canvas mode, regardless of the previous alpha value in the renderer 2018-07-29 12:23:52 +01:00
Richard Davey
a1ae1744ac RenderTexture.preDestroy will now release the canvas back to the CanvasPool if running in canvas mode
Also removed un-used `drawFrame` references.
2018-07-29 12:20:09 +01:00
Richard Davey
34b27fd57a ParticleEmitter would fail to draw a textured particle in Canvas mode 2018-07-29 12:16:42 +01:00
Richard Davey
56e1e04da3 RenderTexture.draw would fail to draw the frame in Canvas mode 2018-07-29 12:10:28 +01:00
Richard Davey
7e55d5adac BlitterCanvasRenderer would fail to render a Bob in Canvas mode if it was flipped 2018-07-29 12:09:03 +01:00
Eirik Slinning Korsnes
09113cb7a3
wrap ({number|string)} 2018-07-29 12:47:33 +02:00
Richard Davey
27d0bd8a9b
Merge pull request #3844 from samme/fix/closest-furthest
Fix ArcadePhysics#closest, furthest
2018-07-29 11:45:22 +01:00
ampled
50c787a9c8 - add typedef for SpriteConfig extends GameObjectConfig
- allow update-function signature to be overriden by GameObject subclasses
2018-07-29 12:19:04 +02:00
Richard Davey
72dbfcd9f4 jsdoc path fix 2018-07-28 21:37:51 +01:00
Richard Davey
162e910d18 Added intent methods and leaderboard score class 2018-07-27 11:19:41 +01:00
Richard Davey
6749417ef3 lint fix 2018-07-27 11:19:19 +01:00
Richard Davey
08b7d00ce9 Fixed base64 method 2018-07-27 11:19:12 +01:00
Richard Davey
939fc24088 Added lots of new API calls 2018-07-27 09:43:21 +01:00
Richard Davey
c1111753f0 Added getBase64 method 2018-07-27 09:43:12 +01:00
Richard Davey
c65e3c7428 Added FB Instant Games Plugin to core (will prepare for moving to unique build once feature complete) 2018-07-27 08:33:51 +01:00
Richard Davey
1abe90433f Updated log and docs 2018-07-27 02:49:05 +01:00
Richard Davey
a63acd0427 Updated docs. 2018-07-27 02:40:56 +01:00
Richard Davey
9331c15c48 Updated to use tint object. 2018-07-27 02:14:08 +01:00
Richard Davey
6027b65500 Added fill gradient and line gradient methods 2018-07-27 02:13:58 +01:00
Richard Davey
0c50b0eba8 Typo 2018-07-27 02:13:41 +01:00
Richard Davey
4481795d32 Swapped to using getX / getY 2018-07-27 00:53:00 +01:00
Richard Davey
8873bdcbf6 Fixed pipeline method call 2018-07-26 23:50:54 +01:00
Richard Davey
6877582531 Removed un-used pipeline and shaders 2018-07-26 23:43:49 +01:00
Richard Davey
4bdecf488b jsdocs tweaks 2018-07-26 23:41:52 +01:00
Richard Davey
a09c2a4958 Now uses customViewports counter to avoid scissor setting and skips box check 2018-07-26 23:05:25 +01:00
Richard Davey
f2290abf9b Added new customViewports counter 2018-07-26 23:05:08 +01:00
Richard Davey
1a62a3563e Added refs to config and Scene Manager and new customViewport bool 2018-07-26 23:04:53 +01:00
Richard Davey
1777e16227 Sorting out the scissor stack 2018-07-26 17:50:07 +01:00
Richard Davey
d093f35e5c Merged all of the required FTP methods into TTP. 2018-07-26 16:34:04 +01:00
Richard Davey
cc3ed1659e Lint fix. 2018-07-26 16:33:51 +01:00
Richard Davey
e0c0db5f8e Final bit of tidying up before merging this with the TTP. 2018-07-26 16:33:43 +01:00
Richard Davey
90219d46b3 Removed all references to the FlatTintPipeline. 2018-07-26 16:33:29 +01:00
Richard Davey
5dbd7591cd Graphics now using the TextureTintPipe. Farewell draw calls! 2018-07-26 16:33:02 +01:00
Richard Davey
e851209b41 Camera effects using the new drawFillRect method. 2018-07-26 16:32:31 +01:00
Richard Davey
947d301f42 Removed the unit batch from TTP and put it into FDLP 2018-07-26 15:31:44 +01:00
Richard Davey
bda9159cb0 Textures now use the frame UV values. 2018-07-26 15:05:10 +01:00
Richard Davey
d3e07b519a Added setBlankTexture method 2018-07-26 15:04:46 +01:00
Richard Davey
1cc0e7d5e5 Moved the rendering code from the pipeline to the Graphics object 2018-07-26 15:04:35 +01:00
Richard Davey
620c5a3360 Added Graphics.setTexture and a clear texture command 2018-07-26 15:04:19 +01:00
Richard Davey
7acbbcf58a Fixed linejoin, added arc and triangle, tidying up code 2018-07-26 13:49:05 +01:00
Richard Davey
39a6622623 Working on joints 2018-07-26 09:58:33 +01:00
Thomas Felix
43f6b1d231 fix: Corrects the wrong JSdoc comments
Wrong comments lead to a faulty Typescript Definition file missing
the depth attribute.
2018-07-25 22:13:38 +02:00
Richard Davey
3a2fcd0951 Updated path drawing, sorting out line-cap differences with Canvas 2018-07-25 17:04:44 +01:00
Richard Davey
9d11b93b05 Updated shader 2018-07-25 13:06:22 +01:00
tarsupin
79d64abaa3
Add spaces after ifs 2018-07-24 20:06:18 -05:00
tarsupin
2e72c9966b
Reset body to match current frame
When using setSize, empty height and width will automatically assign to match the current frame of the game object.
2018-07-24 20:05:51 -05:00
tarsupin
7af6e5477f
Empty params reset to current texture size
If the width and height aren't provided, it resets the body's size to match the current frame of the game object's texture.
2018-07-24 19:53:41 -05:00
Richard Davey
4c25d12b44 Recoding the FTP. Rects and Tris working again. 2018-07-25 01:27:03 +01:00
Richard Davey
9e40b16e4f Added getX and getY to cut down on code in pipelines. 2018-07-25 01:26:41 +01:00
Richard Davey
7ccd469048 Updated the jsdocs. 2018-07-25 00:18:45 +01:00
Richard Davey
05a6275d9a Added copyToArray method. 2018-07-25 00:18:33 +01:00
Richard Davey
0516fd47f7 The Flat Tint Pipeline is now using the same shader as the Texture Tint
Time to make sure no texture swaps happen and we can finally have Graphics mixed with Sprites in the display list with no swapping cost (and soon, no flush cost either when we unify the pipelines)
2018-07-24 17:07:26 +01:00
Richard Davey
8c19c2bef9 Merge branch 'master' of https://github.com/photonstorm/phaser 2018-07-24 16:40:39 +01:00
Richard Davey
ac108db9cc Moving towards tidying up the FTP 2018-07-24 16:40:29 +01:00
Richard Davey
50de14b132
Merge pull request #3857 from khaleb85/master
Added reverse animation feature (issue: #3837)
2018-07-24 13:41:10 +01:00
khaleb
2f6f8b2190 fix keyword-spacing 2018-07-24 09:36:15 -03:00
khaleb
6b81bc78a3 added since 3.12.0 in new methods, fixed keywords-spacing issue, renamed 'revert' method to 'reverse' 2018-07-24 09:28:56 -03:00
samme
4c23359fd8 Pass data value to global plugins 2018-07-23 10:51:00 -07:00
Richard Davey
f2c5f9f4d3
Merge pull request #3853 from Edwin222/master
Add ability to play animation reverse(#3837) and some comment to TextureManager.js
2018-07-23 14:00:27 +01:00
Richard Davey
9df7fbaa68 Adding an array of children to a Group would cause it to mistakenly think you were passing a config object. Fix #3854 2018-07-23 13:29:39 +01:00
Kwondo Park
a0cc602569
cancel reverse animation 2018-07-23 14:21:31 +09:00
Richard Davey
521138e9d8 setBlendMode now returns a boolean 2018-07-23 01:39:32 +01:00
Richard Davey
fc5eb2511c Particles using a blend mode wouldn't render correctly after the updates in 3.11. If the blend mode changes during the processing of an emitter manager it'll now correctly rebind the texture, stopping the particles from vanishing. Fix #3851 2018-07-23 01:39:21 +01:00