Landmass

OpenMW's very own demo, template and game to show off everything that OpenMW is capable of.

Moderator: Example suite forum moderator

Lightwave
Posts: 5
Joined: 20 Sep 2012, 10:43

Re: Landmass

Post by Lightwave »

It can be done either way, either by splitting the heightmap in to smaller images and running TESAnnwyn to generate each ESP (e.g.. a batch script), or modifying TESfaith to dump out blocks of ESPs containing just the HEDR, CELLs and LAND for each block.

When the final landscape is ready, I'd recommend the latter. Provided the block sizes are set equally (e.g. 2x2 or 3x3 cells each) then I could quickly tweak a version of TESfaith to do this and generate lots of ESPs. This way when each modders allocated block is merged at the end then the cell edges will correctly line up with the original landscape. They probably wouldn't if the image were imported in smaller sections (each edge would have to be blended slightly using the Render window brush).

One problem you'll have if using the Construction Set to work on a small set of cells, is that the Render Window will automatically create cells around the immediate area you're working on, and you'll have a large number of cell clashes when coming to re-merge all these ESPs at the end; someone will have to remove these cells from each submitted ESP before any merge is made to the master file, or their changes will overwrite the master. I can't recall if you can delete cells in the Cell window in the CS? Otherwise it's quite straightforward to do using a hex editor, modifying an existing tool or maybe something like TES3edit, TES3snip will also make it easy.

Alternatively there are advantages if every modder has the entire landscape and is trusted to only work on their area; from an artistic viewpoint it's nicer to play-test it during development, gaining a wider feel for the overall context so one can better sight a ruin or settlement from a distance. Then there should be no conflicts when all the ESPs are merged - provided they can be trusted to only mod their area. ;)

Either way I guess an overseer will check each submitted file, that there are only changes to their permitted areas, and completed and submitted over a long time frame so conflicts can be carefully checked before merging ...
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Landmass

Post by Greendogo »

Thanks for the all the information Lightwave, it will be very helpful! Regarding the batch script usage of TESfaith, can I enter each claim area, something like: ((0,0),(0,1),(0,2),(1,0),(1,1),(1,2)) which would extract a 2 by 3 rectangular claim/esp from those coordinates? Or perhaps ((0,0),(0,1),(0,2),(1,1)) which would extract an upside down T shape? Just trying to see what's possible.
Lightwave
Posts: 5
Joined: 20 Sep 2012, 10:43

Re: Landmass

Post by Lightwave »

I was originally thinking of something more regular, such as automatically carving up a landscape in to regular blocks, for example as 2x2 areas (4 cells). For example, you'd only have to run the program once, and it would automatically carve up your land in to 4 cell blocks and generate an esp for each:

00.esp : Cells (0,0) to (1,1)
01.esp: Cells (0,2) to (1,3)
02.esp: Cells (0,4) to (1,5)


Then you can give one or more esp files to specific modders, so 'Fred' could have 00.esp and 01.esp, giving them the 8 cells to work on from (0,0) to (1,3). You'd be much less likely to accidentally assign an ESP to more than one modder this way.

If that's too limiting and you want finer control (so like you say, you can specify a T-shape of allocated cells), and don't mind typing each specific cell co-ordinate when you want to assign an area, and you're careful about not accidentally assigning a cell to more than one modder over the course of a project, then I can make it work that way instead. If so, would you prefer to list the co-ordinates in a txt file, such as:

0,0
0,1
0,2
0,3
1,1
1,2


etc. Or on the command line when running the program? e.g.

tes3landsplit 0,1 0,2 0,3 1,1 1,2 OurMod.esm
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Landmass

Post by Greendogo »

Oh yeah, I think that would work really well. A txt file would be the most robust, in case you needed to sub-divide the heightmap along the same borders more than once (say you wanted to refine your overall heightmap after some inspection). The txt file method would let you hand tune it and save your work.

