Browse Source

Fix data path/mod list ordering conflicts

* Added a test to detect when a mod list order has deviated from the
  data paths order.
* Fixed the CFG Generator accidentally removing data paths for mods we
  don't want to show plugins for (Expanded Vanilla, Total Overhaul presets).
* Mod list ordering corrections
* Data path ordering corrections
* Changelog entries for each change
* Added queryset managers for ListedMod and each mod list
beta
parent
commit
b5d0ab02f5
Signed by: hristoast GPG Key ID: 5FC7664AD47AA1C5
  1. 3
      Makefile
  2. 11
      momw/momw/cfg.py
  3. 252
      momw/momw/data_seeds/changelogs.py
  4. 53
      momw/momw/data_seeds/data/data-path-order.yml
  5. 48
      momw/momw/data_seeds/data/expanded-vanilla.toml
  6. 27
      momw/momw/data_seeds/data/graphics-overhaul.toml
  7. 10
      momw/momw/data_seeds/data/i-heart-vanilla-dc.yml
  8. 4
      momw/momw/data_seeds/data/i-heart-vanilla.yml
  9. 37
      momw/momw/data_seeds/data/total-overhaul.toml
  10. 31
      momw/momw/managers.py
  11. 12
      momw/momw/models.py
  12. 146
      momw/momw/tests.py

3
Makefile

@ -84,6 +84,9 @@ test-utilz:
test-djangotests: test-chroniko test-momw test-utilz
t:
$(proj_dir)/momw/manage.py test momw.tests.MomwTestCase.test_data_order_total_overhaul
ifndef SKIPTESTS
test: test-black test-flake8 test-dropdb test-djangotests
else

11
momw/momw/cfg.py

@ -74,9 +74,12 @@ def generate_cfg(getdata, visitor_os):
plugin_mods = Mod.expanded_vanilla.exclude(
name="Ports Of Vvardenfell"
).exclude(name="Caldera Mine Expanded")
to_readd = Mod.total_overhaul.filter(
name__in=("Ports Of Vvardenfell", "Caldera Mine Expanded")
)
# THANKS: https://stackoverflow.com/a/4412293
used_mods = (
(bsa_mods | plugin_mods)
(bsa_mods | plugin_mods | to_readd)
.distinct()
.order_by("datapathloadorder__order_number")
)
@ -122,9 +125,11 @@ def generate_cfg(getdata, visitor_os):
plugin_mods = Mod.total_overhaul.exclude(
name="Ports Of Vvardenfell"
).exclude(name="Caldera Mine Expanded")
to_readd = Mod.total_overhaul.filter(
name__in=("Ports Of Vvardenfell", "Caldera Mine Expanded")
)
used_mods = (
(bsa_mods | plugin_mods)
(bsa_mods | plugin_mods | to_readd)
.distinct()
.order_by("datapathloadorder__order_number")
)

252
momw/momw/data_seeds/changelogs.py

