Commit Graph

13090 Commits

Author SHA1 Message Date
Adrian Wielgosik 4a4b500f1d web: Make displayMessage public again 2024-09-12 23:50:42 +02:00
TÖRÖK Attila 131ec73782 chore: Bump `jpegxr`, `coreaudio-sys` and `bindgen` dependencies
Thereby dropping `which`, `lazycell`, and a duplicated `itertools` version.
2024-09-12 16:48:52 +02:00
Kamil Jarosz e8f52fd8b5 video: Use cache dir for storing downloaded OpenH264 library
Using the executable's parent directory is a bad idea in most cases,
as the place where Ruffle is installed should not be modified.
This patch changes the directory where the OpenH264 library is saved to
the cache directory, which should always be writable.
2024-09-12 13:05:27 +02:00
Kamil Jarosz 3da0246856 desktop: Add cache directory to options 2024-09-12 13:05:27 +02:00
Kamil Jarosz 22fda90f92 video: Prefer loading system OpenH264 library to downloading it
Some systems do have OpenH264 installed and in order to get
rid of the delay caused by downloading the library
(and needlessly downloading it in the first place),
an attempt is made first to load OpenH264 as a system library.
When loading fails (or version is mismatched), only then Ruffle
downloads OpenH264 and uses that version of the library.
2024-09-12 12:03:02 +02:00
Kamil Jarosz f7ec20fd92 video: Add OpenH264Data struct
This struct makes it easier to manage os/arch-specific OpenH264 information.
2024-09-12 12:03:02 +02:00
Kamil Jarosz 7f8beeb1e5 video: Reuse OpenH264 across decoders and load early
By using the H264Codec struct, we can load OpenH264 early
and reuse its instance for all decoders.
2024-09-12 12:03:02 +02:00
Kamil Jarosz 1f26edd5b1 video: Add OpenH264Codec struct
This struct represents the OpenH264 codec and makes it possible to
reuse the reference to the OpenH264 library across decoders.
It also adds better error handling.
2024-09-12 12:03:02 +02:00
Kamil Jarosz 835d2eabaa video: Rename path to filename in OpenH264::new
This value does not have to be a path, it can be a filename of
a library that is automatically located on the system.
2024-09-12 12:03:02 +02:00
Kamil Jarosz d0ede26cce desktop: Install Ruffle metadata in PKGBUILD
This most importantly adds a way of opening Ruffle using GUI.
2024-09-12 11:00:32 +02:00
dependabot[bot] db9c982484 build(deps): bump send and express in /web
Bumps [send](https://github.com/pillarjs/send) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.20.0 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.20.0...4.21.0)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 07:12:58 +02:00
Crowdin Bot 3b6d5088d1 chore: Update translations from Crowdin 2024-09-11 23:27:35 +02:00
Moulins 725d887ceb avm2: replace Rust's sort by avmplus' for `Array` sorts; unblocks #17812
Replace the use of Rust's standard sort in `Array.sort` and `sortOn` by
a port of avmplus' QuickSort algorithm. This avoid panics on Rust >=1.81
when `Array.sort` is called with a non-Ord comparison function, and will
always produce the same result as Flash Player.
2024-09-11 21:58:34 +02:00
Moulins b32bb16dc6 tests: add (failing) tests for random Array "sorting"
These tests fail because we do not implement the exact same algorithm
as Flash Player:
- in AVM1, the test produces a different result
- in AVM2, the test panics because Rust's sort doesn't accomodate
  non-Ord comparison functions
2024-09-11 21:58:34 +02:00
Lord-McSweeney 42b44901fc avm2: Add `get_ascii_char` to `AvmStringInterner` and use it 2024-09-11 11:31:58 -07:00
Lord-McSweeney b3769aa6f2 avm2: Use interned "*" character in `PropertyClass::get_name` and `Multiname::to_qualified_name_or_star` 2024-09-11 09:33:51 -07:00
Lord-McSweeney 3438966a04 avm2: Add `any` field to `CommonMultinames` and use it
This should reduce Gc allocations when loading multiname index 0 from the cpool
2024-09-11 09:33:51 -07:00
Lord-McSweeney 4a43ec0548 avm2: Put some more Multinames behind a Gc 2024-09-11 09:33:51 -07:00
TÖRÖK Attila 5512bc5742 chore: Bump `wayland-*` dependencies, drop duplicate `quick-xml` version `0.34.0` 2024-09-11 14:44:40 +02:00
dependabot[bot] 2ac916d1a3 build(deps): bump send and express in /web
Bumps [send](https://github.com/pillarjs/send) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.19.2 to 4.20.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.20.0)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-11 14:16:40 +02:00
Kamil Jarosz 75e4eaaba5 desktop: Improve filters in file pickers 2024-09-11 13:48:16 +02:00
Kamil Jarosz 14302b8287 desktop: Internationalize file pickers 2024-09-11 13:48:16 +02:00
TÖRÖK Attila 490c02bb58 core,desktop: Update to `winit` `v0.30.5` and latest `egui` from git 2024-09-11 13:24:14 +02:00
Lord-McSweeney 0adbf65490 avm2: Remove "Display object container has no child with name" warning 2024-09-10 22:46:42 -07:00
Lord-McSweeney c9a994fb47 core: Remove "Registering export for non-movie clip" warning log 2024-09-10 22:46:42 -07:00
Adrian Wielgosik aded790672 xml: Cache regex in custom_unescape 2024-09-10 18:04:25 +02:00
dependabot[bot] fd61be2f52 build(deps-dev): bump the npm-minor group in /web with 2 updates
Bumps the npm-minor group in /web with 2 updates: [typescript](https://github.com/microsoft/TypeScript) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `typescript` from 5.5.4 to 5.6.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2)

Updates `typescript-eslint` from 8.4.0 to 8.5.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.5.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-10 12:38:10 +02:00
Crowdin Bot fac9b33f79 chore: Update translations from Crowdin 2024-09-10 00:24:03 +02:00
Adrian Wielgosik 176b70b1cd avm2: Cache method body index on Method 2024-09-09 23:45:33 +02:00
britt-j 8ab225aa90 docs: Correct Apache Flex SDK compiling guide
Change -compiler.debug to -debug to make it work in powershell.
It gets tripped up by the period in the argument name.

Change -output to -o to make it shorter.

Make note of the capitalization of the file name.
It won't compile unless the casing matches that of the class name's.
2024-09-09 22:37:14 +02:00
TÖRÖK Attila 544270de62 chore: Bump Binaryen to version 119 2024-09-09 16:45:30 +02:00
dependabot[bot] 645113151b build(deps): bump the cargo-minor group with 6 updates
Bumps the cargo-minor group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.16` | `4.5.17` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.86` | `1.0.87` |
| [bytemuck](https://github.com/Lokathor/bytemuck) | `1.17.1` | `1.18.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.209` | `1.0.210` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.127` | `1.0.128` |
| [insta](https://github.com/mitsuhiko/insta) | `1.39.0` | `1.40.0` |


Updates `clap` from 4.5.16 to 4.5.17
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.16...clap_complete-v4.5.17)

Updates `anyhow` from 1.0.86 to 1.0.87
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.86...1.0.87)

Updates `bytemuck` from 1.17.1 to 1.18.0
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.17.1...v1.18.0)

Updates `serde` from 1.0.209 to 1.0.210
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210)

Updates `serde_json` from 1.0.127 to 1.0.128
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/1.0.127...1.0.128)

