/* Web64 SDK header printout: web64/actors.h * Generated by scripts/copy-web64-ide-source.mjs. * The IDE resolves this header as a read-only virtual SDK document. */ #ifndef WEB64_ACTORS_H #define WEB64_ACTORS_H #include #include #include #define WEB64_ACTOR_NONE 0xff #define WEB64_ACTOR_STORAGE_NONE 0 #define WEB64_ACTOR_STORAGE_ANIMATION 1 #define WEB64_ACTOR_STORAGE_SPRITE_BINDING 2 #define WEB64_ACTOR_POOL_CORE(name, capacity) int16_t name##_x[capacity]; int16_t name##_y[capacity]; int16_t name##_vx[capacity]; int16_t name##_vy[capacity]; uint8_t name##_width[capacity]; uint8_t name##_height[capacity]; uint8_t name##_category[capacity]; uint8_t name##_mask[capacity]; uint8_t name##_state[capacity]; uint8_t name##_facing[capacity]; uint8_t name##_active[capacity]; uint8_t name##_active_ids[capacity]; uint8_t name##_active_count #define WEB64_ACTOR_POOL_ANIMATION_STORAGE(name, capacity) Web64AnimationPlayer name##_animation[capacity] #define WEB64_ACTOR_POOL_SPRITE_STORAGE(name, capacity) uint8_t name##_sprite_slot[capacity]; uint8_t name##_sprite_frame[capacity]; uint8_t name##_sprite_flags[capacity] #define WEB64_ACTOR_POOL_OPTIONAL_NONE(name, capacity) #define WEB64_ACTOR_POOL_OPTIONAL_ANIMATION(name, capacity) WEB64_ACTOR_POOL_ANIMATION_STORAGE(name, capacity) #define WEB64_ACTOR_POOL_OPTIONAL_SPRITES(name, capacity) WEB64_ACTOR_POOL_SPRITE_STORAGE(name, capacity) #define WEB64_ACTOR_POOL_OPTIONAL_ANIMATION_SPRITES(name, capacity) WEB64_ACTOR_POOL_ANIMATION_STORAGE(name, capacity); WEB64_ACTOR_POOL_SPRITE_STORAGE(name, capacity) #define WEB64_ACTOR_POOL_DECLARE(name, capacity, optional_storage) WEB64_ACTOR_POOL_CORE(name, capacity); optional_storage(name, capacity) #define WEB64_ACTOR_POOL(name, capacity) WEB64_ACTOR_POOL_CORE(name, capacity) #define WEB64_ACTOR_POOL_WITH_ANIMATION(name, capacity) WEB64_ACTOR_POOL_CORE(name, capacity); WEB64_ACTOR_POOL_ANIMATION_STORAGE(name, capacity) #define WEB64_ACTOR_POOL_WITH_SPRITES(name, capacity) WEB64_ACTOR_POOL_CORE(name, capacity); WEB64_ACTOR_POOL_SPRITE_STORAGE(name, capacity) #define WEB64_ACTOR_POOL_WITH_ANIMATION_SPRITES(name, capacity) WEB64_ACTOR_POOL_CORE(name, capacity); WEB64_ACTOR_POOL_ANIMATION_STORAGE(name, capacity); WEB64_ACTOR_POOL_SPRITE_STORAGE(name, capacity) _web64_rt uint8_t web64_actor_activate(uint8_t *active, uint8_t *active_ids, uint8_t *active_count, uint8_t capacity, uint8_t actor); _web64_rt uint8_t web64_actor_deactivate(uint8_t *active, uint8_t *active_ids, uint8_t *active_count, uint8_t actor); #endif