diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-11-11 13:30:15 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-11-11 13:30:15 +0100 |
commit | 4eb954e7598983136540b79b46b052a0500f04b3 (patch) | |
tree | 15cbce949b482da1eb4ad1350ae5f2c7b900ab4b /src/view/entity.ts | |
parent | b83b596b0f79fa1d5b95c462d3fa7171ff221a19 (diff) | |
download | rpgedit-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.ts | 5 |
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 = [ |