sig
type 'a t
and 'a set
and ('a, 'b) table
val create :
?set:'a Sprite.set ->
'a -> Video.t -> ?width:int -> int * int -> 'a Sprite.t
val move_to : 'a Sprite.t -> int * int -> unit
val move : 'a Sprite.t -> int * int -> unit
val get_pos : 'a Sprite.t -> int * int
val set_data : 'a Sprite.t -> 'a -> unit
val get_data : 'a Sprite.t -> 'a
val get_size : 'a Sprite.t -> int * int
val delete : 'a Sprite.t -> unit
module Set :
sig
val create : int -> 'a Sprite.set
val add : 'a Sprite.set -> 'a Sprite.t -> unit
val del : 'a Sprite.set -> 'a Sprite.t -> unit
val clear : 'a Sprite.set -> unit
val iter : ('a Sprite.t -> unit) -> 'a Sprite.set -> unit
val iter_data : ('a Sprite.t -> 'a -> unit) -> 'a Sprite.set -> unit
val set_boundary : 'a Sprite.set -> int -> int -> int -> int -> unit
val set_collision : 'a Sprite.set -> int -> int -> unit
val mem : 'a Sprite.set -> 'a Sprite.t -> bool
val fold : ('a -> 'b Sprite.t -> 'a) -> 'b Sprite.set -> 'a -> 'a
val fold_data :
('a -> 'b Sprite.t -> 'b -> 'a) -> 'b Sprite.set -> 'a -> 'a
end
val add_collision_fun :
'a Sprite.set ->
'b Sprite.set ->
?alpha_bias:int -> bool -> ('a Sprite.t -> 'b Sprite.t -> unit) -> unit
val check_collisions : 'a Sprite.t -> unit
val collides_with :
'a Sprite.t ->
?alpha_bias:int -> bool -> 'b Sprite.set -> 'b Sprite.t list
val in_bounds : 'a Sprite.t -> bool
val move_in_bounds :
'a Sprite.t -> ?chk:('a Sprite.t -> bool) -> int * int -> int * int
val draw : ?on:Video.t -> 'a Sprite.t -> unit
val set_animation_frame : 'a Sprite.t -> int -> unit
val get_animation_frame : 'a Sprite.t -> int
val set_frames : 'a Sprite.t -> ?width:int -> Video.t -> unit
val get_frames : 'a Sprite.t -> Video.t
val mask_cut : 'a Sprite.t -> 'b Sprite.t -> int -> unit
module Table :
sig
val create : int -> ('a, 'b) Sprite.table
val add : ('a, 'b) Sprite.table -> 'a -> 'b Sprite.t -> unit
val del : ('a, 'b) Sprite.table -> 'a -> unit
val clear : ('a, 'b) Sprite.table -> unit
val iter : ('a -> 'b Sprite.t -> unit) -> ('a, 'b) Sprite.table -> unit
val iter_data :
('a -> 'b Sprite.t -> 'b -> unit) -> ('a, 'b) Sprite.table -> unit
val fold :
('a -> 'b Sprite.t -> 'c -> 'c) -> ('a, 'b) Sprite.table -> 'c -> 'c
val fold_data :
('a -> 'b Sprite.t -> 'b -> 'c -> 'c) ->
('a, 'b) Sprite.table -> 'c -> 'c
val find : ('a, 'b) Sprite.table -> 'a -> 'b Sprite.t
val set : ('a, 'b) Sprite.table -> 'b Sprite.set
end
end