/*
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.

This program 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.

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.
*/

#ifdef DECLARE_ANIM_BIT
DECLARE_ANIM_BIT(ab_idle)
DECLARE_ANIM_BIT(ab_sit)
DECLARE_ANIM_BIT(ab_sleep)
DECLARE_ANIM_BIT(ab_crouch)
DECLARE_ANIM_BIT(ab_run)
DECLARE_ANIM_BIT(ab_stop)
DECLARE_ANIM_BIT(ab_land)
DECLARE_ANIM_BIT(ab_landhard)
DECLARE_ANIM_BIT(ab_flip)
DECLARE_ANIM_BIT(ab_walljump)
#endif

#ifdef DECLARE_ANIM
DECLARE_ANIM(runanim, "Run", middleheight, neutral, ab_run)
DECLARE_ANIM(bounceidleanim, "Idle", middleheight, neutral, ab_idle)
DECLARE_ANIM(stopanim, "Stop", middleheight, neutral, ab_stop)
DECLARE_ANIM(jumpupanim, "JumpUp", highheight, neutral, 0)
DECLARE_ANIM(jumpdownanim, "JumpDown", highheight, neutral, 0)
DECLARE_ANIM(landanim, "Landing", lowheight, neutral, ab_land)
DECLARE_ANIM(landhardanim, "Landhard", lowheight, neutral, ab_landhard)
DECLARE_ANIM(climbanim, "Climb", lowheight, neutral, 0)
DECLARE_ANIM(hanganim, "Hangon", lowheight, neutral, 0)
DECLARE_ANIM(spinkickanim, "SpinKick", middleheight, normalattack, 0)
DECLARE_ANIM(getupfromfrontanim, "GetUpFromFront", lowheight, neutral, 0)
DECLARE_ANIM(getupfrombackanim, "GetUpFromBack", lowheight, neutral, 0)
DECLARE_ANIM(crouchanim, "Crouch", lowheight, neutral, ab_crouch)
DECLARE_ANIM(sneakanim, "Sneak", lowheight, neutral, 0)
DECLARE_ANIM(rollanim, "Roll", lowheight, neutral, 0)
DECLARE_ANIM(flipanim, "Flip", highheight, neutral, ab_flip)
DECLARE_ANIM(frontflipanim, "Flip", highheight, neutral, ab_flip)
DECLARE_ANIM(spinkickreversedanim, "SpinKickCaught", middleheight, reversed, 0)
DECLARE_ANIM(spinkickreversalanim, "SpinKickCatch", middleheight, reversal, 0)
DECLARE_ANIM(lowkickanim, "lowkick", middleheight, normalattack, 0)
DECLARE_ANIM(sweepanim, "sweep", lowheight, normalattack, 0)
DECLARE_ANIM(sweepreversedanim, "SweepCaught", lowheight, reversed, 0)
DECLARE_ANIM(sweepreversalanim, "SweepCatch", middleheight, reversal, 0)
DECLARE_ANIM(rabbitkickanim, "RabbitKick", middleheight, normalattack, 0)
DECLARE_ANIM(rabbitkickreversedanim, "RabbitKickCaught", middleheight, reversed, 0)
DECLARE_ANIM(rabbitkickreversalanim, "RabbitKickCatch", lowheight, reversal, 0)
DECLARE_ANIM(upunchanim, "Upunch", middleheight, normalattack, 0)
DECLARE_ANIM(staggerbackhighanim, "Staggerbackhigh", middleheight, neutral, 0)
DECLARE_ANIM(upunchreversedanim, "UpunchCaught", middleheight, reversed, 0)
DECLARE_ANIM(upunchreversalanim, "UpunchCatch", middleheight, reversal, 0)
DECLARE_ANIM(hurtidleanim, "Hurtidle", middleheight, neutral, ab_idle)
DECLARE_ANIM(backhandspringanim, "Backhandspring", middleheight, neutral, 0)
DECLARE_ANIM(fightidleanim, "Fightidle", middleheight, neutral, ab_idle)
DECLARE_ANIM(walkanim, "Walk", middleheight, neutral, 0)
DECLARE_ANIM(fightsidestep, "Fightsidestep", middleheight, neutral, ab_idle)
DECLARE_ANIM(killanim, "Kill", middleheight, normalattack, 0)
DECLARE_ANIM(sneakattackanim, "Sneakattack", middleheight, reversal, 0)
DECLARE_ANIM(sneakattackedanim, "Sneakattacked", middleheight, reversed, 0)
DECLARE_ANIM(drawrightanim, "drawright", middleheight, neutral, 0)
DECLARE_ANIM(knifeslashstartanim, "slashstart", middleheight, normalattack, 0)
DECLARE_ANIM(crouchdrawrightanim, "crouchdrawright", lowheight, neutral, 0)
DECLARE_ANIM(crouchstabanim, "crouchstab", lowheight, normalattack, 0)
DECLARE_ANIM(knifefollowanim, "slashfollow", middleheight, reversal, 0)
DECLARE_ANIM(knifefollowedanim, "slashfollowed", middleheight, reversed, 0)
DECLARE_ANIM(knifethrowanim, "knifethrow", middleheight, normalattack, 0)
DECLARE_ANIM(removeknifeanim, "removeknife", middleheight, neutral, 0)
DECLARE_ANIM(crouchremoveknifeanim, "crouchremoveknife", lowheight, neutral, 0)
DECLARE_ANIM(jumpreversedanim, "JumpCaught", middleheight, reversed, 0)
DECLARE_ANIM(jumpreversalanim, "JumpCatch", middleheight, reversal, 0)
DECLARE_ANIM(staggerbackhardanim, "Staggerbackhard", middleheight, neutral, 0)
DECLARE_ANIM(dropkickanim, "Dropkick", middleheight, normalattack, 0)
DECLARE_ANIM(winduppunchanim, "Winduppunch", middleheight, normalattack, 0)
DECLARE_ANIM(winduppunchblockedanim, "Winduppunchblocked", middleheight, normalattack, 0)
DECLARE_ANIM(blockhighleftanim, "Blockhighleft", middleheight, normalattack, 0)
DECLARE_ANIM(blockhighleftstrikeanim, "Blockhighleftstrike", middleheight, normalattack, 0)
DECLARE_ANIM(backflipanim, "Backflip", highheight, neutral, ab_flip)
DECLARE_ANIM(walljumpbackanim, "Walljumpback", highheight, neutral, ab_walljump)
DECLARE_ANIM(walljumpfrontanim, "Walljumpfront", highheight, neutral, ab_walljump)
DECLARE_ANIM(rightflipanim, "Rightflip", highheight, neutral, ab_flip)
DECLARE_ANIM(walljumprightanim, "Walljumpright", highheight, neutral, ab_walljump)
DECLARE_ANIM(leftflipanim, "Leftflip", highheight, neutral, ab_flip)
DECLARE_ANIM(walljumpleftanim, "Walljumpleft", highheight, neutral, ab_walljump)
DECLARE_ANIM(walljumprightkickanim, "Walljumprightkick", highheight, neutral, ab_flip)
DECLARE_ANIM(walljumpleftkickanim, "Walljumpleftkick", highheight, neutral, ab_flip)
DECLARE_ANIM(knifefightidleanim, "Knifefightidle", middleheight, neutral, ab_idle)
DECLARE_ANIM(knifesneakattackanim, "Knifesneakattack", middleheight, reversal, 0)
DECLARE_ANIM(knifesneakattackedanim, "Knifesneakattacked", middleheight, reversed, 0)
DECLARE_ANIM(swordfightidleanim, "swordfightidle", middleheight, neutral, ab_idle)
DECLARE_ANIM(drawleftanim, "drawleft", middleheight, neutral, 0)
DECLARE_ANIM(swordslashanim, "swordslash", middleheight, normalattack, 0)
DECLARE_ANIM(swordgroundstabanim, "swordgroundstab", lowheight, normalattack, 0)
DECLARE_ANIM(dodgebackanim, "dodgeback", middleheight, neutral, 0)
DECLARE_ANIM(swordsneakattackanim, "Swordsneakattack", middleheight, reversal, 0)
DECLARE_ANIM(swordsneakattackedanim, "Swordsneakattacked", middleheight, reversed, 0)
DECLARE_ANIM(swordslashreversedanim, "swordslashCaught", middleheight, reversed, 0)
DECLARE_ANIM(swordslashreversalanim, "swordslashCatch", middleheight, reversal, 0)
DECLARE_ANIM(knifeslashreversedanim, "knifeslashCaught", middleheight, reversed, 0)
DECLARE_ANIM(knifeslashreversalanim, "knifeslashCatch", middleheight, reversal, 0)
DECLARE_ANIM(swordfightidlebothanim, "swordfightidleboth", middleheight, neutral, ab_idle)
DECLARE_ANIM(swordslashparryanim, "sworduprightparry", middleheight, normalattack, 0)
DECLARE_ANIM(swordslashparriedanim, "swordslashparried", middleheight, normalattack, 0)
DECLARE_ANIM(wolfidle, "Wolfidle", middleheight, neutral, ab_idle)
DECLARE_ANIM(wolfcrouchanim, "Wolfcrouch", lowheight, neutral, ab_crouch)
DECLARE_ANIM(wolflandanim, "Wolflanding", lowheight, neutral, ab_land)
DECLARE_ANIM(wolflandhardanim, "Wolflandhard", lowheight, neutral, ab_landhard)
DECLARE_ANIM(wolfrunanim, "Wolfrun", middleheight, neutral, ab_run)
DECLARE_ANIM(wolfrunninganim, "Wolfrunning", middleheight, neutral, ab_run)
DECLARE_ANIM(rabbitrunninganim, "Rabbitrunning", middleheight, neutral, ab_run)
DECLARE_ANIM(wolfstopanim, "Wolfstop", middleheight, neutral, ab_stop)
DECLARE_ANIM(rabbittackleanim, "Rabbittackle", middleheight, neutral, 0)
DECLARE_ANIM(rabbittacklinganim, "Rabbittackling", middleheight, reversal, 0)
DECLARE_ANIM(rabbittackledbackanim, "Rabbittackledback", middleheight, reversed, 0)
DECLARE_ANIM(rabbittackledfrontanim, "Rabbittackledfront", middleheight, reversed, 0)
DECLARE_ANIM(wolfslapanim, "Wolfslap", middleheight, normalattack, 0)
DECLARE_ANIM(staffhitanim, "StaffHit", middleheight, normalattack, 0)
DECLARE_ANIM(staffgroundsmashanim, "StaffGroundSmash", lowheight, normalattack, 0)
DECLARE_ANIM(staffspinhitanim, "Spinwhack", middleheight, normalattack, 0)
DECLARE_ANIM(staffhitreversedanim, "StaffHitCaught", middleheight, reversed, 0)
DECLARE_ANIM(staffhitreversalanim, "StaffHitCatch", middleheight, reversal, 0)
DECLARE_ANIM(staffspinhitreversedanim, "SpinWhackCaught", middleheight, reversed, 0)
DECLARE_ANIM(staffspinhitreversalanim, "SpinWhackCatch", middleheight, reversal, 0)
DECLARE_ANIM(sitanim, "Sit", lowheight, neutral, ab_idle | ab_sit)
DECLARE_ANIM(sleepanim, "Sleep", lowheight, neutral, ab_idle | ab_sleep)
DECLARE_ANIM(talkidleanim, "TalkIdle", middleheight, neutral, ab_idle)
DECLARE_ANIM(sitwallanim, "Dying", lowheight, neutral, ab_sit)
DECLARE_ANIM(dead1anim, "Dead1", lowheight, neutral, ab_sleep)
DECLARE_ANIM(dead2anim, "Dead2", lowheight, neutral, ab_sleep)
DECLARE_ANIM(dead3anim, "Dead3", lowheight, neutral, ab_sleep)
DECLARE_ANIM(dead4anim, "Dead4", lowheight, neutral, ab_sleep)

