avm2: Update flash-lso version
This commit is contained in:
parent
efb3062d98
commit
83005a7ce5
|
@ -38,7 +38,7 @@ nellymoser-rs = { git = "https://github.com/ruffle-rs/nellymoser" }
|
|||
h263-rs = { git = "https://github.com/ruffle-rs/h263-rs", rev = "03dcd486e88381635647a7386105cb802921b69c", optional = true }
|
||||
h263-rs-yuv = { git = "https://github.com/ruffle-rs/h263-rs", rev = "03dcd486e88381635647a7386105cb802921b69c", optional = true }
|
||||
regress = "0.4"
|
||||
flash-lso = { git = "https://github.com/ruffle-rs/rust-flash-lso" }
|
||||
flash-lso = { git = "https://github.com/ruffle-rs/rust-flash-lso", rev = "19fecd07b9888c4bdaa66771c468095783b52bed" }
|
||||
json = "0.12.4"
|
||||
lzma-rs = {version = "0.2.0", optional = true }
|
||||
dasp = { git = "https://github.com/RustAudio/dasp", rev = "f05a703", features = ["interpolate", "interpolate-linear", "signal"] }
|
||||
|
|
|
@ -423,7 +423,7 @@ pub fn get_local<'gc>(
|
|||
if let Some(saved) = activation.context.storage.get(&full_name) {
|
||||
// Attempt to load it as an Lso
|
||||
if let Ok(lso) = flash_lso::read::Reader::default().parse(&saved) {
|
||||
data = deserialize_lso(activation, &lso.1)?.into();
|
||||
data = deserialize_lso(activation, &lso)?.into();
|
||||
} else {
|
||||
// Attempt to load legacy Json
|
||||
if let Ok(saved_string) = String::from_utf8(saved) {
|
||||
|
@ -567,7 +567,7 @@ pub fn flush<'gc>(
|
|||
AMFVersion::AMF0,
|
||||
);
|
||||
|
||||
let bytes = flash_lso::write::write_to_bytes(&mut lso);
|
||||
let bytes = flash_lso::write::write_to_bytes(&mut lso).unwrap_or_default();
|
||||
|
||||
Ok(activation.context.storage.put(&name, &bytes).into())
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ use crate::character::Character;
|
|||
use crate::string::AvmString;
|
||||
use encoding_rs::Encoding;
|
||||
use encoding_rs::UTF_8;
|
||||
use flash_lso::amf0::read::parse_single_element as parse_amf0;
|
||||
use flash_lso::amf0::read::AMF0Decoder;
|
||||
use flash_lso::amf3::read::AMF3Decoder;
|
||||
use flash_lso::types::Value as AmfValue;
|
||||
use gc_arena::{GcCell, MutationContext};
|
||||
|
@ -829,14 +829,17 @@ pub fn read_object<'gc>(
|
|||
let bytes = bytearray.read_at(bytearray.bytes_available(), bytearray.position())?;
|
||||
let (bytes_left, value) = match bytearray.object_encoding() {
|
||||
ObjectEncoding::Amf0 => {
|
||||
let (extra, amf) = parse_amf0(bytes).map_err(|_| "EOFError: Reached EOF")?;
|
||||
let mut decoder = AMF0Decoder::default();
|
||||
let (extra, amf) = decoder
|
||||
.parse_single_element(bytes)
|
||||
.map_err(|_| "Error: Invalid object")?;
|
||||
(extra.len(), deserialize_value(activation, &amf)?)
|
||||
}
|
||||
ObjectEncoding::Amf3 => {
|
||||
let mut decoder = AMF3Decoder::default();
|
||||
let (extra, amf) = decoder
|
||||
.parse_single_element(bytes)
|
||||
.map_err(|_| "EOFError: Reached EOF")?;
|
||||
.map_err(|_| "Error: Invalid object")?;
|
||||
(extra.len(), deserialize_value(activation, &amf)?)
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue