Stormworks: Build and Rescue

Stormworks: Build and Rescue

Construction MODS (Oh yes, you can get a bigger edit zone and custom block colors!)
So, iv'e been looking around the game files for the past few days, it seems that each island has a few definitions in an XML file.

The part that matters here falls under the
<edit_areas>
tag.

Each siland has its own XML file that contains information regarding the definitions of island physics, edit zones, workbenches, lights etc...
Since none of this is hardcoded into the engine, editing the XML file actually changes what you can do on an island. Its more than possible to add 2 hangars to the crateive spawn island if you wanted, just need to learn how the different parts of the XML file link together (logic nodes etc...)

HOW THIS WORKS

  • XML definitions are located at: <installLocation>\Steam\steamapps\common\Stormworks\rom\data\tiles
  • The main creative island is 'island_15.xml
  • open the XML file in an editor, my preference is Notepad++, but you can use whatever you want, and scroll untill you see the <edit_areas> tag.

this is the edit area with id=edit1 ) by changing the values in the <size> tag.
you will also need to set the grid size to '0' in the same tag for the size to change

UPDATE
seeing as not everyone understands how this works....
  • Follow the instructions above
  • Find the workbench marked as 'edit1' and change the values in the <size> tag, don't know what the maximum is, you will need to make reasonably large changes for it to be noticable
    thats it....


    I'm going to keep experimenting, so will post more here when i find anything else.

    This doesn't apply any more since we can do this anyway
    GET CUSTOM PAINT COLORS

    If people actuallky do this, im going to be amazed, because ireally cant be botherd to go through the blueprint files changeing EVERY SINGLE COLOR.
    But, if you want to, blueprints are located at: C:\Users\<UserName>\AppData\Roaming\Stormworks\data\vehicles

    in the XML file, there is an entry for EVERY SINGLE BLOCK on the ship, which is terribly inefficient, but is a brute force way of making save files. Each block has a few options, position and color, in tags starting with:
    <C> - This is the block type
    <O> - this is something to do with the block colors
    <vp> - this is the XYZ location of the block

    Iv'e not looked into this as much as the edit zones, so i'd assume this all works fine.

    Oh and an additional note, blocks arent hardcoded either, so if you want custom blocks, look under rom\definitions in the game folder... im not explaining this sorry.
Last edited by AmbitiousButRubbish; 22 May, 2019 @ 12:25pm
< >
Showing 1-15 of 76 comments
Ok, So, just did more testing, heres what iv'e found:
YOU CAN MAKE THE SHIP EDIT ZONE BIGGER
  • got to the area in the XML as specified as above, and input your new size values for 'edit1', ive used X = 52.5 Y = 50.5 and Z = 107.5
  • START A NEW GAME

it seems the numbers just had to be substantially larger for this to be visible!

voila, you now have a bigger edit area!
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1432020121
Last edited by AmbitiousButRubbish; 5 Jul, 2018 @ 2:13am
lolo 22 Jul, 2018 @ 10:10am 
Hello, first it seems to be an amazing idea to do this, and it work perfectly when you have understand how X, Y and Z axis works XD

But i would to know how to spawn boat outside of the dock ? Directly in the sea, because some of my ships are larger than the docks :/

Thanks for your research in the game data !!
you should be able to do that, im pretty sure i saw some perameters relating to the actual position of the workbench area, under the same tag as the size, i'll take a look at it
Right, so, as far as i can tell, you should be looking at the <transform/> tag.
It looks to me like the position XYZ of the edit zone is IDs:
  • X : 30/
  • Y : 31
  • Z : 32

    Before changing these values i'd advise you use the GPS to confirm this, but if this is the case, Theres how to move the spawn position for the edit zone!!!!!
    This should apply for any edit zone also!


    for further analysis you may want to do, there seem to be 4 transform points, with IDs of:
    • 0
    • 1
    • 2
    • 3

    each ID then has sub IDs, for the XYZ position of each of these, being:
    • 0 : X
    • 1 : Y
    • 2 : Z

    it seems the transform is specified with the first set of values i mentioned, and then the other values specify the relative positions of the corners of the edit zone to the primary transform, but im not sure on this, since im not sure what the '3' sub ID addresses.

    anyway, have fun experimenting
Last edited by AmbitiousButRubbish; 22 Jul, 2018 @ 1:13pm
Tajin 23 Jul, 2018 @ 12:35am 
Hate to say but none of that is really new.
That information has been around on discord for a while.

Oh and as far as custom colors go:
http://rising.at/Stormworks/recolor.php

