Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c1b0e9d7fb | |||
| 9d227efcd1 | |||
| a3d942c287 | |||
| 3afb1f30b7 | |||
| 654f8e3111 | |||
| 5f6e348bf0 | |||
| 82f2a885fb |
@@ -1,3 +1,21 @@
|
|||||||
|
## 1.12.8
|
||||||
|
### Bugfixes
|
||||||
|
- Fixed a bug that could cause grid cells to be highlighted in the wrong color
|
||||||
|
|
||||||
|
### Compatibility
|
||||||
|
- Fixed an interaction with the Wall Height module that could allow players to walk through walls
|
||||||
|
|
||||||
|
|
||||||
|
## 1.12.7
|
||||||
|
### Bugfixes
|
||||||
|
- Fixed a bug that caused measurement templates to only snap to the corners of the grid (this was a regression introduced in 1.12.5)
|
||||||
|
|
||||||
|
|
||||||
|
## 1.12.6
|
||||||
|
### Bugfixes
|
||||||
|
- Measured templates no longer snap to a virtual grid on gridless scenes (this was a regression introduced in 1.12.5)
|
||||||
|
|
||||||
|
|
||||||
## 1.12.5
|
## 1.12.5
|
||||||
### Compatibility
|
### Compatibility
|
||||||
- Drag Ruler is now compatible with DF Template Enhancements
|
- Drag Ruler is now compatible with DF Template Enhancements
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ export async function moveEntities(draggedEntity, selectedEntities) {
|
|||||||
const hasCollision = selectedEntities.some(token => {
|
const hasCollision = selectedEntities.some(token => {
|
||||||
const offset = calculateEntityOffset(token, draggedEntity);
|
const offset = calculateEntityOffset(token, draggedEntity);
|
||||||
const offsetRays = rays.filter(ray => !ray.isPrevious).map(ray => applyOffsetToRay(ray, offset))
|
const offsetRays = rays.filter(ray => !ray.isPrevious).map(ray => applyOffsetToRay(ray, offset))
|
||||||
|
if (window.WallHeight) {
|
||||||
|
window.WallHeight.addBoundsToRays(offsetRays, draggedEntity);
|
||||||
|
}
|
||||||
return offsetRays.some(r => canvas.walls.checkCollision(r));
|
return offsetRays.some(r => canvas.walls.checkCollision(r));
|
||||||
})
|
})
|
||||||
if (hasCollision) {
|
if (hasCollision) {
|
||||||
@@ -341,7 +344,8 @@ export function highlightMeasurementNative(ray, previousSegments, tokenShape=[{x
|
|||||||
if ( x0 === x1 && y0 === y1 ) continue;
|
if ( x0 === x1 && y0 === y1 ) continue;
|
||||||
|
|
||||||
// Highlight the grid position
|
// Highlight the grid position
|
||||||
let [xg, yg] = canvas.grid.grid.getPixelsFromGridPosition(x1, y1);
|
let [xgtl, ygtl] = canvas.grid.grid.getPixelsFromGridPosition(x1, y1);
|
||||||
|
let [xg, yg] = canvas.grid.grid.getCenter(xgtl, ygtl);
|
||||||
const pathUntilSpace = previousSegments.concat([{ray: new Ray(ray.A, {x: xg, y: yg})}]);
|
const pathUntilSpace = previousSegments.concat([{ray: new Ray(ray.A, {x: xg, y: yg})}]);
|
||||||
const distance = sum(canvas.grid.measureDistances(pathUntilSpace, {gridSpaces: true}));
|
const distance = sum(canvas.grid.measureDistances(pathUntilSpace, {gridSpaces: true}));
|
||||||
const color = this.dragRulerGetColorForDistance(distance);
|
const color = this.dragRulerGetColorForDistance(distance);
|
||||||
@@ -355,7 +359,8 @@ export function highlightMeasurementNative(ray, previousSegments, tokenShape=[{x
|
|||||||
let th = tMax[i - 1] - (0.5 / nMax);
|
let th = tMax[i - 1] - (0.5 / nMax);
|
||||||
let {x, y} = ray.project(th);
|
let {x, y} = ray.project(th);
|
||||||
let [x1h, y1h] = canvas.grid.grid.getGridPositionFromPixels(x, y);
|
let [x1h, y1h] = canvas.grid.grid.getGridPositionFromPixels(x, y);
|
||||||
let [xgh, ygh] = canvas.grid.grid.getPixelsFromGridPosition(x1h, y1h);
|
let [xghtl, yghtl] = canvas.grid.grid.getPixelsFromGridPosition(x1h, y1h);
|
||||||
|
let [xgh, ygh] = canvas.grid.grid.getCenter(xghtl, yghtl);
|
||||||
const pathUntilSpace = previousSegments.concat([{ray: new Ray(ray.A, {x: xgh, y: ygh})}]);
|
const pathUntilSpace = previousSegments.concat([{ray: new Ray(ray.A, {x: xgh, y: ygh})}]);
|
||||||
const distance = sum(canvas.grid.measureDistances(pathUntilSpace, {gridSpaces: true}));
|
const distance = sum(canvas.grid.measureDistances(pathUntilSpace, {gridSpaces: true}));
|
||||||
const color = this.dragRulerGetColorForDistance(distance);
|
const color = this.dragRulerGetColorForDistance(distance);
|
||||||
|
|||||||
+8
-1
@@ -90,12 +90,19 @@ export function getSnapPointForTokenObj(pos, token) {
|
|||||||
return getSnapPointForToken(pos.x, pos.y, token);
|
return getSnapPointForToken(pos.x, pos.y, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getSnapPointForMeasuredTemplate(x, y) {
|
||||||
|
if (canvas.grid.type === CONST.GRID_TYPES.GRIDLESS) {
|
||||||
|
return new PIXI.Point(x, y);
|
||||||
|
}
|
||||||
|
return canvas.grid.grid.getSnappedPosition(x, y, canvas.templates.gridPrecision);
|
||||||
|
}
|
||||||
|
|
||||||
export function getSnapPointForEntity(x, y, entity) {
|
export function getSnapPointForEntity(x, y, entity) {
|
||||||
const isToken = entity instanceof Token;
|
const isToken = entity instanceof Token;
|
||||||
if (isToken)
|
if (isToken)
|
||||||
return getSnapPointForToken(x, y, entity);
|
return getSnapPointForToken(x, y, entity);
|
||||||
else
|
else
|
||||||
return canvas.grid.grid.getSnappedPosition(x, y, canvas.templates.gridPosition);
|
return getSnapPointForMeasuredTemplate(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function highlightTokenShape(position, shape, color, alpha) {
|
export function highlightTokenShape(position, shape, color, alpha) {
|
||||||
|
|||||||
+2
-2
@@ -2,7 +2,7 @@
|
|||||||
"name": "drag-ruler",
|
"name": "drag-ruler",
|
||||||
"title": "Drag Ruler",
|
"title": "Drag Ruler",
|
||||||
"description": "When dragging a token displays a ruler showing how far you've moved that token.",
|
"description": "When dragging a token displays a ruler showing how far you've moved that token.",
|
||||||
"version": "1.12.5",
|
"version": "1.12.8",
|
||||||
"minimumCoreVersion" : "9.245",
|
"minimumCoreVersion" : "9.245",
|
||||||
"compatibleCoreVersion" : "9",
|
"compatibleCoreVersion" : "9",
|
||||||
"authors": [
|
"authors": [
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
],
|
],
|
||||||
"socket": true,
|
"socket": true,
|
||||||
"url": "https://github.com/manuelVo/foundryvtt-drag-ruler",
|
"url": "https://github.com/manuelVo/foundryvtt-drag-ruler",
|
||||||
"download": "https://github.com/manuelVo/foundryvtt-drag-ruler/releases/download/v1.12.5/drag-ruler-1.12.5.zip",
|
"download": "https://github.com/manuelVo/foundryvtt-drag-ruler/releases/download/v1.12.8/drag-ruler-1.12.8.zip",
|
||||||
"manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-drag-ruler/master/module.json",
|
"manifest": "https://raw.githubusercontent.com/manuelVo/foundryvtt-drag-ruler/master/module.json",
|
||||||
"readme": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/README.md",
|
"readme": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/README.md",
|
||||||
"changelog": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/CHANGELOG.md",
|
"changelog": "https://github.com/manuelVo/foundryvtt-drag-ruler/blob/master/CHANGELOG.md",
|
||||||
|
|||||||
Generated
+1
-1
@@ -26,7 +26,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gridless-pathfinding"
|
name = "gridless-pathfinding"
|
||||||
version = "1.12.5"
|
version = "1.12.8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"console_error_panic_hook",
|
"console_error_panic_hook",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "gridless-pathfinding"
|
name = "gridless-pathfinding"
|
||||||
version = "1.12.5"
|
version = "1.12.8"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|||||||
Reference in New Issue
Block a user