diff --git a/app/.idea/deploymentTargetDropDown.xml b/app/.idea/deploymentTargetDropDown.xml
new file mode 100644
index 00000000..8318e2ff
--- /dev/null
+++ b/app/.idea/deploymentTargetDropDown.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/.idea/gradle.xml b/app/.idea/gradle.xml
index fb5ea566..17987e82 100644
--- a/app/.idea/gradle.xml
+++ b/app/.idea/gradle.xml
@@ -4,16 +4,15 @@
diff --git a/app/.idea/migrations.xml b/app/.idea/migrations.xml
new file mode 100644
index 00000000..f8051a6f
--- /dev/null
+++ b/app/.idea/migrations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 56b5a41b..c8e08a83 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id 'com.android.application' version '8.1.0' apply false
- id 'com.android.library' version '8.1.0' apply false
+ id 'com.android.application' version '8.2.1' apply false
+ id 'com.android.library' version '8.2.1' apply false
}
task clean(type: Delete) {
diff --git a/app/gradle.properties b/app/gradle.properties
index ec63151a..95c615a5 100644
--- a/app/gradle.properties
+++ b/app/gradle.properties
@@ -19,5 +19,4 @@ android.useAndroidX=true
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
-android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false
\ No newline at end of file
diff --git a/app/gradle/wrapper/gradle-wrapper.properties b/app/gradle/wrapper/gradle-wrapper.properties
index 9893ff3e..3f1fc710 100644
--- a/app/gradle/wrapper/gradle-wrapper.properties
+++ b/app/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Mar 24 17:39:17 CET 2022
+#Tue Jan 16 22:20:46 CET 2024
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/app/ruffle/build.gradle b/app/ruffle/build.gradle
index 6f1df3b1..d1f163f9 100644
--- a/app/ruffle/build.gradle
+++ b/app/ruffle/build.gradle
@@ -4,7 +4,7 @@ plugins {
}
android {
- compileSdk 33
+ compileSdk 34
buildFeatures {
prefab true
@@ -66,7 +66,7 @@ android {
dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
- implementation 'com.google.android.material:material:1.9.0'
+ implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
@@ -79,7 +79,7 @@ dependencies {
//implementation "androidx.games:games-performance-tuner:1.5.0"
// To use the Games Activity library
- implementation "androidx.games:games-activity:1.1.0"
+ implementation "androidx.games:games-activity:2.0.2"
// To use the Games Controller Library
//implementation "androidx.games:games-controller:1.1.0"
diff --git a/native/.idea/native.iml b/native/.idea/native.iml
new file mode 100644
index 00000000..d6ebd480
--- /dev/null
+++ b/native/.idea/native.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/native/Cargo.lock b/native/Cargo.lock
index a8a66c9e..9a8e9b64 100644
--- a/native/Cargo.lock
+++ b/native/Cargo.lock
@@ -2,22 +2,6 @@
# It is not intended for manual editing.
version = 3
-[[package]]
-name = "ab_glyph"
-version = "0.2.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
-dependencies = [
- "ab_glyph_rasterizer",
- "owned_ttf_parser",
-]
-
-[[package]]
-name = "ab_glyph_rasterizer"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
-
[[package]]
name = "addr2line"
version = "0.21.0"
@@ -35,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
-version = "0.8.6"
+version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
+checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
dependencies = [
"cfg-if",
"once_cell",
@@ -68,20 +52,23 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
name = "android-activity"
-version = "0.4.3"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
+checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9"
dependencies = [
"android-properties",
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
"cc",
+ "cesu8",
+ "jni",
"jni-sys",
"libc",
"log",
- "ndk 0.7.0",
+ "ndk",
"ndk-context",
- "ndk-sys 0.4.1+23.1.7779620",
- "num_enum 0.6.1",
+ "ndk-sys",
+ "num_enum",
+ "thiserror",
]
[[package]]
@@ -125,9 +112,9 @@ dependencies = [
[[package]]
name = "anstream"
-version = "0.6.5"
+version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6"
+checksum = "3fde6067df7359f2d6335ec1a50c1f8f825801687d10da0cc4c6b08e3f6afd15"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -173,9 +160,9 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.76"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355"
+checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
[[package]]
name = "arc-swap"
@@ -183,12 +170,6 @@ version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
-[[package]]
-name = "arrayref"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
-
[[package]]
name = "arrayvec"
version = "0.7.4"
@@ -217,6 +198,12 @@ dependencies = [
"pin-project-lite",
]
+[[package]]
+name = "atomic-waker"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
+
[[package]]
name = "autocfg"
version = "1.1.0"
@@ -261,9 +248,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.4.1"
+version = "2.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
[[package]]
name = "bitstream-io"
@@ -285,28 +272,28 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "block-sys"
-version = "0.1.0-beta.1"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
+checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7"
dependencies = [
"objc-sys",
]
[[package]]
name = "block2"
-version = "0.2.0-alpha.6"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
+checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68"
dependencies = [
"block-sys",
- "objc2-encode",
+ "objc2",
]
[[package]]
name = "bstr"
-version = "1.8.0"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
+checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
dependencies = [
"memchr",
"serde",
@@ -315,7 +302,7 @@ dependencies = [
[[package]]
name = "build_playerglobal"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"clap",
"colored",
@@ -352,7 +339,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -369,16 +356,16 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
[[package]]
name = "calloop"
-version = "0.10.6"
+version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8"
+checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.2",
"log",
- "nix 0.25.1",
- "slotmap",
+ "polling",
+ "rustix",
+ "slab",
"thiserror",
- "vec_map",
]
[[package]]
@@ -423,9 +410,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.11"
+version = "4.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2"
+checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c"
dependencies = [
"clap_builder",
"clap_derive",
@@ -433,9 +420,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.4.11"
+version = "4.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb"
+checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7"
dependencies = [
"anstream",
"anstyle",
@@ -452,7 +439,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -551,14 +538,14 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "core-graphics"
-version = "0.22.3"
+version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
+checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
"core-graphics-types",
- "foreign-types 0.3.2",
+ "foreign-types",
"libc",
]
@@ -599,34 +586,34 @@ dependencies = [
[[package]]
name = "crossbeam-deque"
-version = "0.8.4"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
dependencies = [
- "cfg-if",
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
-version = "0.9.17"
+version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
- "autocfg",
- "cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
-version = "0.8.18"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
-dependencies = [
- "cfg-if",
-]
+checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+
+[[package]]
+name = "cursor-icon"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
[[package]]
name = "d3d12"
@@ -634,7 +621,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"libloading 0.8.1",
"winapi",
]
@@ -659,7 +646,7 @@ dependencies = [
"ident_case",
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -670,7 +657,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -800,9 +787,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]]
name = "deranged"
-version = "0.3.10"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
"powerfmt",
]
@@ -821,7 +808,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -877,7 +864,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -898,14 +885,14 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
name = "env_logger"
-version = "0.10.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece"
+checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
dependencies = [
"log",
"regex",
@@ -917,6 +904,16 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+[[package]]
+name = "errno"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "euclid"
version = "0.22.9"
@@ -928,9 +925,9 @@ dependencies = [
[[package]]
name = "event-listener"
-version = "4.0.1"
+version = "4.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712"
+checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e"
dependencies = [
"concurrent-queue",
"parking",
@@ -949,9 +946,9 @@ dependencies = [
[[package]]
name = "fdeflate"
-version = "0.3.1"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
dependencies = [
"simd-adler32",
]
@@ -1090,9 +1087,9 @@ dependencies = [
[[package]]
name = "flv-rs"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"thiserror",
]
@@ -1102,15 +1099,6 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared 0.1.1",
-]
-
[[package]]
name = "foreign-types"
version = "0.5.0"
@@ -1118,7 +1106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
dependencies = [
"foreign-types-macros",
- "foreign-types-shared 0.3.1",
+ "foreign-types-shared",
]
[[package]]
@@ -1129,15 +1117,9 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
[[package]]
name = "foreign-types-shared"
version = "0.3.1"
@@ -1209,7 +1191,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -1244,8 +1226,9 @@ dependencies = [
[[package]]
name = "gc-arena"
-version = "0.3.3"
-source = "git+https://github.com/kyren/gc-arena?rev=efd89fc683c6bb456af3e226c33763cb822645e9#efd89fc683c6bb456af3e226c33763cb822645e9"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57b2e43b3fc51b9900cc9ced1c4630dcbfae1859573102a84d2231ac744c1208"
dependencies = [
"gc-arena-derive",
"hashbrown 0.14.3",
@@ -1254,12 +1237,13 @@ dependencies = [
[[package]]
name = "gc-arena-derive"
-version = "0.3.3"
-source = "git+https://github.com/kyren/gc-arena?rev=efd89fc683c6bb456af3e226c33763cb822645e9#efd89fc683c6bb456af3e226c33763cb822645e9"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96f3c487d429eaa928334f7f2ca7b14734f1c2f4020d2b08c1f0b4d9c70e4f17"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
"synstructure",
]
@@ -1274,9 +1258,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
dependencies = [
"cfg-if",
"js-sys",
@@ -1327,9 +1311,9 @@ dependencies = [
[[package]]
name = "glow"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4"
+checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1"
dependencies = [
"js-sys",
"slotmap",
@@ -1352,7 +1336,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"gpu-alloc-types",
]
@@ -1362,7 +1346,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
]
[[package]]
@@ -1385,7 +1369,7 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"gpu-descriptor-types",
"hashbrown 0.14.3",
]
@@ -1396,7 +1380,7 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
]
[[package]]
@@ -1404,7 +1388,7 @@ name = "h263-rs"
version = "0.1.0"
source = "git+https://github.com/ruffle-rs/h263-rs?rev=16700664e2b3334f0a930f99af86011aebee14cc#16700664e2b3334f0a930f99af86011aebee14cc"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"lazy_static",
"num-traits",
"thiserror",
@@ -1415,7 +1399,7 @@ name = "h263-rs-deblock"
version = "0.1.0"
source = "git+https://github.com/ruffle-rs/h263-rs?rev=16700664e2b3334f0a930f99af86011aebee14cc#16700664e2b3334f0a930f99af86011aebee14cc"
dependencies = [
- "itertools",
+ "itertools 0.11.0",
"wide",
]
@@ -1476,16 +1460,16 @@ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
[[package]]
name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows-core",
+ "windows-core 0.52.0",
]
[[package]]
@@ -1497,6 +1481,17 @@ dependencies = [
"cc",
]
+[[package]]
+name = "icrate"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319"
+dependencies = [
+ "block2",
+ "dispatch",
+ "objc2",
+]
+
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -1515,9 +1510,9 @@ dependencies = [
[[package]]
name = "ignore"
-version = "0.4.21"
+version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "747ad1b4ae841a78e8aba0d63adbfbeaea26b517b63705d47856b73015d27060"
+checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
dependencies = [
"crossbeam-deque",
"globset",
@@ -1531,14 +1526,13 @@ dependencies = [
[[package]]
name = "image"
-version = "0.24.7"
+version = "0.24.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23"
dependencies = [
"bytemuck",
"byteorder",
"color_quant",
- "num-rational",
"num-traits",
"tiff",
]
@@ -1553,18 +1547,6 @@ dependencies = [
"hashbrown 0.14.3",
]
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
[[package]]
name = "intl-memoizer"
version = "0.5.1"
@@ -1593,6 +1575,15 @@ dependencies = [
"either",
]
+[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
[[package]]
name = "itoa"
version = "1.0.10"
@@ -1632,15 +1623,15 @@ dependencies = [
[[package]]
name = "jpeg-decoder"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
[[package]]
name = "js-sys"
-version = "0.3.66"
+version = "0.3.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
+checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1"
dependencies = [
"wasm-bindgen",
]
@@ -1670,9 +1661,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.151"
+version = "0.2.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
+checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
[[package]]
name = "libloading"
@@ -1706,11 +1697,17 @@ version = "0.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"libc",
"redox_syscall 0.4.1",
]
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+
[[package]]
name = "lock_api"
version = "0.4.11"
@@ -1768,9 +1765,9 @@ dependencies = [
[[package]]
name = "lyon_geom"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad"
+checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9"
dependencies = [
"arrayvec",
"euclid",
@@ -1819,27 +1816,9 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.6.4"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
-
-[[package]]
-name = "memmap2"
-version = "0.5.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-dependencies = [
- "autocfg",
-]
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "metal"
@@ -1847,10 +1826,10 @@ version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"block",
"core-graphics-types",
- "foreign-types 0.5.0",
+ "foreign-types",
"log",
"objc",
"paste",
@@ -1872,25 +1851,13 @@ dependencies = [
"simd-adler32",
]
-[[package]]
-name = "mio"
-version = "0.8.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "naga"
version = "0.14.2"
source = "git+https://github.com/gfx-rs/wgpu?branch=v0.18#daedf03f0617aab6b3ab7380132dc9cb07f62d32"
dependencies = [
"bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"codespan-reporting",
"hexf-parse",
"indexmap",
@@ -1907,9 +1874,9 @@ dependencies = [
[[package]]
name = "naga-agal"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"naga",
"num-derive",
"num-traits",
@@ -1918,10 +1885,10 @@ dependencies = [
[[package]]
name = "naga-pixelbender"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"anyhow",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"naga",
"naga_oil",
"ruffle_render",
@@ -1957,32 +1924,18 @@ dependencies = [
"getrandom",
]
-[[package]]
-name = "ndk"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
-dependencies = [
- "bitflags 1.3.2",
- "jni-sys",
- "ndk-sys 0.4.1+23.1.7779620",
- "num_enum 0.5.11",
- "raw-window-handle 0.5.2",
- "thiserror",
-]
-
[[package]]
name = "ndk"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"jni-sys",
"log",
- "ndk-sys 0.5.0+25.2.9519653",
- "num_enum 0.7.1",
- "raw-window-handle 0.6.0",
+ "ndk-sys",
+ "num_enum",
+ "raw-window-handle",
"thiserror",
]
@@ -1992,15 +1945,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
-[[package]]
-name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
-dependencies = [
- "jni-sys",
-]
-
[[package]]
name = "ndk-sys"
version = "0.5.0+25.2.9519653"
@@ -2042,31 +1986,6 @@ dependencies = [
"nihav_core",
]
-[[package]]
-name = "nix"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset",
-]
-
-[[package]]
-name = "nix"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
-dependencies = [
- "autocfg",
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
- "memoffset",
-]
-
[[package]]
name = "nom"
version = "7.1.3"
@@ -2105,7 +2024,7 @@ checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -2118,17 +2037,6 @@ dependencies = [
"num-traits",
]
-[[package]]
-name = "num-rational"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
[[package]]
name = "num-traits"
version = "0.2.17"
@@ -2141,65 +2049,23 @@ dependencies = [
[[package]]
name = "num_enum"
-version = "0.5.11"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845"
dependencies = [
- "num_enum_derive 0.5.11",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
-dependencies = [
- "num_enum_derive 0.6.1",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0"
-dependencies = [
- "num_enum_derive 0.7.1",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
-dependencies = [
- "proc-macro-crate 1.3.1",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "num_enum_derive",
]
[[package]]
name = "num_enum_derive"
-version = "0.6.1"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
+checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b"
dependencies = [
- "proc-macro-crate 1.3.1",
+ "proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.43",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e"
-dependencies = [
- "proc-macro-crate 2.0.1",
- "proc-macro2",
- "quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -2214,29 +2080,25 @@ dependencies = [
[[package]]
name = "objc-sys"
-version = "0.2.0-beta.2"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
+checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459"
[[package]]
name = "objc2"
-version = "0.3.0-beta.3.patch-leaks.3"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
+checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d"
dependencies = [
- "block2",
"objc-sys",
"objc2-encode",
]
[[package]]
name = "objc2-encode"
-version = "2.0.0-pre.2"
+version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
-dependencies = [
- "objc-sys",
-]
+checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666"
[[package]]
name = "objc_exception"
@@ -2273,9 +2135,9 @@ dependencies = [
[[package]]
name = "ouroboros"
-version = "0.18.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aab3e3891cfef81d47b93c6e0aeaf4828b2dc19c0bde389f4a988fbbfe5a8f4b"
+checksum = "a50b637ffd883b2733a8483599fb6136b9dcedaa1850f7ac08b9b6f9f2061208"
dependencies = [
"aliasable",
"ouroboros_macro",
@@ -2284,25 +2146,16 @@ dependencies = [
[[package]]
name = "ouroboros_macro"
-version = "0.18.1"
+version = "0.18.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1dd5c45035b07108752f091edb8fcc13dcaffcdb8d9f40cc017e3c9afc1a5bd"
+checksum = "3633d65683f13b9bcfaa3150880b018899fb0e5d0542f4adaea4f503fdb5eabf"
dependencies = [
"heck",
- "itertools",
- "proc-macro-error",
+ "itertools 0.12.0",
"proc-macro2",
+ "proc-macro2-diagnostics",
"quote",
- "syn 2.0.43",
-]
-
-[[package]]
-name = "owned_ttf_parser"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
-dependencies = [
- "ttf-parser",
+ "syn 2.0.48",
]
[[package]]
@@ -2360,15 +2213,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkg-config"
-version = "0.3.28"
+version = "0.3.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
+checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
[[package]]
name = "png"
-version = "0.17.10"
+version = "0.17.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
@@ -2377,6 +2230,20 @@ dependencies = [
"miniz_oxide",
]
+[[package]]
+name = "polling"
+version = "3.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41"
+dependencies = [
+ "cfg-if",
+ "concurrent-queue",
+ "pin-project-lite",
+ "rustix",
+ "tracing",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "powerfmt"
version = "0.2.0"
@@ -2415,61 +2282,39 @@ dependencies = [
[[package]]
name = "proc-macro-crate"
-version = "1.3.1"
+version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284"
dependencies = [
- "once_cell",
- "toml_edit 0.19.15",
+ "toml_edit",
]
[[package]]
-name = "proc-macro-crate"
-version = "2.0.1"
+name = "proc-macro-hack"
+version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
-dependencies = [
- "toml_datetime",
- "toml_edit 0.20.2",
-]
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
-name = "proc-macro-error"
-version = "1.0.4"
+name = "proc-macro2"
+version = "1.0.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
dependencies = [
- "proc-macro-error-attr",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "version_check",
+ "unicode-ident",
]
[[package]]
-name = "proc-macro-error-attr"
-version = "1.0.4"
+name = "proc-macro2-diagnostics"
+version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
dependencies = [
"proc-macro2",
"quote",
+ "syn 2.0.48",
"version_check",
-]
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.71"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
-dependencies = [
- "unicode-ident",
+ "yansi",
]
[[package]]
@@ -2489,9 +2334,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.33"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]
@@ -2538,12 +2383,6 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
-[[package]]
-name = "raw-window-handle"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544"
-
[[package]]
name = "realfft"
version = "3.3.0"
@@ -2633,7 +2472,7 @@ dependencies = [
"jni",
"log",
"log-panics",
- "ndk 0.8.0",
+ "ndk",
"ndk-context",
"ruffle_core",
"ruffle_render_wgpu",
@@ -2647,10 +2486,10 @@ dependencies = [
[[package]]
name = "ruffle_core"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"async-channel",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"bitstream-io 2.2.0",
"build_playerglobal",
"bytemuck",
@@ -2673,6 +2512,7 @@ dependencies = [
"indexmap",
"lzma-rs",
"nellymoser-rs",
+ "num-bigint",
"num-derive",
"num-traits",
"percent-encoding",
@@ -2693,6 +2533,7 @@ dependencies = [
"symphonia",
"thiserror",
"tracing",
+ "ttf-parser",
"url",
"wasm-bindgen-futures",
"weak-table",
@@ -2702,7 +2543,7 @@ dependencies = [
[[package]]
name = "ruffle_gc_arena"
version = "0.0.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"gc-arena",
]
@@ -2710,16 +2551,16 @@ dependencies = [
[[package]]
name = "ruffle_macros"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
name = "ruffle_render"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"byteorder",
"downcast-rs",
@@ -2746,7 +2587,7 @@ dependencies = [
[[package]]
name = "ruffle_render_wgpu"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"bytemuck",
"downcast-rs",
@@ -2761,7 +2602,7 @@ dependencies = [
"naga-pixelbender",
"naga_oil",
"ouroboros",
- "raw-window-handle 0.5.2",
+ "raw-window-handle",
"ruffle_render",
"swf",
"tracing",
@@ -2773,7 +2614,7 @@ dependencies = [
[[package]]
name = "ruffle_video"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"generational-arena",
"ruffle_render",
@@ -2784,7 +2625,7 @@ dependencies = [
[[package]]
name = "ruffle_video_software"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
"flate2",
"generational-arena",
@@ -2803,7 +2644,7 @@ dependencies = [
[[package]]
name = "ruffle_wstr"
version = "0.1.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
[[package]]
name = "rustc-demangle"
@@ -2841,6 +2682,19 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "rustix"
+version = "0.38.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
+dependencies = [
+ "bitflags 2.4.2",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "ryu"
version = "1.0.16"
@@ -2865,31 +2719,12 @@ dependencies = [
"winapi-util",
]
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-[[package]]
-name = "sctk-adwaita"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09"
-dependencies = [
- "ab_glyph",
- "log",
- "memmap2",
- "smithay-client-toolkit",
- "tiny-skia",
-]
-
[[package]]
name = "self_cell"
version = "0.10.3"
@@ -2907,9 +2742,9 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
[[package]]
name = "serde"
-version = "1.0.193"
+version = "1.0.195"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
dependencies = [
"serde_derive",
]
@@ -2928,20 +2763,20 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.193"
+version = "1.0.195"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
name = "serde_json"
-version = "1.0.108"
+version = "1.0.111"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
+checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
dependencies = [
"indexmap",
"itoa",
@@ -2987,27 +2822,17 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.11.2"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
+checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e"
[[package]]
-name = "smithay-client-toolkit"
-version = "0.16.1"
+name = "smol_str"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9"
+checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49"
dependencies = [
- "bitflags 1.3.2",
- "calloop",
- "dlib",
- "lazy_static",
- "log",
- "memmap2",
- "nix 0.24.3",
- "pkg-config",
- "wayland-client",
- "wayland-cursor",
- "wayland-protocols",
+ "serde",
]
[[package]]
@@ -3069,12 +2894,6 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
-[[package]]
-name = "strict-num"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
-
[[package]]
name = "strsim"
version = "0.10.0"
@@ -3084,9 +2903,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "swf"
version = "0.2.0"
-source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#f60ba002402776146676d9b6e6e5d91f462f65ae"
+source = "git+https://github.com/ruffle-rs/ruffle.git?branch=master#9aff95316310cbd06f82a6026626d24c7dbf397d"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"bitstream-io 2.2.0",
"byteorder",
"encoding_rs",
@@ -3162,9 +2981,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.43"
+version = "2.0.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
+checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
dependencies = [
"proc-macro2",
"quote",
@@ -3179,44 +2998,44 @@ checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
"unicode-xid",
]
[[package]]
name = "termcolor"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
dependencies = [
"winapi-util",
]
[[package]]
name = "thiserror"
-version = "1.0.51"
+version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7"
+checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.51"
+version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df"
+checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
name = "tiff"
-version = "0.9.0"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
dependencies = [
"flate2",
"jpeg-decoder",
@@ -3252,31 +3071,6 @@ dependencies = [
"time-core",
]
-[[package]]
-name = "tiny-skia"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67"
-dependencies = [
- "arrayref",
- "arrayvec",
- "bytemuck",
- "cfg-if",
- "png",
- "tiny-skia-path",
-]
-
-[[package]]
-name = "tiny-skia-path"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c"
-dependencies = [
- "arrayref",
- "bytemuck",
- "strict-num",
-]
-
[[package]]
name = "tinystr"
version = "0.7.5"
@@ -3303,26 +3097,15 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "toml_datetime"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
-
-[[package]]
-name = "toml_edit"
-version = "0.19.15"
+version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
-dependencies = [
- "indexmap",
- "toml_datetime",
- "winnow",
-]
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
[[package]]
name = "toml_edit"
-version = "0.20.2"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
dependencies = [
"indexmap",
"toml_datetime",
@@ -3348,7 +3131,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
[[package]]
@@ -3430,15 +3213,15 @@ checksum = "fea2a4c80deb4fb3ca51f66b5e2dd91e3642bbce52234bcf22e41668281208e4"
dependencies = [
"proc-macro-hack",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
"unic-langid-impl",
]
[[package]]
name = "unicode-bidi"
-version = "0.3.14"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
[[package]]
name = "unicode-ident"
@@ -3490,12 +3273,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
[[package]]
name = "version_check"
version = "0.9.4"
@@ -3520,9 +3297,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.89"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
+checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -3530,24 +3307,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.89"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
+checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.39"
+version = "0.4.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
+checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461"
dependencies = [
"cfg-if",
"js-sys",
@@ -3557,9 +3334,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.89"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
+checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -3567,95 +3344,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.89"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
+checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.89"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
-
-[[package]]
-name = "wayland-client"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
-dependencies = [
- "bitflags 1.3.2",
- "downcast-rs",
- "libc",
- "nix 0.24.3",
- "scoped-tls",
- "wayland-commons",
- "wayland-scanner",
- "wayland-sys",
-]
-
-[[package]]
-name = "wayland-commons"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
-dependencies = [
- "nix 0.24.3",
- "once_cell",
- "smallvec",
- "wayland-sys",
-]
-
-[[package]]
-name = "wayland-cursor"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
-dependencies = [
- "nix 0.24.3",
- "wayland-client",
- "xcursor",
-]
-
-[[package]]
-name = "wayland-protocols"
-version = "0.29.5"
+version = "0.2.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
-dependencies = [
- "bitflags 1.3.2",
- "wayland-client",
- "wayland-commons",
- "wayland-scanner",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
-dependencies = [
- "proc-macro2",
- "quote",
- "xml-rs",
-]
-
-[[package]]
-name = "wayland-sys"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
-dependencies = [
- "dlib",
- "lazy_static",
- "pkg-config",
-]
+checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b"
[[package]]
name = "weak-table"
@@ -3665,9 +3369,9 @@ checksum = "323f4da9523e9a669e1eaf9c6e763892769b1d38c623913647bfdc1532fe4549"
[[package]]
name = "web-sys"
-version = "0.3.66"
+version = "0.3.67"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
+checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -3702,7 +3406,7 @@ dependencies = [
"naga",
"parking_lot",
"profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle",
"smallvec",
"static_assertions",
"wasm-bindgen",
@@ -3720,13 +3424,13 @@ source = "git+https://github.com/gfx-rs/wgpu?branch=v0.18#daedf03f0617aab6b3ab73
dependencies = [
"arrayvec",
"bit-vec",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"codespan-reporting",
"log",
"naga",
"parking_lot",
"profiling",
- "raw-window-handle 0.5.2",
+ "raw-window-handle",
"rustc-hash",
"smallvec",
"thiserror",
@@ -3744,7 +3448,7 @@ dependencies = [
"arrayvec",
"ash",
"bit-set",
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"block",
"core-graphics-types",
"d3d12",
@@ -3766,7 +3470,7 @@ dependencies = [
"parking_lot",
"profiling",
"range-alloc",
- "raw-window-handle 0.5.2",
+ "raw-window-handle",
"renderdoc-sys",
"rustc-hash",
"smallvec",
@@ -3782,7 +3486,7 @@ name = "wgpu-types"
version = "0.18.0"
source = "git+https://github.com/gfx-rs/wgpu?branch=v0.18#daedf03f0617aab6b3ab7380132dc9cb07f62d32"
dependencies = [
- "bitflags 2.4.1",
+ "bitflags 2.4.2",
"js-sys",
"web-sys",
]
@@ -3840,7 +3544,7 @@ version = "0.51.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
dependencies = [
- "windows-core",
+ "windows-core 0.51.1",
"windows-targets 0.48.5",
]
@@ -3853,6 +3557,15 @@ dependencies = [
"windows-targets 0.48.5",
]
+[[package]]
+name = "windows-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets 0.52.0",
+]
+
[[package]]
name = "windows-sys"
version = "0.45.0"
@@ -4053,64 +3766,67 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winit"
-version = "0.28.7"
+version = "0.29.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
+checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf"
dependencies = [
"android-activity",
- "bitflags 1.3.2",
+ "atomic-waker",
+ "bitflags 2.4.2",
+ "calloop",
"cfg_aliases",
"core-foundation",
"core-graphics",
- "dispatch",
- "instant",
+ "cursor-icon",
+ "icrate",
+ "js-sys",
"libc",
"log",
- "mio",
- "ndk 0.7.0",
+ "ndk",
+ "ndk-sys",
"objc2",
"once_cell",
"orbclient",
- "percent-encoding",
- "raw-window-handle 0.5.2",
+ "raw-window-handle",
"redox_syscall 0.3.5",
- "sctk-adwaita",
- "smithay-client-toolkit",
+ "rustix",
+ "smol_str",
+ "unicode-segmentation",
"wasm-bindgen",
- "wayland-client",
- "wayland-commons",
- "wayland-protocols",
- "wayland-scanner",
+ "wasm-bindgen-futures",
"web-sys",
- "windows-sys 0.45.0",
- "x11-dl",
+ "web-time",
+ "windows-sys 0.48.0",
+ "xkbcommon-dl",
]
[[package]]
name = "winnow"
-version = "0.5.30"
+version = "0.5.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5"
+checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
dependencies = [
"memchr",
]
[[package]]
-name = "x11-dl"
-version = "2.21.0"
+name = "xkbcommon-dl"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
+checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699"
dependencies = [
- "libc",
+ "bitflags 2.4.2",
+ "dlib",
+ "log",
"once_cell",
- "pkg-config",
+ "xkeysym",
]
[[package]]
-name = "xcursor"
-version = "0.3.5"
+name = "xkeysym"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911"
+checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621"
[[package]]
name = "xml-rs"
@@ -4118,6 +3834,12 @@ version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
+[[package]]
+name = "yansi"
+version = "1.0.0-rc.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377"
+
[[package]]
name = "zerocopy"
version = "0.7.32"
@@ -4135,5 +3857,5 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.43",
+ "syn 2.0.48",
]
diff --git a/native/Cargo.toml b/native/Cargo.toml
index 77d4657e..c203b645 100644
--- a/native/Cargo.toml
+++ b/native/Cargo.toml
@@ -14,14 +14,15 @@ strip = "symbols"
[dependencies]
-android-activity = { version = "0.4.3", features = ["game-activity"] }
+android-activity = { version = "0.5.1", features = ["game-activity"] }
android_logger = "0.13.3"
jni = "0.21.1"
-ndk = { version = "0.8.0", features = ["audio"] }
+# rwh 0.6 is enabled by default, we're not there yet
+ndk = { version = "0.8.0", features = ["audio"], default-features = false }
ndk-context = "0.1.1"
-winit = { version = "0.28.7", features = ["android-game-activity"] }
+winit = { version = "0.29.10", features = ["android-game-activity", "rwh_05"], default-features = false }
# Have to follow Ruffle with this.
wgpu = { git = "https://github.com/gfx-rs/wgpu", branch = "v0.18" }
diff --git a/native/src/keycodes.rs b/native/src/keycodes.rs
index 8985cc1f..c6fbae9e 100644
--- a/native/src/keycodes.rs
+++ b/native/src/keycodes.rs
@@ -1,220 +1,120 @@
use ruffle_core::events::KeyCode;
-use winit::event::VirtualKeyCode;
+use winit::event::KeyEvent;
+use winit::keyboard::Key;
+use winit::keyboard::KeyLocation;
+use winit::keyboard::NamedKey;
-/// Convert a winit `VirtualKeyCode` into a Ruffle `KeyCode`.
+/// Convert a winit event into a Ruffle `KeyCode`.
/// Return `KeyCode::Unknown` if there is no matching Flash key code.
-pub fn winit_to_ruffle_key_code(key_code: VirtualKeyCode) -> KeyCode {
- match key_code {
- VirtualKeyCode::Back => KeyCode::Backspace,
- VirtualKeyCode::Tab => KeyCode::Tab,
- VirtualKeyCode::Return => KeyCode::Return,
- VirtualKeyCode::LShift | VirtualKeyCode::RShift => KeyCode::Shift,
- VirtualKeyCode::LControl | VirtualKeyCode::RControl => KeyCode::Control,
- VirtualKeyCode::LAlt | VirtualKeyCode::RAlt => KeyCode::Alt,
- VirtualKeyCode::Capital => KeyCode::CapsLock,
- VirtualKeyCode::Escape => KeyCode::Escape,
- VirtualKeyCode::Space => KeyCode::Space,
- VirtualKeyCode::Key0 => KeyCode::Key0,
- VirtualKeyCode::Key1 => KeyCode::Key1,
- VirtualKeyCode::Key2 => KeyCode::Key2,
- VirtualKeyCode::Key3 => KeyCode::Key3,
- VirtualKeyCode::Key4 => KeyCode::Key4,
- VirtualKeyCode::Key5 => KeyCode::Key5,
- VirtualKeyCode::Key6 => KeyCode::Key6,
- VirtualKeyCode::Key7 => KeyCode::Key7,
- VirtualKeyCode::Key8 => KeyCode::Key8,
- VirtualKeyCode::Key9 => KeyCode::Key9,
- VirtualKeyCode::A => KeyCode::A,
- VirtualKeyCode::B => KeyCode::B,
- VirtualKeyCode::C => KeyCode::C,
- VirtualKeyCode::D => KeyCode::D,
- VirtualKeyCode::E => KeyCode::E,
- VirtualKeyCode::F => KeyCode::F,
- VirtualKeyCode::G => KeyCode::G,
- VirtualKeyCode::H => KeyCode::H,
- VirtualKeyCode::I => KeyCode::I,
- VirtualKeyCode::J => KeyCode::J,
- VirtualKeyCode::K => KeyCode::K,
- VirtualKeyCode::L => KeyCode::L,
- VirtualKeyCode::M => KeyCode::M,
- VirtualKeyCode::N => KeyCode::N,
- VirtualKeyCode::O => KeyCode::O,
- VirtualKeyCode::P => KeyCode::P,
- VirtualKeyCode::Q => KeyCode::Q,
- VirtualKeyCode::R => KeyCode::R,
- VirtualKeyCode::S => KeyCode::S,
- VirtualKeyCode::T => KeyCode::T,
- VirtualKeyCode::U => KeyCode::U,
- VirtualKeyCode::V => KeyCode::V,
- VirtualKeyCode::W => KeyCode::W,
- VirtualKeyCode::X => KeyCode::X,
- VirtualKeyCode::Y => KeyCode::Y,
- VirtualKeyCode::Z => KeyCode::Z,
- VirtualKeyCode::Semicolon => KeyCode::Semicolon,
- VirtualKeyCode::Equals => KeyCode::Equals,
- VirtualKeyCode::Comma => KeyCode::Comma,
- VirtualKeyCode::Minus => KeyCode::Minus,
- VirtualKeyCode::Period => KeyCode::Period,
- VirtualKeyCode::Slash => KeyCode::Slash,
- VirtualKeyCode::Grave => KeyCode::Grave,
- VirtualKeyCode::LBracket => KeyCode::LBracket,
- VirtualKeyCode::Backslash => KeyCode::Backslash,
- VirtualKeyCode::RBracket => KeyCode::RBracket,
- VirtualKeyCode::Apostrophe => KeyCode::Apostrophe,
- VirtualKeyCode::Numpad0 => KeyCode::Numpad0,
- VirtualKeyCode::Numpad1 => KeyCode::Numpad1,
- VirtualKeyCode::Numpad2 => KeyCode::Numpad2,
- VirtualKeyCode::Numpad3 => KeyCode::Numpad3,
- VirtualKeyCode::Numpad4 => KeyCode::Numpad4,
- VirtualKeyCode::Numpad5 => KeyCode::Numpad5,
- VirtualKeyCode::Numpad6 => KeyCode::Numpad6,
- VirtualKeyCode::Numpad7 => KeyCode::Numpad7,
- VirtualKeyCode::Numpad8 => KeyCode::Numpad8,
- VirtualKeyCode::Numpad9 => KeyCode::Numpad9,
- VirtualKeyCode::NumpadMultiply => KeyCode::Multiply,
- VirtualKeyCode::NumpadAdd => KeyCode::Plus,
- VirtualKeyCode::NumpadSubtract => KeyCode::NumpadMinus,
- VirtualKeyCode::NumpadDecimal => KeyCode::NumpadPeriod,
- VirtualKeyCode::NumpadDivide => KeyCode::NumpadSlash,
- VirtualKeyCode::PageUp => KeyCode::PgUp,
- VirtualKeyCode::PageDown => KeyCode::PgDown,
- VirtualKeyCode::End => KeyCode::End,
- VirtualKeyCode::Home => KeyCode::Home,
- VirtualKeyCode::Left => KeyCode::Left,
- VirtualKeyCode::Up => KeyCode::Up,
- VirtualKeyCode::Right => KeyCode::Right,
- VirtualKeyCode::Down => KeyCode::Down,
- VirtualKeyCode::Insert => KeyCode::Insert,
- VirtualKeyCode::Delete => KeyCode::Delete,
- VirtualKeyCode::Pause => KeyCode::Pause,
- VirtualKeyCode::Scroll => KeyCode::ScrollLock,
- VirtualKeyCode::F1 => KeyCode::F1,
- VirtualKeyCode::F2 => KeyCode::F2,
- VirtualKeyCode::F3 => KeyCode::F3,
- VirtualKeyCode::F4 => KeyCode::F4,
- VirtualKeyCode::F5 => KeyCode::F5,
- VirtualKeyCode::F6 => KeyCode::F6,
- VirtualKeyCode::F7 => KeyCode::F7,
- VirtualKeyCode::F8 => KeyCode::F8,
- VirtualKeyCode::F9 => KeyCode::F9,
- VirtualKeyCode::F10 => KeyCode::F10,
- VirtualKeyCode::F11 => KeyCode::F11,
- VirtualKeyCode::F12 => KeyCode::F12,
+pub fn winit_to_ruffle_key_code(event: &KeyEvent) -> KeyCode {
+ match event.logical_key.as_ref() {
+ Key::Named(NamedKey::Backspace) => KeyCode::Backspace,
+ Key::Named(NamedKey::Tab) => KeyCode::Tab,
+ Key::Named(NamedKey::Enter) => KeyCode::Return,
+ Key::Named(NamedKey::Shift) => KeyCode::Shift,
+ Key::Named(NamedKey::Control) => KeyCode::Control,
+ Key::Named(NamedKey::Alt) => KeyCode::Alt,
+ Key::Named(NamedKey::CapsLock) => KeyCode::CapsLock,
+ Key::Named(NamedKey::Escape) => KeyCode::Escape,
+ Key::Named(NamedKey::Space) => KeyCode::Space,
+ Key::Character("0") if event.location == KeyLocation::Numpad => KeyCode::Numpad0,
+ Key::Character("1") if event.location == KeyLocation::Numpad => KeyCode::Numpad1,
+ Key::Character("2") if event.location == KeyLocation::Numpad => KeyCode::Numpad2,
+ Key::Character("3") if event.location == KeyLocation::Numpad => KeyCode::Numpad3,
+ Key::Character("4") if event.location == KeyLocation::Numpad => KeyCode::Numpad4,
+ Key::Character("5") if event.location == KeyLocation::Numpad => KeyCode::Numpad5,
+ Key::Character("6") if event.location == KeyLocation::Numpad => KeyCode::Numpad6,
+ Key::Character("7") if event.location == KeyLocation::Numpad => KeyCode::Numpad7,
+ Key::Character("8") if event.location == KeyLocation::Numpad => KeyCode::Numpad8,
+ Key::Character("9") if event.location == KeyLocation::Numpad => KeyCode::Numpad9,
+ Key::Character("0") => KeyCode::Key0,
+ Key::Character("1") => KeyCode::Key1,
+ Key::Character("2") => KeyCode::Key2,
+ Key::Character("3") => KeyCode::Key3,
+ Key::Character("4") => KeyCode::Key4,
+ Key::Character("5") => KeyCode::Key5,
+ Key::Character("6") => KeyCode::Key6,
+ Key::Character("7") => KeyCode::Key7,
+ Key::Character("8") => KeyCode::Key8,
+ Key::Character("9") => KeyCode::Key9,
+ Key::Character("a") => KeyCode::A,
+ Key::Character("b") => KeyCode::B,
+ Key::Character("c") => KeyCode::C,
+ Key::Character("d") => KeyCode::D,
+ Key::Character("e") => KeyCode::E,
+ Key::Character("f") => KeyCode::F,
+ Key::Character("g") => KeyCode::G,
+ Key::Character("h") => KeyCode::H,
+ Key::Character("i") => KeyCode::I,
+ Key::Character("j") => KeyCode::J,
+ Key::Character("k") => KeyCode::K,
+ Key::Character("l") => KeyCode::L,
+ Key::Character("m") => KeyCode::M,
+ Key::Character("n") => KeyCode::N,
+ Key::Character("o") => KeyCode::O,
+ Key::Character("p") => KeyCode::P,
+ Key::Character("q") => KeyCode::Q,
+ Key::Character("r") => KeyCode::R,
+ Key::Character("s") => KeyCode::S,
+ Key::Character("t") => KeyCode::T,
+ Key::Character("u") => KeyCode::U,
+ Key::Character("v") => KeyCode::V,
+ Key::Character("w") => KeyCode::W,
+ Key::Character("x") => KeyCode::X,
+ Key::Character("y") => KeyCode::Y,
+ Key::Character("z") => KeyCode::Z,
+ Key::Character(";") => KeyCode::Semicolon,
+ Key::Character("=") => KeyCode::Equals,
+ Key::Character(",") => KeyCode::Comma,
+ Key::Character("-") if event.location == KeyLocation::Numpad => KeyCode::NumpadMinus,
+ Key::Character("-") => KeyCode::Minus,
+ Key::Character(".") if event.location == KeyLocation::Numpad => KeyCode::NumpadPeriod,
+ Key::Character(".") => KeyCode::Period,
+ Key::Character("/") if event.location == KeyLocation::Numpad => KeyCode::NumpadSlash,
+ Key::Character("/") => KeyCode::Slash,
+ Key::Character("`") => KeyCode::Grave,
+ Key::Character("[") => KeyCode::LBracket,
+ Key::Character("\\") => KeyCode::Backslash,
+ Key::Character("]") => KeyCode::RBracket,
+ Key::Character("'") => KeyCode::Apostrophe,
+ Key::Character("*") => KeyCode::Multiply,
+ Key::Character("+") => KeyCode::Plus,
+ Key::Named(NamedKey::PageUp) => KeyCode::PgUp,
+ Key::Named(NamedKey::PageDown) => KeyCode::PgDown,
+ Key::Named(NamedKey::End) => KeyCode::End,
+ Key::Named(NamedKey::Home) => KeyCode::Home,
+ Key::Named(NamedKey::ArrowLeft) => KeyCode::Left,
+ Key::Named(NamedKey::ArrowUp) => KeyCode::Up,
+ Key::Named(NamedKey::ArrowRight) => KeyCode::Right,
+ Key::Named(NamedKey::ArrowDown) => KeyCode::Down,
+ Key::Named(NamedKey::Insert) => KeyCode::Insert,
+ Key::Named(NamedKey::Delete) => KeyCode::Delete,
+ Key::Named(NamedKey::Pause) => KeyCode::Pause,
+ Key::Named(NamedKey::ScrollLock) => KeyCode::ScrollLock,
+ Key::Named(NamedKey::F1) => KeyCode::F1,
+ Key::Named(NamedKey::F2) => KeyCode::F2,
+ Key::Named(NamedKey::F3) => KeyCode::F3,
+ Key::Named(NamedKey::F4) => KeyCode::F4,
+ Key::Named(NamedKey::F5) => KeyCode::F5,
+ Key::Named(NamedKey::F6) => KeyCode::F6,
+ Key::Named(NamedKey::F7) => KeyCode::F7,
+ Key::Named(NamedKey::F8) => KeyCode::F8,
+ Key::Named(NamedKey::F9) => KeyCode::F9,
+ Key::Named(NamedKey::F10) => KeyCode::F10,
+ Key::Named(NamedKey::F11) => KeyCode::F11,
+ Key::Named(NamedKey::F12) => KeyCode::F12,
+ Key::Named(NamedKey::F13) => KeyCode::F13,
+ Key::Named(NamedKey::F14) => KeyCode::F14,
+ Key::Named(NamedKey::F15) => KeyCode::F15,
+ Key::Named(NamedKey::F16) => KeyCode::F16,
+ Key::Named(NamedKey::F17) => KeyCode::F17,
+ Key::Named(NamedKey::F18) => KeyCode::F18,
+ Key::Named(NamedKey::F19) => KeyCode::F19,
+ Key::Named(NamedKey::F20) => KeyCode::F20,
+ Key::Named(NamedKey::F21) => KeyCode::F21,
+ Key::Named(NamedKey::F22) => KeyCode::F22,
+ Key::Named(NamedKey::F23) => KeyCode::F23,
+ Key::Named(NamedKey::F24) => KeyCode::F24,
_ => KeyCode::Unknown,
}
}
-
-/// Return a character for the given key code and shift state.
-pub fn winit_key_to_char(key_code: VirtualKeyCode, is_shift_down: bool) -> Option {
- // We need to know the character that a keypress outputs for both key down and key up events,
- // but the winit keyboard API does not provide a way to do this (winit/#753).
- // CharacterReceived events are insufficent because they only fire on key down, not on key up.
- // This is a half-measure to map from keyboard keys back to a character, but does will not work fully
- // for international layouts.
- Some(match (key_code, is_shift_down) {
- (VirtualKeyCode::Space, _) => ' ',
- (VirtualKeyCode::Key0, _) => '0',
- (VirtualKeyCode::Key1, _) => '1',
- (VirtualKeyCode::Key2, _) => '2',
- (VirtualKeyCode::Key3, _) => '3',
- (VirtualKeyCode::Key4, _) => '4',
- (VirtualKeyCode::Key5, _) => '5',
- (VirtualKeyCode::Key6, _) => '6',
- (VirtualKeyCode::Key7, _) => '7',
- (VirtualKeyCode::Key8, _) => '8',
- (VirtualKeyCode::Key9, _) => '9',
- (VirtualKeyCode::A, false) => 'a',
- (VirtualKeyCode::A, true) => 'A',
- (VirtualKeyCode::B, false) => 'b',
- (VirtualKeyCode::B, true) => 'B',
- (VirtualKeyCode::C, false) => 'c',
- (VirtualKeyCode::C, true) => 'C',
- (VirtualKeyCode::D, false) => 'd',
- (VirtualKeyCode::D, true) => 'D',
- (VirtualKeyCode::E, false) => 'e',
- (VirtualKeyCode::E, true) => 'E',
- (VirtualKeyCode::F, false) => 'f',
- (VirtualKeyCode::F, true) => 'F',
- (VirtualKeyCode::G, false) => 'g',
- (VirtualKeyCode::G, true) => 'G',
- (VirtualKeyCode::H, false) => 'h',
- (VirtualKeyCode::H, true) => 'H',
- (VirtualKeyCode::I, false) => 'i',
- (VirtualKeyCode::I, true) => 'I',
- (VirtualKeyCode::J, false) => 'j',
- (VirtualKeyCode::J, true) => 'J',
- (VirtualKeyCode::K, false) => 'k',
- (VirtualKeyCode::K, true) => 'K',
- (VirtualKeyCode::L, false) => 'l',
- (VirtualKeyCode::L, true) => 'L',
- (VirtualKeyCode::M, false) => 'm',
- (VirtualKeyCode::M, true) => 'M',
- (VirtualKeyCode::N, false) => 'n',
- (VirtualKeyCode::N, true) => 'N',
- (VirtualKeyCode::O, false) => 'o',
- (VirtualKeyCode::O, true) => 'O',
- (VirtualKeyCode::P, false) => 'p',
- (VirtualKeyCode::P, true) => 'P',
- (VirtualKeyCode::Q, false) => 'q',
- (VirtualKeyCode::Q, true) => 'Q',
- (VirtualKeyCode::R, false) => 'r',
- (VirtualKeyCode::R, true) => 'R',
- (VirtualKeyCode::S, false) => 's',
- (VirtualKeyCode::S, true) => 'S',
- (VirtualKeyCode::T, false) => 't',
- (VirtualKeyCode::T, true) => 'T',
- (VirtualKeyCode::U, false) => 'u',
- (VirtualKeyCode::U, true) => 'U',
- (VirtualKeyCode::V, false) => 'v',
- (VirtualKeyCode::V, true) => 'V',
- (VirtualKeyCode::W, false) => 'w',
- (VirtualKeyCode::W, true) => 'W',
- (VirtualKeyCode::X, false) => 'x',
- (VirtualKeyCode::X, true) => 'X',
- (VirtualKeyCode::Y, false) => 'y',
- (VirtualKeyCode::Y, true) => 'Y',
- (VirtualKeyCode::Z, false) => 'z',
- (VirtualKeyCode::Z, true) => 'Z',
-
- (VirtualKeyCode::Semicolon, false) => ';',
- (VirtualKeyCode::Semicolon, true) => ':',
- (VirtualKeyCode::Equals, false) => '=',
- (VirtualKeyCode::Equals, true) => '+',
- (VirtualKeyCode::Comma, false) => ',',
- (VirtualKeyCode::Comma, true) => '<',
- (VirtualKeyCode::Minus, false) => '-',
- (VirtualKeyCode::Minus, true) => '_',
- (VirtualKeyCode::Period, false) => '.',
- (VirtualKeyCode::Period, true) => '>',
- (VirtualKeyCode::Slash, false) => '/',
- (VirtualKeyCode::Slash, true) => '?',
- (VirtualKeyCode::Grave, false) => '`',
- (VirtualKeyCode::Grave, true) => '~',
- (VirtualKeyCode::LBracket, false) => '[',
- (VirtualKeyCode::LBracket, true) => '{',
- (VirtualKeyCode::Backslash, false) => '\\',
- (VirtualKeyCode::Backslash, true) => '|',
- (VirtualKeyCode::RBracket, false) => ']',
- (VirtualKeyCode::RBracket, true) => '}',
- (VirtualKeyCode::Apostrophe, false) => '\'',
- (VirtualKeyCode::Apostrophe, true) => '"',
- (VirtualKeyCode::NumpadMultiply, _) => '*',
- (VirtualKeyCode::NumpadAdd, _) => '+',
- (VirtualKeyCode::NumpadSubtract, _) => '-',
- (VirtualKeyCode::NumpadDecimal, _) => '.',
- (VirtualKeyCode::NumpadDivide, _) => '/',
-
- (VirtualKeyCode::Numpad0, false) => '0',
- (VirtualKeyCode::Numpad1, false) => '1',
- (VirtualKeyCode::Numpad2, false) => '2',
- (VirtualKeyCode::Numpad3, false) => '3',
- (VirtualKeyCode::Numpad4, false) => '4',
- (VirtualKeyCode::Numpad5, false) => '5',
- (VirtualKeyCode::Numpad6, false) => '6',
- (VirtualKeyCode::Numpad7, false) => '7',
- (VirtualKeyCode::Numpad8, false) => '8',
- (VirtualKeyCode::Numpad9, false) => '9',
-
- _ => return None,
- })
-}
diff --git a/native/src/lib.rs b/native/src/lib.rs
index 70a475a8..84d18a10 100644
--- a/native/src/lib.rs
+++ b/native/src/lib.rs
@@ -18,14 +18,14 @@ use std::{
use android_activity::AndroidApp;
use winit::{
- event::{DeviceEvent, ElementState, Event, ModifiersState, TouchPhase, WindowEvent},
+ event::{DeviceEvent, ElementState, Event, TouchPhase, WindowEvent},
event_loop::{ControlFlow, EventLoop, EventLoopBuilder},
platform::android::EventLoopBuilderExtAndroid,
window::Window,
};
use audio::AAudioAudioBackend;
-use keycodes::{winit_key_to_char, winit_to_ruffle_key_code};
+use keycodes::winit_to_ruffle_key_code;
use navigator::ExternalNavigatorBackend;
use ruffle_core::backend::storage::MemoryStorageBackend;
use url::Url;
@@ -58,13 +58,14 @@ fn run(event_loop: EventLoop, window: Window) {
let event_loop_proxy = event_loop.create_proxy();
- event_loop.run(move |event, _, control_flow| {
- *control_flow = ControlFlow::Poll;
+ event_loop.run(move |event, elwt| {
+ elwt.set_control_flow(ControlFlow::Poll);
+
match event {
Event::WindowEvent {
event: WindowEvent::CloseRequested,
..
- } => *control_flow = ControlFlow::Exit,
+ } => elwt.exit(),
Event::WindowEvent { event, .. } => match event {
WindowEvent::Resized(size) => {
@@ -90,6 +91,24 @@ fn run(event_loop: EventLoop, window: Window) {
window.request_redraw();
}
+ // Render
+ WindowEvent::RedrawRequested => {
+ // TODO: Don't render when minimized to avoid potential swap chain errors in `wgpu`.
+ // TODO: also disable when suspended!
+
+ if unsafe { playerbox.is_some() } {
+ let player = unsafe { &playerbox.as_ref().unwrap().player };
+
+ let mut player_lock = player.lock().unwrap();
+ if player_lock.is_playing() {
+ log::info!("playing, rendering");
+ player_lock.render();
+ } else {
+ log::info!("not playing, not rendering");
+ }
+ }
+ }
+
WindowEvent::Touch(touch) => {
log::info!("touch: {:?}", touch);
let player = unsafe { &playerbox.as_ref().unwrap().player };
@@ -128,51 +147,34 @@ fn run(event_loop: EventLoop, window: Window) {
}
}
- WindowEvent::KeyboardInput { input, .. } => {
+ WindowEvent::KeyboardInput {
+ event: key_event, ..
+ } => {
let player = unsafe { &playerbox.as_ref().unwrap().player };
- log::info!("keyboard input: {:?}", input);
+ log::info!("keyboard event: {:?}", key_event);
let mut player_lock = player.lock().unwrap();
- if let Some(key) = input.virtual_keycode {
- let key_code = winit_to_ruffle_key_code(key);
- let key_char =
- winit_key_to_char(key, input.modifiers.contains(ModifiersState::SHIFT));
- let event = match input.state {
- ElementState::Pressed => PlayerEvent::KeyDown { key_code, key_char },
- ElementState::Released => PlayerEvent::KeyUp { key_code, key_char },
- };
- log::warn!("Ruffle key event: {:?}", event);
- player_lock.handle_event(event);
-
- // NOTE: this is a HACK
- if input.state == ElementState::Pressed {
- if let Some(key) = key_char {
- let event = PlayerEvent::TextInput { codepoint: key };
- log::info!("faking text input: {:?}", key);
- player_lock.handle_event(event);
- }
- }
- if player_lock.needs_render() {
- window.request_redraw();
- }
- }
- }
+ let key_code = winit_to_ruffle_key_code(&key_event);
+ let key_char = key_event.text.clone().and_then(|text| text.chars().last());
+ let event = match key_event.state {
+ ElementState::Pressed => PlayerEvent::KeyDown { key_code, key_char },
+ ElementState::Released => PlayerEvent::KeyUp { key_code, key_char },
+ };
+ log::warn!("Ruffle key event: {:?}", event);
+ player_lock.handle_event(event);
- // NOTE: this never happens at the moment
- WindowEvent::ReceivedCharacter(codepoint) => {
- log::info!("keyboard character: {:?}", codepoint);
- let player = unsafe { &playerbox.as_ref().unwrap().player };
- let mut player_lock = player.lock().unwrap();
+ key_event.text.unwrap_or_default().chars().for_each(|c| {
+ let event = PlayerEvent::TextInput { codepoint: c };
+ log::warn!("Ruffle text input event: {:?}", event);
+ player_lock.handle_event(event);
+ });
- let event = PlayerEvent::TextInput { codepoint };
- player_lock.handle_event(event);
if player_lock.needs_render() {
window.request_redraw();
}
}
-
_ => {}
},
@@ -231,9 +233,13 @@ fn run(event_loop: EventLoop, window: Window) {
match get_swf_bytes() {
Ok(bytes) => {
- let movie = SwfMovie::from_data(&bytes, "file://movie.swf".to_string(), None).unwrap();
+ let movie =
+ SwfMovie::from_data(&bytes, "file://movie.swf".to_string(), None)
+ .unwrap();
- player_lock.set_root_movie(movie);
+ player_lock.mutate_with_update_context(|context| {
+ context.set_root_movie(movie);
+ });
player_lock.set_is_playing(true); // Desktop player will auto-play.
let viewport_size = window.inner_size();
@@ -291,7 +297,7 @@ fn run(event_loop: EventLoop, window: Window) {
player_lock.set_is_playing(false);
}
- Event::MainEventsCleared => {
+ Event::AboutToWait => {
let new_time = Instant::now();
let dt = new_time.duration_since(time).as_micros();
@@ -328,31 +334,10 @@ fn run(event_loop: EventLoop, window: Window) {
}
}
- // Render
- Event::RedrawRequested(_) => {
- // TODO: Don't render when minimized to avoid potential swap chain errors in `wgpu`.
- // TODO: also disable when suspended!
-
- if unsafe { playerbox.is_some() } {
- let player = unsafe { &playerbox.as_ref().unwrap().player };
-
- let mut player_lock = player.lock().unwrap();
- if player_lock.is_playing() {
- log::info!("playing, rendering");
- player_lock.render();
- } else {
- log::info!("not playing, not rendering");
- }
- }
- }
-
_ => {}
}
- // After polling events, sleep the event loop until the next event or the next frame.
- if *control_flow != ControlFlow::Exit {
- *control_flow = ControlFlow::WaitUntil(next_frame_time);
- }
+ elwt.set_control_flow(ControlFlow::WaitUntil(next_frame_time));
});
}
@@ -562,7 +547,8 @@ fn android_main(app: AndroidApp) {
let event_loop = EventLoopBuilder::with_user_event()
.with_android_app(app)
- .build();
+ .build()
+ .expect("Failed to create event loop");
let window = Window::new(&event_loop).unwrap();
run(event_loop, window);