312 Commits

Author SHA1 Message Date
Nathan Sweet
4062ccb1a9 [ts] TextureAtlas and AssetManager updates.
* AssetManager's textureLoader returns Texture.
* AssetManager#loadTexture success gives a Texture.
* TextureAtlas no longer has a textureLoader, it creates all the pages without a texture set.
* TextureAtlasRegion no longer has a texture, use region.page.texture instead.
* AssetManager#loadTextureAtlas no longer parses the atlas text twice. It creates the atlas, then loads and sets all the textures.
2021-06-22 15:33:01 -04:00
Nathan Sweet
b044bdbf47 [ts] Player updates.
* If no config animation, start paused and set one when first clicked (showControls only).
* Updated player editor to 4.0.
* Don't name example index.html to make it easier to reach other files in same dir.
* Adjust CSS.
2021-06-20 14:46:48 -04:00
Nathan Sweet
4742c0d987 [ts] Fixed compilation error. 2021-06-20 13:52:30 -04:00
Nathan Sweet
99f8cba35f [ts] Player updates.
* Updated config doc comments.
* Check undefined without typeof. Discussion: https://stackoverflow.com/a/22053469/187883
* Use transparent bg color by default if alpha is true.
* Set bg color on parent to avoid flash.
* render->create (so it doesn't seem like it's about drawing).
* Sorted members.
* Use addEventListener, else only the last player event handler is used.
* Set the initial animation when loaded, not whenever track 0 is empty.
* If an animation is not specified, play an empty animation.
* If an animation is set in success(), don't set any animation.
* Don't clearTracks in setAnimation, don't use AnimationState in calculateAnimationViewport -- those prevent mixing.
* setAnimation returns the TrackEntry.
* Added addAnimation and setViewport.
* Expose play() and pause().
* Keep control bones inside the canvas.
* LoadingScreen scales down.
* Set minimal CSS so no external CSS is needed when !showControls.
* Use screen instead of world coordinates for control bone hit detection, so it works at any size.
* Choose closest control bone instead of last.
2021-06-20 13:24:53 -04:00
Nathan Sweet
7800918ea4 [ts] Fixed player "null" text appearing in DOM. 2021-06-20 01:23:22 -04:00
Nathan Sweet
78a730a6d7 [ts] Improvements for player, webgl.
* Rendering, added support for separate color/alpha src blend funcs.
* LoadingScreen, set camera zoom to fade out and black flash, use PMA to fix ringing artifacts when scaled, fade in to help hide dropped frames as page loads, use separate color/alpha src blend funcs to properly blend quad when loading screen fades out, oxipng PNGs.
* Moved some private constants out of their class to avoid class name prefix.
* Player, clean up full pass OCD town, showError throws when possible so stacktrace isn't lost, added showLoading to config, don't create UI when !showControls, removed findWithId (id is unique for entire document), use built-in for findWithClass/contains, var->let, don't clear screen twice during loading, other minor stuff.
2021-06-20 01:20:31 -04:00
Nathan Sweet
173a61be7f [ts] Removed SharedAssetManager. Added webworker support to AssetManager. AssetManager clean up.
Related: #1762
2021-06-18 19:36:05 -04:00
badlogic
731a5ac5af [ts] Reset mixBlend in track entry, see #1903 2021-06-15 13:35:30 +02:00
Mario Zechner
8bb38a7fb0 [ts] Ensure clipper.clipEnd() is called appropriately. See #1694 2021-06-14 15:20:08 +02:00
badlogic
cf24f5d678 Merge branch '3.8' into 4.0-beta
# Conflicts:
#	spine-libgdx/spine-libgdx/pom.xml
#	spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java
#	spine-ts/build/spine-all.js.map
#	spine-ts/build/spine-canvas.js.map
#	spine-ts/build/spine-core.js.map
#	spine-ts/build/spine-player.js.map
#	spine-ts/build/spine-threejs.js.map
#	spine-ts/build/spine-webgl.js.map
2021-06-10 15:10:00 +02:00
badlogic
6314eaf908 [webgl] Fix worker mode, closes #1804 2021-06-10 15:05:13 +02:00
badlogic
6ae45f1a5a [ts] Port IK constraint changes
See

