Mercurial > MadButterfly
view include/mb_so.h @ 887:8a2d676d9fa3 abs_n_rel_center
Fix bug of clearing COF_TEMP_MARK.
draw_shapes_in_dirty_areas() mark COF_TEMP_MARK on coords and clear
them before leaving. But, it always clear the same one coord for
several times and keep others untouched. It is a logical error. It
can be avoided by avoiding to use the variable at mutliple place for
different purpose in a function, and compiler will check it out by
yelling that the variable is used before assigning a value.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 26 Sep 2010 14:07:05 +0800 |
parents | 586e50f82c1f |
children |
line wrap: on
line source
// -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*- // vim: sw=4:ts=8:sts=4 /*! \file * \brief Define types for sprite shared objects. * * A sprite shared object includes definitions of multiple sprite factories. * Sprite factories are used to create sprites for MadButterfly. * * \see http://en.wikipedia.org/wiki/Sprite_(computer_graphics) */ #ifndef __MB_SO_H_ #define __MB_SO_H_ /*! \brief Name of the variable that define contents in a shared object. */ #define MB_SPRITE_SO_SYM "mb_sprite_so_def" typedef struct _mb_sprite_so mb_sprite_so_t; typedef struct _sprite_factory sprite_factory_t; /*! \brief Define content of a sprite shared object. * * The type of symbol with name, defined by \ref MB_SPRITE_SO_SYM, in * a sprite shared object. It define content of a sprite object, a.k.a. * an array of sprite factories (\ref sprite_factory_t). */ struct _mb_sprite_so { const char *soname; int num_factories; sprite_factory_t *factories; }; /*! \brief Define a factory to create sprites. */ struct _sprite_factory { const char *name; sprite_t *(*new)(coord_t*); }; #endif /* __MB_SO_H_ */