This is a mod that make the Fill Director indication more visible and useful
Follow modding instruction on Sixty Four wiki
This is a mod that make the Fill Director indication more visible and useful
Follow modding instruction on Sixty Four wiki
| label =on 'Explicit Eye'; | |
| description = 'Make the Fill Director indication more visible and useful'; | |
| (function () { | |
| let c = typeof configuration === 'object' ? configuration : {}; | |
| if (!c?.enabled) return; | |
| Game.prototype.renderUnfilled = function () { | |
| this.ctx.save(); | |
| const margin = this.pixelRatio * 16; | |
| const size = this.pixelRatio * 18; | |
| /** @type CanvasRenderingContext2D */ | |
| const ctx = this.ctx; | |
| const mx = ctx.canvas.clientWidth; | |
| const my = ctx.canvas.clientHeight; | |
| for (let i = 0; i < this.unfilledEntities.length; i++) { | |
| const coords = this.uvToXYUntranslated(this.unfilledEntities[i].position); | |
| const vector = [this.mouse.xy[0] - coords[0], this.mouse.xy[1] - coords[1]]; | |
| const length = (vector[0] ** 2 + vector[1] ** 2) ** 0.5; | |
| //if (length > this.unit * 6) { | |
| if (coords[0] < 0 || coords[1] < 0 || coords[0] > mx || coords[1] > my) { | |
| this.ctx.strokeStyle = `#FFF`; | |
| this.ctx.lineWidth = this.pixelRatio * 6; | |
| vector[0] /= length; | |
| vector[1] /= length; | |
| this.ctx.beginPath(); | |
| this.ctx.moveTo(this.mouse.xy[0], this.mouse.xy[1]); | |
| this.ctx.lineTo(this.mouse.xy[0] - vector[0] * size, this.mouse.xy[1] - vector[1] * size); | |
| this.ctx.stroke(); | |
| } else { | |
| this.ctx.fillStyle = `#FFF`; | |
| this.ctx.strokeStyle = `#FFF`; | |
| this.ctx.lineWidth = this.pixelRatio * 6; | |
| this.ctx.beginPath(); | |
| this.ctx.moveTo(this.mouse.xy[0], this.mouse.xy[1]); | |
| this.ctx.lineTo(coords[0], coords[1]); | |
| this.ctx.stroke(); | |
| this.ctx.beginPath(); | |
| this.ctx.arc(coords[0], coords[1], this.pixelRatio * 5, 0, Math.PI * 2); | |
| this.ctx.closePath(); | |
| this.ctx.fill(); | |
| } | |
| } | |
| for (let i = 0; i < this.unfilledEntities.length; i++) { | |
| const coords = this.uvToXYUntranslated(this.unfilledEntities[i].position); | |
| const vector = [this.mouse.xy[0] - coords[0], this.mouse.xy[1] - coords[1]]; | |
| const length = (vector[0] ** 2 + vector[1] ** 2) ** 0.5; | |
| if (coords[0] < 0 || coords[1] < 0 || coords[0] > mx || coords[1] > my) { | |
| this.ctx.strokeStyle = `#112`; | |
| this.ctx.lineWidth = this.pixelRatio * 2; | |
| vector[0] /= length; | |
| vector[1] /= length; | |
| this.ctx.beginPath(); | |
| this.ctx.moveTo(this.mouse.xy[0], this.mouse.xy[1]); | |
| this.ctx.lineTo(this.mouse.xy[0] - vector[0] * size, this.mouse.xy[1] - vector[1] * size); | |
| this.ctx.stroke(); | |
| } else { | |
| this.ctx.fillStyle = `#112`; | |
| this.ctx.strokeStyle = `#112`; | |
| this.ctx.lineWidth = this.pixelRatio * 2; | |
| this.ctx.beginPath(); | |
| this.ctx.moveTo(this.mouse.xy[0], this.mouse.xy[1]); | |
| this.ctx.lineTo(coords[0], coords[1]); | |
| this.ctx.stroke(); | |
| this.ctx.beginPath(); | |
| this.ctx.arc(coords[0], coords[1], this.pixelRatio * 3, 0, Math.PI * 2); | |
| this.ctx.closePath(); | |
| this.ctx.fill(); | |
| } | |
| } | |
| this.ctx.restore(); | |
| }; | |
| })(); |