Aaron Hill
f9fc4b3179
avm2: Store interfaces from superclases/superinterfaces in ClassObject ( #9728 )
2023-02-25 23:57:50 +00:00
Aaron Hill
c7709dffec
avm2: Handle Event::CData when parsing XML
2023-02-25 17:26:31 -06:00
Adrian Wielgosik
55c59da6ac
avm2: Convert TextFormat to AS
2023-02-25 23:55:43 +01:00
Adrian Wielgosik
35120e9fdc
avm2: Convert Graphics to AS
2023-02-25 23:55:43 +01:00
Adrian Wielgosik
8bdf215462
avm2: Add a test for box-then-to-bool bug
2023-02-25 23:31:17 +01:00
Adrian Wielgosik
b9dc8a4d52
avm2: Do not box primitives when doing AS-level coercions
2023-02-25 23:31:17 +01:00
Adrian Wielgosik
e063d5b5a8
avm2: Fix coerce_to_boolean on boxed primitives
2023-02-25 23:31:17 +01:00
Lord-McSweeney
16b724246c
Remove stub mention from BitmapData
2023-02-25 23:12:39 +01:00
Lord-McSweeney
f14ef0a4dd
Cleanup globals.as
2023-02-25 23:12:39 +01:00
Lord-McSweeney
9c8f99e9ce
Use AvmError instead of RustError when throwing argumentError in Stage.
2023-02-25 23:12:39 +01:00
Lord-McSweeney
91ae3ae31e
Port Stage overrides to ActionScript
...
And throw IllegalOperationError s.
2023-02-25 23:12:39 +01:00
Lord-McSweeney
e72a935f1b
Move IllegalOperationError up so Stage can use it
2023-02-25 23:12:39 +01:00
relrelb
5f4f23cceb
swf: Don't truncate `ClipEventFlag` in SWFv5
...
Although in SWFv5 the 2nd byte is documented to be reserved (all 0),
Flash does read it and treats it the same as for SWFv6.
Fixes #8620
2023-02-25 23:20:45 +02:00
Aaron Hill
b26f2fd6fb
avm2: Initial incomplete implementation of XML ( #9647 )
2023-02-25 20:06:36 +00:00
creeper-0910
a36ef7fd0c
Update Japanese locale files
2023-02-25 17:08:32 +02:00
relrelb
3f412a54b6
web: Wrap "comments" in `package.json` to a maximum of 100 characters per line
2023-02-25 16:18:38 +02:00
relrelb
1592d26afe
web: Take advantage of npm pre & post scripts
...
To logically separate between WebAssembly (pre)build, TypeScript
build, and `set_version.js` postbuild.
More info at: https://docs.npmjs.com/cli/v9/using-npm/scripts#pre--post-scripts
2023-02-25 16:18:38 +02:00
relrelb
f181794b46
web: Rename some scripts to improve clarity
...
* `build:ruffle_web` -> `build:wasm-vanilla`
* `build:ruffle_web-wasm_extensions*` -> `build:wasm-extensions*`
* `build:cargo_bindgen_opt` -> `build:wasm`
2023-02-25 16:18:38 +02:00
relrelb
17ac6c79d3
web: Reduce script duplication
...
By introducing the `$WASM_BINDGEN_FLAGS` and `$WASM_OPT_FLAGS`
environment variables, similarly to what already done with `$CARGO_FLAGS`.
2023-02-25 16:18:38 +02:00
relrelb
3035dd7161
web: Use `Closure::new()`
...
`Closure::new()` works on stable Rust since wasm-bindgen 0.2.81.
Use it in place of `Closure::wrap()` for more concise code.
2023-02-25 11:20:10 +02:00
relrelb
79cc42c739
web: Use TypeScript project references
...
This slightly improves TypeScript build times, and allows LSP to work
across packages without building `ruffle-core`.
Official documentation at:
https://www.typescriptlang.org/docs/handbook/project-references.html
2023-02-25 02:00:23 +02:00
Aaron Hill
9d0ab3b8c5
Merge pull request #9680 from Aaron1011/lots-of-native
2023-02-24 16:22:18 -06:00
Aaron Hill
dfee80e981
avm2: Mention interfaces in globals.as ordering comment
2023-02-24 16:08:29 -06:00
Aaron Hill
82a3f473d9
avm2: Move some class definitions after playerglobal is loaded
2023-02-24 16:08:29 -06:00
Aaron Hill
62767213a6
avm2: Use 'flash.events' internal namespace for EventDispatcher
2023-02-24 16:08:29 -06:00
Aaron Hill
24e231ae06
avm2: Convert TextField to AS
2023-02-24 16:08:29 -06:00
Aaron Hill
337149ff0e
avm2: Add TextFormat AS stub
2023-02-24 16:08:29 -06:00
Aaron Hill
bc240db517
avm2: Convert SimpleButton to AS
2023-02-24 16:08:29 -06:00
Aaron Hill
d31c686360
avm2: Convert MovieClip to AS
2023-02-24 16:08:29 -06:00
Aaron Hill
aa7dc52b82
avm2: Convert Sprite to AS
2023-02-24 16:08:28 -06:00
Aaron Hill
d996aecb04
avm2: Convert Shape to AS
2023-02-24 16:08:28 -06:00
Aaron Hill
39063a5a04
avm2: Add Graphics stub
2023-02-24 16:08:28 -06:00
Aaron Hill
8831042e8f
avm2: Convert LoaderInfo to AS
2023-02-24 16:08:28 -06:00
Aaron Hill
be16286407
avm2: Convert several flash.display and flash.events classes to AS
...
These classes all reference each other, so it's difficult to convert
them individually.
2023-02-24 16:08:28 -06:00
Aaron Hill
6ce7bd3277
avm2: Convert EventDispatcher and IEventDispatcher to AS
2023-02-24 16:08:28 -06:00
Aaron Hill
cd2770ce7e
avm2: Add SoundTransform stub
2023-02-24 14:48:51 -06:00
EmperorBale
216bb1bb28
tests: Add test for duplicate definitions
2023-02-24 11:55:58 -08:00
EmperorBale
99aa274e0f
avm2: Stop loading scripts in reverse order
2023-02-24 11:55:58 -08:00
EmperorBale
5bc3c696b5
avm2: Ignore duplicate definitions
2023-02-24 11:55:58 -08:00
Nathan Adams
01af1af4d9
webgl: Fixed blown out colortransform in webgl
2023-02-24 19:01:41 +01:00
Nathan Adams
edd7f80341
wgpu: Fix blown out colors when transforming them above 100% - fixes #9698
2023-02-24 19:01:41 +01:00
Aria Aghaei
44149614c7
desktop: min and max window size for ruffle ( #9608 )
...
Co-authored-by: Swag Gaming <memail@cock.li>
Co-authored-by: Aria Aghaei <ariaaghaei@gmail.com>
Co-authored-by: relrelb <relrelbachar@gmail.com>
2023-02-24 11:04:44 +00:00
relrelb
9f8419a145
web: Change `ruffle-core` output directory to `dist`
...
This aligns with the other packages.
2023-02-24 12:43:01 +02:00
feos
871a4d053d
core: add framerate to SWF load log
...
fixes #8531
2023-02-24 12:13:00 +02:00
TÖRÖK Attila
5a7cd92bfe
avm2: Use a lookup table for cosine in SoundMixer.computeSpectrum()
...
This results in 128 times fewer calls to the builtin cosf function.
2023-02-23 23:51:55 +01:00
Aaron Hill
5f4bf7b5fa
avm2: Stub Capabilities.manufacturer and Capabilities.language
...
These are needed by Steambirds: Survival
2023-02-23 12:25:34 -06:00
relrelb
2c5b7a9221
chore: Improve Renovate config
...
* Move under `.github/` to reduce amount of top-level files.
* Convert to JSON5 to allow comments and trailing commans.
* Include `js-sys` and `web-sys` in `wasm-bindgen` group.
2023-02-23 20:06:52 +02:00
Aaron Hill
455124d3ba
render: Fix blending onto BitmapData contents
...
When rendering to an offscreen texture for `Bitmapdata.draw`,
we first render to a temporary frame buffer, and then copy the contents
of the frame buffer back to the target texture. However, this results
in blend modes being incorrectly applied - for example, rendering with
BlendMode.SUBTRACT will subtract against the framebuffer (which starts
with each pixel as 0x00000000), instead of the previous BitmapData
contents.
To fix this, we now use our texture target as the frame buffer
when performing `render_offscreen`. This ensure that we blend
over existing pixels (taking into account the `blendMode` provided
in the `BitmapData.draw` call).
When multisampling is enabled, we use a copy pipeline to copy
the existing contents of our texture to a fresh multisampled frame
buffer (the non-multisampled texture target becomes our resolve buffer).
2023-02-23 09:52:56 -06:00
Nathan Adams
3a29ebc600
avm2: Comment where our RangeErrors have different-to-flash text in DOC
2023-02-23 08:12:42 -06:00
Nathan Adams
5f7978cfa5
avm2: Use avm errors for RangeErrors inside DisplayObjectContainer
2023-02-23 08:12:42 -06:00