[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Adonthell-devel] Animation / World integration

From: Kai Sterker
Subject: [Adonthell-devel] Animation / World integration
Date: Tue, 29 May 2007 03:23:50 +0200

Integration of the current animation class into the world module
appears to be the first thing that needs to happen before I can do
anything useful with it.

After looking over the code for some time, I still think we should
keep the current animation class and change the world stuff to fit.

* world is not the place to deal with sprites. It can display them and
make sure the logical state of a map object/character is reflected by
the sprite, but it should really concentrate on keeping track of the
game world.
* along the same lines, with sprites living in the world module, map
objects need to be associated with individual animations when they are
created. From the perspective of a map editor however, it would make
more sense to have pre-made sprites to assign to new map objects and a
separate place to actually create the sprites.
* sprites might be useful elsewhere. The GUI might use sprites to
store graphics for different states of a widget. I.e. the selected
widget might actually have a glow around it, instead of having its
brightness changed. (There might be other ways to implement that,
* leaving sprites in the gfx module would make world a little simpler.

The way I would go about integrating things is the following:

* Eliminate placeable_area_gfx. It directly extends animation and the
only thing it does is setting the size of the underlying drawable. If
needed, that can be done elsewhere.

* Change placeable_model_gfx (the only place where placeable_area_gfx
is used). It also holds the sprite implementation. Instead of a list
of animations, it would just contain one gfx::animation instance. All
the methods that deal with adding/removing animations from the sprite
would be moved to gfx::animation. They would be used by an animation

And that's really all. So unless there are compelling reasons to do it
differently, I will make the changes one of these days.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]