]> git.localhorst.tv Git - l2e.git/blobdiff - test-data/test.l2s
added most of the capsule main menu's features
[l2e.git] / test-data / test.l2s
index dd039e83368cf99e8cee1064ab773def9b984f3e..2ea517ac9e514e95e14550a07a4f18930a51e72c 100644 (file)
@@ -1,6 +1,6 @@
-include "ikaris.l2s"
-include "items.l2s"
-include "spells.l2s"
+include "ikaris.l2h"
+include "items.l2h"
+include "spells.l2h"
 
 Number frameTime 33
 Number twoFramesTime 66
@@ -20,7 +20,8 @@ export PartyLayout heroesLayout {
                < 48,136>,
                <128,136>,
                < 80,152>,
-               <160,152>
+               <160,152>,
+               <216,144>
        ]
 }
 
@@ -48,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> },
@@ -72,7 +74,7 @@ Sprite maximSprite {
 export Hero maxim {
        name: "Maxim",
        level: 1,
-       sprite: maximSprite,
+       battleSprite: maximSprite,
        maxHealth: 33,
        health: 33,
        maxMana: 20,
@@ -87,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> },
@@ -125,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> }
@@ -138,6 +146,17 @@ export Hero maxim {
                },
                frametime: twoFramesTime,
                framecount: 4
+       },
+       mapEntity: Entity {
+               animation: SimpleAnimation{
+                       sprite: Sprite {
+                               image: :"maxim-map.png",
+                               size: <32,64>
+                       },
+                       frametime: 120,
+                       framecount: 2
+               },
+               spriteOffset: <0,-32>
        }
 }
 
@@ -148,7 +167,7 @@ Sprite selanSprite {
 export Hero selan {
        name: "Selan",
        level: 1,
-       sprite: selanSprite,
+       battleSprite: selanSprite,
        maxHealth: 28,
        health: 28,
        maxMana: 23,
@@ -163,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> },
@@ -188,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> },
@@ -208,6 +230,17 @@ export Hero selan {
                },
                frametime: twoFramesTime,
                framecount: 4
+       },
+       mapEntity: Entity {
+               animation: SimpleAnimation{
+                       sprite: Sprite {
+                               image: :"selan-map.png",
+                               size: <32,64>
+                       },
+                       frametime: 120,
+                       framecount: 2
+               },
+               spriteOffset: <0,-32>
        }
 }
 
@@ -218,7 +251,7 @@ Sprite guySprite {
 export Hero guy {
        name: "Guy",
        level: 1,
-       sprite: guySprite,
+       battleSprite: guySprite,
        maxHealth: 38,
        health: 38,
        maxMana: 0,
@@ -233,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> },
@@ -261,6 +296,17 @@ export Hero guy {
                },
                frametime: fourFramesTime,
                framecount: 4
+       },
+       mapEntity: Entity {
+               animation: SimpleAnimation{
+                       sprite: Sprite {
+                               image: :"guy-map.png",
+                               size: <32,64>
+                       },
+                       frametime: 120,
+                       framecount: 2
+               },
+               spriteOffset: <0,-32>
        }
 }
 
@@ -271,7 +317,7 @@ Sprite dekarSprite {
 export Hero dekar {
        name: "Dekar",
        level: 1,
-       sprite: dekarSprite,
+       battleSprite: dekarSprite,
        maxHealth: 38,
        health: 38,
        maxMana: 0,
@@ -286,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> },
@@ -311,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> },
@@ -332,189 +381,487 @@ export Hero dekar {
                },
                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: :"swap-cursor.png",
-       size: <32,32>
-}
-export Sprite attackIcons {
-       image: :"attack-type-icons.png",
-       size: <32,32>
-}
-export Sprite attackChoiceIcons {
-       image: :"attack-choice-icons.png",
-       size: <16,16>
-}
-export Sprite moveIcons {
-       image: :"move-icons.png",
+Sprite handCursor {
+       image: :"cursor-hand.png",
        size: <32,32>
 }
 
-export Frame titleFrame {
-       image: :"title-frame.png",
-       border: <16,16>
-}
-
-export Font largeFont {
+Font normalFont {
        sprite: Sprite {
-               image: :"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: :"big-numbers.png",
-       size: <16,32>
-}
-export Sprite bigGreenNumbers {
-       image: :"big-green-numbers.png",
-       size: <16,32>
-}
-
-export Sprite heroTagLabels {
-       image: :"hero-tag-sprites.png",
-       size: <32,16>
-}
-export Font heroTagFont {
+Font disabledFont {
        sprite: Sprite {
-               image: :"numbers.png",
+               image: :"disabled-font.png",
                size: <16,16>
        },
-       rowoffset: -3
-}
-
-export Frame activeHeroTagFrame {
-       image: :"tag-frames.png",
-       border: <16,16>
-}
-export Frame heroTagFrame {
-       image: :"tag-frames.png",
-       border: <16,16>,
-       offset: < 0,33>
-}
-
-export Frame smallHeroTagFrame {
-       image: :"small-tag-frame.png",
-       border: <8,16>
-}
-export Frame lastSmallHeroTagFrame {
-       image: :"small-tag-frame.png",
-       border: <8,16>,
-       offset: <0,33>
+       rowoffset: -2
 }
 
-export Gauge healthGauge {
-       image: :"gauges.png",
-       full:  <0,16>,
-       empty: <0, 0>,
-       height: 16,
-       start:   6,
-       repeat:  1,
-       end:     6
-}
-export Gauge manaGauge {
-       image: :"gauges.png",
-       full:  <0,32>,
-       empty: <0, 0>,
-       height: 16,
-       start:   6,
-       repeat:  1,
-       end:     6
-}
-export Gauge ikariGauge {
-       image: :"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: :"select-frame.png",
-       border: <16,16>
-}
-export Font normalFont {
+Font menuFont {
        sprite: Sprite {
-               image: :"normal-font.png",
-               size: <16,16>
+               image: :"menu-font.png",
+               size: <16, 16>
        },
        rowoffset: -2
 }
-export Font disabledFont {
+Font menuInactiveFont {
        sprite: Sprite {
-               image: :"disabled-font.png",
-               size: <16,16>
+               image: :"menu-font-inactive.png",
+               size: <16, 16>
        },
        rowoffset: -2
 }
-export Sprite handCursor {
-       image: :"cursor-hand.png",
-       size: <32,32>
-}
-
-export Sprite weaponTargetCursor {
-       image: :"targeting-icons.png",
-       size: <32,32>
-}
-export Sprite magicTargetCursor {
-       image: :"targeting-icons.png",
-       size: <32,32>,
-       offset: <0,32>
+Sprite menuCursor {
+       image: :"menu-cursor.png",
+       size: <32, 16>
 }
-export Sprite itemTargetCursor {
-       image: :"targeting-icons.png",
-       size: <32,32>,
-       offset: <0,64>
+Sprite menuActiveCursor {
+       image: :"menu-cursor-active.png",
+       size: <32, 18>
 }
 
-export String spellMenuHeadline "Please choose a spell."
-export String itemMenuHeadline "Please choose an item."
-export String ikariMenuHeadline "Please choose equipment."
-export String noEquipmentText "No equip"
-export String escapeText "Escapes."
+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"
+}