]> git.localhorst.tv Git - l2e.git/blobdiff - src/main.cpp
removed stupid file headers that eclipse put in
[l2e.git] / src / main.cpp
index 4c350de35f3e48432c40ef98cdb54c4826612745..0e12f5b92ca0bce784a0daf5940eec610a020c1d 100644 (file)
@@ -1,10 +1,3 @@
-/*
- * main.cpp
- *
- *  Created on: Aug 1, 2012
- *      Author: holy
- */
-
 #include "app/Application.h"
 #include "app/Arguments.h"
 #include "app/Input.h"
@@ -64,6 +57,7 @@ using battle::Monster;
 using battle::PartyLayout;
 using common::GameConfig;
 using common::GameState;
+using common::Hero;
 using common::Spell;
 using geometry::Vector;
 using graphics::Texture;
@@ -222,41 +216,48 @@ 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("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<float>(64, 128);
 
@@ -290,10 +291,16 @@ int main(int argc, char **argv) {
 
                graphics::Sprite menuFontSprite(IMG_Load("test-data/menu-font.png"), 16, 16);
                graphics::Font menuFont(&menuFontSprite, 0, -2);
+               graphics::Sprite menuInactiveFontSprite(IMG_Load("test-data/menu-font-inactive.png"), 16, 16);
+               graphics::Font menuInactiveFont(&menuInactiveFontSprite, 0, -2);
 
                menuResources.normalFont = &menuFont;
+               menuResources.inactiveFont = &menuInactiveFont;
 
                graphics::Sprite menuCursor(IMG_Load("test-data/menu-cursor.png"), 32, 16);
+               menuResources.menuCursor = &menuCursor;
+               graphics::Sprite menuActiveCursor(IMG_Load("test-data/menu-cursor-active.png"), 32, 18);
+               menuResources.menuActiveCursor = &menuActiveCursor;
 
                graphics::MenuProperties mainMenuProperties;
                mainMenuProperties.cols = 2;
@@ -354,6 +361,112 @@ int main(int argc, char **argv) {
                menuResources.nextLabel = "NEXT";
                menuResources.returnLabel = "RETURN";
 
+               graphics::MenuProperties itemMenuProperties;
+               itemMenuProperties.cols = 3;
+               itemMenuProperties.rows = 1;
+               itemMenuProperties.charsPerEntry = 5;
+               itemMenuProperties.rowGap = 8;
+               itemMenuProperties.colGap = 16;
+               itemMenuProperties.cursor = &menuCursor;
+               itemMenuProperties.selectedCursor = &menuActiveCursor;
+               itemMenuProperties.font = &menuFont;
+               itemMenuProperties.wrapX = true;
+               itemMenuProperties.wrapY = true;
+               menuResources.itemMenuProperties = &itemMenuProperties;
+               menuResources.itemMenuUseText = "USE";
+               menuResources.itemMenuSortText = "SORT";
+               menuResources.itemMenuDropText = "DROP";
+
+               graphics::MenuProperties inventoryMenuProperties;
+               inventoryMenuProperties.cols = 1;
+               inventoryMenuProperties.rows = 6;
+               inventoryMenuProperties.charsPerEntry = 13;
+               inventoryMenuProperties.rowGap = 8;
+               inventoryMenuProperties.cursor = &menuCursor;
+               inventoryMenuProperties.selectedCursor = &menuActiveCursor;
+               inventoryMenuProperties.font = &menuFont;
+               inventoryMenuProperties.disabledFont = &menuInactiveFont;
+               inventoryMenuProperties.iconSpace = 16;
+               inventoryMenuProperties.charsPerNumber = 2;
+               inventoryMenuProperties.delimiter = ':';
+               menuResources.inventoryMenuProperties = &inventoryMenuProperties;
+
+               graphics::MenuProperties spellMenuProperties;
+               spellMenuProperties.cols = 2;
+               spellMenuProperties.rows = 6;
+               spellMenuProperties.charsPerEntry = 8;
+               spellMenuProperties.rowGap = 8;
+               spellMenuProperties.colGap = 48;
+               spellMenuProperties.cursor = &menuCursor;
+               spellMenuProperties.selectedCursor = &menuActiveCursor;
+               spellMenuProperties.font = &menuFont;
+               spellMenuProperties.disabledFont = &menuInactiveFont;
+               spellMenuProperties.iconSpace = 0;
+               spellMenuProperties.charsPerNumber = 2;
+               spellMenuProperties.delimiter = ':';
+               menuResources.spellMenuProperties = &spellMenuProperties;
+
+               graphics::MenuProperties equipmentActionMenuProperties;
+               equipmentActionMenuProperties.cols = 1;
+               equipmentActionMenuProperties.rows = 5;
+               equipmentActionMenuProperties.charsPerEntry = 10;
+               equipmentActionMenuProperties.rowGap = 8;
+               equipmentActionMenuProperties.cursor = &menuCursor;
+               equipmentActionMenuProperties.selectedCursor = &menuActiveCursor;
+               equipmentActionMenuProperties.font = &menuFont;
+               equipmentActionMenuProperties.iconSpace = 0;
+               menuResources.equipmentActionMenuProperties = &equipmentActionMenuProperties;
+
+               graphics::MenuProperties equipmentMenuProperties;
+               equipmentMenuProperties.cols = 1;
+               equipmentMenuProperties.rows = 6;
+               equipmentMenuProperties.charsPerEntry = 12;
+               equipmentMenuProperties.rowGap = 16;
+               equipmentMenuProperties.cursor = &menuCursor;
+               equipmentMenuProperties.selectedCursor = &menuActiveCursor;
+               equipmentMenuProperties.font = menuResources.statusFont;
+               equipmentMenuProperties.iconSpace = 16;
+               equipmentMenuProperties.wrapY = true;
+               menuResources.equipmentMenuProperties = &equipmentMenuProperties;
+
+               menuResources.equipMenuEquipLabel = "EQUIP";
+               menuResources.equipMenuStrongestLabel = "STRONGEST";
+               menuResources.equipMenuRemoveLabel = "REMOVE";
+               menuResources.equipMenuRemoveAllLabel = "REMOVE ALL";
+               menuResources.equipMenuDropLabel = "DROP";
+
+               graphics::MenuProperties configMenuProperties;
+               configMenuProperties.cols = 1;
+               configMenuProperties.rows = 4;
+               configMenuProperties.charsPerEntry = 8;
+               configMenuProperties.rowGap = 32;
+               configMenuProperties.cursor = &menuCursor;
+               configMenuProperties.font = &menuFont;
+               configMenuProperties.wrapY = true;
+               menuResources.configMenuProperties = &configMenuProperties;
+
+               menuResources.configMessageSpeedLabel = "MESSAGE\n   SPEED";
+               menuResources.configMessageSpeedFast = "FAST";
+               menuResources.configMessageSpeedNormal = "NORMAL";
+               menuResources.configMessageSpeedSlow = "SLOW";
+               menuResources.configBattleCursorLabel = "BATTLE\n  CURSOR";
+               menuResources.configStatusCursorLabel = "STATUS\n  CURSOR";
+               menuResources.configCursorClear = "CLEAR";
+               menuResources.configCursorMemory = "MEMORY";
+               menuResources.configMusicLabel = "MUSIC";
+               menuResources.configMusicStereo = "STEREO";
+               menuResources.configMusicMono = "MONO";
+
+               graphics::MenuProperties scenarioMenuProperties;
+               scenarioMenuProperties.cols = 1;
+               scenarioMenuProperties.rows = 6;
+               scenarioMenuProperties.charsPerEntry = 14;
+               scenarioMenuProperties.rowGap = 8;
+               scenarioMenuProperties.cursor = &menuCursor;
+               scenarioMenuProperties.font = &menuFont;
+               menuResources.scenarioMenuProperties = &scenarioMenuProperties;
+               menuResources.scenarioMenuHeadline = "SCENARIO ITEM";
+
                InitScreen screen(width, height);
 
                app::State *state(0);