Commit 8aac4b39 authored by Vali's avatar Vali

Repository migration..

parents
## Installation
Download the zip and extract its content to ``public/modules`` in your FVTT folder.
Restart FVTT, if it was running.
## Usage
- Right click on the scene you want to import the data into and click on ``Import SVG Data``.
- Click on ``Choose File`` to choose your SVG file.
- Click on ``Import`` and wait until ``SUCCESS!`` is shown at the top.
**Do not switch the scene until ``SUCCESS!`` is shown at the top!**
![](img/svg_loader.gif)
Huge shoutout to *Forgotten Adventures* for his token-art used in the video! Check out his other work at [his Patreon](https://www.patreon.com/forgottenadventures/overview)
## Compatibility
- Tested on FVTT 0.2.4.
- Implemented for DungeonFog SVG files, version ``1``.
- Also supporting regular SVG files, with the following format:
- Paths are interpreted as vision blocking walls
- Lines as doors
- Circles as local lights
This image diff could not be displayed because it is too large. You can view the blob instead.
File added
<div>
<h1>SVG Importer</h1>
<div>
<p>You have selected scene <b>{{{sceneName}}}</b> with id {{{sceneId}}}.</p>
<p>This importer will import DungeonFog SVGs or regular SVGs.</p>
<p>For regular SVGs applies the following schema:
<ul style="list-style-type:disc;padding-left:20px">
<li>Paths are regular walls.</li>
<li>Circles are local light sources with the same radius as the circle.</li>
<li>Lines are doors.</li>
</ul>
</p>
<h3><i>Warning: Importing will delete all currently existing walls and lights in this scene!</i></h3>
<h3>This may take a while. Do not change the scene before a success message is displayed at the top!</h3>
</div>
<br>
<h2>Options</h2>
<details class="OptionDetails">
<summary class="OptionSummary">Show</summary>
<div class="content">
<ul>
<li>
<h3><b>Max dist to path element</b></h3>
<details class="DescDetails">
<summary class="DescSummary">Show description</summary>
<div class="content">
<p>This attribute defines how fine non-linear path elements are sampled. <br>
The value defines the maximum distance of a wall segments endpoint to the sampled path element. A higher value means better approximation of the elements, while using more wall segments, resulting in a worse performance.<br>
The default value (10%) seems like a good tradeoff between amount of wallpoints and approximation of the path element for most curves. If you experience a bad performace try reducing this value.</p>
</div>
</details>
<input class="DistSlider" type="range" name="dist_percent" min="0" max="100" value={{{maxDist}}} step="0.5" style="width:200px"/>
<output class="DistOut">{{{maxDist}}}</output>% of grid size.
</li>
<li class="optionItem">
<h3><b>Dim light to bright light ratio</b></h3>
<details class="DescDetails">
<summary class="DescSummary">Show description</summary>
<div class="content">
<p>This attribute defines the ratio of bright to dim light the radius of a circle is interpreted as.</p>
</div>
</details>
<input class="LightRatioSlider" type="range" name="dist_percent" min="0" max="100" value={{{lightRatio}}} step="0.5" style="width:200px"/>
<output class="LightRatioOut">{{{lightRatio}}}</output>% of the radius is bright light.
</li>
</ul>
</div>
</div>
</details>
<div>
<br>
<table style="border: none; background: Transparent;">
<tr>
<td style="width:125px">
Choose SVG file:
</td>
<td>
<input type="file" name="fileUploads" accept=".svg" value=10/>
</td>
</tr>
</table>
</div>
<button class="startImport btn" value="Import" >
<i class='fas fa-check'></i> Import
</button>
</div>
{
"name": "svg-loader",
"title": "SVG loader",
"description": "Loads walls, lights and doors into a scene, defined through an .svg file.",
"version": "0.6",
"author": "Moerill",
"scripts": ["wall-loader.js"],
"styles": ["wall-loader.css"],
"packs": []
}
.content {
padding: 0 18px;
transition: max-height 0.2s ease-out;
}
.DescDetails {
padding-left: 20px;
}
.optionItem {
padding-top: 20px;
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment