Commit Graph

110 Commits

Author SHA1 Message Date
David Wendt f4e4171ebe Make spawned futures falliable, and report those errors. 2020-02-21 23:57:56 -05:00
David Wendt 55149b7b7e Reference count the Player and provide a weak reference in UpdateContext.
This allows the formation of `'static` futures that can still interact with a player. Async code will need to upgrade the weak reference in order to be able to interact with the player.
2020-02-21 23:44:06 -05:00
David Wendt 491d94c947 Pinbox all Futures.
Due to some strangeness with the way Rust implemented unsafe-to-move behavior, boxed futures are implicitly `Unpin`. Which is useless to us.

The reason for this is a little counter-intuitive. Actually, the fact that Rust supports memory pinning at all is a little odd, because the core language explicitly requires all types be movable. To get around this, Pin requires that all !Unpin types be *born pinned*. This is because you can't re-pin an already unpinned value in memory.

Anyway, this necessitates this silly API change.
2020-02-21 23:44:05 -05:00
David Wendt 00d25a768c Extremely basic impl of fetch/spawn methods for getting data off the web 2020-02-21 23:44:05 -05:00
Mike Welsh 432c605987 chore: Bump glutin/glium/winit to latest versions
Closes #371, #376.
2020-02-14 13:23:27 -08:00
dependabot-preview[bot] c7405d6bc0 build(deps): bump image from 0.22.4 to 0.23.0
Bumps [image](https://github.com/image-rs/image) from 0.22.4 to 0.23.0.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.22.4...v0.23.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 01:33:11 +00:00
dependabot-preview[bot] 580144d57b build(deps): bump structopt from 0.3.8 to 0.3.9
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.8 to 0.3.9.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.8...v0.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-01 11:05:33 +00:00
dependabot-preview[bot] fdc37ec44f build(deps): bump structopt from 0.3.7 to 0.3.8
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:24:58 +00:00
Nathan Adams 4ad6ef8b83 core: Implemented Key.getCode() 2020-01-17 15:11:38 -08:00
Nathan Adams f747caf30c desktop: Add swf filename to window title (closes #318) 2020-01-17 13:54:25 -08:00
dependabot-preview[bot] 89a0b82e6e build(deps): bump image from 0.22.3 to 0.22.4
Bumps [image](https://github.com/image-rs/image) from 0.22.3 to 0.22.4.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-14 19:16:45 +00:00
dependabot-preview[bot] 52607d4706 build(deps): bump url from 2.1.0 to 2.1.1
Bumps [url](https://github.com/servo/rust-url) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/servo/rust-url/releases)
- [Commits](https://github.com/servo/rust-url/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 10:41:41 -08:00
dependabot-preview[bot] 6ff9fd21e3 build(deps): bump lyon from 0.15.3 to 0.15.5
Bumps [lyon](https://github.com/nical/lyon) from 0.15.3 to 0.15.5.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 18:37:17 +00:00
Mike Welsh 4bf29f677f avm1: Implement Sound.duration
Add AudioBackend::get_sound_duration.
2020-01-03 17:11:00 -08:00
Mike Welsh d0142f1d67 audio: Add AudioBackend::stop_sound 2020-01-03 17:11:00 -08:00
dependabot-preview[bot] c966f9bf59 build(deps): bump winit from 0.20.0-alpha5 to 0.20.0-alpha6
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha5 to 0.20.0-alpha6.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-04 00:02:22 +00:00
dependabot-preview[bot] b4a47e17da build(deps): bump generational-arena from 0.2.6 to 0.2.7
Bumps [generational-arena](https://github.com/fitzgen/generational-arena) from 0.2.6 to 0.2.7.
- [Release notes](https://github.com/fitzgen/generational-arena/releases)
- [Changelog](https://github.com/fitzgen/generational-arena/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fitzgen/generational-arena/compare/0.2.6...0.2.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-03 19:14:43 +00:00
dependabot-preview[bot] 861a4484a5 build(deps): bump structopt from 0.3.6 to 0.3.7
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.6...v0.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 23:10:17 +00:00
dependabot-preview[bot] 71ba4cb86e build(deps): bump lyon from 0.15.1 to 0.15.3
Bumps [lyon](https://github.com/nical/lyon) from 0.15.1 to 0.15.3.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-29 22:56:08 +00:00
Mike Welsh 7feddfcb03 desktop: Bump to lyon 0.15.2 (fix #196)
The new tessellator in lyon seems to fix many of the cases where
art would not tessellate correctly.
2019-12-27 17:21:48 -08:00
Mike Welsh 87158647d1 core: Implement keyPress button events 2019-12-24 03:06:03 -08:00
dependabot-preview[bot] 9211c7ac05 build(deps): bump structopt from 0.3.5 to 0.3.6
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.5...v0.3.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-22 22:54:14 +00:00
Nathan Adams 9000451d58 core: Implemented Mouse.show() & Mouse.hide() 2019-12-22 14:33:46 -08:00
Nathan Adams 3fd79a6982 chore: Rename GliumInputBackend -> WinitInputBackend 2019-12-21 19:08:06 -08:00
Nathan Adams 856a2f2910 desktop: Implemented glium based input handler for Key.isDown 2019-12-21 19:08:06 -08:00
Nathan Adams eedc4bbe24 core: Added Input backend, currently unimplemented, for polling user input 2019-12-21 19:08:06 -08:00
dependabot-preview[bot] f58827f3de build(deps): bump cpal from 0.10.0 to 0.11.0
Bumps [cpal](https://github.com/rustaudio/cpal) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/rustaudio/cpal/releases)
- [Changelog](https://github.com/RustAudio/cpal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustaudio/cpal/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:31:40 +00:00
dependabot-preview[bot] 251fb01572 build(deps): bump jpeg-decoder from 0.1.17 to 0.1.18
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.17 to 0.1.18.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-11 18:21:42 +00:00
dependabot-preview[bot] 7fce29e006 build(deps): bump winit from 0.20.0-alpha4 to 0.20.0-alpha5
Bumps [winit](https://github.com/rust-windowing/winit) from 0.20.0-alpha4 to 0.20.0-alpha5.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 07:25:47 +00:00
dependabot-preview[bot] 86c0fa327b build(deps): bump jpeg-decoder from 0.1.16 to 0.1.17
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.16 to 0.1.17.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 17:39:42 +00:00
Mike Welsh 1a1cdfa757 desktop: Allow audio creation to fail
Switch to NullAudioBackend if CpalAudioBackend fails to initialize.
(This happens on my laptop which doesn't have an audio device!)
2019-11-30 20:08:34 -08:00
Nathan Adams d1b73582ce core: Add feature `avm_debug` that toggles tracing avm actions and stack history 2019-11-29 12:59:45 -08:00
dependabot-preview[bot] 112411aa7a build(deps): bump structopt from 0.3.4 to 0.3.5
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.4...v0.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 10:53:04 +00:00
dependabot-preview[bot] 7382d19b63 build(deps): bump image from 0.21.3 to 0.22.3
Bumps [image](https://github.com/image-rs/image) from 0.21.3 to 0.22.3.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.21.3...v0.22.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 17:16:50 +00:00
dependabot-preview[bot] 24009d4f4a build(deps): bump structopt from 0.2.18 to 0.3.4
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.2.18 to 0.3.4.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.2.18...v0.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 19:01:18 +00:00
dependabot-preview[bot] 0e8d86a419 build(deps): bump env_logger from 0.6.2 to 0.7.1
Bumps [env_logger](https://github.com/sebasmagri/env_logger) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/sebasmagri/env_logger/releases)
- [Changelog](https://github.com/sebasmagri/env_logger/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebasmagri/env_logger/compare/v0.6.2...v0.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 18:49:16 +00:00
Mike Welsh a205586332 chore: Bump lyon to 0.14.2, fix #77 2019-11-18 15:49:28 -08:00
Mike Welsh 07cc28dc9d desktop: Resize window to match movie dimensions 2019-11-18 18:33:54 -05:00
Mike Welsh 70a3096dbb desktop: Use ControlFlow::WaitUntil in winit 0.20
Fix frame timing with to prevent busy-waiting with the new control
flow behavior in winit 0.20.
2019-11-18 18:33:54 -05:00
Mike Welsh 6178dd9ef1 desktop: Fix Windows audio initialization due to winit changes
The Windows build was erroring immediately when trying to
initialize cpal because of changes in winit 0.20:

https://github.com/RustAudio/cpal/pull/348

Moved the cpal initialization to a separate thread to work around
this issue.
2019-11-18 18:33:54 -05:00
Mike Welsh 09b6c086d6 chore: Squelch unneeded_filed_pattern warning 2019-11-17 17:36:21 -05:00
Mike Welsh 63b5587762 chore: Bump glium to 0.26-alpha5 2019-11-17 17:36:21 -05:00
Mike Welsh e3d0d9031d core: Handle empty JPEGTables tags (fix #116) 2019-11-11 17:08:08 -05:00
Mike Welsh 97edbc98df core: Bump winit, glutin, glium versions 2019-11-11 14:06:41 -05:00
Mike Welsh 7d98c87a33 desktop: Implement event sound envelopes 2019-10-30 19:26:19 -07:00
Mike Welsh e08a735799 desktop: Use SeekSamples to account for MP3 encoder delay 2019-10-29 23:36:51 -07:00
Mike Welsh 1a7959b96d audio: Initial syncing of stream sound to MovieClip timeline 2019-10-29 23:36:51 -07:00
Mike Welsh 33c0bbd0ce desktop: Fix incorrect rendering of bitmaps w/ color transforms
The premultiplied alpha was not properly considered when there was
a color transform on a bitmap. Now the shader unmultiplies the
alpha before applying the color transform, and the remultiplies it.
2019-10-29 00:03:29 -07:00
Mike Welsh 35be57553e desktop: Improve animation sync
The timing on desktop was causing the movie to run too slow,
causing it to get out of sync. Now it should run at the correct
speed.
2019-10-28 21:05:18 -07:00
Mike Welsh eaea6aaf20 audio: Fix audio for ADPCM stream sounds
When a stream sound uses ADPCM compression, the ADPCM header is
included in each SoundStreamBlock (as opposed to stream sounds
in the other formats). This header wasn't being parsed, resulting
in corrupted audio (see https://homestarrunner.com/main12.swf).
2019-10-28 02:51:46 -07:00