Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Exporting whole fortress and importing it to other embark  (Read 679 times)

Ebergar

  • Bay Watcher
    • View Profile
Exporting whole fortress and importing it to other embark
« on: June 26, 2020, 05:36:24 am »

Hello,

I have this very, very old fortress of version 0.34.11, started about 0.30 or so. This is a gargantuan fortress with tens of thousands of placed obsidian blocks and dug up stones, runs slow as you'd imagine. Main focus is to build an aboveground ultra big fort "live like humans" style.
As many of you know the save compatibility was ended when an upgrade to 0.34.11 came, and as such my great fortress has been stuck in 0.34 since.

What I am asking about here, is a way to:
1. Export this fortress to a file (I am aware of .csv exporters, or `blueprint` DFhack script). I am concerned mostly, if not only, about already placed blocks. Buildings, furniture etc can be discarded. I do not care about exporting the actual dwarves already inhabiting the fortress - this would prove to be well, less than possible.
2. Import this fortress onto another embark site with newest DF version.

The export is kind of obvious, what the import entails exactly is this:
- the script in question has to take the generated for file and not designate the blocks to be placed, but just straight up generate all designated blocks/floors out of thin air.
- The original embark area is flat, I can easily find a fitting embark, just huge flat area. Any levitating structures will be dealt with manually
- the actual presence of obsidian does not matter, as it can be generated so I can farm it to my heart's desire


The solutions (that I can think of):
- a script that generates fortress from the csv blueprint, without designation, out of thin air
- a script that designates fortress from the CSV blueprint, and then another script that simply finishes all designations.

finally, the why:
- I crave new features of newest dwarf fort versions, new forts Ive made in these never lasted too long as I get back to this one over and over.
- the fortress takes a crapload of ram, I think I have maximum achieved at all times (its a speculation mainly)
- I can create a pocket world, short history, without caverns (current fortress has opened caverns) for FPS maximization
- The possibility of increased lag is there, but nevermind! Them features r nice.

Any options, dear forumites? I've researched and only the designating script is available. Nothing of sorts of "generate whole fortress" or "finish all construction designations immediately". Im a programmer, so I can write something by myself too.
« Last Edit: June 26, 2020, 06:14:20 am by Ebergar »
Logged

delphonso

  • Bay Watcher
  • menaces with spikes of pine
    • View Profile
Re: Exporting whole fortress and importing it to other embark
« Reply #1 on: June 26, 2020, 07:23:56 am »

PTW out of interest.

I'd guess it's pretty handedly possible. If you can create a blueprint, dropping blocks in that shape shouldn't be too hard.

Edit: a desert embark should be very flat, making the above-ground generation very easy.
« Last Edit: June 26, 2020, 07:44:33 am by delphonso »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Exporting whole fortress and importing it to other embark
« Reply #2 on: June 26, 2020, 07:40:55 am »

- The liquids/liquids-here pair can generate obsidian, so I guess you can use that logic as a base and "upgrade" the fortress design to raw obsidian rather than built, if desired, although I guess it's possible to generate blocks as well.
- You'd need to eliminate all trees in the footprint, and probably fill out all ponds (or just get them floored over).

So yes, it's probably possible to write a script that does what you want. If you create blocks you'd need to ensure they're linked into all the relevant structures, and it may take some work to determine exactly what those are. Also, expect to have to embark multiple times to see new ways in which the script fails until getting it right...

Messing with things underground is harder, as you'd have to take things like caverns intruding into your intended space into consideration, as well as aquifers, but it sounds like only the above ground part is relevant, while the underground parts would be dug out "manually".
Logged