However, it seems like we'll get an actual color picker with the editor update.


Also:
http://rising.at/Stormworks/paint.php

And:
http://rising.at/Stormworks/stats.php
I made this thread a while ago, as you can see from the OP, didnt know this was around on the discord channel, anyway, its nice to have it accessible on the forums for people who dont use discord.
Tajin 23 Jul, 2018 @ 1:28am 
Yes I saw the date, still.
Thanks for putting this up, I don't use discord and this is great info
FCW218 16 Aug, 2018 @ 9:32pm 
AmbitiousButRubbish...Top Gear lol. Loved that show. Love their new show Grandtour. So Ambitious I am requesting your help. I followed your instructions to the letter to make that edit zone bigger. And nothing changed. I found the XML file, scrolled to edit area, edit1 and changed the X Y Z values to x=100 y=100 z=200. Start a new game, went to big green hanger on island that we all start on...and it was the same size as before...so...where did I screw up? Think you can help me out?
lolo 17 Aug, 2018 @ 4:43am 
@FCW218, for my part, i've changed the spawn of the planes or helicopters, now they spawn at 30 m of the hangar, and i've also changed the editable area size, and everything is going well. So maybe you have to move your editable area to have bigger planes ? I have also made a change on "Grid_Size", i use "Grid_Size=4". I hope it solve you problem but not sure :/
@FCW218, did @lolo38's comment help? all i can suggest is that you changed the wrong edit area? if you are changing the hangar, its not edit1, edit1 is the dock, cant remember what one the hangar is, but it might be edit2, its whatever one has the more square dimensions.
FCW218 17 Aug, 2018 @ 11:46pm 
Oh my. I think I caused some confusion. When I said hanger, I didn't mean airplane hanger. I meant the docking area where boats are built. Hanger was wrong word for description. When one starts a new game (at least every time I start a new game) I always end up on the same island with that dock and it's a green building. My apologies. I'm in Oregon, USA. Pacific Time zone. So there might be a big delay between when I write messages and when you guys do. Thank you for getting back to me.
I want to build a bigger boat than the current allotted dock allows. So I want to make that area bigger and it will also need to move outside of the building to spawn in open water. How do you know island_15 is the start island? When I looked through all the islands. Seems like island_25 would be the base island everyone starts on given the edit areas. Only three areas to edit. Edit area itself, the crane and the bed
FCW218 17 Aug, 2018 @ 11:49pm 
Maybe either one of you guys could post the table of your edit areas? Mine looks like this which is the original. This is from island_15

<edit_areas>
<edit_area id="edit0" parent_id="" purchase_interactable_id="" grid_size="4" is_static="false" default_vehicle="" spawned_static_vehicle_id="0" is_invisible_vehicle="false">
<transform 00="-0" 01="-0" 02="-1" 03="0" 10="0" 11="1" 12="-0" 13="0" 20="1" 21="0" 22="-0" 23="0" 30="-261.141724" 31="9.983086" 32="50.973915" 33="1"/>
<size x="36.5" y="10" z="35"/>
</edit_area>
<edit_area id="edit1" parent_id="" purchase_interactable_id="" grid_size="2" is_static="false" default_vehicle="" spawned_static_vehicle_id="0" is_invisible_vehicle="false">
<transform 00="-1" 01="0" 02="-0" 03="0" 10="0" 11="1" 12="0" 13="0" 20="0" 21="0" 22="-1" 23="0" 30="-228.251617" 31="5.326683" 32="-65.073463" 33="1"/>
<size x="22.5" y="20.5" z="57.25"/>
</edit_area>
<edit_area id="edit2" parent_id="" purchase_interactable_id="" grid_size="0" is_static="true" default_vehicle="crane_ultimate" spawned_static_vehicle_id="0" is_invisible_vehicle="false">
<transform 00="1" 01="0" 02="0" 03="0" 10="0" 11="1" 12="0" 13="0" 20="0" 21="0" 22="1" 23="0" 30="-228.309998" 31="13.316483" 32="-54.968998" 33="1"/>
<size x="29.25" y="18" z="78.75"/>
</edit_area>
<edit_area id="edit3" parent_id="" purchase_interactable_id="" grid_size="5" is_static="true" default_vehicle="bed" spawned_static_vehicle_id="0" is_invisible_vehicle="true">
<transform 00="0" 01="0" 02="1" 03="0" 10="0" 11="1" 12="0" 13="0" 20="-1" 21="0" 22="0" 23="0" 30="-225.207153" 31="8.407701" 32="103.637291" 33="1"/>
<size x="0.75" y="0.25" z="1.75"/>
</edit_area>
<edit_area id="edit4" parent_id="" purchase_interactable_id="" grid_size="5" is_static="true" default_vehicle="bed" spawned_static_vehicle_id="0" is_invisible_vehicle="true">
<transform 00="0" 01="0" 02="1" 03="0" 10="0" 11="1" 12="0" 13="0" 20="-1" 21="0" 22="0" 23="0" 30="-225.207153" 31="9.679093" 32="103.637291" 33="1"/>
<size x="0.75" y="0.25" z="1.75"/>
</edit_area>

