X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=e5391a1659f50a19184c0cc36cff72c6020ab9e4;hb=1162be37102b24df11f469495c0184f3f9a26ba0;hp=b4be5be0cb327ea3a2c3a462384bdcdc480ede7b;hpb=c182086fbc039ec2b943b4d109597ccc481b7ba4;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index b4be5be..e5391a1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,8 @@ #include "common/Item.h" #include "common/Spell.h" #include "geometry/Point.h" +#include "geometry/Vector.h" +#include "graphics/ComplexAnimation.h" #include "graphics/Font.h" #include "graphics/Frame.h" #include "graphics/Gauge.h" @@ -42,6 +44,8 @@ using common::Inventory; using common::Item; using common::Spell; using geometry::Point; +using geometry::Vector; +using graphics::ComplexAnimation; using graphics::Font; using graphics::Frame; using graphics::Gauge; @@ -97,6 +101,19 @@ int main(int argc, char **argv) { maxim.SetMaxMana(20); 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)); + maxim.SetAttackAnimation(&maximAttackAnimation); + ComplexAnimation maximSpellAnimation(&maximSprite, 150); + maximSpellAnimation.AddFrames(3, 0, Vector(), 2); + maximSpellAnimation.AddFrame(3, 1); + maxim.SetSpellAnimation(&maximSpellAnimation); SDL_Surface *selanImg(IMG_Load("test-data/selan.png")); Sprite selanSprite(selanImg, 64, 64); @@ -109,6 +126,24 @@ int main(int argc, char **argv) { selan.SetMaxMana(23); selan.SetMana(23); selan.SetIP(1); + ComplexAnimation selanAttackAnimation(&selanSprite, 30); + selanAttackAnimation.AddFrames(1, 0, Vector(4, 0), 2); + selanAttackAnimation.AddFrame(1, 0, Vector(8, 2)); + selanAttackAnimation.AddFrame(2, 0, Vector(10, 4)); + selanAttackAnimation.AddFrame(2, 0, Vector(14, 4)); + selanAttackAnimation.AddFrames(2, 0, Vector(12, 2), 3); + selanAttackAnimation.AddFrames(2, 1, Vector(14, 2), 2); + selanAttackAnimation.AddFrame(2, 1, Vector(2, 0)); + selanAttackAnimation.AddFrame(2, 2, Vector(-2, -4)); + selanAttackAnimation.AddFrame(2, 2, Vector(-8, -8)); + selanAttackAnimation.AddFrame(2, 2); + selan.SetAttackAnimation(&selanAttackAnimation); + ComplexAnimation selanSpellAnimation(&selanSprite, 30); + selanSpellAnimation.AddFrames(2, 0, Vector(), 3); + selanSpellAnimation.AddFrames(2, 1, Vector(), 2); + selanSpellAnimation.AddFrames(2, 2, Vector(), 3); + selanSpellAnimation.AddFrames(2, 3, Vector(), 2); + selan.SetSpellAnimation(&selanSpellAnimation); SDL_Surface *guyImg(IMG_Load("test-data/guy.png")); Sprite guySprite(guyImg, 64, 64); @@ -121,6 +156,18 @@ int main(int argc, char **argv) { guy.SetMaxMana(0); guy.SetMana(0); guy.SetIP(254); + ComplexAnimation guyAttackAnimation(&guySprite, 30); + guyAttackAnimation.AddFrames(1, 0, Vector(-4, 0), 2); + guyAttackAnimation.AddFrames(1, 0, Vector(-8, 0), 2); + guyAttackAnimation.AddFrames(2, 0, Vector(-8, 0), 2); + guyAttackAnimation.AddFrame(2, 0, Vector(-4, 0)); + guyAttackAnimation.AddFrames(2, 0, Vector(), 2); + guyAttackAnimation.AddFrame(2, 1); + guyAttackAnimation.AddFrame(2, 1, Vector(4, 0)); + guyAttackAnimation.AddFrame(2, 1, Vector(10, 0)); + guyAttackAnimation.AddFrame(2, 2, Vector(10, 0)); + guyAttackAnimation.AddFrame(2, 2); + guy.SetAttackAnimation(&guyAttackAnimation); SDL_Surface *dekarImg(IMG_Load("test-data/dekar.png")); Sprite dekarSprite(dekarImg, 64, 64); @@ -133,6 +180,22 @@ int main(int argc, char **argv) { dekar.SetMaxMana(0); dekar.SetMana(0); dekar.SetIP(255); + ComplexAnimation dekarAttackAnimation(&dekarSprite, 30); + dekarAttackAnimation.AddFrame(1, 0, Vector(4, 0)); + dekarAttackAnimation.AddFrame(1, 0, Vector(8, 2)); + dekarAttackAnimation.AddFrame(2, 0, Vector(12, 4)); + dekarAttackAnimation.AddFrame(2, 0, Vector(16, 4)); + dekarAttackAnimation.AddFrames(2, 0, Vector(10, 2), 4); + dekarAttackAnimation.AddFrame(2, 1, Vector(6, 2)); + dekarAttackAnimation.AddFrame(2, 1, Vector()); + dekarAttackAnimation.AddFrame(2, 2, Vector(-2, 0)); + dekarAttackAnimation.AddFrames(2, 2, Vector(0, 0), 3); + dekar.SetAttackAnimation(&dekarAttackAnimation); + ComplexAnimation dekarSpellAnimation(&dekarSprite, 30); + dekarSpellAnimation.AddFrames(2, 0, Vector(), 6); + dekarSpellAnimation.AddFrames(2, 1, Vector(), 2); + dekarSpellAnimation.AddFrames(2, 2, Vector(), 3); + dekar.SetSpellAnimation(&dekarSpellAnimation); battle::Resources battleRes;