X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=test-data%2Ftest.l2s;h=616249a26b677e07ee86566c8c6d8029814744cf;hb=e1edc92c4fb834c8061118e89c0d7e239742b030;hp=48817f47965aca37ae2c3df5c209edbc1f250b30;hpb=a55d4589da1a0cdec73c0bcf69a2af6bccf868cb;p=l2e.git diff --git a/test-data/test.l2s b/test-data/test.l2s index 48817f4..616249a 100644 --- a/test-data/test.l2s +++ b/test-data/test.l2s @@ -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,6 +381,17 @@ 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> } } @@ -389,7 +449,8 @@ export BattleResources battleResources { numberAnimationPrototype: ComplexAnimation { frametime: frameTime, repeat: false, - frames: [ + frames: + [ ComplexAnimationFrame { column: 0, row: 0, disposition: < 0, 0> }, { column: 0, row: 0, disposition: < 0,-26> }, { column: 0, row: 0, disposition: < 0,-42> }, @@ -587,4 +648,193 @@ export BattleResources battleResources { noEquipmentText: "No equip", escapeText: "Escapes." -} \ No newline at end of file +} + +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> +} + +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, + 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", + ipLabel: "IP", + 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: ":" + }, + 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" +}