X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=49a79b62e7b8d7bb34e166281fa5cac5cee9f8ad;hb=8456b7dac2051bfd2b507a39854c1428eb4d91cd;hp=0fd129b98618401a1acc34f5f419ba448ba2d5cc;hpb=187a0f2c37bd4c1e80c5c4351aaf80695508817f;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 0fd129b..49a79b6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ #include "app/Application.h" #include "app/Input.h" +#include "battle/AttackAnimation.h" #include "battle/BattleState.h" #include "battle/Hero.h" #include "battle/Monster.h" @@ -23,6 +24,7 @@ #include "graphics/Frame.h" #include "graphics/Gauge.h" #include "graphics/Menu.h" +#include "graphics/SimpleAnimation.h" #include "graphics/Sprite.h" #include "sdl/InitImage.h" #include "sdl/InitScreen.h" @@ -35,6 +37,7 @@ using app::Application; using app::Input; +using battle::AttackAnimation; using battle::BattleState; using battle::Hero; using battle::Monster; @@ -50,6 +53,7 @@ using graphics::Font; using graphics::Frame; using graphics::Gauge; using graphics::Menu; +using graphics::SimpleAnimation; using graphics::Sprite; using sdl::InitImage; using sdl::InitScreen; @@ -102,18 +106,29 @@ int main(int argc, char **argv) { maxim.SetMana(20); maxim.SetIP(0); ComplexAnimation maximAttackAnimation(&maximSprite, 30); - maximAttackAnimation.AddFrames(2, 0, Vector(), 2); - maximAttackAnimation.AddFrames(2, 0, Vector(4, 0), 2); - maximAttackAnimation.AddFrame(2, 1, Vector(4, 0)); - maximAttackAnimation.AddFrames(2, 1, Vector(-2, 0), 2); - maximAttackAnimation.AddFrame(2, 1, Vector(-8, 0)); - maximAttackAnimation.AddFrames(2, 2, Vector(-8, 0), 2); - maximAttackAnimation.AddFrame(2, 2, Vector(-4, 0)); + maximAttackAnimation.AddFrame(1, 0, Vector(2, 0)); + maximAttackAnimation.AddFrame(1, 0, Vector(2, -1)); + maximAttackAnimation.AddFrames(2, 0, Vector(2, -2), 2); + maximAttackAnimation.AddFrame(2, 0, Vector(4, -2)); + maximAttackAnimation.AddFrame(2, 0, Vector(3, -1)); + maximAttackAnimation.AddFrames(2, 1, Vector(3, -1), 2); + maximAttackAnimation.AddFrame(2, 1); + maximAttackAnimation.AddFrames(2, 2, Vector(), 2); maxim.SetAttackAnimation(&maximAttackAnimation); ComplexAnimation maximSpellAnimation(&maximSprite, 150); maximSpellAnimation.AddFrames(3, 0, Vector(), 2); maximSpellAnimation.AddFrame(3, 1); maxim.SetSpellAnimation(&maximSpellAnimation); + SDL_Surface *maximMeleeImg(IMG_Load("test-data/melee-maxim.png")); + Sprite maximMeleeSprite(maximMeleeImg, 96, 96); + SimpleAnimation maximMeleeAnimation(&maximMeleeSprite, 30, 4); + AttackAnimation maximMeleeScript; + maximMeleeScript.PlayAttackAnimation(); + maximMeleeScript.StartTimer(150); + maximMeleeScript.WaitForTimer(); + maximMeleeScript.PlayTargetAnimation(&maximMeleeAnimation); + maximMeleeScript.WaitForAnimations(); + maxim.SetMeleeAnimation(&maximMeleeScript); SDL_Surface *selanImg(IMG_Load("test-data/selan.png")); Sprite selanSprite(selanImg, 64, 64); @@ -442,7 +457,7 @@ int main(int argc, char **argv) { firestorm.GetTargetingMode().TargetAllEnemies(); firestorm.SetPhysical(); zircoSword.SetIkari(&firestorm); - maxim.SetWeapon(&zircoSword); +// maxim.SetWeapon(&zircoSword); Item zirconArmor; zirconArmor.SetName("Zircon armor"); zirconArmor.SetMenuIcon(&armorIcon);