X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FAnimation.h;h=ed6f2785854619795c727c9c87a5a66da29d2a75;hb=cd043e3f9e26c2b3406b40a354c2840941e9db7f;hp=b8e821b721dff7e41daff1f2996d09b5c718e799;hpb=0c1b3a5082fbac63dfbaa725bddf3336c07b00c2;p=lugaru.git diff --git a/Source/Animation.h b/Source/Animation.h index b8e821b..ed6f278 100644 --- a/Source/Animation.h +++ b/Source/Animation.h @@ -3,40 +3,59 @@ Copyright (C) 2010 - Lugaru authors This file is part of Lugaru. -Lugaru is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +Lugaru is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -This program is distributed in the hope that it will be useful, +Lugaru is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with Lugaru. If not, see . */ #ifndef ANIMATION_H -#define ANIMATION_H +#define ANIMATION_H enum anim_attack_type { - neutral, normalattack, reversed, reversal + neutral, normalattack, reversed, reversal }; enum anim_height_type { - lowheight, middleheight, highheight + lowheight, middleheight, highheight }; enum animation_types { -#define DECLARE_ANIM(id, file, height, attack) id, +#define DECLARE_ANIM(id, ...) id, +#include "Animation.def" +#undef DECLARE_ANIM + animation_count +}; + +enum animation_bit_offsets { +#define DECLARE_ANIM_BIT(bit) o_##bit, +#include "Animation.def" +#undef DECLARE_ANIM_BIT + animation_bit_count +}; + +enum animation_bits_def { +#define DECLARE_ANIM_BIT(bit) bit = 1 << o_##bit, +#include "Animation.def" +#undef DECLARE_ANIM_BIT +}; + +static const int animation_bits[animation_count] = { +#define DECLARE_ANIM(id, name, height, type, bits) bits, #include "Animation.def" #undef DECLARE_ANIM -animation_count }; extern Animation animation[animation_count]; + +extern void loadAllAnimations(); #endif