Term::Animation Version 1.x to 2.x Migration Guide

Version 2.0 of Term::Animation is not backwards compatible with
previous versions. This guide describes how to convert your application
to use the new version.


I've made a change in terminology throughout the module. Previously,
the "thingies" on the screen were referred to as "objects". That
wasn't great to begin with, and now that they are also "objects"
in the OOP sense, it's even worse. So now they are referred to
as "entities". Hopefully this will be a bit less confusing.


Starting with version 2.0, some things have been moved to a
separate Term::Animation::Entity package. In the guide below,
$anim->foo indicates a call to a Term::Animation method,
and $ent->foo indicates a call to a Term::Animation::Entity

Old Version		New Version
-----------		-----------

enable_color		$anim->color(1)
disable_color		$anim->color(0)
color_enabled		$anim->color()

get_screen_size		$anim->screen_size
set_background		$anim->background
remove_all_objects	$anim->remove_all_entities

build_object		Term::Animation::Entity->new
add_object		$anim->add_entity
del_object		$anim->del_entity

get_position		$ent->position
get_current_frame	$ent->frame
set_shape		$ent->shape
set_color		$ent->color
set_default_color	$ent->default_color
move_object		$ent->move_entity

auto_trans		auto_trans parameter to

exist			$anim->entity('entity_name')


Some of the parameters when creating a new animation entity
have changed as well.

The auto_death/death_arg parameters have been replaced
with separate parameters for each type of auto death.
They are:
	die_offscreen (boolean)
	die_time (epoch time)
	die_frame (number of frames)

The auto_trans method has been removed and replaced with
an auto_trans parameter when creating an entity. It
defaults to off (0).


Callback routines no longer return a "flag" that can be
used to specify that the entity in question should be removed.
Instead, you should call $ent->kill inside the callback
routine if you want it to go away. Entities are only removed
once all of the callback routines have been run, so the
entity will still be there if it needs to be referenced
by another callback routine in that cycle.

Callback routines now take two arguments. The first argument
is a reference to the entity that the callback is being called 
for. The second is a reference to the Term::Animation instance 
that the callback is being called from.


The direction of the Z dimension (depth) has been reversed. Entities
with a higher Z position will now be further away instead of closer.