]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
merged Point into Vector
[l2e.git] / src / main.cpp
index 8325163ef61c435ec662e2d0e0c8f96c74cbe018..bebeed106e14bf8520b80b00aa8affaa2b07bc14 100644 (file)
@@ -17,7 +17,6 @@
 #include "common/Inventory.h"
 #include "common/Item.h"
 #include "common/Spell.h"
-#include "geometry/Point.h"
 #include "geometry/Vector.h"
 #include "graphics/ComplexAnimation.h"
 #include "graphics/Font.h"
@@ -30,6 +29,8 @@
 #include "sdl/InitScreen.h"
 #include "sdl/InitSDL.h"
 
+#include <cstdlib>
+#include <ctime>
 #include <exception>
 #include <iostream>
 #include <SDL.h>
@@ -46,7 +47,6 @@ using common::Ikari;
 using common::Inventory;
 using common::Item;
 using common::Spell;
-using geometry::Point;
 using geometry::Vector;
 using graphics::ComplexAnimation;
 using graphics::Font;
@@ -70,6 +70,8 @@ int main(int argc, char **argv) {
 
        const int framerate = 33;
 
+//     std::srand(std::time(0));
+
        try {
                InitSDL sdl;
                InitImage image(IMG_INIT_PNG);
@@ -78,15 +80,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, 88));
-               monstersLayout.AddPosition(Point<Uint8>(128, 88));
-               monstersLayout.AddPosition(Point<Uint8>(168, 88));
-               monstersLayout.AddPosition(Point<Uint8>(208, 88));
+               monstersLayout.AddPosition(Vector<Uint8>(88, 88));
+               monstersLayout.AddPosition(Vector<Uint8>(128, 88));
+               monstersLayout.AddPosition(Vector<Uint8>(168, 88));
+               monstersLayout.AddPosition(Vector<Uint8>(208, 88));
                PartyLayout heroesLayout;
-               heroesLayout.AddPosition(Point<Uint8>(48, 136));
-               heroesLayout.AddPosition(Point<Uint8>(128, 136));
-               heroesLayout.AddPosition(Point<Uint8>(80, 152));
-               heroesLayout.AddPosition(Point<Uint8>(160, 152));
+               heroesLayout.AddPosition(Vector<Uint8>(48, 136));
+               heroesLayout.AddPosition(Vector<Uint8>(128, 136));
+               heroesLayout.AddPosition(Vector<Uint8>(80, 152));
+               heroesLayout.AddPosition(Vector<Uint8>(160, 152));
 
                SDL_Surface *monsterImg(IMG_Load("test-data/monster.png"));
                Sprite monsterSprite(monsterImg, 64, 64);
@@ -99,9 +101,9 @@ int main(int argc, char **argv) {
                monster.SetStats(Stats(14, 6, 6, 6, 6, 6, 6));
                monster.SetReward(3, 5);
                ComplexAnimation monsterAttackAnimation(&monsterSprite, 4 * framerate);
-               monsterAttackAnimation.AddFrame(0, 1, Vector<int>(16, 0));
-               monsterAttackAnimation.AddFrame(0, 0, Vector<int>(16, 0));
-               monsterAttackAnimation.AddFrame(0, 1, Vector<int>(16, 0));
+               monsterAttackAnimation.AddFrame(0, 1, Vector<int>(0, 16));
+               monsterAttackAnimation.AddFrame(0, 0, Vector<int>(0, 16));
+               monsterAttackAnimation.AddFrame(0, 1, Vector<int>(0, 16));
                monster.SetAttackAnimation(&monsterAttackAnimation);
                SDL_Surface *monsterMeleeImg(IMG_Load("test-data/attack-monster.png"));
                Sprite monsterMeleeSprite(monsterMeleeImg, 96, 64);
@@ -263,29 +265,30 @@ int main(int argc, char **argv) {
                Font largeFont(&largeFontSprite, 0, -2);
                battleRes.titleFont = &largeFont;
 
-               battleRes.numberAnimationPrototype = ComplexAnimation(0, framerate);
-               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));
+               ComplexAnimation numberAnimationPrototype(0, framerate);
+               numberAnimationPrototype.AddFrame(0, 0);
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -26));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -42));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -48));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -42));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -26));
+               numberAnimationPrototype.AddFrame(0, 0);
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -20));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -24));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -20));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               numberAnimationPrototype.AddFrame(0, 0);
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -6));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -10));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -12));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -10));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -6));
+               numberAnimationPrototype.AddFrames(0, 0, Vector<int>(), 14);
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -36));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -32));
+               numberAnimationPrototype.AddFrame(0, 0, Vector<int>(0, -18));
+               battleRes.numberAnimationPrototype = &numberAnimationPrototype;
 
                SDL_Surface *bigNumbersImg(IMG_Load("test-data/big-numbers.png"));
                Sprite bigNumbersSprite(bigNumbersImg, 16, 32);
@@ -480,6 +483,7 @@ int main(int argc, char **argv) {
                Item zircoSword;
                zircoSword.SetName("Zirco sword");
                zircoSword.SetMenuIcon(&swordIcon);
+               zircoSword.GetTargetingMode().TargetSingleEnemy();
                Ikari firestorm;
                firestorm.SetName("Firestorm");
                firestorm.SetCost(224);
@@ -542,6 +546,7 @@ int main(int argc, char **argv) {
                Item zircoWhip;
                zircoWhip.SetName("Zirco whip");
                zircoWhip.SetMenuIcon(&rodIcon);
+               zircoWhip.GetTargetingMode().TargetSingleEnemy();
                Ikari thundershriek;
                thundershriek.SetName("Thundershriek");
                thundershriek.SetCost(224);
@@ -603,6 +608,7 @@ int main(int argc, char **argv) {
                Item zircoAx;
                zircoAx.SetName("Zirco ax");
                zircoAx.SetMenuIcon(&axIcon);
+               zircoAx.GetTargetingMode().TargetSingleEnemy();
                Ikari torrent;
                torrent.SetName("Torrent");
                torrent.SetCost(224);
@@ -647,6 +653,7 @@ int main(int argc, char **argv) {
                Item lizardBlow;
                lizardBlow.SetName("Lizard blow");
                lizardBlow.SetMenuIcon(&swordIcon);
+               lizardBlow.GetTargetingMode().TargetSingleEnemy();
                Ikari dragonRush;
                dragonRush.SetName("Dragon rush");
                dragonRush.SetCost(164);