33bce01fee
f9862b10b3
2021-06-09 15:07:44 +02:00
Mario Zechner
c76cdccf88 [ts] Undo fixup in TextureAtlas. The change prevented multi-page atlas parsing from working due to !""==null in JS. 2021-06-07 13:27:47 +02:00
Mario Zechner
315ad0e523 [ts] Update build artifacts. 2021-05-31 11:49:37 +02:00
Nathan Sweet
551f33b2d1 [ts] Clean up, build fixes. 2021-05-30 20:17:54 -04:00
badlogic
9bcb5c16c4 Merge branch '3.8' of https://github.com/esotericsoftware/spine-runtimes into 3.8 2021-05-27 17:41:08 +02:00
badlogic
5c1d4c4369 [ts][player] Made Player.setAnimation() public and added a loop parameter. See player example on how to manually trigger animations. 2021-05-27 17:40:13 +02:00
badlogic
34ccbce8fd [ts] Fix build artifacts after merge. 2021-05-18 12:00:10 +02:00
Harald Csaszar
646b2934bc Merge branch '3.8' into 4.0-beta
Note: the following files were resoluved using ours (4.0-beta state):
- spine-ts/build/spine-all.js.map
- spine-ts/build/spine-player.js.map
2021-05-18 11:37:44 +02:00
badlogic
69647313ef [ts][player] Better error message serialization. 2021-05-17 13:33:25 +02:00
badlogic
bef00617d7 [ts] Fix applying attachment timeline in AnimationState
AnimatinState.setAttachment was directly setting the slot.attachment field instead of calling the setter. This caused the deform array from a previous attachment to linger around and be applied to the current attachment incorrectly.
2021-05-06 15:42:58 +02:00
badlogic
dd47866f35 [ts] New articacts including the mesh attachment fix. 2021-04-27 13:34:26 +02:00
badlogic
6d7f29718b [ts] Fix parsing of spacing mode proportional for JSON files. 2021-04-14 17:45:39 +02:00
badlogic
01902e2393 Merge branch '3.8' into 4.0-beta 2021-04-06 19:05:52 +02:00
badlogic
748a03c7d7 [ts] Fix for NaN bounds
This is a temporary fix. Customer send reproduction sample. A slot has a mesh and corresponding deform. The number of vertices in the mesh is != the number of vertices in the deform, resulting in NaNs, which propagate to the bounds calculation of the web player. It is unclear how the mesh and deform can have a different number of vertices.
2021-04-06 14:13:04 +02:00
badlogic
20bca55b93 [ts] Fixed atlas parsing. 2020-12-29 16:37:46 +01:00
badlogic
1ca4f915ee [ts] Fix translation for transform constraint relative world mode 2020-12-03 14:37:35 +01:00
badlogic
55b21db1c3 [ts] Updated artifacts. 2020-11-27 18:48:59 +01:00
badlogic
ae6eda01f7 Merge branch '3.8' into 4.0-beta
# Conflicts:
#	spine-ts/build/spine-all.js.map
#	spine-ts/build/spine-canvas.js.map
#	spine-ts/build/spine-core.js.map
#	spine-ts/build/spine-player.js.map
#	spine-ts/build/spine-threejs.js.map
#	spine-ts/build/spine-webgl.js.map
#	spine-ts/canvas/example/assets/spineboy-ess.json
#	spine-ts/canvas/example/assets/spineboy.png
#	spine-ts/player/example/assets/raptor-pma.png
#	spine-ts/player/example/assets/raptor-pro.json
#	spine-ts/player/example/assets/spineboy-pma.png
#	spine-ts/player/example/assets/spineboy-pro.skel
#	spine-ts/threejs/example/assets/raptor-pro.json
#	spine-ts/threejs/example/assets/raptor.png
#	spine-ts/webgl/example/assets/coin-pro.skel
#	spine-ts/webgl/example/assets/goblins-pro.skel
#	spine-ts/webgl/example/assets/mix-and-match-pma.atlas
#	spine-ts/webgl/example/assets/mix-and-match-pma.png
#	spine-ts/webgl/example/assets/mix-and-match-pro.skel
#	spine-ts/webgl/example/assets/owl-pma.png
#	spine-ts/webgl/example/assets/owl-pro.skel
#	spine-ts/webgl/example/assets/raptor-pma.png
#	spine-ts/webgl/example/assets/raptor-pro.skel
#	spine-ts/webgl/example/assets/spineboy-pma.png
#	spine-ts/webgl/example/assets/spineboy-pro.skel
#	spine-ts/webgl/example/assets/spineboy.png
#	spine-ts/webgl/example/assets/stretchyman-pro.skel
#	spine-ts/webgl/example/assets/tank-pma.atlas
#	spine-ts/webgl/example/assets/tank-pma.png
#	spine-ts/webgl/example/assets/tank-pro.skel
#	spine-ts/webgl/example/assets/vine-pro.skel
2020-11-27 18:47:44 +01:00
badlogic
490d169ea2 [ts] Closes #1804. 2020-11-27 18:45:18 +01:00
badlogic
88f0d98dd2 [ts] Finished 4.0 port. See #1796 2020-11-27 17:53:27 +01:00
badlogic
3863828c3e [ts] Port of 4.0 changes, some kinks to be ironed out yet.
[ts] Add .json exports to WebGL assets dir for tests.

