From 0de7516a535ff05c43f0989cade19778affa2360 Mon Sep 17 00:00:00 2001 From: Tim Sarbin Date: Sat, 20 Jun 2020 21:26:26 -0400 Subject: [PATCH] Fixed entity and object position bug (#366) * Performance improvements * fix readbytes variable * Fixed entity/object position bug. * Fixed subTileY capitalization issue --- d2core/d2map/region.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/d2core/d2map/region.go b/d2core/d2map/region.go index 5f962e1a..2dfd2bae 100644 --- a/d2core/d2map/region.go +++ b/d2core/d2map/region.go @@ -268,7 +268,7 @@ func (mr *MapRegion) loadEntities() []MapEntity { var entities []MapEntity for _, object := range mr.ds1.Objects { - worldX, worldY := mr.getTileWorldPosition(object.X, object.Y) + worldX, worldY := mr.getSubTileWorldPosition(object.X, object.Y) switch object.Lookup.Type { case d2datadict.ObjectTypeCharacter: @@ -363,6 +363,10 @@ func (mr *MapRegion) advance(elapsed float64) { } } +func (mr *MapRegion) getSubTileWorldPosition(subTileX, subTileY int) (float64, float64) { + return float64(subTileX + (mr.tileRect.Left * 5)), float64(subTileY + (mr.tileRect.Top * 5)) +} + func (mr *MapRegion) getTileWorldPosition(tileX, tileY int) (float64, float64) { return float64(tileX + mr.tileRect.Left), float64(tileY + mr.tileRect.Top) }