Commit Graph

12805 Commits

Author SHA1 Message Date
Lord-McSweeney 6c233ed859 avm2: Annotate all object *Data structs with `#[repr(C)]`
This ensures that the ScriptObjectData common to every *Data is always at the same offset, which results in better codegen for TObject methods
2024-08-01 09:09:29 -07:00
Lord-McSweeney c54de07382 avm2: Resolve review comments and use `activation.gc()` in some places 2024-08-01 09:09:29 -07:00
Lord-McSweeney 8f6736da74 avm2: Store a `DisplayObject` instead of `Option<DisplayObject>` in `StageObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 3ae53a6ef2 avm2: Use `Gc` instead of `GcCell` in `ScriptObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney c80bd7a55e avm2: Use `Gc` instead of `GcCell` in `FunctionObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 336e10a535 avm2: Use `Gc` instead of `GcCell` in `XmlListObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 2ff8238bf0 avm2: Remove now-unnecessary `Mutation` argument in some LoaderInfo methods 2024-08-01 09:09:29 -07:00
Lord-McSweeney 49188bd5d7 avm2: Use `Gc` instead of `GcCell` in `LoaderInfoObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney fa759a06a4 avm2: Use `Gc` instead of `GcCell` in `EventObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 5ea9b5d80b avm2: Use `Gc` instead of `GcCell` in `SoundChannelObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 458264a76a avm2: Use `Gc` instead of `GcCell` in `SoundObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 4773591c42 avm2: Use `Gc` instead of `GcCell` in `ClassObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 42e0380e2e avm2: Use `Gc` instead of `GcCell` in `DispatchObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney c551a365a3 avm2: Use `Gc` instead of `GcCell` in `PrimitiveObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 64261c8f06 avm2: Use `Gc` instead of `GcCell` in `RegExpObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 562be06fb1 avm2: Use `Gc` instead of `GcCell` in `VectorObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney b1acb17806 avm2: Use `Gc` instead of `GcCell` in `ArrayObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 7e82b3f425 avm2: Use `Gc` instead of `GcCell` in `XmlObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney a9ac849e56 avm2: Use `Gc` instead of `GcCell` in `NamespaceObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney ee4c08cc31 avm2: Use `Gc` instead of `GcCell` in `StageObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 3d80fc16c4 avm2: Use `Gc` instead of `GcCell` in `QNameObject` and `ErrorObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney bc5328892a avm2: Use `Gc` instead of `GcCell` in `BitmapDataObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 27d25a9442 avm2: Remove Mutation parameter from `TObject::as_bytearray_mut` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 313c384d41 avm2: Use `Gc` instead of `GcCell` in `ByteArrayObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney a5d2b613ac avm2: Use `Gc` instead of `GcCell` in `DomainObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 19bf1d7dcb avm2: Use `Gc` instead of `GcCell` in `DictionaryObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney e4499c2ed2 avm2: Use `Gc` instead of `GcCell` in `ProxyObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 86b8f3fe61 avm2: Use `Gc` instead of `GcCell` in `ResponderObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney fb168f46b3 avm2: Use `Gc` instead of `GcCell` in `FontObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 4e15bcb9b7 avm2: Use `Gc` instead of `GcCell` in `LocalConnectionObject` 2024-08-01 09:09:29 -07:00
Lord-McSweeney 895c13d65b avm2: Use `Gc` instead of `GcCell` in `NetStreamObject` 2024-08-01 09:09:29 -07:00
Kamil Jarosz 70c6a1d629 tests: Add avm2/movieclip_goto_scene_last_frame_label test 2024-07-31 11:32:15 +02:00
Kamil Jarosz a0dbbae96f tests: Add avm2/movieclip_goto_scene_last_frame_int test 2024-07-31 11:32:15 +02:00
sleepycatcoding 5806e6577e debug_ui: Add a tab for AVM2 array contents 2024-07-31 00:47:11 +02:00
Kamil Jarosz c54b1b5b4a desktop: Add View menu 2024-07-30 23:42:39 +02:00
Kamil Jarosz d9d644122b desktop: Add tooltips for scale modes 2024-07-30 23:42:39 +02:00
Kamil Jarosz fae55cd702 desktop: Update translations for scale modes 2024-07-30 23:42:39 +02:00
Kamil Jarosz 3ea4af481d core: Add respect_forced parameter to set_scale_mode 2024-07-30 23:42:39 +02:00
Daniel Jacobs f199a8f740 web: Fix height of Ruffle panic details 2024-07-30 19:37:49 +02:00
Kamil Jarosz ee5dce4c86 core: Use layout lines in screen_position_to_index
This refactor makes it possible for layout boxes in the same line to
have different extents, and it does not change the method's behavior.
2024-07-30 19:28:24 +02:00
Kamil Jarosz 0c1c16671b desktop: Add theme option to preferences 2024-07-30 19:09:51 +02:00
Kamil Jarosz 4ad371da95 desktop: Add watcher for ThemePreference change 2024-07-30 19:09:51 +02:00
Kamil Jarosz 52067658f8 desktop: Add ThemePreference to preferences 2024-07-30 19:09:51 +02:00
Kamil Jarosz 54cc5fe107 desktop: Add ThemePreference enum
ThemePreference represents the user's preference over Ruffle's theme.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 23c27420bd desktop: Remove RuffleEvent::ThemeChanged
This event is no longer needed as theme is now changed synchronously.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 9163de61b8 desktop: Add ThemeController
ThemeController is responsible for managing Ruffle's theme.
It takes into account the user preference, integrates with D-Bus and
handles platform-specific differences.
2024-07-30 19:09:51 +02:00
Kamil Jarosz 21d7746aec desktop: Use Arc for Window
This allows sending Windows between threads.
2024-07-30 19:09:51 +02:00
Adrian Wielgosik 6f56016079 avm2: Support recursive Vector<Vector<T>> lookups 2024-07-30 18:45:45 +02:00
dependabot[bot] 6f4a9aeafb build(deps-dev): bump stylelint in /web in the npm-minor group
Bumps the npm-minor group in /web with 1 update: [stylelint](https://github.com/stylelint/stylelint).


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

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 23:43:52 +02:00
dependabot[bot] e4c88c6b10 build(deps-dev): bump typescript-eslint in /web
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.0.0-alpha.57 to 8.0.0-alpha.58.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/HEAD/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 23:31:28 +02:00