Commit Graph

73 Commits

Author SHA1 Message Date
Mike Welsh 2a365288e8 Update to latest swf-rs 2019-06-17 02:59:32 -07:00
Mike Welsh ba36435711 desktop: Pass pixel coordinates to lyon
Lyon seems sensitive to overflow on large coordinates, so passing
twips resulting in overflow panics on very large shapes.

Avoid panics on tessellation failure: instead, return an empty
mesh and log an error.
2019-05-17 18:51:53 -07:00
Mike Welsh 7512275847 web: Bump wasm-bindgen to 0.2.44 2019-05-17 17:35:29 -07:00
Mike Welsh 3cefeeba6a Use twips for internal calculations
Switch from pixels to twips for internal calculations. swf crate
was updated to add a Twips wrapper-type. Ruffle will use this type
internally for transforms and shapes. This fixes some precision
errors in rendering (see heroes_of_cybertron.swf) and will match
what the Flash Player does internally more closely. (e.g.
DisplayObject x and y will be quantized to 1/20 pixel units). It
is up to the renderer to convert units from twip space to pixels
when rendering.
2019-05-17 13:40:56 -07:00
Mike Welsh 023406aa2b web: Move requestAnimationFrame loop into Rust 2019-05-16 19:14:37 -07:00
Mike Welsh aced67cb15
docs: Update README.md
Fix link to localhost
2019-05-16 11:16:53 -07:00
Mike Welsh 0405666849
docs: Update README.md
cargo build -> cargo run
2019-05-16 10:31:23 -07:00
Mike Welsh b5ef3cb4ea
docs: Update README with build instructions
Add simple build instructions to README for both desktop and web.
2019-05-16 10:10:32 -07:00
Mike Welsh 6673527b0a core: Add clip depth to DisplayObject 2019-05-12 13:48:00 -04:00
Mike Welsh 4e3eecb016 core: Improve SVG strokes
Use stroke properties to apply stroke styles from the SWF.
2019-05-12 13:35:03 -04:00
Mike Welsh 79b3a7007d core: Initial morph shape implementation 2019-05-12 12:55:48 -04:00
Mike Welsh cc7ef196e9 web: Clean up Player interface
Use generational_arena indices for the JS-side Player handle.
2019-05-10 09:06:47 -07:00
Mike Welsh af33b8538e desktop: Better event sounds 2019-05-09 17:43:53 -07:00
Mike Welsh 61189cfb84 core: Fix text transforms 2019-05-09 14:14:21 -07:00
Mike Welsh efe3270ce0 web: Decode streams completely on preload (for now) 2019-05-09 12:43:26 -07:00
Mike Welsh 74743f327c core: Remove unused file 2019-05-09 12:43:03 -07:00
Mike Welsh 12d6d3342b core: Switch to rust-gc 2019-05-08 18:10:43 -07:00
Mike Welsh 7063bc4080 ci: Add Circle CI config 2019-05-08 13:33:05 -07:00
Mike Welsh 07c6addb8b core: Remove patch from Cargo.toml 2019-05-08 11:59:46 -07:00
Mike Welsh 58311e20a9 web: Re-organize npm/webpack files
Use wasm-pack-plugin npm package.
2019-05-08 11:32:44 -07:00
Mike Welsh 62ae3b0c46 Rename project 2019-05-08 09:46:19 -07:00
Mike Welsh 14b6c59a3c web: Update demo page 2019-05-07 16:07:23 -07:00
Mike Welsh 20844185d7 core: Set preload flag 2019-05-07 12:11:32 -07:00
Mike Welsh bfc735e3b7 web: Allow specifying SWF in query params 2019-05-07 10:03:45 -07:00
Mike Welsh cb6d96955d Remove debug spew 2019-05-07 09:52:22 -07:00
Mike Welsh 67b96119e3 Fix padding on 8-bit PNGs 2019-05-07 09:51:06 -07:00
Mike Welsh e6e8536672 Clean up DisplayObject traits 2019-05-07 03:34:17 -07:00
Mike Welsh 7983d9eb96 Clean up DisplayObject instantiation 2019-05-07 03:22:58 -07:00
Mike Welsh 2f2f4b0c0b Quick palettized RGBA PNG support 2019-05-07 00:22:52 -07:00
Mike Welsh 60b673986b Work 2019-05-06 23:31:34 -07:00
Mike Welsh 598b342106 core: Add name property to DisplayObject 2019-05-06 11:15:52 -07:00
Mike Welsh ebbcc828ff web: Skip SeekSamples in MP3 event sounds 2019-05-06 10:42:48 -07:00
Mike Welsh e0acb7cb30 Fix crash when drawing an empty shape in Firefox 2019-05-06 10:37:25 -07:00
Mike Welsh 61ec4b2436 web: Add player.destroy() method 2019-05-06 03:52:27 -07:00
Mike Welsh 401da0e68a Spruce up the sample HTML page 2019-05-06 03:52:27 -07:00
Mike Welsh 8262db3991 ADPCM decoder 2019-05-06 02:34:45 -07:00
Mike Welsh e99b4a6fcf web: Add support for uncompressed event sounds 2019-05-05 22:13:22 -07:00
Mike Welsh cf2091477d Support uncompressed event sounds 2019-05-05 22:04:35 -07:00
Mike Welsh a0c478379d Preload assets for web
Run through all definition tags to preload assets on web.
TODO: Keep track of which assets are done loading.
2019-05-05 17:35:00 -07:00
Mike Welsh 4a824069af web: First pass of event sounds 2019-05-05 16:43:19 -07:00
Mike Welsh 1a4734896d Event sounds and text on web 2019-05-05 15:55:27 -07:00
Mike Welsh e56a16ea82 Fix hole tesselation 2019-05-04 13:58:54 -07:00
Mike Welsh 2480469c2c First pass of static text 2019-05-04 11:45:11 -07:00
Mike Welsh 1f6aa4e4e1 Add MorphShape stub 2019-05-03 14:25:54 -07:00
Mike Welsh 34f31a37f0 Use BTreeMap for display list 2019-05-03 14:25:01 -07:00
Mike Welsh 1dfedae485 Add some button functionality 2019-05-03 11:44:12 -07:00
Mike Welsh 5b09bc7de1 Add audio backend for desktop 2019-05-03 02:33:58 -07:00
Mike Welsh 884b7c915a Gradients on desktop 2019-05-02 22:09:25 -07:00
Mike Welsh 6e8082f01b Reorganized backend structure 2019-05-02 19:56:17 -07:00
Mike Welsh ae8df0486b Use a handle for the JS<->Rust Player object 2019-05-02 17:17:02 -07:00