@ -27,6 +27,258 @@ def changelogs():
i_heart_vanilla_dc = "I Heart Vanilla: Director's Cut"
total_overhaul = "Total Overhaul"
generate_changelog(
"4.0.1",
(
# TO
{
"text": """<a href="/mods/no-shield-sparkle/">No Shield Sparkle</a> Removed duplicate entry""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/same-low-price-fix/">Same Low Price Fix</a> List order change: moved from #213 to #277""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/yet-another-better-sounds-patch/">Yet Another Better Sounds Patch</a> List order change: moved from #212 to #276""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/better-sounds-11-patch2/">Better Sounds 1.1 Patch 2</a> List order change: moved from #211 to #275""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/better-sounds/">Better Sounds</a> List order change: moved from #210 to #274""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-saplings/">OAAB Saplings</a> List order change: moved from #91 to #140""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/mamaea-awakened/">Mamaea Awakened</a> List order change: moved from #90 to #139""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-the-ashen-divide/">OAAB - The Ashen Divide</a> List order change: moved from #89 to #138""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/morrowind-animated-hammocks-mah/">Morrowind Animated Hammocks (MAH)</a> List order change: moved from #85 to #117""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/akulakhans-best-chamber/">Akulakhan's best chamber</a> List order change: moved from #31 to #83""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/graphic-herbalism-mwse-and-openmw-edition/">Graphic Herbalism - MWSE and OpenMW Edition</a> List order change: moved from #56 to #18""",
"date": "2021-11-07",
"modlists": [total_overhaul],
"kind": ChangelogEntry.UPDATED,
},
# GO
{
"text": """<a href="/mods/no-shield-sparkle/">No Shield Sparkle</a> List order change: moved from #223 to #219""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/ports-of-vvardenfell-seyda-neen-gateway-compatibil/">Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin</a> List order change: moved from #174 to #248""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/ports-of-vvardenfell-tr-totsp-aldruhn-vivec-city-p/">Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch</a> List order change: moved from #165 to #247""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-saplings/">OAAB Saplings</a> List order change: moved from #78 to #125""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/mamaea-awakened/">Mamaea Awakened</a> List order change: moved from #77 to #124""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-the-ashen-divide/">OAAB - The Ashen Divide</a> List order change: moved from #76 to #123""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/morrowind-animated-hammocks-mah/">Morrowind Animated Hammocks (MAH)</a> List order change: moved from #73 to #102""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/akulakhans-best-chamber/">Akulakhan's best chamber</a> List order change: moved from #19 to #71""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/graphic-herbalism-mwse-and-openmw-edition/">Graphic Herbalism - MWSE and OpenMW Edition</a> List order change: moved from #44 to #6""",
"date": "2021-11-07",
"modlists": [graphics_overhaul],
"kind": ChangelogEntry.UPDATED,
},
# EV
# Note, this move isn't really important but I'm leaving it here commented out to document it.
# {
# "text": """<a href="/mods/vanilla-inspired-water-for-openmw/">Pete's Scroll 2018 ...in 2020</a> List order change: moved from #211 to #211""",
# "date": "2021-11-07",
# "modlists": [expanded_vanilla],
# "kind": ChangelogEntry.UPDATED,
# },
{
"text": """<a href="/mods/vanilla-inspired-water-for-openmw/">Vanilla Inspired Water for OpenMW</a> List order change: moved from #205 to #219""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/same-low-price-fix/">Same Low Price Fix</a> List order change: moved from #113 to #150""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/yet-another-better-sounds-patch/">Yet Another Better Sounds Patch</a> List order change: moved from #112 to #149""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/better-sounds-11-patch2/">Better Sounds 1.1 Patch 2</a> List order change: moved from #111 to #148""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/better-sounds/">Better Sounds</a> List order change: moved from #110 to #147""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-saplings/">OAAB Saplings</a> List order change: moved from #46 to #63""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/mamaea-awakened/">Mamaea Awakened</a> List order change: moved from #45 to #62""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/oaab-the-ashen-divide/">OAAB - The Ashen Divide</a> List order change: moved from #44 to #61""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/familiar-faces-by-caleb/">Familiar Faces by Caleb</a>""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.ADDED,
},
{
"text": """<a href="/mods/facelift/">Facelift</a>""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.REMOVED,
},
{
"text": """<a href="/mods/graphic-herbalism-mwse-and-openmw-edition/">Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches</a> List order change: moved from #34 to #20""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/graphic-herbalism-mwse-and-openmw-edition/">Graphic Herbalism - MWSE and OpenMW Edition</a> List order change: moved from #33 to #18""",
"date": "2021-11-07",
"modlists": [expanded_vanilla],
"kind": ChangelogEntry.UPDATED,
},
# IHVDC
{
"text": """<a href="/mods/nords-shut-your-windows/">Nords shut your windows</a> List order change: moved from #6 to #18""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla_dc],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/glow-in-the-dahrk/">Glow in the Dahrk</a> List order change: moved from #5 to #17""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla_dc],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/openmw-containers-animated/">OpenMW Containers Animated</a> List order change: moved from #12 to #14""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla_dc],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/openmw-containers-animated/">Familiar Faces by Caleb</a> List order change: moved from #11 to #13""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla_dc],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/openmw-containers-animated/">Morrowind Enhanced Textures</a> List order change: moved from #10 to #12""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla_dc],
"kind": ChangelogEntry.UPDATED,
},
# IHV
{
"text": """<a href="/mods/nords-shut-your-windows/">Nords shut your windows</a> List order change: moved from #6 to #14""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla],
"kind": ChangelogEntry.UPDATED,
},
{
"text": """<a href="/mods/glow-in-the-dahrk/">Glow in the Dahrk</a> List order change: moved from #5 to #13""",
"date": "2021-11-07",
"modlists": [i_heart_vanilla],
"kind": ChangelogEntry.UPDATED,
},
),
)
generate_changelog(
"4.0",
(

53
momw/momw/data_seeds/data/data-path-order.yml

@ -33,6 +33,7 @@
- Fix those bastard rope fences
- HD Architecture Meshes
- Morrowind Optimization Patch
- Graphic Herbalism - MWSE and OpenMW Edition
- Project Atlas
- 'Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches'
- RR Mod Series - Better Meshes
@ -54,9 +55,6 @@
- Normal Maps for Morrowind
- Dwemer Mesh Improvement
- Daedric Ruins - Arkitektora of Vvardenfell
- Akulakhan Replacer for OpenMW
- Akulakhan's best chamber
- Concept Arts plantations
- Imperial Forts Retexture
- Imperial Houses and Forts Retexture - Ordo Arkitektora
- Imperial Towns Normal Mapped for OpenMW by Lysol
@ -75,6 +73,7 @@
- RR Mod Series - Morrowind Statues Replacer
- Meteorite Ministry
- Ministry of truth Bump mapped
- OAAB Dwemer Pavements
- TR heads replacer (MacKom's heads)
- TR Head Replacer Fixed Paths
- Facelift
@ -105,7 +104,6 @@
- Graphic Herbalism Tamriel Rebuilt Add-on Extra (minerals and egg clusters)
- Graphic Herbalism ADD_ON (No Glow)
- Better Flora
- Graphic Herbalism - MWSE and OpenMW Edition
- Epic Plants
- "Graphic Herbalism - MWSE and OpenMW Edition: Additional Patches"
- Apel's Fire Retexture
@ -143,6 +141,12 @@
- Vivec Guild of Mages Expansion
- Wolverine Hall Interior Expansion
- ReadMe - Library of Vivec Overhaul
- Akulakhan Replacer for OpenMW
- Akulakhan's best chamber
- Concept Arts plantations
- Samarys Ancestral Tomb Expanded
- Sanctus Shrine
- Foyada Mamaea Overhaul
- Ingredients Mesh Replacer
- Dunmer Lanterns Replacer
- AOF Containers
@ -202,15 +206,11 @@
- Swayland
- Mines and Caverns
- Lava - Mold - Mud Caverns Revamp
- OAAB Grazelands
- Trackless Grazeland
- OAAB - The Ashen Divide
- Mamaea Awakened
- OAAB Saplings
- OAAB Grazelands
- Trackless Grazeland
- Samarys Ancestral Tomb Expanded
- Sanctus Shrine
- Andrano Ancestral Tomb Remastered
- Foyada Mamaea Overhaul
- Darknut's Creature Textures
- Darknut's Creature Textures Addendum
- Golden Saint Variety
@ -288,9 +288,6 @@
- Illuminated Palace of Vivec
- Vivec Palace Illuminated - REDUX
- Ports Of Vvardenfell
- Ports Of Vvardenfell - TR - TOTSP Patch
- Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch
- Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin
- Tower of Vos
- Stav's Boxes - Gnisis Minaret
- Mournhold Overhaul v21
@ -299,7 +296,6 @@
- RR Mod Series - Telvanni Lighthouse Tel Branora
- RR Mod Series - Telvanni Lighthouse Tel Vos
- OAAB Tel Mora
- OAAB Dwemer Pavements
- Seyda Neen - Gateway to Vvardenfell
- Dramatic Vivec
- Vivec City
@ -312,6 +308,9 @@
- Price Balance
- Speechcraft Rebalance
- Morrowind Anti-Cheese
- Expansions Integrated
- At Home Alchemy
- At Home Alchemy - Finished
- Better Chargen
- Chargen Revamped - Expanded Lands
- Regen And Stamina Overhaul
@ -328,9 +327,6 @@
- Dave Humphrey's Furniture Store v2.01
- Morrowind Constructor(OpenMW Only)
- Persuasive Speech (OpenMW)
- Expansions Integrated
- At Home Alchemy
- At Home Alchemy - Finished
- Better Fatigue Usage
- ZEF Focus Magicka
- Sensible Races and Birthsigns
@ -345,11 +341,11 @@
- Linoras Leveling Mod
- Meet thy Ancestor for Level Up
- Natural Character Growth and Decay - MW
- CarryOn
- Magicka Based Skill Progression - ncgdMW Compatibility Version
- Magicka Based Skill Progression - Better Sounds/ncgdMW Compatible
- Magicka Based Skill Progression - Better Sounds - ncgdMW Compatible - Class-Spec Benefit Fix
- MBSP - Better Sounds - ncgdMW - Class-Spec - Fixed again Replacement Patch
- CarryOn
- Clear Your Name
- Illegal Items
- Dwemer and Ebony Service Refusal
@ -372,6 +368,7 @@
- The Publicans
- Improved Inns Expanded
- No more Dr. Nerevarine
- Another Armor n Weapon Rebalance
- Corgi Companion
- Better Clothes v1.1
- Better Clothes "Who's There?" Fix
@ -386,7 +383,6 @@
- New Gondolier Helm
- New Gondolier Helm Fixed for OpenMW
- Common Shoe Pack
- Another Armor n Weapon Rebalance
- 'Unification Compilation: Armory'
- Better Morrowind Armor
- Ebony Mail Replacer
@ -480,23 +476,25 @@
- Uncharted Artifacts
- To save a falling wizard (alternate) Fixed For OpenMW and Delta Plugin
- Ebonheart Underworks
- Ebonheart Underworks MOMW Patch
- Bounty Hunter Assignments
- Bitter and Blighted
- Frozen in Time
- Main Quest Overhaul
- The Vanilla Quest Tweaks RP Choices Consequences Super Mega Package - Ultimate Edition
- Andrano Ancestral Tomb Remastered
- Rise of House Telvanni
- Rise of House Telvanni - 2.0
- Uvirith's Legacy
- Uvirith's Legacy 3.5 TR add-on 1807
- Building Up Uvirith's Legacy
#TODO: wizard staff for wizards
#TODO: telvanni staff for telvanni staff
- Imperial Legion Expansion
- Imperial Factions
- Religions Elaborated
- More Exclusive Factions
- Census and Excise Office Faction
- Rise of House Telvanni
- Rise of House Telvanni - 2.0
- Uvirith's Legacy
- Uvirith's Legacy 3.5 TR add-on 1807
- OpenMW Fixes For Uvirith's Legacy
- Building Up Uvirith's Legacy
- Nil-Ruhn Velothi-Style house
- Fargoth's Mountain Hut
- Mannequins for Sale
@ -557,7 +555,12 @@
- Subtle Animated Menu Background Assemble
- Morrowind Definitive Menu Animation
- HD Intro Cinematic - English
- Ebonheart Underworks MOMW Patch
- Ports Of Vvardenfell - TR - TOTSP Patch
- Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch
- Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin
- Vanilla Inspired Water for OpenMW
- Vtastek's Light Shaders
- Delta Plugin
- OMWLLF
- tes3cmd

48
momw/momw/data_seeds/data/expanded-vanilla.toml

@ -37,7 +37,9 @@ mods = [
"Correct UV Rocks",
"Fix those bastard rope fences",
"Morrowind Optimization Patch",
"Graphic Herbalism - MWSE and OpenMW Edition",
"Project Atlas",
"Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches",
"Properly Smoothed Meshes",
]
@ -73,7 +75,7 @@ mods = [
title = "Bodies And Heads"
description = "Replace the vanilla bodies and heads, and their textures, for all races and genders."
mods = [
"Facelift",
"Familiar Faces by Caleb",
]
[[sublists]]
@ -88,8 +90,6 @@ mods = [
title = "Flora, Foliage, And Nature"
description = "Update the look and mechanics of harvestable objects via improved meshes and high quality textures."
mods = [
"Graphic Herbalism - MWSE and OpenMW Edition",
"Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches",
"Better Waterfalls",
]
@ -105,9 +105,6 @@ mods = [
"Samarys Ancestral Tomb Expanded",
"Sanctus Shrine",
"Foyada Mamaea Overhaul",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -137,6 +134,9 @@ mods = [
"Mines and Caverns",
"OAAB Grazelands",
"Trackless Grazeland",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -209,16 +209,6 @@ mods = [
"Morrowind Anti-Cheese",
]
[[sublists]]
title = "Sound & Music"
description = "Give new sound to almost everything in the game."
mods = [
"Better Sounds",
"Better Sounds 1.1 Patch 2",
"Yet Another Better Sounds Patch",
"Same Low Price Fix",
]
[[sublists]]
title = "Gameplay"
description = "Update gameplay mechanics. From leveling to monster spawning, marksman to sneaking, this selection tries to update game mechanics to feel better or more enjoyable compared to the vanilla game."
@ -274,6 +264,16 @@ mods = [
"Killing Spree Helluva ways to kill",
]
[[sublists]]
title = "Sound & Music"
description = "Give new sound to almost everything in the game."
mods = [
"Better Sounds",
"Better Sounds 1.1 Patch 2",
"Yet Another Better Sounds Patch",
"Same Low Price Fix",
]
[[sublists]]
title = "Quests"
description = "Add new quests, alter existing areas, get new rewards."
@ -376,13 +376,6 @@ mods = [
"True Nights and Darkness",
]
[[sublists]]
title = "Shaders"
description = "Updated shaders for more beautiful effects."
mods = [
"Vanilla Inspired Water for OpenMW",
]
[[sublists]]
title = "User Interface"
description = "Give the game UI a needed facelift in various ways."
@ -392,8 +385,8 @@ mods = [
"Widescreen Alaisiagae Splash Screens",
"Morrowind Loading Screens Extended - v2.1",
"HD Concept-art splash screen and main menu",
"Pete's Scroll 2018 ...in 2020",
"Official Xbox Splash Screens",
"Pete's Scroll 2018 ...in 2020",
"TrueType fonts for OpenMW",
"OpenHUD",
"Big Icons",
@ -416,6 +409,13 @@ mods = [
"Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin",
]
[[sublists]]
title = "Shaders"
description = "Updated shaders for more beautiful effects."
mods = [
"Vanilla Inspired Water for OpenMW",
]
[[sublists]]
title = "Settings Tweaks"
description = "Not actually mods, but changes to settings that are built into the OpenMW engine. Enhance performance and visual quality, as well as enable or disable many gameplay options (including things provided by MCP for vanilla Morrowind)."

27
momw/momw/data_seeds/data/graphics-overhaul.toml

@ -6,13 +6,14 @@ short_description = "This is the graphics-only version of the <a href=\"/lists/t
[[sublists]]
title = "Meshes / Performance"
description = "Mesh replacers that correct mistakes in the originals, often resulting in performance increases."
description = "Mesh replacers. Most of these correct mistakes in the originals, often resulting in performance increases, others will affect gameplay (Graphic Herbalism)."
mods = [
"Mesh Fix v1.2",
"Correct Meshes",
"Correct UV Rocks",
"Fix those bastard rope fences",
"Morrowind Optimization Patch",
"Graphic Herbalism - MWSE and OpenMW Edition",
"Project Atlas",
"RR Mod Series - Better Meshes",
"Properly Smoothed Meshes",
@ -44,7 +45,6 @@ description = "These provide new meshes and textures for general architecture."
mods = [
"Dwemer Mesh Improvement",
"Daedric Ruins - Arkitektora of Vvardenfell",
"Akulakhan's best chamber",
"Imperial Towns Normal Mapped for OpenMW by Lysol",
"Vivec Normal Mapped for OpenMW",
"Imperial Forts Normal Mapped for OpenMW",
@ -87,7 +87,6 @@ mods = [
title = "Flora, Foliage, And Nature"
description = "Update the look and mechanics of harvestable objects via improved meshes and high quality textures."
mods = [
"Graphic Herbalism - MWSE and OpenMW Edition",
"Epic Plants",
"Graphic Herbalism - MWSE and OpenMW Edition: Additional Patches",
"Apel's Fire Retexture Patched for OpenMW and Morrowind Rebirth",
@ -133,13 +132,10 @@ mods = [
"Vivec Guild of Mages Expansion",
"Wolverine Hall Interior Expansion",
"ReadMe - Library of Vivec Overhaul",
"Akulakhan's best chamber",
"Concept Arts plantations",
"Morrowind Animated Hammocks (MAH)",
"Sanctus Shrine",
"Foyada Mamaea Overhaul",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -173,6 +169,7 @@ mods = [
"Septim Gold and Dwemer Dumacs",
"Crystal Soul Gems",
"FM - Unique Items Compilation",
"Morrowind Animated Hammocks (MAH)",
"Inscribed Maar Gan Rock",
"Know Thy Ancestors",
"Dunmers ashpits",
@ -199,6 +196,9 @@ mods = [
"Lava - Mold - Mud Caverns Revamp",
"OAAB Grazelands",
"Trackless Grazeland",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -256,7 +256,6 @@ mods = [
"Concept Art Palace (Vivec City)",
"Vivec Palace Illuminated - REDUX",
"Ports Of Vvardenfell",
"Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch",
"Stav's Boxes - Gnisis Minaret",
"Mournhold Overhaul v21",
"RR Mod Series - Ghostgate Fortress",
@ -265,7 +264,6 @@ mods = [
"RR Mod Series - Telvanni Lighthouse Tel Vos",
"OAAB Tel Mora",
"Seyda Neen - Gateway to Vvardenfell",
"Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin",
"Vivec City",
"Hla Oad",
"Ald'ruhn",
@ -343,9 +341,9 @@ mods = [
"The Dream is the Door",
"Parasol Particles",
"Magic VFX Retexture by Articus",
"No Shield Sparkle",
"Diverse Blood",
"Shield Spells Reforged pt.1.",
"No Shield Sparkle",
]
[[sublists]]
@ -409,6 +407,15 @@ mods = [
"HD Intro Cinematic - English",
]
[[sublists]]
title = "Patches - part two"
description = "These patches are specific to this list and work to resolve a conflict or fix some other issue."
mods = [
"Ebonheart Underworks MOMW Patch",
"Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch",
"Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin",
]
[[sublists]]
title = "Settings Tweaks"
description = "Not actually mods, but changes to settings that are built into the OpenMW engine. Enhance performance and visual quality, as well as enable or disable many gameplay options (including things provided by MCP for vanilla Morrowind)."

10
momw/momw/data_seeds/data/i-heart-vanilla-dc.yml

@ -2,20 +2,20 @@
- Unofficial Morrowind Official Plugins Patched
- Fix those bastard rope fences
- Morrowind Optimization Patch
- Glow in the Dahrk
- Nords shut your windows
- Graphic Herbalism - MWSE and OpenMW Edition
- Project Atlas
- 'Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches'
- Morrowind Enhanced Textures
- Familiar Faces by Caleb
- OpenMW Containers Animated
- Tamriel Data
- Tamriel Rebuilt
- Province Cyrodiil
- "Skyrim: Home Of The Nords"
- Morrowind Enhanced Textures
- Familiar Faces by Caleb
- OpenMW Containers Animated
- Weapon Sheathing
- Morrowind Optimization Patch - Weapon Sheathing Patch
- Glow in the Dahrk
- Nords shut your windows
- TrueType fonts for OpenMW
- Big Icons
- Vanilla Inspired Water for OpenMW

4
momw/momw/data_seeds/data/i-heart-vanilla.yml

@ -2,8 +2,6 @@
- Unofficial Morrowind Official Plugins Patched
- Fix those bastard rope fences
- Morrowind Optimization Patch
- Glow in the Dahrk
- Nords shut your windows
- Graphic Herbalism - MWSE and OpenMW Edition
- Project Atlas
- 'Graphic Herbalism - MWSE and OpenMW Edition: Project Atlas Patches'
@ -12,6 +10,8 @@
- OpenMW Containers Animated
- Weapon Sheathing
- Morrowind Optimization Patch - Weapon Sheathing Patch
- Glow in the Dahrk
- Nords shut your windows
- TrueType fonts for OpenMW
- Big Icons
- Vanilla Inspired Water for OpenMW

37
momw/momw/data_seeds/data/total-overhaul.toml

@ -55,13 +55,14 @@ mods = [
[[sublists]]
title = "Meshes / Performance"
description = "Mesh replacers that correct mistakes in the originals, often resulting in performance increases."
description = "Mesh replacers. Most of these correct mistakes in the originals, often resulting in performance increases, others will affect gameplay (Graphic Herbalism)."
mods = [
"Mesh Fix v1.2",
"Correct Meshes",
"Correct UV Rocks",
"Fix those bastard rope fences",
"Morrowind Optimization Patch",
"Graphic Herbalism - MWSE and OpenMW Edition",
"Project Atlas",
"RR Mod Series - Better Meshes",
"Properly Smoothed Meshes",
@ -93,7 +94,6 @@ description = "These provide new meshes and textures for general architecture."
mods = [
"Dwemer Mesh Improvement",
"Daedric Ruins - Arkitektora of Vvardenfell",
"Akulakhan's best chamber",
"Imperial Towns Normal Mapped for OpenMW by Lysol",
"Vivec Normal Mapped for OpenMW",
"Imperial Forts Normal Mapped for OpenMW",
@ -136,7 +136,6 @@ mods = [
title = "Flora, Foliage, And Nature"
description = "Update the look and mechanics of harvestable objects via improved meshes and high quality textures."
mods = [
"Graphic Herbalism - MWSE and OpenMW Edition",
"Epic Plants",
"Graphic Herbalism - MWSE and OpenMW Edition: Additional Patches",
"Apel's Fire Retexture Patched for OpenMW and Morrowind Rebirth",
@ -182,14 +181,11 @@ mods = [
"Vivec Guild of Mages Expansion",
"Wolverine Hall Interior Expansion",
"ReadMe - Library of Vivec Overhaul",
"Akulakhan's best chamber",
"Concept Arts plantations",
"Morrowind Animated Hammocks (MAH)",
"Samarys Ancestral Tomb Expanded",
"Sanctus Shrine",
"Foyada Mamaea Overhaul",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -225,6 +221,7 @@ mods = [
"Septim Gold and Dwemer Dumacs",
"Crystal Soul Gems",
"FM - Unique Items Compilation",
"Morrowind Animated Hammocks (MAH)",
"Inscribed Maar Gan Rock",
"Know Thy Ancestors",
"Dunmers ashpits",
@ -251,6 +248,9 @@ mods = [
"Lava - Mold - Mud Caverns Revamp",
"OAAB Grazelands",
"Trackless Grazeland",
"OAAB - The Ashen Divide",
"Mamaea Awakened",
"OAAB Saplings",
]
[[sublists]]
@ -346,16 +346,6 @@ mods = [
"Morrowind Anti-Cheese",
]
[[sublists]]
title = "Sound & Music"
description = "Give new sound to almost everything in the game."
mods = [
"Better Sounds",
"Better Sounds 1.1 Patch 2",
"Yet Another Better Sounds Patch",
"Same Low Price Fix",
]
[[sublists]]
title = "Gameplay"
description = "Update gameplay mechanics. From leveling to monster spawning, marksman to sneaking, this selection tries to update game mechanics to feel better or more enjoyable compared to the vanilla game."
@ -445,6 +435,16 @@ mods = [
"Killing Spree Helluva ways to kill",
]
[[sublists]]
title = "Sound & Music"
description = "Give new sound to almost everything in the game."
mods = [
"Better Sounds",
"Better Sounds 1.1 Patch 2",
"Yet Another Better Sounds Patch",
"Same Low Price Fix",
]
[[sublists]]
title = "Quests"
description = "Add new quests, alter existing areas, get new rewards."
@ -517,7 +517,6 @@ mods = [
"No Shield Sparkle",
"Diverse Blood",
"Shield Spells Reforged pt.1.",
"No Shield Sparkle",
]
[[sublists]]
@ -588,8 +587,8 @@ title = "Patches - part two"
description = "These patches are specific to this list and work to resolve a conflict or fix some other issue."
mods = [
"Ebonheart Underworks MOMW Patch",
"Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin",
"Ports Of Vvardenfell - TR - TOTSP - Ald'ruhn - Vivec City Patch",
"Ports Of Vvardenfell - Seyda Neen Gateway Compatibility Plugin",
]
[[sublists]]

31
momw/momw/managers.py

@ -16,6 +16,37 @@ class AltModsManager(models.Manager):
return super().get_queryset().filter(alt_to__gt=1)
class ListedModsGraphicsOverhaulManager(models.Manager):
def get_queryset(self):
return (
super().get_queryset().filter(modlist__slug__startswith="graphics-overhaul")
)
class ListedModsExpandedVanillaManager(models.Manager):
def get_queryset(self):
return (
super().get_queryset().filter(modlist__slug__startswith="expanded-vanilla")
)
class ListedModsIHeartVanillaManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(modlist__slug="i-heart-vanilla")
class ListedModsIHeartVanillaDCManager(models.Manager):
def get_queryset(self):
return (
super().get_queryset().filter(modlist__slug="i-heart-vanilla-directors-cut")
)
class ListedModsTotalOverhaulManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(modlist__slug__startswith="total-overhaul")
class GraphicsOverhaulManager(models.Manager):
def get_queryset(self):
return (

12
momw/momw/models.py

@ -31,6 +31,11 @@ from .managers import (
WithBSAManager,
WithPluginsManager,
LatestModsManager,
ListedModsExpandedVanillaManager,
ListedModsGraphicsOverhaulManager,
ListedModsIHeartVanillaManager,
ListedModsIHeartVanillaDCManager,
ListedModsTotalOverhaulManager,
)
TZ = pendulum.timezone(settings.TIME_ZONE)
@ -431,6 +436,13 @@ class ListedMod(models.Model):
parent_order = models.IntegerField(default=0)
parent_slug = models.SlugField(default="")
objects = models.Manager()
expanded_vanilla = ListedModsExpandedVanillaManager()
graphics_overhaul = ListedModsGraphicsOverhaulManager()
i_heart_vanilla = ListedModsIHeartVanillaManager()
i_heart_vanilla_dc = ListedModsIHeartVanillaDCManager()
total_overhaul = ListedModsTotalOverhaulManager()
class Meta:
db_table = "listed_mods"
ordering = ["pk"]

146
momw/momw/tests.py

@ -19,7 +19,7 @@ from momw.data_seeds.mod_tags import mod_tags
from utilz.tests import BaseSelenium, UtilzSeleniumTestCase, start_driver_wrapper
from .cfg import generate_cfg
from .feeds import LatestModsFeed
from .models import ListedMod, Mod, ModList, Category, Tag
from .models import DataPathLoadOrder, ListedMod, Mod, ModList, Category, Tag
from .sitemaps import sitemap_dict
from .views.dynamicpages import (
all_mods,
@ -906,6 +906,150 @@ class MomwTestCase(TestCase):
count += 1
self.assertFalse(nomatch)
# TODO: Do we need tests that read each mod list yaml/toml file and check for dupes?
# TODO: The following data order tests should implicitly prevent this from happening
# TODO: too, so maybe the specific test isn't needed..
def test_data_order_total_overhaul(self):
full_data_path_order = DataPathLoadOrder.objects.all()
listed_mods = ListedMod.total_overhaul.exclude(
mod__category__title="Settings Tweaks"
)
mods = []
dp = []
out_of_order = 0
for m in listed_mods:
mods.append(m.mod)
for m in full_data_path_order:
if m.mod in mods:
dp.append(m.mod)
for n in range(0, len(mods) - 1):
if dp[n] != mods[n]:
print(
"Total Overhaul mod #{n} out of order: {m}".format(
n=n, m=mods[n].name
)
)
print("====> Should be: " + dp[n].name)
out_of_order += 1
self.assertEqual(out_of_order, 0)
def test_data_order_graphics_overhaul(self):
full_data_path_order = DataPathLoadOrder.objects.all()
listed_mods = ListedMod.graphics_overhaul.exclude(
mod__category__title="Settings Tweaks"
)
mods = []
dp = []
out_of_order = 0
for m in listed_mods:
mods.append(m.mod)
for m in full_data_path_order:
if m.mod in mods:
dp.append(m.mod)
for n in range(0, len(mods) - 1):
if dp[n] != mods[n]:
print(
"Graphics Overhaul mod #{n} out of order: {m}".format(
n=n, m=mods[n].name
)
)
print("====> Should be: " + dp[n].name)
out_of_order += 1
self.assertEqual(out_of_order, 0)
def test_data_order_expanded_vanilla(self):
full_data_path_order = DataPathLoadOrder.objects.all()
listed_mods = ListedMod.expanded_vanilla.exclude(
mod__category__title="Settings Tweaks"
)
mods = []
dp = []
out_of_order = 0
for m in listed_mods:
mods.append(m.mod)
for m in full_data_path_order:
if m.mod in mods:
dp.append(m.mod)
for n in range(0, len(mods) - 1):
if dp[n] != mods[n]:
print(
"Expanded Vanilla mod #{n} out of order: {m}".format(
n=n, m=mods[n].name
)
)
print("====> Should be: " + dp[n].name)
out_of_order += 1
self.assertEqual(out_of_order, 0)
def test_data_order_i_heart_vanilla(self):
full_data_path_order = DataPathLoadOrder.objects.all()
listed_mods = ListedMod.i_heart_vanilla.exclude(
mod__category__title="Settings Tweaks"
)
mods = []
dp = []
out_of_order = 0
for m in listed_mods:
mods.append(m.mod)
for m in full_data_path_order:
if m.mod in mods:
dp.append(m.mod)
for n in range(0, len(mods) - 1):
if dp[n] != mods[n]:
print(
"I Heart Vanilla mod #{n} out of order: {m}".format(
n=n, m=mods[n].name
)
)
print("====> Should be: " + dp[n].name)
out_of_order += 1
self.assertEqual(out_of_order, 0)
def test_data_order_i_heart_vanilla_dc(self):
full_data_path_order = DataPathLoadOrder.objects.all()
listed_mods = ListedMod.i_heart_vanilla_dc.exclude(
mod__category__title="Settings Tweaks"
)
mods = []
dp = []
out_of_order = 0
for m in listed_mods:
mods.append(m.mod)
for m in full_data_path_order:
if m.mod in mods:
dp.append(m.mod)
for n in range(0, len(mods) - 1):
if dp[n] != mods[n]:
print(
"I Heart Vanilla Director's Cut mod #{n} out of order: {m}".format(
n=n, m=mods[n].name
)
)
print("====> Should be: " + dp[n].name)
out_of_order += 1
self.assertEqual(out_of_order, 0)
def test_about_page(self):
r = self.f.get(reverse("about"))
r.user = AnonymousUser()

Loading…
Cancel
Save