]> git.localhorst.tv Git - l2e.git/commitdiff
moved map sprites to data file
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Sun, 7 Oct 2012 18:08:43 +0000 (20:08 +0200)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Sun, 7 Oct 2012 18:08:43 +0000 (20:08 +0200)
src/main.cpp
test-data/test.l2s

index f971d46e3ac9586c9dad4411d2a01aa4ebee7b6e..ff49b66bb578b11a9536fb476abcb7b868d6b75d 100644 (file)
@@ -13,6 +13,7 @@
 #include "battle/Monster.h"
 #include "battle/PartyLayout.h"
 #include "battle/Resources.h"
+#include "common/GameState.h"
 #include "common/Hero.h"
 #include "common/Ikari.h"
 #include "common/Inventory.h"
@@ -57,6 +58,7 @@ using app::Input;
 using battle::BattleState;
 using battle::Monster;
 using battle::PartyLayout;
+using common::GameState;
 using common::Hero;
 using common::Ikari;
 using common::Inventory;
@@ -171,36 +173,44 @@ int main(int argc, char **argv) {
 
                Caster caster(intp);
 
+               GameState gameState;
+
+               gameState.heroes[0] = *caster.GetHero("maxim");
+               gameState.heroes[1] = *caster.GetHero("selan");
+               gameState.heroes[2] = *caster.GetHero("guy");
+               gameState.heroes[3] = *caster.GetHero("dekar");
+
+               gameState.party[0] = &gameState.heroes[0];
+               gameState.party[1] = &gameState.heroes[1];
+               gameState.party[2] = &gameState.heroes[2];
+               gameState.party[3] = &gameState.heroes[3];
+
                // temporary test data
                SDL_Surface *bg(IMG_Load("test-data/battle-bg.png"));
                PartyLayout monstersLayout(*caster.GetPartyLayout("monstersLayout"));
                PartyLayout heroesLayout(*caster.GetPartyLayout("heroesLayout"));
 
                Monster monster(*caster.GetMonster("lizard"));
-               Hero maxim(*caster.GetHero("maxim"));
-               Hero selan(*caster.GetHero("selan"));
-               Hero guy(*caster.GetHero("guy"));
-               Hero dekar(*caster.GetHero("dekar"));
 
                battle::Resources *battleRes(caster.GetBattleResources("battleResources"));
 
-               maxim.AddSpell(caster.GetSpell("resetSpell"));
+               gameState.heroes[0].AddSpell(caster.GetSpell("resetSpell"));
                Spell *strongSpell(caster.GetSpell("strongSpell"));
-               maxim.AddSpell(strongSpell);
-               selan.AddSpell(strongSpell);
+               gameState.heroes[0].AddSpell(strongSpell);
+               gameState.heroes[1].AddSpell(strongSpell);
                Spell *strongerSpell(caster.GetSpell("strongerSpell"));
-               maxim.AddSpell(strongerSpell);
-               selan.AddSpell(strongerSpell);
+               gameState.heroes[0].AddSpell(strongerSpell);
+               gameState.heroes[1].AddSpell(strongerSpell);
                Spell *championSpell(caster.GetSpell("championSpell"));
-               maxim.AddSpell(championSpell);
-               selan.AddSpell(championSpell);
+               gameState.heroes[0].AddSpell(championSpell);
+               gameState.heroes[1].AddSpell(championSpell);
                Spell *rallySpell(caster.GetSpell("rallySpell"));
-               maxim.AddSpell(rallySpell);
-               selan.AddSpell(rallySpell);
-               selan.AddSpell(caster.GetSpell("escapeSpell"));
+               gameState.heroes[0].AddSpell(rallySpell);
+               gameState.heroes[1].AddSpell(rallySpell);
+               gameState.heroes[1].AddSpell(caster.GetSpell("escapeSpell"));
                Spell *valorSpell(caster.GetSpell("valorSpell"));
-               maxim.AddSpell(valorSpell);
-               selan.AddSpell(valorSpell);
+               gameState.heroes[0].AddSpell(valorSpell);
+               gameState.heroes[1].AddSpell(valorSpell);
 
                Inventory inventory;
                inventory.Add(caster.GetItem("antidoteItem"), 9);
@@ -211,34 +221,34 @@ int main(int argc, char **argv) {
                inventory.Add(caster.GetItem("sleepBallItem"), 1);
                battleRes->inventory = &inventory;
 
-               maxim.SetWeapon(caster.GetItem("zircoSwordItem"));
-               maxim.SetArmor(caster.GetItem("zirconArmorItem"));
-               maxim.SetShield(caster.GetItem("holyShieldItem"));
-               maxim.SetHelmet(caster.GetItem("legendHelmItem"));
-               maxim.SetRing(caster.GetItem("sProRingItem"));
-               maxim.SetJewel(caster.GetItem("evilJewelItem"));
-
-//             selan.SetWeapon(cst.GetItem("zircoWhipItem"));
-               selan.SetArmor(caster.GetItem("zirconPlateItem"));
-               selan.SetShield(caster.GetItem("zircoGlovesItem"));
-               selan.SetHelmet(caster.GetItem("holyCapItem"));
-               selan.SetRing(caster.GetItem("ghostRingItem"));
-               selan.SetJewel(caster.GetItem("eagleRockItem"));
-
-//             guy.SetWeapon(cst.GetItem("zircoAxItem"));
-               guy.SetArmor(caster.GetItem("zirconArmorItem"));
-               guy.SetShield(caster.GetItem("megaShieldItem"));
-               guy.SetHelmet(caster.GetItem("zircoHelmetItem"));
-               guy.SetRing(caster.GetItem("powerRingItem"));
-               guy.SetJewel(caster.GetItem("evilJewelItem"));
+               gameState.heroes[0].SetWeapon(caster.GetItem("zircoSwordItem"));
+               gameState.heroes[0].SetArmor(caster.GetItem("zirconArmorItem"));
+               gameState.heroes[0].SetShield(caster.GetItem("holyShieldItem"));
+               gameState.heroes[0].SetHelmet(caster.GetItem("legendHelmItem"));
+               gameState.heroes[0].SetRing(caster.GetItem("sProRingItem"));
+               gameState.heroes[0].SetJewel(caster.GetItem("evilJewelItem"));
+
+//             gameState.heroes[1].SetWeapon(cst.GetItem("zircoWhipItem"));
+               gameState.heroes[1].SetArmor(caster.GetItem("zirconPlateItem"));
+               gameState.heroes[1].SetShield(caster.GetItem("zircoGlovesItem"));
+               gameState.heroes[1].SetHelmet(caster.GetItem("holyCapItem"));
+               gameState.heroes[1].SetRing(caster.GetItem("ghostRingItem"));
+               gameState.heroes[1].SetJewel(caster.GetItem("eagleRockItem"));
+
+//             gameState.heroes[2].SetWeapon(cst.GetItem("zircoAxItem"));
+               gameState.heroes[2].SetArmor(caster.GetItem("zirconArmorItem"));
+               gameState.heroes[2].SetShield(caster.GetItem("megaShieldItem"));
+               gameState.heroes[2].SetHelmet(caster.GetItem("zircoHelmetItem"));
+               gameState.heroes[2].SetRing(caster.GetItem("powerRingItem"));
+               gameState.heroes[2].SetJewel(caster.GetItem("evilJewelItem"));
 
                // NOTE: this is actually Artea equipment
-//             dekar.SetWeapon(cst.GetItem("lizardBlowItem"));
-               dekar.SetArmor(caster.GetItem("holyRobeItem"));
-               dekar.SetShield(caster.GetItem("zircoGlovesItem"));
-               dekar.SetHelmet(caster.GetItem("holyCapItem"));
-               dekar.SetRing(caster.GetItem("rocketRingItem"));
-               dekar.SetJewel(caster.GetItem("krakenRockItem"));
+//             gameState.heroes[3].SetWeapon(cst.GetItem("lizardBlowItem"));
+               gameState.heroes[3].SetArmor(caster.GetItem("holyRobeItem"));
+               gameState.heroes[3].SetShield(caster.GetItem("zircoGlovesItem"));
+               gameState.heroes[3].SetHelmet(caster.GetItem("holyCapItem"));
+               gameState.heroes[3].SetRing(caster.GetItem("rocketRingItem"));
+               gameState.heroes[3].SetJewel(caster.GetItem("krakenRockItem"));
 
                Tile tiles1[64];
 
@@ -499,17 +509,13 @@ int main(int argc, char **argv) {
                triggers2[0].map = &map1;
                triggers2[0].target = Vector<int>(8, 3);
 
-               SDL_Surface *mapMaximImg(IMG_Load("test-data/maxim-map.png"));
-               Sprite mapMaximSprite(mapMaximImg, 32, 64);
-               SimpleAnimation mapMaximAnimation(&mapMaximSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
+               SimpleAnimation mapMaximAnimation(gameState.heroes[0].MapSprite(), (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
                Entity mapMaxim;
                mapMaxim.SetAnimation(&mapMaximAnimation);
                mapMaxim.Position() = Vector<float>(64, 128);
                mapMaxim.SpriteOffset() = Vector<float>(0, -32);
 
-               SDL_Surface *mapSelanImg(IMG_Load("test-data/selan-map.png"));
-               Sprite mapSelanSprite(mapSelanImg, 32, 64);
-               SimpleAnimation mapSelanAnimation(&mapSelanSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
+               SimpleAnimation mapSelanAnimation(gameState.heroes[1].MapSprite(), (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
                Entity mapSelan;
                mapSelan.SetAnimation(&mapSelanAnimation);
                mapSelan.Position() = Vector<float>(64, 128);
@@ -517,9 +523,7 @@ int main(int argc, char **argv) {
                mapSelan.SetFlags(Entity::FLAG_NONBLOCKING);
                mapMaxim.AddFollower(&mapSelan);
 
-               SDL_Surface *mapGuyImg(IMG_Load("test-data/guy-map.png"));
-               Sprite mapGuySprite(mapGuyImg, 32, 64);
-               SimpleAnimation mapGuyAnimation(&mapGuySprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
+               SimpleAnimation mapGuyAnimation(gameState.heroes[2].MapSprite(), (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
                Entity mapGuy;
                mapGuy.SetAnimation(&mapGuyAnimation);
                mapGuy.Position() = Vector<float>(64, 128);
@@ -527,9 +531,7 @@ int main(int argc, char **argv) {
                mapGuy.SetFlags(Entity::FLAG_NONBLOCKING);
                mapSelan.AddFollower(&mapGuy);
 
-               SDL_Surface *mapDekarImg(IMG_Load("test-data/dekar-map.png"));
-               Sprite mapDekarSprite(mapDekarImg, 32, 64);
-               SimpleAnimation mapDekarAnimation(&mapDekarSprite, (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
+               SimpleAnimation mapDekarAnimation(gameState.heroes[3].MapSprite(), (tileSize/walkSpeed) / 2 * 1000, 2, 0, 0, true);
                Entity mapDekar;
                mapDekar.SetAnimation(&mapDekarAnimation);
                mapDekar.Position() = Vector<float>(64, 128);
@@ -556,10 +558,10 @@ int main(int argc, char **argv) {
                        battleState->AddMonster(monster);
                        battleState->AddMonster(monster);
                        battleState->AddMonster(monster);
-                       battleState->AddHero(maxim);
-                       battleState->AddHero(selan);
-                       battleState->AddHero(guy);
-                       battleState->AddHero(dekar);
+                       battleState->AddHero(gameState.heroes[0]);
+                       battleState->AddHero(gameState.heroes[1]);
+                       battleState->AddHero(gameState.heroes[2]);
+                       battleState->AddHero(gameState.heroes[3]);
                        state = battleState;
                } else {
                        MapState *mapState(new MapState(&map1));
index 4b1106ca795ba271c4d7008ed140f4668916f32e..2576b3cfb57383d62a16c82c1ea9ba52080a94ac 100644 (file)
@@ -70,10 +70,15 @@ Sprite maximSprite {
        image: :"maxim.png",
        size: <64,64>
 }
+Sprite maximMapSprite {
+       image: :"maxim-map.png",
+       size: <32,64>
+}
 export Hero maxim {
        name: "Maxim",
        level: 1,
        battleSprite: maximSprite,
+       mapSprite: maximMapSprite,
        maxHealth: 33,
        health: 33,
        maxMana: 20,
@@ -148,10 +153,15 @@ Sprite selanSprite {
        image: :"selan.png",
        size: <64,64>
 }
+Sprite selanMapSprite {
+       image: :"selan-map.png",
+       size: <32,64>
+}
 export Hero selan {
        name: "Selan",
        level: 1,
        battleSprite: selanSprite,
+       mapSprite: selanMapSprite,
        maxHealth: 28,
        health: 28,
        maxMana: 23,
@@ -220,10 +230,15 @@ Sprite guySprite {
        image: :"guy.png",
        size: <64,64>
 }
+Sprite guyMapSprite {
+       image: :"guy-map.png",
+       size: <32,64>
+}
 export Hero guy {
        name: "Guy",
        level: 1,
        battleSprite: guySprite,
+       mapSprite: guyMapSprite,
        maxHealth: 38,
        health: 38,
        maxMana: 0,
@@ -274,10 +289,15 @@ Sprite dekarSprite {
        image: :"dekar.png",
        size: <64,64>
 }
+Sprite dekarMapSprite {
+       image: :"dekar-map.png",
+       size: <32,64>
+}
 export Hero dekar {
        name: "Dekar",
        level: 1,
        battleSprite: dekarSprite,
+       mapSprite: dekarMapSprite,
        maxHealth: 38,
        health: 38,
        maxMana: 0,