Perhaps, also, an inspection command (I'm not sure if it already includes this) but a function that would return each cell that exists with an added flag to dump it to a file. Say, something like:
tes3landsplit read OurMod.esm
tes3landsplit read OurMod.esm <filename>

The first one would just return the information in the window, but the second option dumps the information to a file. So it would return something like:
(0,0)
(0,1)
(0,2)
(0,3)
etc etc etc. A lot of times the cell layouts are not rectangular.

This output could possibly be used by a GUI wrapper to read which cells exist in a plugin, and then highlight the sections for each separation. Someone might want to do something like that. I'm not saying you would; but it's a possible extension of the program.
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Landmass

Post by Greendogo »

:D But definitely "Yes" to the txt file input idea!
Lightwave
Posts: 5
Joined: 20 Sep 2012, 10:43

Re: Landmass

Post by Lightwave »

Actually TESfaith can do all this already. :)

1. Exterior Cell listings.

The 'list cells' option is called -l:

tesfath -l morrowind.esm

This produces a file called "cell_log.txt" which will contain entries like:

# (2,-6) "Arvel Plantation" "Ascadian Isles Region"
2, -6
# (2,-7) "Dren Plantation" "Ascadian Isles Region"
2, -7
# (2,-8) "" "Ascadian Isles Region"
2, -8
# (2,-9) "" "Ascadian Isles Region"
2, -9
# (2,-10) "Vivec" "Ascadian Isles Region"
2, -10
# (2,-11) "Vivec, Hlaalu" "Ascadian Isles Region"
2, -11
# (2,-12) "" "Ascadian Isles Region"
2, -12
# (2,-13) "Ebonheart" "Ascadian Isles Region"
2, -13


The line beginning with '#' is meant for information purposes, it includes the cell name and region name (if applicable). The lines without # are just the raw exterior cell co-ordinates.

2. Creating ESPs containing specific cells:

TESfaith has both a CE (clone/copy Exterior Cell) and DA (Delete All Cells) option. Provided CE is listed before DA then the copy rule will be applied before the cell is 'deleted' (i.e. not copied). For example, to create an ESP containing just three cells, (2,4), (3,5) and (4,6) from Morrowind.esm, put only this in the tfaith.cfg file:

tesfaith morrowind.esm
CE,2,4,2,4
CE,3,5,3,5
CE,4,6,4,6
DA


Then double-click on tesfaith.exe. The TFOUT.ESP file will only contain those 3 cells. Obviously in the case of Morrowind.esm all other types of records are copied in to TFOUT.ESP (static and NPC base references, interior cells, scripts etc), but if you use your own heightmap ESM/ESP instead of Morrowind.esm then it will only contain the CELLs and LAND, nothing else.

The trick is to duplicate the co-ordinate each time (CE,7,9,7,9 literally means Copy Exterior cell at (7,9) to (7,9)). :)
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Landmass

Post by Greendogo »

Just an update. Hircine's been busy with work and I've been busy with my own stuff as of late - but here's what our to-do list looks like: Create overhead grid of the exterior cells. Divide them into separate claims and then ESPs so work can be done on them in parallel and so it'll be easier to manage things. Upload the BSA and the Data esm/esp (which will have all the asset entries) so that individual claimers can have access to all the same resources.

Here's a chart to make the whole Data esm vs. Main esm distinction a bit more clear:
Spoiler: Show
When OpenMW is closer to completion, we'll worry about all the new things that can be done in OpenMW in terms of formats. For now, we're creating this "mod" using the vanilla CS, so we have to stick to its rules for now.
User avatar
ElderTroll
Posts: 499
Joined: 25 Jan 2012, 07:01

Re: Landmass

Post by ElderTroll »

Thanks for the progress update. The example suite will go a long way to popularizing OpenMW down the road.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Landmass

Post by psi29a »

For those interested, I've been putting more work into WorldGen:
Screenshot

still need to handle erosion better (too deep too fast) and implement lakes (at lowest point a river flows into) but we are getting there
User avatar
Rhys
Posts: 113
Joined: 06 Aug 2011, 01:51
Location: Australia

Re: Landmass

Post by Rhys »

World machine can make some nice terrains. The free version has limited resolution but if I remember, you can export the model to 3d and render the heightmap yourself in blender to whatever resolution.
http://world-machine.com/
Locked