diff --git a/ddimport.js b/ddimport.js index 8bd9f10..8cd1e88 100644 --- a/ddimport.js +++ b/ddimport.js @@ -82,6 +82,13 @@ class DDImporter { } + static convertPointFromDDtoFVTT(point){ + let offsetX = canvas.dimensions.paddingX; + let offsetY = canvas.dimensions.paddingY; + let ddScale = canvas.grid.size/256; + return [(points[0]*ddScale)+offsetX, (points[1]*ddScale)+offsetY] + } + static GetWalls(file, level) { let walls = []; @@ -108,8 +115,8 @@ class DDImporter { console.log(portal); let portalCenterPoint = portal.position.substring(8, portal.position.length-2).split(", ").map(a => Number(a)) let portalDirection = portal.direction.substring(8, portal.direction.length-2).split(", ").map(a => Number(a)) - let portalPoint1 = [portalCenterPoint[0] + portal.radius*portalDirection[0] + offsetX, portalCenterPoint[1] + portal.radius*portalDirection[1] + offsetY] - let portalPoint2 = [portalCenterPoint[0] - portal.radius*portalDirection[0] + offsetX, portalCenterPoint[1] - portal.radius*portalDirection[1] + offsetY] + let portalPoint1 = [portalCenterPoint[0] + portal.radius*portalDirection[0], portalCenterPoint[1] + portal.radius*portalDirection[1]] + let portalPoint2 = [portalCenterPoint[0] - portal.radius*portalDirection[0], portalCenterPoint[1] - portal.radius*portalDirection[1]] console.log(portalCenterPoint) console.log(portalPoint1) console.log(portalPoint2) @@ -118,16 +125,18 @@ class DDImporter { }); wall.data.door = CONST.WALL_DOOR_TYPES.DOOR walls.push(wall.data) - let point1 = [(points[i]*ddScale)+offsetX, (points[i+1]*ddScale)+offsetY] - let point2 = [(points[i+2]*ddScale)+offsetX, (points[i+3]*ddScale)+offsetY] + let point1 = [points[i], points[i+1]] + let point2 = [points[i+2], points[i+3]] let line = [point1,point2] if (this.pointIsOnLine(portalCenterPoint,line)) { console.log('yes'); console.log(this.getNearerPoint(point1, [portalPoint1, portalPoint2])); console.log(this.getNearerPoint(point2, [portalPoint1, portalPoint2])); - let topoint1 = this.getNearerPoint(point1, [portalPoint1, portalPoint2]); - let topoint2 = this.getNearerPoint(point2, [portalPoint1, portalPoint2]); + let topoint1 = this.convertPointFromDDtoFVTT(his.getNearerPoint(point1, [portalPoint1, portalPoint2])); + let topoint2 = this.convertPointFromDDtoFVTT(his.getNearerPoint(point2, [portalPoint1, portalPoint2])); + let point1fctt = this.convertPointFromDDtoFVTT(point1); + let point2fctt = this.convertPointFromDDtoFVTT(point2); let wall1 = new Wall({ c : [ point1[0], diff --git a/module.json b/module.json index e6df88d..6a64d5d 100644 --- a/module.json +++ b/module.json @@ -2,7 +2,7 @@ "name": "dd-import", "title": "DungeonDraft Importer", "description": "Imports scene elements from Dungeon Draft map files", - "version": "0.4.6", + "version": "0.4.7", "authors": [ { "name": "Moo Man"