This is island_25

<edit_areas>
<edit_area id="edit0" parent_id="" purchase_interactable_id="" grid_size="2" is_static="false" default_vehicle="" spawned_static_vehicle_id="0" is_invisible_vehicle="false">
<transform 00="0" 01="-0" 02="1" 03="0" 10="0" 11="1" 12="-0" 13="0" 20="-1" 21="0" 22="0" 23="0" 30="48.28693" 31="6.826356" 32="-80.607788" 33="1"/>
<size x="22.5" y="20.5" z="57.25"/>
</edit_area>
<edit_area id="edit1" parent_id="" purchase_interactable_id="" grid_size="0" is_static="true" default_vehicle="island25_crane" spawned_static_vehicle_id="0" is_invisible_vehicle="false">
<transform 00="1" 01="0" 02="0" 03="0" 10="0" 11="1" 12="0" 13="0" 20="0" 21="0" 22="1" 23="0" 30="49.794315" 31="14.833742" 32="-59.417847" 33="1"/>
<size x="60" y="20" z="10"/>
</edit_area>
<edit_area id="edit2" parent_id="" purchase_interactable_id="" grid_size="5" is_static="true" default_vehicle="bed" spawned_static_vehicle_id="0" is_invisible_vehicle="true">
<transform 00="0" 01="0" 02="1" 03="0" 10="0" 11="1" 12="0" 13="0" 20="-1" 21="0" 22="0" 23="0" 30="93.468498" 31="5.593994" 32="-51.281067" 33="1"/>
<size x="0.75" y="0.25" z="1.75"/>
</edit_area>
FCW218 18 Aug, 2018 @ 12:11am 
I should also point out when I say make edit area bigger. I am in career mode and and not creative mode...maybe that's what island_15 is...?
FCW218 18 Aug, 2018 @ 2:07am 
Ok...so I was denied critical, need to know information lol. island_15 is, in fact, the island when you start in creative mode. Not career mode. I played around and see that changing the grid size shift the dock to different template sizes from other sizes of docks. Grid 1, for example, is the dock size when you start in career mode. Grid 4 is airplane hanger size grid.
Did some exploring with position of the grid itself. I think you were incorrect (at least with positioning) about what equals what. If you look at the map on the island 15. Go to marker X=1000 and Y=0 on that island. I noticed X axis on edit 1 says -228. So X=1000-228=772 on map in game. Now go down -65 for Y axis. Which is what edit 1 is set at. You would now be in roughly center of the dock area. This tells me that instead of what you thought above.
X Y Z
30="-228.251617" 31="5.326683" 32="-65.073463"

30=X
31=Y
32=Z

It is actually this:

X Z Y
30="-228.251617" 31="5.326683" 32="-65.073463"

30=X
31=Z
32=Y

31 and 32 are switched. At least for position on the map. For in the model itself for building anything. Z axis seems to be length instead of Z being height. I suppose it doesn't totally matter but if you do engineering work or work with any CAD software...this would drive you nuts lol.

I did finally get the sizes to take. You have to set the grid size to 0. Then it will use whatever sizes you input for X, Y and Z. However...there seems to be, perhaps, a coding limitation. I want to build my ship to scale. The ship I want to build is around 610' long. Each block is a quarter meter. So 4 blocks to a meter. That's about 188 meters rounded up. Hence the reason I made the Z axis 200. When I went to string the blocks out. Going one direction I can only get 255. Which means 0-255 which is current programming limit. I can go 255 the other way for a total of 511 length. Won't let me go any further. lol. Damn you developers! MAKE IT BIGGER! lol
Thank you both for trying to help out. Got me thinking and led me in the right direction. I feel like Dr. Greg House from House MD lol
< >
Showing 1-15 of 76 comments
Per page: 1530 50

Date Posted: 5 Jul, 2018 @ 2:03am
Posts: 76