X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmain.cpp;h=31724d5b22acd42f67b0222f8a954234c77981ad;hb=0285546b22f9e8f496ca6b1abffdd232647b6b6a;hp=0e12f5b92ca0bce784a0daf5940eec610a020c1d;hpb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;p=l2e.git diff --git a/src/main.cpp b/src/main.cpp index 0e12f5b..31724d5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -114,6 +114,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(); @@ -121,6 +122,8 @@ int main(int argc, char **argv) { map::Tile::CreateTypeDescription(); map::Trigger::CreateTypeDescription(); + menu::Resources::CreateTypeDescription(); + Arguments args; args.Read(argc, argv); @@ -191,6 +194,7 @@ int main(int argc, char **argv) { 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")); @@ -273,200 +277,6 @@ int main(int argc, char **argv) { gameState.heroes[3].MapEntity().SetFlags(Entity::FLAG_NONBLOCKING); gameState.heroes[2].MapEntity().AddFollower(&gameState.heroes[3].MapEntity()); - menu::Resources menuResources; - gameConfig.menuResources = &menuResources; - - Texture menubg; - menubg.SetSurface(IMG_Load("test-data/menubg.png")); - menubg.SetSize(Vector(64, 64)); - menuResources.menubg = &menubg; - - menuResources.statusFont = gameConfig.battleResources->normalFont; - - graphics::Sprite statusLabels(IMG_Load("test-data/status-labels.png"), 32, 16); - menuResources.statusLabels = &statusLabels; - - graphics::Frame statusFrame(IMG_Load("test-data/status-frame.png"), 32, 32, 32, 32); - menuResources.statusFrame = &statusFrame; - - 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; - mainMenuProperties.rows = 4; - mainMenuProperties.charsPerEntry = 8; - mainMenuProperties.rowGap = 8; - mainMenuProperties.colGap = 32; - mainMenuProperties.cursor = &menuCursor; - mainMenuProperties.font = &menuFont; - mainMenuProperties.wrapX = true; - mainMenuProperties.wrapY = true; - menuResources.mainMenuProperties = &mainMenuProperties; - - menuResources.mainMenuItemText = "ITEM"; - menuResources.mainMenuSpellText = "SPELL"; - menuResources.mainMenuCapsuleText = "CAPSULE"; - menuResources.mainMenuEquipmentText = "EQUIP"; - menuResources.mainMenuStatusText = "STATUS"; - menuResources.mainMenuChangeText = "CHANGE"; - menuResources.mainMenuConfigText = "CONFIG"; - menuResources.mainMenuScenarioText = "SCENARIO"; - - menuResources.mainMenuTimeText = "TIME"; - menuResources.mainMenuGoldText = "GOLD"; - - graphics::Sprite heroCursor(IMG_Load("test-data/hero-cursor.png"), 64, 16); - menuResources.heroCursor = &heroCursor; - menuResources.heroCursorBlinkTime = 532; - - menuResources.noEquipmentText = "No equip"; - - graphics::Sprite shoulderNav(IMG_Load("test-data/shoulder-nav.png"), 160, 16); - menuResources.shoulderNav = &shoulderNav; - - menuResources.atpLabel = "ATP"; - menuResources.dfpLabel = "DFP"; - menuResources.strLabel = "STR"; - menuResources.aglLabel = "AGL"; - menuResources.intLabel = "INT"; - menuResources.gutLabel = "GUT"; - menuResources.mgrLabel = "MGR"; - - menuResources.ipLabel = "IP"; - menuResources.experienceLabel = "NOW EXP"; - menuResources.nextLevelLabel = "NEXT LEVEL"; - - graphics::MenuProperties statusMenuProperties; - statusMenuProperties.cols = 2; - statusMenuProperties.rows = 1; - statusMenuProperties.charsPerEntry = 6; - statusMenuProperties.rowGap = 0; - statusMenuProperties.colGap = 16; - statusMenuProperties.cursor = &menuCursor; - statusMenuProperties.font = &menuFont; - statusMenuProperties.wrapX = true; - menuResources.statusMenuProperties = &statusMenuProperties; - - 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);