summaryrefslogtreecommitdiffstats
path: root/src/view/entity.ts
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-11-11 13:30:15 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-11-11 13:30:15 +0100
commit4eb954e7598983136540b79b46b052a0500f04b3 (patch)
tree15cbce949b482da1eb4ad1350ae5f2c7b900ab4b /src/view/entity.ts
parentb83b596b0f79fa1d5b95c462d3fa7171ff221a19 (diff)
downloadrpgedit-4eb954e7598983136540b79b46b052a0500f04b3.tar
rpgedit-4eb954e7598983136540b79b46b052a0500f04b3.zip
view: remove support for non-power-of-2 sprites again
Sprites with unusual dimensions must be padded with transparency. By only supporting power-of-two sprites, the anchor point can always be specified accurately.
Diffstat (limited to 'src/view/entity.ts')
-rw-r--r--src/view/entity.ts5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/view/entity.ts b/src/view/entity.ts
index 7600826..83cd955 100644
--- a/src/view/entity.ts
+++ b/src/view/entity.ts
@@ -14,9 +14,10 @@ export async function loadEntity(
const sprites: SpriteView[] = [];
for (let frame = 0; frame < data.frames; frame++) {
- const [texture, size, coords] = mkTexture(r, tile, frame, data.frames);
+ const [texture, coords] = mkTexture(r, tile, frame, data.frames);
- const offset = vec2.mul(vec2.create(), data.anchor, size);
+ const offset = vec2.fromValues(coords[2] - coords[0], coords[3] - coords[1]);
+ vec2.mul(offset, offset, data.anchor);
r.snapToGrid(offset, offset);
const anchorCoords: SpriteCoords = [