]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
changed battle positions from bottom-center to center
[l2e.git] / src / main.cpp
index aff39b5fee7c6145b17eb51809d7c841803a2c9d..909cbd4be04c6292f990c661fd4d5dd265762c09 100644 (file)
@@ -23,6 +23,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"
@@ -50,6 +51,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;
@@ -72,15 +74,15 @@ int main(int argc, char **argv) {
                // temporary test data
                SDL_Surface *bg(IMG_Load("test-data/battle-bg.png"));
                PartyLayout monstersLayout;
-               monstersLayout.AddPosition(Point<Uint8>(88, 104));
-               monstersLayout.AddPosition(Point<Uint8>(128, 104));
-               monstersLayout.AddPosition(Point<Uint8>(168, 104));
-               monstersLayout.AddPosition(Point<Uint8>(208, 104));
+               monstersLayout.AddPosition(Point<Uint8>(88, 88));
+               monstersLayout.AddPosition(Point<Uint8>(128, 88));
+               monstersLayout.AddPosition(Point<Uint8>(168, 88));
+               monstersLayout.AddPosition(Point<Uint8>(208, 88));
                PartyLayout heroesLayout;
-               heroesLayout.AddPosition(Point<Uint8>(48, 152));
-               heroesLayout.AddPosition(Point<Uint8>(128, 152));
-               heroesLayout.AddPosition(Point<Uint8>(80, 168));
-               heroesLayout.AddPosition(Point<Uint8>(160, 168));
+               heroesLayout.AddPosition(Point<Uint8>(48, 136));
+               heroesLayout.AddPosition(Point<Uint8>(128, 136));
+               heroesLayout.AddPosition(Point<Uint8>(80, 152));
+               heroesLayout.AddPosition(Point<Uint8>(160, 152));
 
                SDL_Surface *monsterImg(IMG_Load("test-data/monster.png"));
                Sprite dummySprite(monsterImg, 64, 64);
@@ -102,18 +104,23 @@ int main(int argc, char **argv) {
                maxim.SetMana(20);
                maxim.SetIP(0);
                ComplexAnimation maximAttackAnimation(&maximSprite, 30);
-               maximAttackAnimation.AddFrames(2, 0, Vector<int>(), 2);
-               maximAttackAnimation.AddFrames(2, 0, Vector<int>(4, 0), 2);
-               maximAttackAnimation.AddFrame(2, 1, Vector<int>(4, 0));
-               maximAttackAnimation.AddFrames(2, 1, Vector<int>(-2, 0), 2);
-               maximAttackAnimation.AddFrame(2, 1, Vector<int>(-8, 0));
-               maximAttackAnimation.AddFrames(2, 2, Vector<int>(-8, 0), 2);
-               maximAttackAnimation.AddFrame(2, 2, Vector<int>(-4, 0));
+               maximAttackAnimation.AddFrame(1, 0, Vector<int>(2, 0));
+               maximAttackAnimation.AddFrame(1, 0, Vector<int>(2, -1));
+               maximAttackAnimation.AddFrames(2, 0, Vector<int>(2, -2), 2);
+               maximAttackAnimation.AddFrame(2, 0, Vector<int>(4, -2));
+               maximAttackAnimation.AddFrame(2, 0, Vector<int>(3, -1));
+               maximAttackAnimation.AddFrames(2, 1, Vector<int>(3, -1), 2);
+               maximAttackAnimation.AddFrame(2, 1);
+               maximAttackAnimation.AddFrames(2, 2, Vector<int>(), 2);
                maxim.SetAttackAnimation(&maximAttackAnimation);
                ComplexAnimation maximSpellAnimation(&maximSprite, 150);
                maximSpellAnimation.AddFrames(3, 0, Vector<int>(), 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);
+               maxim.SetMeleeAnimation(&maximMeleeAnimation);
 
                SDL_Surface *selanImg(IMG_Load("test-data/selan.png"));
                Sprite selanSprite(selanImg, 64, 64);
@@ -139,10 +146,10 @@ int main(int argc, char **argv) {
                selanAttackAnimation.AddFrame(2, 2);
                selan.SetAttackAnimation(&selanAttackAnimation);
                ComplexAnimation selanSpellAnimation(&selanSprite, 30);
-               selanAttackAnimation.AddFrames(2, 0, Vector<int>(), 3);
-               selanAttackAnimation.AddFrames(2, 1, Vector<int>(), 2);
-               selanAttackAnimation.AddFrames(2, 2, Vector<int>(), 3);
-               selanAttackAnimation.AddFrames(2, 3, Vector<int>(), 2);
+               selanSpellAnimation.AddFrames(2, 0, Vector<int>(), 3);
+               selanSpellAnimation.AddFrames(2, 1, Vector<int>(), 2);
+               selanSpellAnimation.AddFrames(2, 2, Vector<int>(), 3);
+               selanSpellAnimation.AddFrames(2, 3, Vector<int>(), 2);
                selan.SetSpellAnimation(&selanSpellAnimation);
 
                SDL_Surface *guyImg(IMG_Load("test-data/guy.png"));
@@ -221,6 +228,37 @@ int main(int argc, char **argv) {
                Font largeFont(&largeFontSprite, 0, -2);
                battleRes.titleFont = &largeFont;
 
+               battleRes.numberAnimationPrototype = ComplexAnimation(0, 30);
+               battleRes.numberAnimationPrototype.AddFrame(0, 0);
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -26));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -42));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -48));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -42));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -26));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0);
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -20));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -24));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -20));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0);
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -6));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -10));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -10));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -6));
+               battleRes.numberAnimationPrototype.AddFrames(0, 0, Vector<int>(), 14);
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -36));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -32));
+               battleRes.numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -18));
+
+               SDL_Surface *bigNumbersImg(IMG_Load("test-data/big-numbers.png"));
+               Sprite bigNumbersSprite(bigNumbersImg, 16, 32);
+               battleRes.bigNumberSprite = &bigNumbersSprite;
+               SDL_Surface *bigGreenNumbersImg(IMG_Load("test-data/big-green-numbers.png"));
+               Sprite bigGreenNumbersSprite(bigGreenNumbersImg, 16, 32);
+               battleRes.greenNumberSprite = &bigGreenNumbersSprite;
+
                SDL_Surface *heroTagImg(IMG_Load("test-data/hero-tag-sprites.png"));
                Sprite heroTagSprite(heroTagImg, 32, 16);
                battleRes.heroTagLabels = &heroTagSprite;
@@ -411,7 +449,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);