Commit Graph

163 Commits

Author SHA1 Message Date
Mike Welsh 21c351fe5b swf: Change Twips::zero fn to Twips::ZERO const 2021-06-08 14:57:15 -07:00
Mike Welsh d23ea90459 swf: Change Matrix to use Fixed16 for a, b, c, d
Matrices in an SWF file store their scale/skew components in
in 16.16 format (fbits).

Split `ruffle_core::Matrix` and `swf::Matrix`. `swf::Matrix` now
stores its data as `Fixed16` instead of immediately converting to
`f32`.
2021-06-08 14:57:15 -07:00
dependabot[bot] 2f1dc0cbb1 chore: Bump approx from 0.4.0 to 0.5.0
Bumps [approx](https://github.com/brendanzab/approx) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/brendanzab/approx/releases)
- [Commits](https://github.com/brendanzab/approx/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: approx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 11:30:59 -07:00
relrelb b8eae51888 swf: Move num_colors into BitmapFormat::ColorMap8 2021-06-07 11:29:28 -07:00
relrelb 53cc9f38fc swf: Use casting instead of ToPrimitive 2021-06-07 11:29:28 -07:00
relrelb de6e2a04a4 swf: Number enum VideoCodec 2021-06-07 11:29:28 -07:00
relrelb 50a4643253 swf: Number enum VideoDeblocking 2021-06-07 11:29:28 -07:00
relrelb 636775f1e2 swf: Number enum TextGridFit 2021-06-07 11:29:28 -07:00
relrelb a45fdba4d1 swf: Number enum FontThickness 2021-06-07 11:29:28 -07:00
relrelb 88b6632188 swf: Number enum TextAlign 2021-06-07 11:29:28 -07:00
relrelb 781e3ff0cd swf: Number enum AudioCompression 2021-06-07 11:29:28 -07:00
relrelb ee14945974 swf: Number enum LineCapStyle 2021-06-07 11:29:28 -07:00
relrelb f6d04061b0 swf: Number enum GradientSpread 2021-06-07 11:29:28 -07:00
relrelb fed4facd8a swf: Number enum SoundEvent 2021-06-07 11:29:28 -07:00
relrelb 0d279a05c2 swf: Number enum BlendMode 2021-06-07 11:29:28 -07:00
relrelb 72113dbcf2 swf: Number enum Language 2021-06-07 11:29:28 -07:00
relrelb f82faf9603 chore: Appease clippy 2021-06-05 10:16:00 -07:00
Mike Welsh f173b81e38 swf: Use bitflags for Function flags 2021-05-30 22:14:32 -07:00
Mike Welsh 2b98c878f0 swf: Use Fixed in more places 2021-05-30 21:24:03 -07:00
Mike Welsh e1439f4105 swf: Add HeaderExt struct providing additional info
When reading an SWF, search for FileAttributes and
SetBackgroundColor and return this along with the header data
because it's useful (in particular, the AS3 flag).
2021-05-23 23:02:38 -07:00
Mike Welsh 8960414436 swf: Use bitflags for FileAttributes 2021-05-22 15:53:02 -07:00
Eduardo Sánchez Muñoz e3dc8ff28e swf: SwfStr: reimplement `Debug` with `std::ascii::escape_default`
The string will now be surrounded with quotes (`"`), non-ASCII characters (UTF-8 or not) will be escaped in hexadecimal form (`\xNN`) and ASCII control characters will be escaped (`\x01`, `\n`, `\t`).
2021-05-12 10:53:26 -07:00
Mike Welsh 9538647422 tests: Fix swf::Fixed tests in --release (fix #4313)
Use `#[cfg_attr(debug_assertions, should_panic)]` to ensure that
the tests only expect to panic in debug builds.

Fixes #4313.
2021-05-11 20:53:23 -07:00
dependabot[bot] 185a4f5b8f chore: Bump lzma-rs from 0.1.3 to 0.2.0
Bumps [lzma-rs](https://github.com/gendx/lzma-rs) from 0.1.3 to 0.2.0.
- [Release notes](https://github.com/gendx/lzma-rs/releases)
- [Changelog](https://github.com/gendx/lzma-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gendx/lzma-rs/compare/v0.1.3...v0.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-03 15:37:29 -07:00
CUB3D 12a198f671 avm2: Implement Op::Coerce and add tests 2021-04-21 00:33:11 -07:00
CUB3D 89c01dca18 swf: Add support for AVM2 domain memory opcodes 2021-04-21 00:33:11 -07:00
Mike Welsh 0552d26551 core: Use Fixed8 and i16 for ColorTransform
Use the proper types for ColorTransform:
 * Fixed8 (8.8) format for multiplicative component
 * i16 format for additive component

This matches the behavior of Flash (for example, alpha only changes
in units of 1/256).
2021-04-19 15:47:52 -07:00
Mike Welsh 50f2ecb1b5 swf: Add Fixed8 and Fixed16 types 2021-04-19 15:47:52 -07:00
Mike Welsh db6000f071 avm2: Fix parsing of variable-length s32 values
The values are not sign-extended as the spec suggests; a negative
value must use all 5 bytes.
2021-04-18 17:32:01 -07:00
dependabot-preview[bot] 9832a7385e build(deps): bump libflate from 1.0.4 to 1.1.0
Bumps [libflate](https://github.com/sile/libflate) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/sile/libflate/releases)
- [Commits](https://github.com/sile/libflate/compare/1.0.4...1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-17 10:25:29 -07:00
Mike Welsh b9d84c0a82 chore: Appease clippy
Honor the branches-sharing-code lint.
2021-04-15 00:02:27 -07:00
EmperorBale a39a1dd64f swf: Add missing opcodes 2021-04-14 21:41:31 -07:00
relrelb 20d6fcc128 chore: Remove unnecessary type annotations 2021-04-10 18:39:16 -07:00
CUB3D d5c2e5559b avm2: Don't mutably borrow for pos() 2021-04-03 16:37:47 -06:00
relrelb 15c1cf5bf6 chore: Appease clippy 2021-03-23 16:16:35 -07:00
relrelb e840dce803 common_tess: Make Vertex layout-agnostic
And define a specific layout in webgl instead.
This brings common_tess closer to serve wgpu (which has a different
Vertex layout).
2021-03-23 16:16:35 -07:00
relrelb e594f602b6 chore: Twips::new(0) -> Twips::zero() 2021-03-13 00:56:04 -08:00
Adrian Wielgosik 1c2492005c
avm2: Fix AVM2 reader not reading variable-length numbers correctly 2021-03-11 19:55:08 -08:00
Mads Marquart 121ae43d25 swf: Remove unused encoding from avm1::read::Reader 2021-02-27 17:04:42 -08:00
Mads Marquart 66f5c856d7 swf: Make a few functions const 2021-02-27 17:04:42 -08:00
Mads Marquart 1455671cd7 swf: Change read_tag_with_code to take an already parsed tag 2021-02-27 17:04:42 -08:00
Mads Marquart 9243010cc0 swf: Clean up a few imports 2021-02-27 17:04:42 -08:00
Mads Marquart 24780003e7 swf: Deduplicate different read methods 2021-02-27 17:04:42 -08:00
Mads Marquart dad21d4398 swf: Make avm2 Reader operate directly with byte slices 2021-02-27 17:04:42 -08:00
Mike Welsh 3099914374 chore: Appease clippy 2021-02-27 16:10:46 -08:00
David Wendt 92bfc18e1d swf: Make video-related tags publicly parsable 2021-02-16 19:03:48 -08:00
relrelb bb89391f3a chore: Avoid deprecated constants
The Rust documentation considers numeric constants prefixed with std::
as deprecated.
For example: https://doc.rust-lang.org/std/u16/constant.MAX.html.
2021-02-12 06:36:17 -08:00
Mike Welsh e5fb1f09e7 chore: Appease clippy
* #[derive(Collect)] should be before #[collect]
 * Replace redunant `&buf[..]` with `buf`
 * Changes most cases of UPPERCase to UpperCase
 * Allow upper_case_acronym on most SWF types, as they are from
   SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
TÖRÖK Attila 80b0bd3b33 swf: Add VideoCodec::ScreenVideoV2 variant 2021-02-12 03:37:14 -08:00
Napen123 a132f68688 docs: Update the documentation of SwfStr 2021-02-07 23:44:19 -08:00