X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=a890871fb4c162dd12399ff1baa0190f5a6d7dc8;hb=a3ba4dc677ad7c92eeb78b20b642241563605c9d;hp=f70103a0dd411da6755c9cd85240f320855a5ee8;hpb=1907ca03c5e865c4d398170042aa384c67ffff29;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index f70103a..a890871 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,18 +1,13 @@ -/* - * main.cpp - * - * Created on: Aug 1, 2012 - * Author: holy - */ - #include "app/Application.h" #include "app/Arguments.h" #include "app/Input.h" #include "battle/BattleState.h" +#include "battle/Capsule.h" #include "battle/Hero.h" #include "battle/Monster.h" #include "battle/PartyLayout.h" #include "battle/Resources.h" +#include "common/Capsule.h" #include "common/GameConfig.h" #include "common/GameState.h" #include "common/Hero.h" @@ -22,7 +17,8 @@ #include "common/Script.h" #include "common/Spell.h" #include "common/Stats.h" -#include "geometry/Vector.h" +#include "math/Vector.h" +#include "graphics/CharSelect.h" #include "graphics/ComplexAnimation.h" #include "graphics/Font.h" #include "graphics/Frame.h" @@ -30,6 +26,7 @@ #include "graphics/Menu.h" #include "graphics/SimpleAnimation.h" #include "graphics/Sprite.h" +#include "graphics/Texture.h" #include "loader/Caster.h" #include "loader/Interpreter.h" #include "loader/ParsedSource.h" @@ -41,6 +38,7 @@ #include "map/MapState.h" #include "map/Tile.h" #include "map/Trigger.h" +#include "menu/Resources.h" #include "sdl/InitImage.h" #include "sdl/InitScreen.h" #include "sdl/InitSDL.h" @@ -60,10 +58,13 @@ using app::Input; using battle::BattleState; using battle::Monster; using battle::PartyLayout; +using common::Capsule; using common::GameConfig; using common::GameState; +using common::Hero; using common::Spell; -using geometry::Vector; +using math::Vector; +using graphics::Texture; using loader::Caster; using loader::Interpreter; using loader::ParsedSource; @@ -83,8 +84,8 @@ using std::string; using std::vector; int main(int argc, char **argv) { - const int width = 800; - const int height = 480; + const int width = 512; + const int height = 448; const float walkSpeed = 128.0f; @@ -102,6 +103,7 @@ int main(int argc, char **argv) { battle::Monster::CreateTypeDescription(); battle::PartyLayout::CreateTypeDescription(); + common::Capsule::CreateTypeDescription(); common::Hero::CreateTypeDescription(); common::Ikari::CreateTypeDescription(); common::Item::CreateTypeDescription(); @@ -110,6 +112,7 @@ int main(int argc, char **argv) { common::TargetingMode::CreateTypeDescription(); graphics::Animation::CreateTypeDescription(); + graphics::CharSelect::CreateTypeDescription(); graphics::ComplexAnimation::CreateTypeDescription(); graphics::Font::CreateTypeDescription(); graphics::Frame::CreateTypeDescription(); @@ -117,6 +120,7 @@ int main(int argc, char **argv) { graphics::MenuProperties::CreateTypeDescription(); graphics::SimpleAnimation::CreateTypeDescription(); graphics::Sprite::CreateTypeDescription(); + graphics::Texture::CreateTypeDescription(); map::Area::CreateTypeDescription(); map::Entity::CreateTypeDescription(); @@ -124,6 +128,8 @@ int main(int argc, char **argv) { map::Tile::CreateTypeDescription(); map::Trigger::CreateTypeDescription(); + menu::Resources::CreateTypeDescription(); + Arguments args; args.Read(argc, argv); @@ -188,11 +194,20 @@ int main(int argc, char **argv) { gameState.party[1] = &gameState.heroes[1]; gameState.party[2] = &gameState.heroes[2]; gameState.party[3] = &gameState.heroes[3]; + gameState.partySize = 4; + + gameState.capsules[1] = *caster.GetCapsule("flash"); + gameState.capsules[1].UpgradeClass(); + gameState.capsules[1].UpgradeClass(); + gameState.capsules[1].UpgradeClass(); + gameState.capsules[1].UpgradeClass(); + gameState.capsule = 1; GameConfig gameConfig; gameConfig.state = &gameState; gameConfig.heroesLayout = caster.GetPartyLayout("heroesLayout"); gameConfig.battleResources = caster.GetBattleResources("battleResources"); + gameConfig.menuResources = caster.GetMenuResources("menuResources"); // temporary test data SDL_Surface *bg(IMG_Load("test-data/battle-bg.png")); @@ -218,41 +233,50 @@ int main(int argc, char **argv) { gameState.heroes[0].AddSpell(valorSpell); gameState.heroes[1].AddSpell(valorSpell); + gameState.inventory.Add(caster.GetItem("zirconPlateItem"), 32); + gameState.inventory.Add(caster.GetItem("holyFruitItem")); + gameState.inventory.Add(caster.GetItem("darkFruitItem")); gameState.inventory.Add(caster.GetItem("antidoteItem"), 9); + gameState.inventory.Add(caster.GetItem("powerRingItem")); gameState.inventory.Add(caster.GetItem("magicJarItem"), 4); + gameState.inventory.Add(caster.GetItem("sProRingItem")); gameState.inventory.Add(caster.GetItem("hiPotionItem"), 4); + gameState.inventory.Add(caster.GetItem("powerRingItem")); gameState.inventory.Add(caster.GetItem("powerPotionItem"), 4); + gameState.inventory.Add(caster.GetItem("zircoSwordItem")); gameState.inventory.Add(caster.GetItem("escapeItem"), 2); + gameState.inventory.Add(caster.GetItem("zircoHelmetItem")); gameState.inventory.Add(caster.GetItem("sleepBallItem"), 1); - - 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")); + gameState.inventory.Add(caster.GetItem("zirconPlateItem")); + + gameState.heroes[0].SetEquipment(Hero::EQUIP_WEAPON, caster.GetItem("zircoSwordItem")); + gameState.heroes[0].SetEquipment(Hero::EQUIP_ARMOR, caster.GetItem("zirconArmorItem")); + gameState.heroes[0].SetEquipment(Hero::EQUIP_SHIELD, caster.GetItem("holyShieldItem")); + gameState.heroes[0].SetEquipment(Hero::EQUIP_HELMET, caster.GetItem("legendHelmItem")); + gameState.heroes[0].SetEquipment(Hero::EQUIP_RING, caster.GetItem("sProRingItem")); + gameState.heroes[0].SetEquipment(Hero::EQUIP_JEWEL, caster.GetItem("evilJewelItem")); + +// gameState.heroes[1].SetEquipment(Hero::EQUIP_WEAPON, caster.GetItem("zircoWhipItem")); + gameState.heroes[1].SetEquipment(Hero::EQUIP_ARMOR, caster.GetItem("zirconPlateItem")); + gameState.heroes[1].SetEquipment(Hero::EQUIP_SHIELD, caster.GetItem("zircoGlovesItem")); + gameState.heroes[1].SetEquipment(Hero::EQUIP_HELMET, caster.GetItem("holyCapItem")); + gameState.heroes[1].SetEquipment(Hero::EQUIP_RING, caster.GetItem("ghostRingItem")); + gameState.heroes[1].SetEquipment(Hero::EQUIP_JEWEL, caster.GetItem("eagleRockItem")); + +// gameState.heroes[2].SetEquipment(Hero::EQUIP_WEAPON, caster.GetItem("zircoAxItem")); + gameState.heroes[2].SetEquipment(Hero::EQUIP_ARMOR, caster.GetItem("zirconArmorItem")); + gameState.heroes[2].SetEquipment(Hero::EQUIP_SHIELD, caster.GetItem("megaShieldItem")); + gameState.heroes[2].SetEquipment(Hero::EQUIP_HELMET, caster.GetItem("zircoHelmetItem")); + gameState.heroes[2].SetEquipment(Hero::EQUIP_RING, caster.GetItem("powerRingItem")); + gameState.heroes[2].SetEquipment(Hero::EQUIP_JEWEL, caster.GetItem("evilJewelItem")); // NOTE: this is actually Artea equipment -// 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")); +// gameState.heroes[3].SetEquipment(Hero::EQUIP_WEAPON, caster.GetItem("lizardBlowItem")); + gameState.heroes[3].SetEquipment(Hero::EQUIP_ARMOR, caster.GetItem("holyRobeItem")); + gameState.heroes[3].SetEquipment(Hero::EQUIP_SHIELD, caster.GetItem("zircoGlovesItem")); + gameState.heroes[3].SetEquipment(Hero::EQUIP_HELMET, caster.GetItem("holyCapItem")); + gameState.heroes[3].SetEquipment(Hero::EQUIP_RING, caster.GetItem("rocketRingItem")); + gameState.heroes[3].SetEquipment(Hero::EQUIP_JEWEL, caster.GetItem("krakenRockItem")); gameState.heroes[0].MapEntity().Position() = Vector(64, 128); @@ -278,6 +302,7 @@ int main(int argc, char **argv) { battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster); + battleState->SetCapsule(caster.GetCapsule("flash")); battleState->AddHero(gameState.heroes[0]); battleState->AddHero(gameState.heroes[1]); battleState->AddHero(gameState.heroes[2]);