X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=test-data%2Ftest.l2s;h=2ea517ac9e514e95e14550a07a4f18930a51e72c;hb=7f0a586b8238c7093a8942ff5b5c4122edd386fc;hp=5958c7412cefa5aa35d9f45129adaff8724a83d2;hpb=771a3daeecf527a9b5873e412e263ad251c59ab5;p=l2e.git diff --git a/test-data/test.l2s b/test-data/test.l2s index 5958c74..2ea517a 100644 --- a/test-data/test.l2s +++ b/test-data/test.l2s @@ -1,3 +1,7 @@ +include "ikaris.l2h" +include "items.l2h" +include "spells.l2h" + Number frameTime 33 Number twoFramesTime 66 Number fourFramesTime 132 @@ -16,13 +20,13 @@ export PartyLayout heroesLayout { < 48,136>, <128,136>, < 80,152>, - <160,152> + <160,152>, + <216,144> ] } Sprite lizardSprite { - // using pathes relative to project root until path resolution is implemented - image: "test-data/monster.png", + image: :"monster.png", size: <64,64> } @@ -45,7 +49,8 @@ export Monster lizard { sprite: lizardSprite, frametime: fourFramesTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 0, row: 1, disposition: < 0, 16> }, { column: 0, row: 0, disposition: < 0, 16> }, { column: 0, row: 1, disposition: < 0, 16> }, @@ -54,7 +59,7 @@ export Monster lizard { }, meleeAnimation: SimpleAnimation { sprite: Sprite { - image: "test-data/attack-monster.png", + image: :"attack-monster.png", size: <96,64> }, frametime: frameTime, @@ -63,13 +68,13 @@ export Monster lizard { } Sprite maximSprite { - image: "test-data/maxim.png", + image: :"maxim.png", size: <64,64> } export Hero maxim { name: "Maxim", level: 1, - sprite: maximSprite, + battleSprite: maximSprite, maxHealth: 33, health: 33, maxMana: 20, @@ -84,11 +89,16 @@ export Hero maxim { gut: 100, mgr: 10 }, + ladder: [ + 10 + ], + useMask: maskMaxim, attackAnimation: ComplexAnimation { sprite: maximSprite, frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 1, row: 0, disposition: < 0, 0> }, { column: 1, row: 0, disposition: < 0, 0> }, { column: 1, row: 0, disposition: < 0, 0> }, @@ -122,7 +132,8 @@ export Hero maxim { sprite: maximSprite, frametime: fiveFramesTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 1, disposition: < 0, 0> } @@ -130,22 +141,33 @@ export Hero maxim { }, meleeAnimation: SimpleAnimation { sprite: Sprite { - image: "test-data/melee-maxim.png", + image: :"melee-maxim.png", size: <96,96> }, frametime: twoFramesTime, framecount: 4 + }, + mapEntity: Entity { + animation: SimpleAnimation{ + sprite: Sprite { + image: :"maxim-map.png", + size: <32,64> + }, + frametime: 120, + framecount: 2 + }, + spriteOffset: <0,-32> } } Sprite selanSprite { - image: "test-data/selan.png", + image: :"selan.png", size: <64,64> } export Hero selan { name: "Selan", level: 1, - sprite: selanSprite, + battleSprite: selanSprite, maxHealth: 28, health: 28, maxMana: 23, @@ -160,11 +182,13 @@ export Hero selan { gut: 80, mgr: 13 }, + useMask: maskSelan, attackAnimation: ComplexAnimation { sprite: selanSprite, frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 1, row: 0, disposition: < 4, 0> }, { column: 1, row: 0, disposition: < 4, 0> }, { column: 1, row: 0, disposition: < 8, 2> }, @@ -185,7 +209,8 @@ export Hero selan { sprite: selanSprite, frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 0, disposition: < 0, 0> }, @@ -200,22 +225,33 @@ export Hero selan { }, meleeAnimation: SimpleAnimation { sprite: Sprite { - image: "test-data/melee-selan.png", + image: :"melee-selan.png", size: <96,96> }, frametime: twoFramesTime, framecount: 4 + }, + mapEntity: Entity { + animation: SimpleAnimation{ + sprite: Sprite { + image: :"selan-map.png", + size: <32,64> + }, + frametime: 120, + framecount: 2 + }, + spriteOffset: <0,-32> } } Sprite guySprite { - image: "test-data/guy.png", + image: :"guy.png", size: <64,64> } export Hero guy { name: "Guy", level: 1, - sprite: guySprite, + battleSprite: guySprite, maxHealth: 38, health: 38, maxMana: 0, @@ -230,11 +266,13 @@ export Hero guy { gut: 90, mgr: 8 }, + useMask: maskGuy, attackAnimation: ComplexAnimation { sprite: guySprite, frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 1, row: 0, disposition: <-4, 0> }, { column: 1, row: 0, disposition: <-4, 0> }, { column: 1, row: 0, disposition: <-8, 0> }, @@ -253,22 +291,33 @@ export Hero guy { }, meleeAnimation: SimpleAnimation { sprite: Sprite { - image: "test-data/melee-guy.png", + image: :"melee-guy.png", size: <96,96> }, frametime: fourFramesTime, framecount: 4 + }, + mapEntity: Entity { + animation: SimpleAnimation{ + sprite: Sprite { + image: :"guy-map.png", + size: <32,64> + }, + frametime: 120, + framecount: 2 + }, + spriteOffset: <0,-32> } } Sprite dekarSprite { - image: "test-data/dekar.png", + image: :"dekar.png", size: <64,64> } export Hero dekar { name: "Dekar", level: 1, - sprite: dekarSprite, + battleSprite: dekarSprite, maxHealth: 38, health: 38, maxMana: 0, @@ -283,11 +332,13 @@ export Hero dekar { gut: 100, mgr: 5 }, + useMask: maskDekar, attackAnimation: ComplexAnimation { sprite: dekarSprite, frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 1, row: 0, disposition: < 4, 0> }, { column: 1, row: 0, disposition: < 8, 2> }, { column: 2, row: 0, disposition: <12, 4> }, @@ -308,7 +359,8 @@ export Hero dekar { sprite: dekarSprite, frametime: twoFramesTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 0, disposition: < 0, 0> }, { column: 3, row: 0, disposition: < 0, 0> }, @@ -324,197 +376,492 @@ export Hero dekar { }, meleeAnimation: SimpleAnimation { sprite: Sprite { - image: "test-data/melee-dekar.png", + image: :"melee-dekar.png", size: <96,96> }, frametime: twoFramesTime, framecount: 4 + }, + mapEntity: Entity { + animation: SimpleAnimation{ + sprite: Sprite { + image: :"dekar-map.png", + size: <32,64> + }, + frametime: 120, + framecount: 2 + }, + spriteOffset: <0,-32> } } -export Sprite swapCursor { - image: "test-data/swap-cursor.png", - size: <32,32> -} -export Sprite attackIcons { - image: "test-data/attack-type-icons.png", +Sprite handCursor { + image: :"cursor-hand.png", size: <32,32> } -export Sprite attackChoiceIcons { - image: "test-data/attack-choice-icons.png", - size: <16,16> -} -export Sprite moveIcons { - image: "test-data/move-icons.png", - size: <32,32> -} - -export Frame titleFrame { - image: "test-data/title-frame.png", - border: <16,16> -} -export Font largeFont { +Font normalFont { sprite: Sprite { - image: "test-data/large-font.png", - size: <16,32> + image: :"normal-font.png", + size: <16,16> }, rowoffset: -2 } -export ComplexAnimation numberAnimationPrototype { - frametime: frameTime, - repeat: false, - frames: [ - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0,-26> }, - { column: 0, row: 0, disposition: < 0,-42> }, - { column: 0, row: 0, disposition: < 0,-48> }, - { column: 0, row: 0, disposition: < 0,-42> }, - { column: 0, row: 0, disposition: < 0,-26> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0,-12> }, - { column: 0, row: 0, disposition: < 0,-20> }, - { column: 0, row: 0, disposition: < 0,-24> }, - { column: 0, row: 0, disposition: < 0,-20> }, - { column: 0, row: 0, disposition: < 0,-12> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, -6> }, - { column: 0, row: 0, disposition: < 0,-10> }, - { column: 0, row: 0, disposition: < 0,-12> }, - { column: 0, row: 0, disposition: < 0,-10> }, - { column: 0, row: 0, disposition: < 0, -6> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0, 0> }, - { column: 0, row: 0, disposition: < 0,-36> }, - { column: 0, row: 0, disposition: < 0,-32> }, - { column: 0, row: 0, disposition: < 0,-18> } - ] -} -export Sprite bigNumbers { - image: "test-data/big-numbers.png", - size: <16,32> -} -export Sprite bigGreenNumbers { - image: "test-data/big-green-numbers.png", - size: <16,32> -} - -export Sprite heroTagLabels { - image: "test-data/hero-tag-sprites.png", - size: <32,16> -} -export Font heroTagFont { +Font disabledFont { sprite: Sprite { - image: "test-data/numbers.png", + image: :"disabled-font.png", size: <16,16> }, - rowoffset: -3 -} - -export Frame activeHeroTagFrame { - image: "test-data/tag-frames.png", - border: <16,16> -} -export Frame heroTagFrame { - image: "test-data/tag-frames.png", - border: <16,16>, - offset: < 0,33> -} - -export Frame smallHeroTagFrame { - image: "test-data/small-tag-frame.png", - border: <8,16> -} -export Frame lastSmallHeroTagFrame { - image: "test-data/small-tag-frame.png", - border: <8,16>, - offset: <0,33> + rowoffset: -2 } -export Gauge healthGauge { - image: "test-data/gauges.png", - full: <0,16>, - empty: <0, 0>, - height: 16, - start: 6, - repeat: 1, - end: 6 -} -export Gauge manaGauge { - image: "test-data/gauges.png", - full: <0,32>, - empty: <0, 0>, - height: 16, - start: 6, - repeat: 1, - end: 6 -} -export Gauge ikariGauge { - image: "test-data/gauges.png", - full: <0,48>, - empty: <0, 0>, - height: 16, - start: 6, - repeat: 1, - end: 6 +export BattleResources battleResources { + swapCursor: Sprite { + image: :"swap-cursor.png", + size: <32,32> + }, + attackIcons: Sprite { + image: :"attack-type-icons.png", + size: <32,32> + }, + attackChoiceIcons: Sprite { + image: :"attack-choice-icons.png", + size: <16,16> + }, + moveIcons: Sprite { + image: :"move-icons.png", + size: <32,32> + }, + + titleFrame: Frame { + image: :"title-frame.png", + border: <16,16> + }, + titleFont: Font { + sprite: Sprite { + image: :"large-font.png", + size: <16,32> + }, + rowoffset: -2 + }, + + numberAnimationPrototype: ComplexAnimation { + frametime: frameTime, + repeat: false, + frames: + [ ComplexAnimationFrame + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0,-26> }, + { column: 0, row: 0, disposition: < 0,-42> }, + { column: 0, row: 0, disposition: < 0,-48> }, + { column: 0, row: 0, disposition: < 0,-42> }, + { column: 0, row: 0, disposition: < 0,-26> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0,-12> }, + { column: 0, row: 0, disposition: < 0,-20> }, + { column: 0, row: 0, disposition: < 0,-24> }, + { column: 0, row: 0, disposition: < 0,-20> }, + { column: 0, row: 0, disposition: < 0,-12> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, -6> }, + { column: 0, row: 0, disposition: < 0,-10> }, + { column: 0, row: 0, disposition: < 0,-12> }, + { column: 0, row: 0, disposition: < 0,-10> }, + { column: 0, row: 0, disposition: < 0, -6> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0, 0> }, + { column: 0, row: 0, disposition: < 0,-36> }, + { column: 0, row: 0, disposition: < 0,-32> }, + { column: 0, row: 0, disposition: < 0,-18> } + ] + }, + bigNumberSprite: Sprite { + image: :"big-numbers.png", + size: <16,32> + }, + greenNumberSprite: Sprite { + image: :"big-green-numbers.png", + size: <16,32> + }, + + heroTagLabels: Sprite { + image: :"hero-tag-sprites.png", + size: <32,16> + }, + levelLabelCol: 0, + levelLabelRow: 0, + healthLabelCol: 0, + healthLabelRow: 1, + manaLabelCol: 0, + manaLabelRow: 2, + moveLabelCol: 0, + moveLabelRow: 3, + ikariLabelCol: 0, + ikariLabelRow: 4, + heroTagFont: Font { + sprite: Sprite { + image: :"numbers.png", + size: <16,16> + }, + rowoffset: -3 + }, + + activeHeroTagFrame: Frame { + image: :"tag-frames.png", + border: <16,16> + }, + heroTagFrame: Frame { + image: :"tag-frames.png", + border: <16,16>, + offset: < 0,33> + }, + + smallHeroTagFrame: Frame { + image: :"small-tag-frame.png", + border: <8,16> + }, + lastSmallHeroTagFrame: Frame { + image: :"small-tag-frame.png", + border: <8,16>, + offset: <0,33> + }, + heroesBgColor: (24, 40, 49), + + healthGauge: Gauge { + image: :"gauges.png", + full: <0,16>, + empty: <0, 0>, + height: 16, + start: 6, + repeat: 1, + end: 6 + }, + manaGauge: Gauge { + image: :"gauges.png", + full: <0,32>, + empty: <0, 0>, + height: 16, + start: 6, + repeat: 1, + end: 6 + }, + ikariGauge: Gauge { + image: :"gauges.png", + full: <0,48>, + empty: <0, 0>, + height: 16, + start: 6, + repeat: 1, + end: 6 + }, + + selectFrame: Frame { + image: :"select-frame.png", + border: <16,16> + }, + normalFont: normalFont, + disabledFont: disabledFont, + menuCursor: Sprite { + image: :"cursor-hand.png", + size: <32,32> + }, + + weaponTargetCursor: Sprite { + image: :"targeting-icons.png", + size: <32,32> + }, + magicTargetCursor: Sprite { + image: :"targeting-icons.png", + size: <32,32>, + offset: <0,32> + }, + itemTargetCursor: Sprite { + image: :"targeting-icons.png", + size: <32,32>, + offset: <0,64> + }, + + weaponMenuIcon: swordIcon, + armorMenuIcon: armorIcon, + shieldMenuIcon: shieldIcon, + helmetMenuIcon: helmetIcon, + ringMenuIcon: ringIcon, + jewelMenuIcon: jewelIcon, + + spellMenuHeadline: "Please choose a spell.", + spellMenuProperties: MenuProperties { + font: normalFont, + disabledFont: disabledFont, + cursor: handCursor, + charsPerEntry: 9, + rows: 6, + rowGap: 8, + iconSpace: 0, + cols: 2, + colGap: 32, + charsPerNumber: 2, + delimiter: ":" + }, + + itemMenuHeadline: "Please choose an item.", + itemMenuProperties: MenuProperties { + font: normalFont, + disabledFont: disabledFont, + cursor: handCursor, + charsPerEntry: 15, + rows: 6, + rowGap: 8, + iconSpace: 16, + cols: 1, + colGap: 32, + charsPerNumber: 2, + delimiter: ":" + }, + + ikariMenuHeadline: "Please choose equipment.", + ikariMenuProperties: MenuProperties { + font: normalFont, + disabledFont: disabledFont, + cursor: handCursor, + charsPerEntry: 12, + rows: 6, + rowGap: 8, + iconSpace: 16, + cols: 1, + colGap: 32, + charsPerAdditionalText: 12, + additionalTextGap: 16 + }, + noEquipmentText: "No equip", + + escapeText: "Escapes." } -export Frame selectFrame { - image: "test-data/select-frame.png", - border: <16,16> -} -export Font normalFont { +Font menuFont { sprite: Sprite { - image: "test-data/normal-font.png", - size: <16,16> + image: :"menu-font.png", + size: <16, 16> }, rowoffset: -2 } -export Font disabledFont { +Font menuInactiveFont { sprite: Sprite { - image: "test-data/disabled-font.png", - size: <16,16> + image: :"menu-font-inactive.png", + size: <16, 16> }, rowoffset: -2 } -export Sprite handCursor { - image: "test-data/cursor-hand.png", - size: <32,32> -} - -export Sprite weaponTargetCursor { - image: "test-data/targeting-icons.png", - size: <32,32> -} -export Sprite magicTargetCursor { - image: "test-data/targeting-icons.png", - size: <32,32>, - offset: <0,32> +Sprite menuCursor { + image: :"menu-cursor.png", + size: <32, 16> } -export Sprite itemTargetCursor { - image: "test-data/targeting-icons.png", - size: <32,32>, - offset: <0,64> +Sprite menuActiveCursor { + image: :"menu-cursor-active.png", + size: <32, 18> } -include "test-data/spells.l2s" - -export String spellMenuHeadline "Please choose a spell." - -include "test-data/ikaris.l2s" -include "test-data/items.l2s" - -export String itemMenuHeadline "Please choose an item." +export MenuResources menuResources { + menubg: Texture { + image: :"menubg.png", + size: <64, 64> + }, + normalFont: menuFont, + inactiveFont: menuInactiveFont, + statusFont: normalFont, + statusLabels: Sprite { + image: :"status-labels.png", + size: <32, 16> + }, + statusFrame: Frame { + image: :"status-frame.png", + border: <32, 32>, + repeat: <32, 32> + }, + mainMenu: MenuProperties { + cols: 2, + rows: 4, + charsPerEntry: 8, + rowGap: 8, + colGap: 32, + cursor: menuCursor, + font: menuFont, + disabledFont: menuInactiveFont, + wrapX: true, + wrapY: true + }, + mainMenuItemText: "ITEM", + mainMenuSpellText: "SPELL", + mainMenuCapsuleText: "CAPSULE", + mainMenuEquipmentText: "EQUIP", + mainMenuStatusText: "STATUS", + mainMenuChangeText: "CHANGE", + mainMenuConfigText: "CONFIG", + mainMenuScenarioText: "SCENARIO", + mainMenuTimeText: "TIME", + mainMenuGoldText: "GOLD", + heroCursor: Sprite { + image: :"hero-cursor.png", + size: <64, 16> + }, + heroCursorBlinkTime: 532, + noEquipmentText: "No equip", + shoulderNav: Sprite { + image: :"shoulder-nav.png", + size: <160, 16> + }, + atpLabel: "ATP", + dfpLabel: "DFP", + strLabel: "STR", + aglLabel: "AGL", + intLabel: "INT", + gutLabel: "GUT", + mgrLabel: "MGR", + hpLabel: "HP", + ipLabel: "IP", + levelLabel: "LEVEL", + experienceLabel: "NOW EXP", + nextLevelLabel: "NEXT LEVEL", + statusMenu: MenuProperties { + cols: 2, + rows: 1, + charsPerEntry: 6, + colGap: 16, + cursor: menuCursor, + font: menuFont, + wrapX: true + }, + nextLabel: "NEXT", + returnLabel: "RETURN", + itemMenu: MenuProperties { + cols: 3, + rows: 1, + charsPerEntry: 5, + rowGap: 8, + colGap: 16, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: menuFont, + wrapX: true, + wrapY: true + }, + itemMenuUseText: "USE", + itemMenuSortText: "SORT", + itemMenuDropText: "DROP", + inventoryMenu: MenuProperties { + cols: 1, + rows: 6, + charsPerEntry: 13, + rowGap: 8, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: menuFont, + disabledFont: menuInactiveFont, + iconSpace: 16, + charsPerNumber: 2, + delimiter: ":", + thirdColumnHack: 1 + }, + spellMenu: MenuProperties { + cols: 2, + rows: 6, + charsPerEntry: 8, + rowGap: 8, + colGap: 48, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: menuFont, + disabledFont: menuInactiveFont, + charsPerNumber: 2, + delimiter: ":" + }, + equipmentActionMenu: MenuProperties { + cols: 1, + rows: 5, + charsPerEntry: 10, + rowGap: 8, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: menuFont + }, + equipmentMenu: MenuProperties { + cols: 1, + rows: 6, + charsPerEntry: 12, + rowGap: 16, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: normalFont, + iconSpace: 16, + wrapY: true + }, + equipMenuEquipLabel: "EQUIP", + equipMenuStrongestLabel: "STRONGEST", + equipMenuRemoveLabel: "REMOVE", + equipMenuRemoveAllLabel: "REMOVE ALL", + equipMenuDropLabel: "DROP", + configMenu: MenuProperties { + cols: 1, + rows: 4, + charsPerEntry: 8, + rowGap: 32, + cursor: menuCursor, + font: menuFont, + wrapY: true + }, + configMessageSpeedLabel: "MESSAGE\n SPEED", + configMessageSpeedFast: "FAST", + configMessageSpeedNormal: "NORMAL", + configMessageSpeedSlow: "SLOW", + configBattleCursorLabel: "BATTLE\n CURSOR", + configStatusCursorLabel: "STATUS\n CURSOR", + configCursorClear: "CLEAR", + configCursorMemory: "MEMORY", + configMusicLabel: "MUSIC", + configMusicStereo: "STEREO", + configMusicMono: "MONO", + scenarioMenu: MenuProperties { + cols: 1, + rows: 6, + charsPerEntry: 14, + rowGap: 8, + cursor: menuCursor, + font: menuFont + }, + scenarioMenuHeadline: "SCENARIO ITEM", + capsulebg: Texture { + image: :"capsulebg.png", + size: <64, 64> + }, + capsuleMenu: MenuProperties { + cols: 3, + rows: 1, + charsPerEntry: 7, + cursor: menuCursor, + selectedCursor: menuActiveCursor, + font: menuFont, + thirdColumnHack: 2 + }, + capsuleFeedLabel: "FEED", + capsuleChangeLabel: "CHANGE", + capsuleNameLabel: "NAME", + capsuleClassLabel: "CLASS", + capsuleAlignmentLabel: "ALI.", + capsuleTribeLabel: "TRIBE", + capsuleAttack1Label: "SP.1", + capsuleAttack2Label: "SP.2", + capsuleAttack3Label: "SP.3", + capsuleNoAttackText: "Nothing" +}