Skip to content

Releases: Toad06/ruffle

Nightly 2022-11-28

28 Nov 00:43
Compare
Choose a tag to compare
Nightly 2022-11-28 Pre-release
Pre-release
nightly-2022-11-28

avm2: Address feedback to DropShadowFilter stub

Nightly 2022-11-23

23 Nov 00:45
Compare
Choose a tag to compare
Nightly 2022-11-23 Pre-release
Pre-release
render: Don't use BitmapHandle in tessellator

Currently, we rely on ShapeTessellator being able to get a BitmapHandle
without a RenderBackend. With the upcoming BitmapData refactor,
we will always need a RenderBackend to get a BitmapHandle, which creates
borrow-checker issues in ShapeTessellator (which is stored in a
RenderBackend).

To solve this, we split BitmapSource.bitmap into two methods -
BitmapSource.bitmap and BitmapSource.bitmap_handle. ShapeTessellator
continues to use BitmapSource.bitmap, and uses the u16 bitmap id
instead of a BitmapHandle. The BitmapSource.bitmap_handle method
is used inside each render backend to convert the id to a BitmapHandle,
avoiding borrow-checker issues.

Nightly 2022-11-19

19 Nov 00:54
Compare
Choose a tag to compare
Nightly 2022-11-19 Pre-release
Pre-release
nightly-2022-11-19

avm2: Refactor context menu field bool checks into macro

Nightly 2022-10-23

23 Oct 01:06
Compare
Choose a tag to compare
Nightly 2022-10-23 Pre-release
Pre-release
nightly-2022-10-23

avm2: Add missing set_object2 impl to Bitmap

Nightly 2022-09-27

27 Sep 01:04
Compare
Choose a tag to compare
Nightly 2022-09-27 Pre-release
Pre-release
nightly-2022-09-27

avm2: Remove `From<Box<dyn std::error::Error>> for Error<'gc>`

Nightly 2022-09-18

18 Sep 01:02
Compare
Choose a tag to compare
Nightly 2022-09-18 Pre-release
Pre-release
render: Treat `update_texture` with invalid `BitmapHandle` as an error

This should be impossible to trigger from ActionScript, so
we shouldn't ignore it.

Nightly 2022-09-10

10 Sep 01:00
Compare
Choose a tag to compare
Nightly 2022-09-10 Pre-release
Pre-release
avm2: Implement some of SharedObject

Our AVM2 `SharedObject` support is now *almost* equivalent
to our avm1 `SharedObject` support. We implement serialization
and deserialization for primitives, arrays, and `Object` instances
with local properties. We also implement serialization for `Date`,
but not `Xml` (since our AVM2 `Xml` class is just a stub at the moment).

This is enough to make 'This is the only level too' save level
progress to disk.

Currently, we always serialize to AMF3. When we implement
the `defaultObjectEncoding` and `objectEncoding`, we'll need
to adjust this.

Nightly 2022-09-07

07 Sep 01:05
Compare
Choose a tag to compare
Nightly 2022-09-07 Pre-release
Pre-release
avm2: Remove `GcCell` from `local_registers`

We already have `&mut self` available whenever we write to it,
and we never made use of the `Clone` impl. As far as I can tell,
we don't have any unimplemented features that would require a `GcCell`.

Nightly 2022-06-29

29 Jun 00:48
Compare
Choose a tag to compare
Nightly 2022-06-29 Pre-release
Pre-release
avm2: Declare 'dataFormat' property on URLLoader

This ensures that a sealed subclass can still access it.

Nightly 2022-05-25

25 May 00:52
fd2d146
Compare
Choose a tag to compare
Nightly 2022-05-25 Pre-release
Pre-release
core: Correctly calculate the length passed to `resize_to_reader`

In several places, we read some data from a tag, and then pass
the original tag length to `resize_to_reader`. This is incorrect -
the provided length is used an an offset from the current position
in the reader, so we will extend past the end of the current tag if
we've already read some bytes.

In practice, this doesn't appear to cause any problems - AVM bytecode
has internal length fields, which end up ensuring that we will never
try to read past where the slice *should* end. However, if a `DoAbc`
tag is the last tag in the file, then we'll end up trying to use
`resize_to_reader` with an offset past the end of the movie.

This commit subtracts the number of already-read bytes from `tag_len`,
to ensure that we always construct a correctly-sized `SwfSlice`