jdm / libmzx

A Rust library for loading and manipulating MegaZeux worlds.
MIT License
2 stars 0 forks source link

Evaluate expressions in counter names #2

Open jdm opened 6 years ago

jdm commented 6 years ago

Missing features:

jdm commented 4 years ago

Needed for the title screen of https://www.digitalmzx.com/show.php?id=1486.

jdm commented 4 years ago

Important for https://www.digitalmzx.com/show.php?id=1346

jdm commented 4 years ago

Partially fixed by 655b71584e3180fce49a05741d3fa5eecd8cdad1.

jdm commented 4 years ago

Bitshift: https://www.digitalmzx.com/show.php?id=2121 https://www.digitalmzx.com/show.php?id=1861

Capturing board 0: ~2LED ScrollVision 3
thread 'main' panicked at 'Error evaluating 'ttpos'>>2 at >', /Users/jdm/src/libmzx/src/expression.rs:332:24
stack backtrace:
   0: rust_begin_unwind
             at /rustc/81dc88f88f92ba8ad7465f9cba10c12d3a7b70f1/library/std/src/panicking.rs:475
   1: std::panicking::begin_panic_fmt
             at /rustc/81dc88f88f92ba8ad7465f9cba10c12d3a7b70f1/library/std/src/panicking.rs:429
   2: libmzx::expression::evaluate_expression
             at /Users/jdm/src/libmzx/src/expression.rs:332
   3: libmzx::ByteString::evaluate
             at /Users/jdm/src/libmzx/src/lib.rs:698
   4: libmzx::Counters::get
             at /Users/jdm/src/libmzx/src/lib.rs:565
   5: <libmzx::robotic::SignedNumeric as libmzx::robotic::Resolve>::resolve
             at /Users/jdm/src/libmzx/src/robotic.rs:454
   6: libmzx::robot::run_one_command
             at /Users/jdm/src/libmzx/src/robot.rs:788
   7: libmzx::robot::update_robot
             at /Users/jdm/src/libmzx/src/robot.rs:412
   8: libmzx::board::update_board
             at /Users/jdm/src/libmzx/src/board.rs:186
   9: capture::run
             at ./capture/src/main.rs:141
  10: capture::main
             at ./capture/src/main.rs:220
  11: core::ops::function::FnOnce::call_once
             at /Users/jdm/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:233
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.