[ts] She loads, but she no play nice.
2020-11-11 13:11:30 +01:00
badlogic
ebaa3a8756 [ts] Fix up #1762 for canvas backend. 2020-10-21 14:29:28 +02:00
MikalDev
93f1e546bb Webworker support for SharedAssetManger 2020-09-15 15:56:23 -07:00
badlogic
c0d8f1cece [ts] Port of commit 8290353. Fix for hold previous on 3+ animations causing dipping. See #1738. 2020-08-13 14:34:59 +02:00
badlogic
c64e6adbde [ts] Fix 1-bone IK, see #1692. 2020-06-03 17:27:30 +02:00
badlogic
ba1cb75b07 [ts] RegionAttachment.copy() refered to window.name instead of this.name. Closes #1672. 2020-06-03 13:24:22 +02:00
badlogic
bb60264572 [ts] Fix Pool.freeAll item insertion. Closes 1680. 2020-06-03 13:22:42 +02:00
badlogic
4c2788a558 [ts] Port of additional fix for #1668. 2020-05-20 16:13:43 +02:00
badlogic
6a317a1e3f [runtimes] Port of fix for TransformMode.noRotationOrReflection applying skeleton scale twice. See #1668. 2020-05-06 19:47:08 +02:00
badlogic
ccbcf77cdc [ts] Remove LAST calculation. Additional fix for #1653. 2020-04-15 14:49:52 +02:00
badlogic
673b6754aa [ts] Port AnimationState deform mixing while attachment timelines mix out. See #1653. 2020-04-14 16:57:18 +02:00
badlogic
1855870d37 [ts] Forcing text/html mimetype on text assets downloaded by AssetManager and SharedAssetManager. Closes #1583. 2020-01-11 15:03:13 +01:00
badlogic
e60a60ccd5 [ts][threejs] SkeletonMesh now takes an option SkeletonMeshMaterialParametersCustomizer function that allows you to modify the ShaderMaterialParameters before the material is finalized. Use it to modify things like THREEJS' Material.depthTest etc. See #1590. 2020-01-11 14:08:58 +01:00
badlogic
b67bf992a0 Single bone IK fix and license header update. Closes #1580, closes #1581. 2019-12-20 12:20:46 +01:00
badlogic
121467572c [player] Added Player.stopRendering() to interrupt the requestAnimationFrame loop. 2019-12-14 02:19:22 +01:00
badlogic
154849484c [ts] Updated threejs backend to version r111. Closes #1560. 2019-12-05 14:07:58 +01:00
badlogic
c37916a731 [ts][player] Only accept background image bounds if fully specified. 2019-11-27 15:15:56 +01:00
badlogic
5eb76df99f [ts] Fixed curve parsing in SkeletonJson. Closes #1537. 2019-11-15 12:57:36 +01:00
badlogic
8e0a2e0c75 [ts][player] Added AssetManager.setRawDataURI(path, name). Allows to set a path and corresponding raw data URI which enables embedding of resources like skeletons, atlases, and so on directly in HTML/JS. Added SpinePlayerConfig.rawDataURIs, see the player example for a demonstration. Also closes #1541, closes #1539. 2019-11-05 15:20:50 +01:00