Morrowind

File information

Last updated

Original upload

Created by

Yacoby

Uploaded by

Yacoby

Virus scan

Safe to use

34 comments

  1. CyberEmoPunk
    CyberEmoPunk
    • member
    • 8 kudos
    I encountered an issue, when grass plugins generated with this tool causes extremely long loadings. 
    I'm using Aesthesia Groundcover Reworked. If I'm generating grass with built-in MGExe distant mesh generator, loading time is just fine. But as far as I'm using two custom landscape changes, MGExe generator is unfortunately, not an option...

    Also, I have another little problem. I have Amazing Balmora Expansion and Red Mountain Reborn. It's the only mods I'm using that affects landscape somehow. Still, MW Mesh Generator creates grass for vanilla landscape. What could I do possibly wrong, maybe someone can help?
    1. Yacoby
      Yacoby
      • premium
      • 18 kudos
      I realise this is a follow up a year later, so hope you resolved your issues at the time.

      Regarding the first issue, this mod adds thousands of objects to most cells. This is something that the original Morrowind game engine wasn't designed to support, so you should work out how to use MGE XE with custom landscape changes or use OpenMW (or not use Grass mods)

      Regarding the second issue, there was a bug in the program with how it resolved records modified by multiple mods. This bug has been fixed in 0.3.x.
  2. Shaord
    Shaord
    • member
    • 2 kudos
    Thank you for this update! The grass mesh generation now runs smoothly and very quick. I have also had no crashes during generation which is priceless.

    I am having an issue where grass fails to generate west of the city of Andothren in Tamriel Rebuilt which I suspect relates to the ground characteristics. As I am new to modding any insight on understanding the ground characteristics you can provide would be appreciated. 

    Thanks anyway because this is now fantastic.
    1. Yacoby
      Yacoby
      • premium
      • 18 kudos
      Try the latest build from GitHub. It has some fixes and has some basic logging (but also as an FYI hasn't been tested on Windows which is why it isn't on Nexus)

      If that version still doesn't work, open the logs (MWMeshGenLog.txt), find the cell that has the issues (by searching for the cell coordinates) and take a look at which rules were applied. If it doesn't look like a problem with your configuration then paste the relevant cell log, the configuration (or part of configuration) you are using and I'll take a look.
    2. Shaord
      Shaord
      • member
      • 2 kudos
      I tried the latest build and can confirm it runs in windows. While it ran ok and generated grass there is still this area that does not generate grass.

      Extract from the log for area with no grass appearing:
      [08:53:02.005] Processing cell 22, -14, region="Sundered Scar Region", using LAND record from="TR_Mainland.esm"
      [08:53:02.005] Saw the following textures and applied rules:
      [08:53:02.005] texture id="Sand_02", (texture name="Tx_sand_02.tga"), applied configuration rule=none (no rule found)
      [08:53:02.005] texture id="AI_mudflats_01.tga", (texture name="Tx_AI_mudflats_01.tga"), applied configuration rule="AI_mudflats_01.tga"

      Extract from the log for area with grass appearing as contrast:
      [08:53:02.111] Processing cell 23, -14, region="Sundered Scar Region", using LAND record from="TR_Mainland.esm"
      [08:53:02.120] Saw the following textures and applied rules:
      [08:53:02.120] texture id="Sand_02", (texture name="Tx_sand_02.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="Sand", (texture name="Tx_sand_01.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="GL_Dirt_Grass_01", (texture name="Tx_GL_dirt_grass_01.tga"), applied configuration rule="GL_Dirt_Grass_01"
      [08:53:02.120] texture id="GL_Grass_05", (texture name="Tx_GL_grass_12.tga"), applied configuration rule="GL_Grass_05"
      [08:53:02.120] texture id="GL_Dirt_01", (texture name="Tx_GL_dirt_01.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="GL_Grass_03", (texture name="Tx_GL_grass_07.tga"), applied configuration rule="GL_Grass_03"
      [08:53:02.120] texture id="WG_mainroad_01", (texture name="Tx_WG_mainroad_01.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="GL_Dirt_Grass_02", (texture name="Tx_GL_dirt_grass_02.tga"), applied configuration rule="GL_Dirt_Grass_02"
      [08:53:02.120] texture id="GL_Rock_01", (texture name="Tx_GL_rock_01.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="GL_Rock_02", (texture name="Tx_GL_rock_02.tga"), applied configuration rule=none (no rule found)
      [08:53:02.120] texture id="GL_Grass_04", (texture name="Tx_GL_grass_10.tga"), applied configuration rule="GL_Grass_04"

      Below is key items from configuration in OpenMW with Aesthesia Groundcover:
      groundcover=GrassRebirth1.esp
      groundcover=GrassRebirth2.esp
      groundcover=GrassRebirth3.esp
      groundcover=GrassRebirthSmall1.0.esp
      groundcover=GrassRebirthSmall1.1.esp
      groundcover=GrassRebirthSmall2.esp
      groundcover=Sky_Main_Grass.esp
      groundcover=hm-grass-stirk-GROUNDCOVER.esp
      groundcover=Grass_TR1.esp  ***NOTE: THIS IS THE GRASS GENERATED FOR TAMRIEL REBUILT
      groundcover=Grass_TR2.esp  ***NOTE: THIS IS THE GRASS GENERATED FOR TAMRIEL REBUILT
      groundcover=VSW-Rem-Anthology Solstheim.esp
      groundcover=Wyrmhaven - Grass.esp
      data="C:/Games/Morrowind/Data Files"
      data="C:/Games/Morrowind Mods/openmw-volumetric-clouds-main"
      data="C:/Games/Morrowind Mods/omwfx-shaders-main"
      data="C:/Games/Morrowind Mods/02 Weapon Sheathing"
      data="C:/Games/Morrowind Mods/03 MET"
      data="C:/Games/Morrowind Mods/04 Landscape Retexture"
      data="C:/Games/Morrowind Mods/04.5 Remiros' Groundcover"
      data="C:/Games/Morrowind Mods/06 Aesthesia Groundcover Reworked"
      data="C:/Games/Morrowind Mods/10 OAAB"
      data="C:/Games/Morrowind Mods/11 OAAB Upscaled"
      data="C:/Games/Morrowind Mods/12 Tamriel Data"
      data="C:/Games/Morrowind Mods/14 Tamriel Rebuilt" NOTE: THIS IS TAMRIEL REBUILT v23.1
      data="C:/Games/Morrowind Mods/16 Sky"
      data="C:/Games/Morrowind Mods/17 Cyr"
      data="C:/Games/Morrowind Mods/18 Wyrmhaven"
      data="C:/Games/Morrowind Mods/19 SothaSil"
      data="C:/Games/Morrowind Mods/20 Darknut-Creatures"
      data="C:/Games/Morrowind Mods/25 Rebirth"
      data="C:/Games/Morrowind Mods/998 Grass"  ***NOTE:THIS IS WHERE I PLACE THE GRASS ESPs

      Other comment is that I have also tried generating with Remiros' Groundcover and it also has this 'blank' area.

      Thank you for your help.
    3. Yacoby
      Yacoby
      • premium
      • 18 kudos
      Thanks for the details! I have reproduced the problem and (hopefully) fixed the bug in the latest release on GitHub. Let me know if it solves your issue.
    4. Shaord
      Shaord
      • member
      • 2 kudos
      Bug remains. I re-ran the groundcover with v0.3.3 and the generation for 22, -14 has remained the same (extract below):

      [22:27:08.091] Processing cell 22, -14, region="Sundered Scar Region", using LAND record from="TR_Mainland.esm"
      [22:27:08.092] Saw the following textures and applied rules:
      [22:27:08.092] texture id="Sand_02", (texture name="Tx_sand_02.tga"), applied configuration rule=none (no rule found)
      [22:27:08.092] texture id="AI_mudflats_01.tga", (texture name="Tx_AI_mudflats_01.tga"), applied configuration rule="AI_mudflats_01.tga"

      Any other thoughts, suggestions or input I can provide. Appreciate your assistance Yacoby.
    5. Yacoby
      Yacoby
      • premium
      • 18 kudos
      I can't reproduce the issue with 0.3.3 (using the OpenMW Construction Set). As a note  22, -14 is underwater so you need to have fMinHeight set to a negative number.

      I altered the section of Aesthesia's config (just changed fMinHeight from 10 to -5000) and I saw objects placed
      [AI_mudflats_01.tga]
      bPlaceGrass=1
      bPosRand=1
      bRandClump=0
      bSclRand=1
      fMinHeight=-5000
      fPosMax=300
      fPosMin=-300
      fSclMax=1
      fSclMin=0.68
      iGap=300
      iWeight=0
      sChance0=100
      sID0=
      sMesh0=Grass\Grass_AI_sing_1.nif
      sName=
      sRecType=STAT
      sScript=
    6. Shaord
      Shaord
      • member
      • 2 kudos
      Ok, I have been learning. I thought I had the location by using the GetPos command, that was wrong. I have now learnt the COE command and can correct that an example region with no grass is 0,-20. Also if COE 2,-18 it brings to a location that is right on the border with grass generated and not generated, just need to move around a boulder to see this. Example generation logs below. Hope this allows you to reproduce the issue.

      Extract from the log for area with no grass appearing (0,-20):
      [08:26:20.540] Processing cell 0, -20, region="Roth Roryn Region", using LAND record from="TR_Mainland.esm"
      [08:26:20.541] Saw the following textures and applied rules:
      [08:26:20.541] texture id="T_Mw_TerrScrubRR_02", (texture name="tr\lnd\tr_rr_scrub_02.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrGrassRR_01", (texture name="tr\lnd\tr_rr_grass_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRockRR_02", (texture name="tr\lnd\tr_rr_rock_02.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRockRR_01", (texture name="tr\lnd\tr_rr_rock_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrScrubRR", (texture name="tr\lnd\tr_rr_scrub_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRoadRR_01", (texture name="tr\lnd\tr_rr_road_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRoadDirt_01", (texture name="tr\lnd\tr_rr_dirtroad_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRockGrassRR_01", (texture name="tr\lnd\tr_rr_rockgrass_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="AI_Tilled_Dirt", (texture name="Tx_AI_tilled_dirt_01.tga"), applied configuration rule=none (no rule found)
      [08:26:20.541] texture id="T_Mw_TerrRockRR_03", (texture name="tr\lnd\tr_rr_rock_03.dds"), applied configuration rule=none (no rule found)

      Extract from the log for area with grass appearing as contrast (2,-20):
      [08:26:20.566] Processing cell 2, -20, region="Aanthirin Region", using LAND record from="TR_Mainland.esm"
      [08:26:20.566] Saw the following textures and applied rules:
      [08:26:20.566] texture id="TR_ant_cliffs1", (texture name="tr\lnd\tr_at_rock_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="Rock_Coastal", (texture name="Tx_coastal_rock_01.tga"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="T_Mw_TerrRockRR_03", (texture name="tr\lnd\tr_rr_rock_03.dds"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="Sand_02", (texture name="Tx_sand_02.tga"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="T_Mw_TerrRockGrassRR_01", (texture name="tr\lnd\tr_rr_rockgrass_01.dds"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="T_Mw_TerrGrassAT", (texture name="tr\lnd\tr_AT_grass.dds"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="AI_Dirtroad", (texture name="Tx_AI_dirtroad_01.tga"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="AI_Tilled_Dirt", (texture name="Tx_AI_tilled_dirt_01.tga"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="T_Mw_TerrDirtGrassAT", (texture name="tr\lnd\tr_AT_grass_b.dds"), applied configuration rule=none (no rule found)
      [08:26:20.566] texture id="T_Mw_Terr_GrassAT", (texture name="Tx_grass_01.tga"), applied configuration rule=none (no rule found)
    7. Yacoby
      Yacoby
      • premium
      • 18 kudos
      Taking a look at the log, for cell (0,-20) it didn't do anything because it didn't have any rules for those the textures in the configuration file (e.g. for every texture found in the cell it says " applied configuration rule=none").

      Have you verified that those textures are defined in the configuration file (ini file) that you are using
    8. Shaord
      Shaord
      • member
      • 2 kudos
      Ok, so have updated the grass configuration (ini) file to include the 'missing' grass types and now have grass. :-) Need to spend more time refining for what provides a reasonable look but the core works.

      Thank you for your direction and more importantly on upgrading this tool, with how the old version regularly crashed and how long it took to process it was very hard to do this type of testing. My goal is once have this refined then will be able to release both an updated grass esp for Tamriel Rebuilt and also an updated grass configuration file available for further updates or other users can generate their own grass. 
  3. MisterFlames
    MisterFlames
    • premium
    • 36 kudos
    This tool keeps crashin A LOT for me, even with 4GB Patcher. I'm using the .ini files from Remiros' Groundcover and need 10-20 tries per plugin until it eventually finishes.
    1. Yacoby
      Yacoby
      • premium
      • 18 kudos
      As of version 0.3, I'm fairly sure I have fixed the crashing. Let me know if you (or anyone else) see crashes.
    2. MisterFlames
      MisterFlames
      • premium
      • 36 kudos
      Thanks for the update
  4. FIMzzZzz
    FIMzzZzz
    • member
    • 21 kudos
    cool stuff, will test the new version. would it technically be possible to generate grass on a mesh landscape used in a interior behaving like exterior ?
    1. Yacoby
      Yacoby
      • premium
      • 18 kudos
      Not without significant effort, because it is a different problem. For exterior landscape, the esm/esp defines the shape of the land and the texture at every point - this makes placing the grass on a per texture basis possible.

      Beyond the time cost, the problems with writing something to do what you want are that:

      • It wouldn't be clear to a program which meshes in a cell are landscape meshes and which are other objects in the cell
      • It wouldn't be possible to know which grass to place where, because the mesh would have a custom texture covering the entire mesh, rather than a texture per point.

      I suspect for this edge case, it would be easier to manually place grass
    2. FIMzzZzz
      FIMzzZzz
      • member
      • 21 kudos
      yeah not without significant effort is what i would have expected, and would probably not be used much... so i totally get it if this never gets implemented.

      for your 2 points, just in case ;P


      • generate grass when only landscape mesh is placed
      • 1 grass config per mesh or per cell

      or maybe i could try the esp landscape to mesh converter, to generate it on the esp and then just copy it to interior cell.
  5. acidzebra
    acidzebra
    • premium
    • 193 kudos
    I am very late to the party but thank you for sharing this awesome if temperamental tool!

    I've been trying to generate based on regions + textures, and it kept failing no matter what I tried. To replicate this create a simple ini file with [Tx_BC_grass.tga:Bitter Coast Region] (this is the TES CK name for the region, I also tried Bitter Coast) and some texture stuff. In both cases the tool with generate a mostly empty file (just some statics defined, no cell changes).

    I ended up looking at the code to find region-related stuff and found this in GenThread.h
    if ( cell ){
        if ( cell->getCellName().length() > 0 && ini.catExists(tex + ":" + cell->getCellName()) ){
            iniCat = tex + ":" + cell->getCellName();    break;
        }else if ( cell->getCellName().length() > 0 && ini.catExists(tex + ":ANY_NAMED_CELL") ){
            iniCat = tex + ":ANY_NAMED_CELL";            break;
        }else if ( cell->getRegn().length() > 0 && ini.catExists(iniCat + ":" + cell->getRegn()) ){
            iniCat = tex + ":" + cell->getRegn();        break;
        }
    }

    I believe this line:ini.catExists(iniCat + ":" + cell->getRegn())
    should read:
    ini.catExists(tex + ":" + cell->getRegn())
    like in the other two case switches for cellname / any_named_cell (which both work) - possibly a typo?

    I doubt you have a build environment for this old code (I don't and I couldn't get one working) but I wonder if someone would try building it with this change? (because: it would be awesome to generate some unique grasses for Tamriel Rebuilt, which re-uses many vanilla textures in new regions)

    Either way, great tool!
    1. FIMzzZzz
      FIMzzZzz
      • member
      • 21 kudos
      [GL_Grass_03:Bitter Coast]
      ;referes to the bitter coast region

      without .tga. it refers to the ID from the CS not the texture file itself.
    2. Yacoby
      Yacoby
      • premium
      • 18 kudos
      Somewhat late responding, but. yes, that looks like a bug. Thanks for reporting (and digging through the terrible code). I have (hopefully) fixed this version 0.2. Hopefully you resolved your issue at the time with FIMzzZzz's suggestion.
    3. acidzebra
      acidzebra
      • premium
      • 193 kudos
      Exciting update! I resolved the issue by not doing region based gen, it was pretty obvious it wasn't working no matter the ID used (I did mention I tried various IDs). Excited to take the new version for a spin, hoping to get some time next month. Maybe crank out a TR-specific set of grass for their latest update. Thanks for coming back to drop fixes!
  6. alvazir
    alvazir
    • premium
    • 36 kudos
    That's the update! 15 years passed from the previous version :-) Thank you for creating the program and then continuing to work on it. The latter is not easier than the former.
  7. CemKey
    CemKey
    • member
    • 52 kudos
    Due to the enlarged interface, the button at the bottom is not visible. Can someone fix it?
    https://pic.fullrest.ru/upl/QcjAlVwM.jpg
    1. Yacoby
      Yacoby
      • premium
      • 18 kudos
      I can take a look, but it will take a month or two (I don't have the windows build environment any more and I'd need to find the time to set something up)
    2. Yacoby
      Yacoby
      • premium
      • 18 kudos
      This should be resolved in version 0.2. However this version is a large refactoring (to allow building on 64 bit systems) but has very little testing.
  8. Jyggalagpuff
    Jyggalagpuff
    • member
    • 12 kudos
    Do I have to create a new grass mod using this in order to then use the lawnmower mod?
  9. Atanvarn
    Atanvarn
    • member
    • 3 kudos
    nvm
  10. Gdhvd
    Gdhvd
    • member
    • 67 kudos
    To install before or in the Data?
    1. Citadel535
      Citadel535
      • premium
      • 33 kudos
      This is an independent tool so can be installed or run from any location.? It is used to generate esps with placed meshes based on terrain texture data such as for grass mods.
      You need to define your ini settings for what you are creating and it uses meshes that need to follow standard morrowind behavior for meshes/textures (I just use Aesthesia's ground default inis).