Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 KB | None | 0 0
  1. diff --git a/src/riven/tbmp.rs b/src/riven/tbmp.rs
  2. index 36a3099..24ce6d4 100644
  3. --- a/src/riven/tbmp.rs
  4. +++ b/src/riven/tbmp.rs
  5. @@ -199,13 +199,15 @@ where
  6. // (-m is given in pixels)
  7. m &= 0x0f;
  8. c += 1;
  9. + out.reserve(2);
  10. let &a = out
  11. .get(out.len() - 2)
  12. .ok_or_else(invalid_err)?;
  13. + out.push(a);
  14. let &b = out
  15. .get(out.len() - m as usize)
  16. .ok_or_else(invalid_err)?;
  17. - out.extend_from_slice(&[a, b]);
  18. + out.push(b);
  19. },
  20. [mut x @ 0x20...0x2f, ..] => {
  21. // repeat last duplet, but add x to second
  22. @@ -267,10 +269,12 @@ where
  23. // output p, then pixel at -m
  24. m &= 0x07;
  25. c += 2;
  26. + out.reserve(2);
  27. + out.push(p);
  28. let &b = out
  29. .get(out.len() - m as usize)
  30. .ok_or_else(invalid_err)?;
  31. - out.extend_from_slice(&[p, b]);
  32. + out.push(b);
  33. },
  34. [mut x @ 0x60...0x6f, p, ..] => {
  35. // output p, then (second pixel last duplet) + x
  36. @@ -413,9 +417,7 @@ where
  37. // what remains are ugly repeat commands
  38. if cmd & 0xa0 != 0xa0 || cmd & 0x0c == 0 {
  39. // this is note one of them
  40. - // return Err(MhkError::InvalidFormat("unknown tBMP riven subcommand")),
  41. - println!("found subcommand: {:x?}", cmds[c]);
  42. - break 'decode;
  43. + return Err(MhkError::InvalidFormat("unknown tBMP riven subcommand"));
  44. }
  45.  
  46. // decode x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement