From 7679517e8573679cf943564756e55ac607fde982 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Tue, 7 Jun 2022 22:44:00 +0000 Subject: [PATCH] iso-engine double-height blades terrains --- projects/iso-rpg-engine/source/IsometricMapState.kiss | 2 ++ .../iso-rpg-engine/source/data/blades/ScenData.hx | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/projects/iso-rpg-engine/source/IsometricMapState.kiss b/projects/iso-rpg-engine/source/IsometricMapState.kiss index 5684529e..c4ee645d 100644 --- a/projects/iso-rpg-engine/source/IsometricMapState.kiss +++ b/projects/iso-rpg-engine/source/IsometricMapState.kiss @@ -40,6 +40,8 @@ (let [tileSprite (data.terrainSprite tile)] (set tileSprite.x x) (set tileSprite.y y) + (when (> tileSprite.height SPRITE_HEIGHT) + (-= tileSprite.y SPRITE_HEIGHT)) (add tileSprite)) (+= x (/ FLOOR_WIDTH 2)) (+= y (/ FLOOR_HEIGHT 2)))) diff --git a/projects/iso-rpg-engine/source/data/blades/ScenData.hx b/projects/iso-rpg-engine/source/data/blades/ScenData.hx index 027866fb..d3df1c66 100644 --- a/projects/iso-rpg-engine/source/data/blades/ScenData.hx +++ b/projects/iso-rpg-engine/source/data/blades/ScenData.hx @@ -93,6 +93,17 @@ class ScenData { sprite.animation.frameIndex = td.which_icon; // TODO if it's a tall terrain combine it with the upper sprite and set its origin to offset y + if (td.second_icon != -1) { + var upperSprite = sheet.clone(); + upperSprite.animation.frameIndex = td.second_icon; + + var tallerSprite = new FlxSprite(0, 0); + tallerSprite.makeGraphic(46, 110, FlxColor.TRANSPARENT, true); + tallerSprite.stamp(upperSprite, 0, 0); + tallerSprite.stamp(sprite, 0, 55); + + return tallerSprite; + } // TODO if it's animated add the animations