23 dst->
item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE);
24 dst->
item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE);
25 for (
uint32_t mask = 1 << 31; mask; mask >>= 1) {
26 if (data.wand_id & mask) {
27 dst->
item(MAGIQUEST_ONE_MARK, MAGIQUEST_ONE_SPACE);
29 dst->
item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE);
33 for (uint16_t mask = 1 << 15; mask; mask >>= 1) {
34 if (data.magnitude & mask) {
35 dst->
item(MAGIQUEST_ONE_MARK, MAGIQUEST_ONE_SPACE);
37 dst->
item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE);
41 dst->
mark(MAGIQUEST_UNIT);
49 if (!src.
expect_item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE) ||
50 !src.
expect_item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE)) {
54 for (
uint32_t mask = 1 << 31; mask; mask >>= 1) {
55 if (src.
expect_item(MAGIQUEST_ONE_MARK, MAGIQUEST_ONE_SPACE)) {
57 }
else if (src.
expect_item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE)) {
58 data.wand_id &= ~mask;
64 for (uint16_t mask = 1 << 15; mask; mask >>= 1) {
65 if (src.
expect_item(MAGIQUEST_ONE_MARK, MAGIQUEST_ONE_SPACE)) {
66 data.magnitude |= mask;
67 }
else if (src.
expect_item(MAGIQUEST_ZERO_MARK, MAGIQUEST_ZERO_SPACE)) {
68 data.magnitude &= ~mask;