56 Commits

Author SHA1 Message Date
Nathan Sweet
1bde7527c9 [ts] Better error when parent element is not found. 2021-07-19 16:58:17 -04:00
Nathan Sweet
7dcf77a805 [ts] Fixed omitting player config.showControls. 2021-07-18 17:40:27 -04:00
Ivan Popelyshev
9541688926
NBSP -> space (#1923) 2021-07-15 06:50:04 +02:00
badlogic
80e2b78dd1 [player] Don't force mipmaps if atlas page is non-POT in WebGL1 2021-07-09 18:32:04 +02:00
badlogic
7521838264 [webgl] Disable forced mipmaps in Safari. 2021-07-09 18:15:01 +02:00
Nathan Sweet
97bc10ba28 [ts] Fixed popup not being hidden, clean up. 2021-06-30 20:18:25 -04:00
Nathan Sweet
b8bf2a9bbb [ts] Added AssetManager#require which throws an error for an asset that isn't loaded. 2021-06-28 01:53:26 -04:00
Nathan Sweet
0b18b58ba1 [ts] Player updates: pass delta to callbacks, adding config.loading, exposed more fields, use void 0 (shorter), remember touchdown offset for control bones, avoid new object each frame, clean up. 2021-06-23 11:43:29 -04:00
Nathan Sweet
7708e9a5a3 [ts] Player, create DOM first so any errors can be shown. 2021-06-23 00:45:15 -04:00
Nathan Sweet
f77a51d33a [ts] Fixed input handling for player control bones and demos. 2021-06-22 22:52:00 -04:00
Nathan Sweet
286552b8fa [ts] Player, simplified config.mipmaps. 2021-06-22 21:38:57 -04:00
Nathan Sweet
66951cb1d8 [ts] Player, mipmaps and anisotropic if available, otherwise use linear. 2021-06-22 18:09:37 -04:00
Nathan Sweet
3b7d419452 [ts] Player, added config.frame. 2021-06-20 18:53:56 -04:00
Nathan Sweet
4e1fe97fb3 [ts] Player, added config.update and config.draw. 2021-06-20 18:51:22 -04:00
Nathan Sweet
5ac9ed372e [ts] Player, expose some fields. 2021-06-20 15:52:43 -04:00
Nathan Sweet
3d2891a224 [ts] Player, set bg color on player div, not parent. 2021-06-20 15:13:41 -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
cae8b6036e [ts] Player, if config.success set an animation but not a viewport, set a viewport. 2021-06-20 13:44:04 -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
1818446ead [ts] Player, sorted exported classes near the top of the file. 2021-06-20 00:11:30 -04:00
Nathan Sweet
43cb6dfe22 [ts] AssetManager and Player updates to support sharing assets.
* Removed # parsing from SpinePlayer, replaced with config.jsonField.
* Refactored AssetMananger to split downloading from asset creation.
* Allow Downloader to be specified in SpinePlayer config so multiple players don't download the same assets.
* Added AssetManager#loadJson so the text is only parsed once.
* TextureAtlas is still parsed multiple times. :(
* AssetMananger clean up, catch more errors, log error, don't keep rendering after an error.
2021-06-18 02:31:10 -04:00
Nathan Sweet
cf35d1e982 [ts] Don't use the anchor part of a spine-player jsonUrl in the asset name. 2021-06-17 01:29:42 -04:00
Nathan Sweet
6d7f773bf1 [ts] Improved player error messages. 2021-06-17 01:11:32 -04:00
Nathan Sweet
87886adcfe [ts] If the spine-player jsonUrl has an anchor, use it to find the skeleton in the JSON.
This enables multiple skeletons in the same JSON file.
2021-06-17 01:07:42 -04: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
Nathan Sweet
7df74c2fa4 Various fixes, clean up.
* Added missing CurveTimeline#shrink calls. c and cpp got BOZO comments until the method is added.
* SkeletonJson#readCurve clean up.
* ts, use shorthand for null checks.
* csharp, don't use unnecessary hasNext local.
2021-06-03 21:42:35 -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
69647313ef [ts][player] Better error message serialization. 2021-05-17 13:33:25 +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
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
c37916a731 [ts][player] Only accept background image bounds if fully specified. 2019-11-27 15:15:56 +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
NathanSweet
842dffbd83 [all] Source clean up, formatting, and tabs for indentation. 2019-08-27 15:57:14 +02:00
badlogic
ae6892cdfd [ts][player] Improved check if only one skin/animation should be allowed and display buttons accordingly. 2019-07-09 16:58:24 +02:00
badlogic
ca3916dad8 [ts] Added support for loading binaries via SkeletonBinary. Player configuration object now lets you specify skelUrl instead of jsonUrl to load from a binary file. Updated demos to use .skel files instead of .json. 2019-06-07 17:21:53 +02:00
badlogic
7f7e5f0fec Updated license headers and LICENSE files. 2019-05-02 11:38:19 +02:00
badlogic
c9e760a025 [ts][player] Closes #1279, expose setAnimation(). 2019-02-14 11:43:17 +01:00
badlogic
1cf8a72e30 [ts][player] Closes #1238, disable pause/play when controls are hidden via options. 2019-01-03 13:43:23 +01:00
badlogic
52f9ab8984 [ts] Port of mesh whitespaces stripping. See #1232. 2018-12-22 13:07:10 +01:00
badlogic
96a2386609 [ts][player] PMA by default. 2018-12-20 18:33:16 +01:00
badlogic
61f4165dae [ts][player] iframe content is base64 encoded now. 2018-12-20 17:19:13 +01:00
badlogic
9409a772c6 [ts][player] Fixes for default post/prefix. 2018-12-20 15:27:32 +01:00
badlogic
0d6deee210 [ts][player] Added embedable player code editor. 2018-12-20 15:22:23 +01:00
badlogic
ac45cc9154 [ts][player] Closes #1231. 2018-12-17 18:53:48 +01:00
badlogic
ba33942a45 [ts][player] Fixed constructor. 2018-12-17 18:43:42 +01:00