DECLARE_ANIM(loadable_anim_end, "", 0, 0, 0)

/* Not implemented.  */
DECLARE_ANIM(rabbittacklereversal, "", 0, 0, 0)
DECLARE_ANIM(rabbittacklereversed, "", 0, 0, 0)
DECLARE_ANIM(sworddisarmanim, "", 0, 0, 0)
DECLARE_ANIM(swordslashleftanim, "", 0, 0, 0)
DECLARE_ANIM(swordslashrightanim, "", 0, 0, 0)
DECLARE_ANIM(swordstabanim, "", 0, 0, 0)
DECLARE_ANIM(wolfbashanim, "", 0, 0, 0)
DECLARE_ANIM(wolfclawanim, "", 0, 0, 0)
DECLARE_ANIM(wolffightidle, "", 0, 0, 0)
DECLARE_ANIM(wolfhurtidle, "", 0, 0, 0)
DECLARE_ANIM(wolfsneakanim, "", 0, 0, 0)
DECLARE_ANIM(wolfswordidle, "", 0, 0, 0)
DECLARE_ANIM(wolftackleanim, "", 0, 0, 0)
DECLARE_ANIM(wolftackledbacanim, "", 0, 0, 0)
DECLARE_ANIM(wolftackledfrontanim, "", 0, 0, 0)
DECLARE_ANIM(wolftacklereversal, "", 0, 0, 0)
DECLARE_ANIM(wolftacklereversed, "", 0, 0, 0)
DECLARE_ANIM(wolftacklinganim, "", 0, 0, 0)

DECLARE_ANIM(tempanim, "", 0, 0, 0)
#endif
