Commit graph

172 commits

Author SHA1 Message Date
Richard Davey
a6e325807c The SpineFile.onFileComplete handler was running a regular expression against file.src instead of file.url, sometimes leading to double paths in the atlas paths on loading. Fix #6642 2024-02-01 14:02:21 +00:00
Richard Davey
2d6594cb18 Added setSlotAlpha to Spine 3 plugin 2024-02-01 14:02:10 +00:00
Richard Davey
364dad966c SpineGameObject.setSkeletonFromJSON has been fixed so it now passes the parameters in the correct order to the setSkeleton method. Fix #6585 2023-11-10 14:45:11 +00:00
Julius Diaz Panoriñgan
a902fe05da fix JSDoc fired event: Phaser.Loader.LoaderPlugin#ADD -> Phaser.Loader.Events#ADD 2023-07-26 09:51:49 -07:00
Richard Davey
197d2215a7 If a SpineContainer had a mask applied to it and the next immediate item on the display list was another Spine object (outside of the Container) then it would fail to rebind the WebGL pipeline, causing the mask to break. It will now rebind the renderer at the end of the SpineContainer batch, no matter what, if it has a mask. Fix #5627 2023-02-06 17:44:22 +00:00
Richard Davey
083a465f8d Previously, it wasn't possible for multiple Spine Atlases to use PNGs with the exact same filename, even if they were in different folders. The SpineFile loader has now been updated so that the always-unique Spine key is pre-pended to the filename, for example if the key was bonus and the PNG in the atlas was coin.png then the final key (as stored in the Texture Manager) is now bonus:coin.png. The SpinePlugin.getAtlasCanvas and getAtlasWebGL methods have been updated to reflect this change. Fix #6022 2023-02-06 17:35:50 +00:00
Richard Davey
1fa400b431 The Spine Plugin add and make functions didn't clear and rebind the WebGL pipeline. This could cause two different visual issues: The first is that a Phaser Game Object (such as a Sprite) could be seen to change its texture to display the Spine atlas texture instead for a single frame, and then on the next pass revert back to normal again. The second issue is that if the Spine skeleton wasn't added to the display list, but just created (via addToScene: false) then the Sprite would take on the texture frame entirely from that point on. Fix #6362 2023-02-06 16:44:32 +00:00
Richard Davey
54e7754863 Using drawDebug on a Spine Game Object to view its skeleton would cause the next object in the display list to be skipped for rendering, if it wasn't a Spine Game Object too. This is because the Spine 3 skeleton debug draw ends the spine batch but the Scene Renderer wasn't rebound. Fix #6380 2023-02-06 16:14:17 +00:00
JustinTien
9fa74e7dc4 spine4.1 plugin about createSkeleton perf issue (also optimize spine plugin spineFileCallback func) 2023-01-14 04:52:24 +08:00
Richard Davey
c3a7727852 Update SpineGameObject.js 2022-11-22 21:55:33 +00:00
Richard Davey
8c154e0928 Update SpineGameObject.js 2022-08-19 16:44:46 +01:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
1abf11e4f9 Update SpineGameObject.js 2022-02-08 22:20:52 +00:00
Richard Davey
f733f8429b New Spine runtimes 2022-02-04 16:05:09 +00:00
Richard Davey
e68f09cefb Updated jsdocs. Fix #5857 2022-02-04 16:05:02 +00:00
Richard Davey
c7f95ba407 New Spine runtime update 2022-01-21 17:20:15 +00:00
Richard Davey
496b928c61 Fixed eslint issues 2021-09-21 11:38:33 +01:00
xiamidaxia
4ada682501 Fix all scene share the same spine renderer. 2021-07-01 14:06:27 +08:00
xiamidaxia
eb6ef7debd Fix SpinePlugin destroy 2021-06-30 20:41:25 +08:00
xiamidaxia
f93388851a Fix spine plugin multiple game instances support #5765 2021-06-30 19:42:18 +08:00
Richard Davey
825c2821bb The Spine Plugin factory functions now use the local Scene Spine Plugin reference in order to create the objects, rather than the Scene belonging to the first instance of the plugin. This prevents errors when you have globally installed the Spine plugin, but then remove or destroy the first Scene using it 2021-03-26 11:14:07 +00:00
Richard Davey
17ceb810e8 Spine Game Objects and Containers will now add themselves to the Camera render list, fixing issues where input didn't work if depth was used or they were overlapped with another interactive Game Object. 2021-03-02 14:59:12 +00:00
Richard Davey
13fde9ce7a Update SpinePlugin.js 2021-03-02 14:59:00 +00:00
Pong
9ff874edf1 fix(spine-plugin): errors throw while game destroy 2021-02-22 20:50:03 +08:00
Richard Davey
c5afbb41ef Fixed docs 2021-01-10 11:35:45 +00:00
jdcook
80df367113 fixed spine texture bug when using prefixes 2021-01-04 13:02:51 -06:00
Richard Davey
1a65f50a25 Added new renderDirect hook which RenderTexture can use. Fix #5431 2020-12-11 13:40:53 +00:00
Richard Davey
297c44595a Enforce this on Container children only 2020-12-11 13:19:26 +00:00
Richard Davey
1d56c360af Fixed docs and ended batch if rendering. 2020-12-11 13:13:28 +00:00
Richard Davey
cdad93e0ca Pass the container to willRender 2020-12-11 13:13:08 +00:00
Richard Davey
06155cb06a Updated docs 2020-12-11 13:12:57 +00:00
Richard Davey
69a7d5f756 No need to vertically flip any longer. Fix #5428 2020-12-11 12:42:26 +00:00
Richard Davey
2ffe15109b Rebuilt for latest Spine Runtimes 2020-12-05 11:18:05 +00:00
Richard Davey
ce3645cbb2 Don't check skeleton alpha, use flags instead. 2020-10-20 17:57:59 +01:00
Richard Davey
7d8302e09c Added mention about masks to docs 2020-10-16 15:13:10 +01:00
Richard Davey
b96e15f2ec Handle child masking. Fix #5354 2020-10-16 15:07:47 +01:00
Richard Davey
d4f75a5b7e Container specific changes 2020-10-16 14:12:09 +01:00
Richard Davey
dc7bdf1e99 We can just pass off to the existing render function. Yay! 2020-10-16 14:11:56 +01:00
Richard Davey
7add222a87 Update SpineGameObjectCanvasRenderer.js 2020-10-16 14:11:40 +01:00
Richard Davey
9a2c7ab154 Removed interpolationPercentage parameter 2020-10-16 14:11:34 +01:00
Richard Davey
03bcacba2a Update SpineGameObjectWebGLRenderer.js 2020-10-16 13:51:52 +01:00
Richard Davey
923b1351fa The Spine Plugin now uses a single instance of the Scene Renderer when running under WebGL. All instances of the plugin (installed per Scene) share the same base Scene Renderer, avoiding duplicate allocations and resizing events under multi-Scene games. Fix #5286 2020-10-16 13:51:40 +01:00
Richard Davey
71226a1548 Testing if we can just pass off rendering directly. 2020-10-16 11:38:16 +01:00
Richard Davey
3fa295f541 Vastly reduced the complexity of the rendering. Now only gets called if it will actually render. 2020-10-16 11:38:04 +01:00
Richard Davey
67f24ea363 SpineGameObject.willRender is no longer hard-coded to return true. It instead now takes a Camera parameter and performs all of the checks needed before returning. Previously, this happened during the render functions. 2020-10-16 11:37:23 +01:00
Richard Davey
271c88fab3 Handle negative scales 2020-10-14 15:16:07 +01:00
Richard Davey
725e8bcbd6 SpineFile now uses a ! character to split the keys, instead of an underscore, preventing the plugin from incorrectly working out the keys for filenames with underscores in them. Fix #5336 2020-10-05 14:15:15 +01:00
Richard Davey
3f2ad4dd79 SpineFile will now check to see if another identical atlas in the load queue is already loading the texture it needs and will no longer get locked waiting for a file that will never complete. This allows multiple skeleton JSONs to use the same atlas data. Fix #5331 2020-09-29 12:13:25 +01:00
Richard Davey
1665c1267d Removed interpolationPercentage and used new matrix function 2020-09-29 10:56:45 +01:00
Richard Davey
8af35be8f1 Make defaults match JSDocs 2020-09-17 18:06:59 +01:00