]> git.localhorst.tv Git - l2e.git/blobdiff - test-data/test.l2s
added menu cursor animations
[l2e.git] / test-data / test.l2s
index 8474e1f36c36ec9e46a5b35d7bf329e8a3b831ee..24f4bb25eebb741d68960fce76d827768b51a2f6 100644 (file)
@@ -1,11 +1,32 @@
+include "ikaris.l2h"
+include "items.l2h"
+include "spells.l2h"
+
 Number frameTime 33
 Number twoFramesTime 66
 Number fourFramesTime 132
 Number fiveFramesTime 165 // darn, i really need to implement expressions
 
+export PartyLayout monstersLayout {
+       positions: [
+               < 88, 88>,
+               <128, 88>,
+               <168, 88>,
+               <208, 88>
+       ]
+}
+export PartyLayout heroesLayout {
+       positions: [
+               < 48,136>,
+               <128,136>,
+               < 80,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>
 }
 
@@ -28,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> },
@@ -37,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,
@@ -46,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,
@@ -67,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> },
@@ -105,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> }
@@ -113,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,
@@ -143,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> },
@@ -168,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> },
@@ -183,10 +225,767 @@ 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: :"guy.png",
+       size: <64,64>
+}
+export Hero guy {
+       name: "Guy",
+       level: 1,
+       battleSprite: guySprite,
+       maxHealth: 38,
+       health: 38,
+       maxMana: 0,
+       mana: 0,
+       ip: 0,
+       stats: Stats {
+               atp: 38,
+               dfp: 25,
+               str: 38,
+               agl: 13,
+               int:  8,
+               gut: 90,
+               mgr:  8
+       },
+       useMask: maskGuy,
+       attackAnimation: ComplexAnimation {
+               sprite: guySprite,
+               frametime: frameTime,
+               repeat: false,
+               frames:
+               [ ComplexAnimationFrame
+                       { column: 1, row: 0, disposition: <-4, 0> },
+                       { column: 1, row: 0, disposition: <-4, 0> },
+                       { column: 1, row: 0, disposition: <-8, 0> },
+                       { column: 1, row: 0, disposition: <-8, 0> },
+                       { column: 2, row: 0, disposition: <-8, 0> },
+                       { column: 2, row: 0, disposition: <-8, 0> },
+                       { column: 2, row: 0, disposition: <-4, 0> },
+                       { column: 2, row: 0, disposition: < 0, 0> },
+                       { column: 2, row: 0, disposition: < 0, 0> },
+                       { column: 2, row: 1, disposition: < 0, 0> },
+                       { column: 2, row: 1, disposition: < 4, 0> },
+                       { column: 2, row: 1, disposition: <10, 0> },
+                       { column: 2, row: 2, disposition: <10, 0> },
+                       { column: 2, row: 2, disposition: < 0, 0> }
+               ]
+       },
+       meleeAnimation: SimpleAnimation {
+               sprite: Sprite {
+                       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: :"dekar.png",
+       size: <64,64>
+}
+export Hero dekar {
+       name: "Dekar",
+       level: 1,
+       battleSprite: dekarSprite,
+       maxHealth: 38,
+       health: 38,
+       maxMana: 0,
+       mana: 0,
+       ip: 0,
+       stats: Stats {
+               atp:  46,
+               dfp:  29,
+               str:  46,
+               agl:  13,
+               int:   7,
+               gut: 100,
+               mgr:   5
+       },
+       useMask: maskDekar,
+       attackAnimation: ComplexAnimation {
+               sprite: dekarSprite,
+               frametime: frameTime,
+               repeat: false,
+               frames:
+               [ ComplexAnimationFrame
+                       { column: 1, row: 0, disposition: < 4, 0> },
+                       { column: 1, row: 0, disposition: < 8, 2> },
+                       { column: 2, row: 0, disposition: <12, 4> },
+                       { column: 2, row: 0, disposition: <16, 4> },
+                       { column: 2, row: 0, disposition: <10, 2> },
+                       { column: 2, row: 0, disposition: <10, 2> },
+                       { column: 2, row: 0, disposition: <10, 2> },
+                       { column: 2, row: 0, disposition: <10, 2> },
+                       { column: 2, row: 1, disposition: < 6, 2> },
+                       { column: 2, row: 1, disposition: < 0, 0> },
+                       { column: 2, row: 2, disposition: <-2, 0> },
+                       { column: 2, row: 2, disposition: < 0, 0> },
+                       { column: 2, row: 2, disposition: < 0, 0> },
+                       { column: 2, row: 2, disposition: < 0, 0> }
+               ]
+       },
+       spellAnimation: ComplexAnimation {
+               sprite: dekarSprite,
+               frametime: twoFramesTime,
+               repeat: false,
+               frames:
+               [ ComplexAnimationFrame
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 0, disposition: < 0, 0> },
+                       { column: 3, row: 1, disposition: < 0, 0> },
+                       { column: 3, row: 1, disposition: < 0, 0> },
+                       { column: 3, row: 2, disposition: < 0, 0> },
+                       { column: 3, row: 2, disposition: < 0, 0> },
+                       { column: 3, row: 2, disposition: < 0, 0> }
+               ]
+       },
+       meleeAnimation: SimpleAnimation {
+               sprite: Sprite {
+                       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>
+       }
+}
+
+Sprite handCursor {
+       image: :"cursor-hand.png",
+       size: <32,32>
+}
+
+Font normalFont {
+       sprite: Sprite {
+               image: :"normal-font.png",
+               size: <16,16>
+       },
+       rowoffset: -2
+}
+
+Font disabledFont {
+       sprite: Sprite {
+               image: :"disabled-font.png",
+               size: <16,16>
+       },
+       rowoffset: -2
+}
+
+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."
+}
+
+Font menuFont {
+       sprite: Sprite {
+               image: :"menu-font.png",
+               size: <16, 16>
+       },
+       rowoffset: -2
+}
+Font menuInactiveFont {
+       sprite: Sprite {
+               image: :"menu-font-inactive.png",
+               size: <16, 16>
+       },
+       rowoffset: -2
+}
+Sprite menuCursor {
+       image: :"menu-cursor.png",
+       size: <32, 16>
+}
+Sprite menuActiveCursor {
+       image: :"menu-cursor-active.png",
+       size: <32, 18>
+}
+SimpleAnimation menuCursorAnimation {
+       sprite: menuCursor,
+       frametime: fourFramesTime,
+       framecount: 6,
+       repeat: true
+}
+SimpleAnimation menuActiveCursorAnimation {
+       sprite: menuActiveCursor,
+       frametime: fourFramesTime,
+       framecount: 5,
+       repeat: true
+}
+
+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,
+               cursorAnimation: menuCursorAnimation,
+               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,
+               cursorAnimation: menuCursorAnimation,
+               font: menuFont,
+               wrapX: true
+       },
+       nextLabel: "NEXT",
+       returnLabel: "RETURN",
+       itemMenu: MenuProperties {
+               cols: 3,
+               rows: 1,
+               charsPerEntry: 5,
+               rowGap: 8,
+               colGap: 16,
+               cursor: menuCursor,
+               selectedCursor: menuActiveCursor,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               font: menuFont,
+               wrapX: true,
+               wrapY: true
+       },
+       itemMenuUseText: "USE",
+       itemMenuSortText: "SORT",
+       itemMenuDropText: "DROP",
+       itemMenuSelectText: "SELECT",
+       inventoryMenu: MenuProperties {
+               cols: 1,
+               rows: 6,
+               charsPerEntry: 13,
+               rowGap: 8,
+               cursor: menuCursor,
+               selectedCursor: menuActiveCursor,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               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,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               font: menuFont,
+               disabledFont: menuInactiveFont,
+               charsPerNumber: 2,
+               delimiter: ":"
+       },
+       equipmentActionMenu: MenuProperties {
+               cols: 1,
+               rows: 5,
+               charsPerEntry: 10,
+               rowGap: 8,
+               cursor: menuCursor,
+               selectedCursor: menuActiveCursor,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               font: menuFont
+       },
+       equipmentMenu: MenuProperties {
+               cols: 1,
+               rows: 6,
+               charsPerEntry: 12,
+               rowGap: 16,
+               cursor: menuCursor,
+               selectedCursor: menuActiveCursor,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               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,
+               cursorAnimation: menuCursorAnimation,
+               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,
+               cursorAnimation: menuCursorAnimation,
+               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,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               font: menuFont,
+               thirdColumnHack: 2
+       },
+       capsuleFeedMenu: MenuProperties {
+               cols: 2,
+               rows: 1,
+               charsPerEntry: 7,
+               colGap: 32,
+               cursor: menuCursor,
+               selectedCursor: menuActiveCursor,
+               cursorAnimation: menuCursorAnimation,
+               selectedCursorAnimation: menuActiveCursorAnimation,
+               font: menuFont
+       },
+       capsuleFeedLabel: "FEED",
+       capsuleChangeLabel: "CHANGE",
+       capsuleNameLabel: "NAME",
+       capsuleClassLabel: "CLASS",
+       capsuleAlignmentLabel: "ALI.",
+       capsuleTribeLabel: "TRIBE",
+       capsuleAttack1Label: "SP.1",
+       capsuleAttack2Label: "SP.2",
+       capsuleAttack3Label: "SP.3",
+       capsuleNoAttackText: "Nothing",
+       capsuleNotHungryText: "I'm not hungry.",
+       capsuleNameSelect: CharSelect {
+               font: menuFont,
+               cursor: Sprite {
+                       image: :"alpha-cursor.png",
+                       size: <20, 28>
+               },
+               chars: "0123456789ABCDEabcdeFGHIJfghijKLMNOklmnoPQRSTpqrstUVWXYuvwxyZ!?  z!?  ",
+               width: 10,
+               groupX: 5
+       },
+       capsuleSelectTopLeft: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 8>,
+               offset: <64, 0>
+       },
+       capsuleSelectTopRight: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 8>,
+               offset: <128, 0>
+       },
+       capsuleSelectTopRepeat: Texture {
+               image: :"capsule-sprites.png",
+               size: <32, 8>,
+               offset: <96, 0>
+       },
+       capsuleSelectBottomLeft: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 32>,
+               offset: <0, 32>
+       },
+       capsuleSelectBottomRight: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 32>,
+               offset: <128, 64>
+       },
+       capsuleSelectBottomRepeat: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 32>,
+               offset: <0, 64>
+       },
+       capsuleSelectLeftRepeat: Texture {
+               image: :"capsule-sprites.png",
+               size: <32, 32>
+       },
+       capsuleSelectRightRepeat: Texture {
+               image: :"capsule-sprites.png",
+               size: <32, 32>,
+               offset: <128, 32>
+       },
+       capsuleSelectLadder: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 24>,
+               offset: <64, 8>
+       },
+       capsuleSelectCursor: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 24>,
+               offset: <128, 8>
+       },
+       capsuleAlignmentWheel: Sprite {
+               image: :"capsule-sprites.png",
+               size: <128, 128>,
+               offset: <0, 128>
+       },
+       capsuleAlignmentCursor: Sprite {
+               image: :"capsule-sprites.png",
+               size: <32, 32>,
+               offset: <128, 128>
+       },
+       capsuleGrowthLabel: Sprite {
+               image: :"capsule-feed.png",
+               size: <32, 10>
+       },
+       capsuleGrowthBar: Sprite {
+               image: :"capsule-feed.png",
+               size: <8, 10>,
+               offset: <8, 10>
+       },
+       capsuleGrowthBarFilled: Sprite {
+               image: :"capsule-feed.png",
+               size: <8, 10>,
+               offset: <0, 10>
        }
 }