Intended workflow for authoring ini files is again quite convoluted.
They should be edited in SVG format, exported using a special script into .ini files, these ini files are them processed with special utilities that generates proper crossroads and bridges (for those places where roads intersect rivers). Well, as I said the process is documented only in Russian and actually is not something that I want to use or translate.
In fact, you don't need any scripts and special utilities, if you do everything carefully.
SVG format is actually a XML based one, which means that it is just a plain text with vector definitions.
Game ini files are also a plain text with coordinate pairs. And you know what - you can just copy-paste that text data from SVG into INI.
I'm not good at SVG tools (I don't even know them, is it Adobe Illustrator? Corel Draw? something free, perhaps?). But I'll try to describe the process as I understand it.
Roadsystems.ini contain following lines
That is for main map. And this is for Verdun:
This means that for Verdun you'll have to create a 1024*1024 vector drawing where each unit is 50 meters. For main map the scale is 25 meters per unit.
Then you draw roads/railways and trenches (in different files of course) using something called "polyline", i.e. a line with many vertices.
As I was told, though haven't verified, intersections must be done only where a vertex is present in both polylines. Example: let's make a cross.
Coordinates for first polyline:
2,5 7,5 9,5 – this is a horizontal line starting from 2 running to 9 and 5 units from the top. Ingame for Verdun map it will have a length of (9-2)=7*50=350m and will be placed 5*50=250 meters from the top of the map. The vertex 7,5 would be unnecessary if we wanted just a line, but since we are going to make a cross it is needed as a coordinate for cross road. So the second polyline will be vertical:
7,3 7,5 7,8 – runs vertically 7 units (350m) from the left side of the map. Will cross the first road and point (7,5).
By the way the game automatically produces routing info – trains were able to use sidings a my mission built on top of railways map.
However, there's one small glitch with trains (I don't know if it applies to vehicles and roads too) – the game automatically places and aligns them to the nearest railroad even if you missed a bit in mission editor. However, in the railyard sidinds example tracks are pretty close and the game may confuse one for another - that's how DiFiS unintentionally got two engines on the same track. I have yet to research how to counter the problem.
So, I was speaking about coordinates, but again how to extract them from SVG?
This is a part of SVG file:…cut…
points="0,133.854 33.287,130.854 …cut…
1017.287,350.854 1024,353.479 "/>
points="254.954,0 258.287,2.855 …cut…
276.754,164.025 274.455,168.688 "/>…cut…
You see the points="…" are actually stored in exactly the same format as ini files.
Each polyline should be stored as new text line for ini file.
Of course, copy-pasting them manually is a stupid waste of time and that's why I'm going to make an utility that at least allows to convert ini to svg and back again.
Also bridges require a bit of tricky approach. I have yet to verify everything. But again - I'll better make a tool that auto processes everything rather than describe workarounds in my bad English
i feel shamed, i have not noticed it only used landscape folder
Yep, the same feeling. And I have asked Viks on Sukhoi forums, but I was asking a wrong question. That's why I say big thanks to DiFiS as he knows what to ask devs for
how do you control the location of placement
Hope this post answers your question.
With a 25m/unit scale of the main map the following line
1,10000 115,10000 120,10000 140,10000 400,10000
translates to (measured from the top-left corner):
from 25m,25*10000m to 115*25m,250000m to 120*25m,250000 etc
Note that coordinates you see in mission editor use different origin - they are measured from bottom-left corner and instead of X,Y use Z,X notation where the first coordinate is vertical. Quite confusing at first.
PS: I've started to read your post about Hurricane, amazing job there!