Updates `insta` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.39.0...1.40.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 11:40:10 +02:00
dependabot[bot] 02d668df5a build(deps-dev): bump the npm-minor group in /web with 12 updates
Bumps the npm-minor group in /web with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.9.1` | `9.10.0` |
| [@wdio/browserstack-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-browserstack-service) | `9.0.7` | `9.0.9` |
| [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) | `9.0.6` | `9.0.8` |
| [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter) | `9.0.7` | `9.0.8` |
| [@wdio/static-server-service](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-static-server-service) | `9.0.4` | `9.0.8` |
| [eslint](https://github.com/eslint/eslint) | `9.9.1` | `9.10.0` |
| [cssnano](https://github.com/cssnano/cssnano) | `7.0.5` | `7.0.6` |
| [cssnano-preset-advanced](https://github.com/cssnano/cssnano) | `7.0.5` | `7.0.6` |
| [postcss](https://github.com/postcss/postcss) | `8.4.44` | `8.4.45` |
| [typedoc](https://github.com/TypeStrong/TypeDoc) | `0.26.6` | `0.26.7` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `5.4.2` | `5.4.3` |
| [webpack-dev-server](https://github.com/webpack/webpack-dev-server) | `5.0.4` | `5.1.0` |


Updates `@eslint/js` from 9.9.1 to 9.10.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.10.0/packages/js)

Updates `@wdio/browserstack-service` from 9.0.7 to 9.0.9
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.0.9/packages/wdio-browserstack-service)

Updates `@wdio/mocha-framework` from 9.0.6 to 9.0.8
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.0.8/packages/wdio-mocha-framework)

Updates `@wdio/spec-reporter` from 9.0.7 to 9.0.8
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.0.8/packages/wdio-spec-reporter)

Updates `@wdio/static-server-service` from 9.0.4 to 9.0.8
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/commits/v9.0.8/packages/wdio-static-server-service)

Updates `eslint` from 9.9.1 to 9.10.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.9.1...v9.10.0)

Updates `cssnano` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.0.5...cssnano@7.0.6)

Updates `cssnano-preset-advanced` from 7.0.5 to 7.0.6
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.5...cssnano-preset-advanced@7.0.6)

Updates `postcss` from 8.4.44 to 8.4.45
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.44...8.4.45)

Updates `typedoc` from 0.26.6 to 0.26.7
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.26.6...v0.26.7)

Updates `vite` from 5.4.2 to 5.4.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.3/packages/vite)

Updates `webpack-dev-server` from 5.0.4 to 5.1.0
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.0.4...v5.1.0)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: "@wdio/browserstack-service"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/mocha-framework"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/spec-reporter"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@wdio/static-server-service"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: cssnano-preset-advanced
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: typedoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 11:16:20 +02:00
Lord-McSweeney ee996cd433 avm2: Use SystemClassDefs to look up builtin classes in a few more places 2024-09-08 14:46:28 -07:00
Lord-McSweeney 96a8fe65b3 avm2: Move some graphics classes from SystemClasses to SystemClassDefs 2024-09-08 14:46:28 -07:00
Crowdin Bot 0e1568b71b chore: Update translations from Crowdin 2024-09-08 23:20:02 +02:00
Aaron Hill 51f004f171 core: Allow clicking on a non-interactive AVM2 child of a Loader 2024-09-08 12:01:49 -04:00
Mestery b616f559e7 avm2: Stub desktop AIR APIs 2024-09-08 10:38:54 +02:00
Crowdin Bot 357508ae86 chore: Update translations from Crowdin 2024-09-08 00:45:59 +02:00
Adrian Wielgosik ff9ce693ad build: Freeze rustc for nightly builds to 1.80 2024-09-08 00:20:22 +02:00
Kamil Jarosz 4d01b483c0 deps: Bump RFD to the newest revision
This fixes filters in XDG portals and allows
showing files without an extension.
2024-09-07 13:54:30 +02:00
Adrian Wielgosik 7d07eb2b52 avm2: Skip attempting to serialize methods 2024-09-07 13:36:25 +02:00
Crowdin Bot 43f5aaaab9 chore: Update translations from Crowdin 2024-09-06 23:23:36 +02:00
Kamil Jarosz 1c6f5374c7 ci: Package Ruffle logo, desktop file, and metainfo for Linux
This is useful for downstream binary distributions as they can now use
the official logo, metainfo, and desktop file when installing Ruffle
instead of creating their own or checking out sources.
2024-09-06 22:03:53 +02:00
Kamil Jarosz e179b41ca7 desktop: Add network access dialog
Add network access dialog written in egui and replace
rfd's socket confirmation with it.
2024-09-06 21:46:59 +02:00
Tom Schuster 9fb669a343 avm2: Implement Date using ActionScript 2024-09-06 17:32:00 +02:00
TÖRÖK Attila b4c1f57f25 core: fix: Revert an accidental condition negation in AVM2 stub reporting 2024-09-06 07:24:59 -07:00
Kamil Jarosz 1cd3439018 ci: Fix missing checksum in AUR package
The sha512sum command hidden within a subshell
required to be executed in the repo root directory.
2024-09-06 11:29:50 +02:00
Crowdin Bot 92686b10b2 chore: Update translations from Crowdin 2024-09-06 09:02:25 +02:00
Moulins 5550443fdb avm2: Do not allocate for `Namespace::any()`
`Namespace` now holds a `Option<Gc<_>>` internally, with `None`
representing the Any namespace.
2024-09-05 19:23:09 +02:00