X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=05f3d8ad231057619d140110c6f6b42b0cc95abc;hb=5d1a76ae7725af998c6ee46adfe492c68ee1d34f;hp=59348338391daea0d5c6ea5fdb1578fdd4f32fe3;hpb=e1edc92c4fb834c8061118e89c0d7e239742b030;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 5934833..05f3d8a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ #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" @@ -16,7 +17,9 @@ #include "common/Script.h" #include "common/Spell.h" #include "common/Stats.h" -#include "geometry/Vector.h" +#include "math/Fixed.h" +#include "math/Vector.h" +#include "graphics/CharSelect.h" #include "graphics/ComplexAnimation.h" #include "graphics/Font.h" #include "graphics/Frame.h" @@ -54,14 +57,15 @@ using app::Application; using app::Arguments; using app::Input; using battle::BattleState; -using battle::Capsule; 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::Fixed; +using math::Vector; using graphics::Texture; using loader::Caster; using loader::Interpreter; @@ -85,7 +89,7 @@ int main(int argc, char **argv) { const int width = 512; const int height = 448; - const float walkSpeed = 128.0f; + const Fixed<8> walkSpeed = Fixed<8>(1, 8); bool battle(false); @@ -101,6 +105,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(); @@ -109,6 +114,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(); @@ -192,6 +198,13 @@ int main(int argc, char **argv) { 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"); @@ -222,7 +235,9 @@ int main(int argc, char **argv) { gameState.heroes[0].AddSpell(valorSpell); gameState.heroes[1].AddSpell(valorSpell); - gameState.inventory.Add(caster.GetItem("zirconPlateItem")); + 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); @@ -265,17 +280,17 @@ int main(int argc, char **argv) { 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); + gameState.heroes[0].MapEntity().Position() = Vector >(64, 128); - gameState.heroes[1].MapEntity().Position() = Vector(64, 128); + gameState.heroes[1].MapEntity().Position() = Vector >(64, 128); gameState.heroes[1].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING); gameState.heroes[0].MapEntity().AddFollower(&gameState.heroes[1].MapEntity()); - gameState.heroes[2].MapEntity().Position() = Vector(64, 128); + gameState.heroes[2].MapEntity().Position() = Vector >(64, 128); gameState.heroes[2].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING); gameState.heroes[1].MapEntity().AddFollower(&gameState.heroes[2].MapEntity()); - gameState.heroes[3].MapEntity().Position() = Vector(64, 128); + gameState.heroes[3].MapEntity().Position() = Vector >(64, 128); gameState.heroes[3].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING); gameState.heroes[2].MapEntity().AddFollower(&gameState.heroes[3].MapEntity()); @@ -284,18 +299,12 @@ int main(int argc, char **argv) { app::State *state(0); if (battle) { - graphics::Sprite flashSprite(IMG_Load("test-data/flash.png"), 96, 96); - Capsule capsule; - capsule.SetName("Flash"); - capsule.SetHealth(13, 13); - capsule.SetBattleSprite(&flashSprite); - BattleState *battleState(new BattleState(&gameConfig, bg, &monstersLayout)); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster); battleState->AddMonster(monster); - battleState->SetCapsule(capsule); + battleState->SetCapsule(caster.GetCapsule("flash")); battleState->AddHero(gameState.heroes[0]); battleState->AddHero(gameState.heroes[1]); battleState->AddHero(gameState.heroes[2]);