From 616330670a0c3d9d4554c145e997129747d05979 Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Sun, 7 Oct 2012 20:08:43 +0200 Subject: [PATCH] moved map sprites to data file --- src/main.cpp | 118 +++++++++++++++++++++++---------------------- test-data/test.l2s | 20 ++++++++ 2 files changed, 80 insertions(+), 58 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index f971d46..ff49b66 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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(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(64, 128); mapMaxim.SpriteOffset() = Vector(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(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(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(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)); diff --git a/test-data/test.l2s b/test-data/test.l2s index 4b1106c..2576b3c 100644 --- a/test-data/test.l2s +++ b/test-data/test.l2s @@ -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, -- 2.39.2