+struct ao_pyro {
+ enum ao_pyro_flag flags;
+ int16_t accel_less, accel_greater;
+ int16_t speed_less, speed_greater;
+ int16_t height_less, height_greater;
+ int16_t orient_less, orient_greater;
+ int32_t time_less, time_greater;
+ int32_t delay;
+ uint8_t state_less, state_greater_or_equal;
+ int16_t motor;
+ uint32_t _unused1; /* was 'delay_done' */
+ uint8_t _unused2; /* was 'fired' */
+};
+
+#define AO_PYRO_8_BIT_VALUE (ao_pyro_state_less|ao_pyro_state_greater_or_equal)
+#define AO_PYRO_32_BIT_VALUE (ao_pyro_time_less|ao_pyro_time_greater|ao_pyro_delay)
+