Dungeon Painter Studio

Dungeon Painter Studio

Not enough ratings
DpsMapConverter
By 13Minor
DpsMapConverter is a tool that allows you to export walls/doors/windows/light sources from Dungeon Painter Studio to .uvtt format for use in Roll20 and Foundry.
   
Award
Favorite
Favorited
Unfavorite
Introduction
Hello everyone!

DpsMapConverter is a separate tool that does not interact with DPS directly, but only converts the .dps file to .uvtt. This allows you to transfer not only the image, but also interactive objects such as walls/doors/windows/light sources to services such as roll20/Foundry.

Important: I tested importing .uvtt only in Foundry.
For import in Foundry i use this module: https://foundryvtt.com/packages/dd-import

Discord server: https://discord.gg/teu2gaC3
Using the Converter
Download


Git: https://github.com/ChosonDev/DpsMapConverter
Latest release: https://github.com/ChosonDev/DpsMapConverter/releases/tag/Release_1.0.0
Launch method: download the archive with the latest release, unzip it in a convenient place, run the DpsMapConverter.exe file.

You may need to update .NET libraries to run the application.
Dotnet official: https://dotnet.microsoft.com/ru-ru/download/dotnet/8.0


Using the application
To convert the map you need to do several things:
- Select the .dps file.
- Select the map image.
- Check the settings, set the map width/height in cells, as well as the grid cell resolution in pixels.
- Click on "Start" button.



As a result of the work you will receive a .uvtt file with the same name and location as your .dps file.
Preparing the Map for Conversion
The Converter works by reading the .dps map file, and uses special names for Layers and Groups of objects for conversion.

For an object to be recognized as an object for conversion, its name must begin with such an element:
VttWall - for walls.
VttDoor - for doors.
VttWindow - for windows.
VttLight - for light sources.

Light sources also use additional parameters:
Range - for light radius.
Int - for color intensity.
Col - for light color. Use the color name (eg Red), or the Hex code (eg #ce7e00)

- If you used a special marker for the Layer and for the Group in which the layer is located, the converter will always use the marker in the Layer. For example, you created a VttDoor Layer and placed it in the VttWindow Group, the VttDoor object will be recognized as a door, and all other objects as windows.

- If the Layer or Group in which the other Layers/Groups are located is marked as Invisible, the converter will ignore objects that are in such Layers/Groups. This allows you to use one DPS map with multiple floors, exporting only the desired floor, disabling the visibility of the rest.
Create Walls
To start, I created a blank map.

Using the Walls tool i created several walls, I named the Layer of one of the walls VttWall.

Result in Foundry


Instead of giving each wall a special name, you can combine them into a Group called VttWall.
Result in Foundry
Create Doors/Windows
In a similar way, continuing to use the Walls tool, we will create objects and name them VttDoor and Group for windows VttWindow.
Result in Foundry



Experimental features
Instead of the Wall tool, you can place Doors and Windows using the Object tool, you also need to use the names VttDoor and VttWindow for the Layer or Group of objects.

You can also add the Size property, for example:
VttDoor_Size3 - to create a door with a width of 3 cells.
If the Size is not specified, Doors and Windows will be created with a width of 1 cell.

For the rotation of Doors/Windows, the converter will use the same rotation as the Object from which it creates them.
But only the following rotations are supported: 0,45,90,136,180,225,270,315 (rotations of +45 degrees).
The converter also takes into account the Vertical/Horizontal Reflection of the object.

BUT
Unfortunately, I still could not fully understand the logic by which DPS assigns coordinates to Objects for the "begin" property. It can display both the middle of the object and offset coordinates.
Therefore, I DO NOT RECOMMEND using this feature.
Create Light sources
Light sources are created by default with the following parameters:
Radius = 5.
Color = #ce7e00.
Color intensity = 1.

Using the Objects tools, I will add some light sources to our map.
I will call one of the objects VttLight_Range1_ColRed, the name indicates the properties, namely Color = Red, Range (radius) = 1.
And I will also combine all light sources into Group VttLight.

Result in Foundry
Final result
I'll add a few more details to finish the map: