Repairing the Cogs of Morrowind No. 17

Post » Mon Mar 08, 2010 6:15 pm

This is a project to fix bugs in Morrowind that just aren't possible to do with scripting alone. It comes in the form of a patch to the Morrowind program.

The primary fix included is a large change to the savegame code to reduce the majority of crashes, corruption, and missing objects. It also makes the game properly respond to changes in your load list, making inserting and removing mods from your savegames a lot safer. There are many more smaller fixes that cover all areas of the game.

All fixes and gameplay changes included are optional, you can independently select which ones you want to use in the installer.

Morrowind Code Patch is fully compatible with MPP, MGE, MWSE and MWE. It should work with the Steam edition of Morrowind now. Also, improved Russian version compatibility (supports GFM dll).

Version 1.7 is out now.
Files: http://www.tesnexus.com/downloads/file.php?id=19510 http://www.fliggerty.com/phpBB3/viewtopic.php?f=53&t=1008

New features in 1.7:

- Toggle sneak. Sneak key toggles sneak mode on or off.
- Inventory bugs. Now also fixes an issue with items sticking in inventory when they were supposed to removed by a quest or script.
- Inventory bugs. Fixed a previously introduced bug where soul gems didn't update properly when soul trapping using only touch spells.
- Delayed spell crash fix. Fixes a crash situation where uncast spells remained in memory or savegame.
- Loud armor / shield fix. Fixes occasional ridiculously loud armor hit sounds.
- Unrestrict menu size. Allows stats menu and magic menu to be resized without limit.
- Enable reflection effects on skinned models. Allows skinned objects to have shiny reflection maps.
- Createmaps fix. Causes the createmaps command to skip over interiors, reducing the amount of time it takes to complete.
- Polish keyboard support. Allows typing of Polish characters in-game.
- Better quality splash and title screens. Fixes colour depth issues which reduced splash/title screen quality.
- Spellmaking max. magnitude. New magnitude limit changed from 1000 to 250.
- Transparent clothes in inventory. Should no longer cause the mouse cursor to sometimes have a thin black outline.
- Enchant glow in fog. Slightly optimized, should no longer be linked to transparent clothes fix.


See the previous threads to see how this came about:
Repairing those Cogs http://www.gamesas.com/index.php?/topic/1041353-repairing-the-cogs-of-morrowind-%2316/ http://www.gamesas.com/bgsforums/index.php?showtopic=1032219 http://www.gamesas.com/bgsforums/index.php?showtopic=1026266 http://www.gamesas.com/bgsforums/index.php?showtopic=1013291 http://www.gamesas.com/?showtopic=1009430 http://www.gamesas.com/bgsforums/index.php?showtopic=978076 http://www.gamesas.com/bgsforums/index.php?showtopic=942375 http://www.gamesas.com/bgsforums/index.php?showtopic=925813 http://www.yacoby.net/es/forum/12/9111491226747880.html http://www.yacoby.net/es/forum/12/8942761225301640.html http://www.yacoby.net/es/forum/12/8891531224348540.html http://www.yacoby.net/es/forum/12/8852991223287560.html http://www.yacoby.net/es/forum/12/8837531222826580.html http://www.yacoby.net/es/forum/12/8812671222030860.html http://www.yacoby.net/es/forum/12/8792971221418740.html http://www.yacoby.net/es/forum/12/8744651220076840.html
thread #9 may not have been archived on the forum
User avatar
Flash
 
Posts: 3541
Joined: Fri Oct 13, 2006 3:24 pm

Post » Mon Mar 08, 2010 9:57 am

Hey, I was wondering if you could try and "fix" the createmaps function. It also scans every single interior cell, when really it should only look at exterior cells. It would speed it up a lot and reduce the chance of crashes a lot.
User avatar
sarah simon-rogaume
 
Posts: 3383
Joined: Thu Mar 15, 2007 4:41 am

Post » Mon Mar 08, 2010 6:02 am

It was rather difficult last time I investigated that issue. Createmaps shares cell switching code with testcells, so there are issues separating out what affects both functions and what is for createmaps only. Just looked into it again today, I may have a solution.. the trick is it takes forever to test, and you have to watch it manually too.

I am also hopeful to fix one final bug, the bug with the inventory where items meant to be removed, don't get removed. It's because the UI doesn't always refresh after items are removed or deleted, but there may be more than one cause.
User avatar
Kevin Jay
 
Posts: 3431
Joined: Sun Apr 29, 2007 4:29 am

Post » Mon Mar 08, 2010 6:31 pm

Hi there,
just wanted to point out that some of the links to older threads in the first post appear to be dead. Also, I was wondering if you thought it could be possible to make a fix for the problem with skinned body parts disabling ref and bump maps assigned to them? I know it's probably not a priority for you (after all this doesnt really concern vanilla morrowind), but it's something I am really hoping to see fixed.
I hope you don't mind me asking, and I would understand if the answer was no. I am already very happy with all the fixes you have created so far.

Thank you for the MCP in any case ^_^
User avatar
hannah sillery
 
Posts: 3354
Joined: Sun Nov 26, 2006 3:13 pm

Post » Mon Mar 08, 2010 5:40 pm

Isn't this actually version 1.6.4? That's what my .esm says.
User avatar
Danger Mouse
 
Posts: 3393
Joined: Sat Oct 07, 2006 9:55 am

Post » Mon Mar 08, 2010 3:30 pm

Isn't this actually version 1.6.4? That's what my .esm says.


That would be the Morrowind Patch Project, which repairs quest/dialogue, item, etc, errors; this is the Morrowind Code Patch which fixes the savegame code, lots of CTD-inducing UI bugs, and such.
User avatar
Kara Payne
 
Posts: 3415
Joined: Thu Oct 26, 2006 12:47 am

Post » Mon Mar 08, 2010 3:39 pm

Just updated the past threads links to point to yacoby's forum archive. It's still missing threads #9 and #10 before the forum links start working again.
User avatar
Richard
 
Posts: 3371
Joined: Sat Oct 13, 2007 2:50 pm

Post » Mon Mar 08, 2010 1:23 pm

nevermind user error
User avatar
Tiffany Carter
 
Posts: 3454
Joined: Wed Jul 19, 2006 4:05 am

Post » Mon Mar 08, 2010 12:24 pm

Good news everyone!

Reflect maps are now working on skinned meshes.

I've learned a lot on how the skinning system works over the last week. It's an addition to the engine by Bethesda to handle the way body parts can override other parts. It is more complicated than just loading all the models for each part, since each NIF can hold multiple parts, some which may not be active. To do this it loads the relevant NIFs, but looks up NiTriShapes by name, and only by name. All other node structure above is ignored, which means any NiTextureEffect is just not looked at. It also means the bone names are very fixed, since it only looks for, copies and skins bones it knows about; with other bone names it would look for a corresponding clothing assignment past the end of the existing array of bones. When loading models, it does a lot of string matching and copy construction of the node list, it's quite bleh to trace through, not tight code at all. I found the right place to add something that copies the texture effect over and updates things properly.

Secondly, createmaps now skips over interiors, but it needs testing to the end which I'd rather let someone interested do.

I'm going to prepare a beta test tomorrow. If you wish to prepare some test material, you should place the NiTextureEffect in the same NiNode as some TriShapes. The NiTextureEffect must be in both the child list AND in the effect list of the NiNode.
User avatar
Alessandra Botham
 
Posts: 3440
Joined: Mon Nov 13, 2006 6:27 pm

Post » Mon Mar 08, 2010 7:59 am

Good news everyone!

Reflect maps are now working on skinned meshes.

I've learned a lot on how the skinning system works over the last week. It's an addition to the engine by Bethesda to handle the way body parts can override other parts. It is more complicated than just loading all the models for each part, since each NIF can hold multiple parts, some which may not be active. To do this it loads the relevant NIFs, but looks up NiTriShapes by name, and only by name. All other node structure above is ignored, which means any NiTextureEffect is just not looked at. It also means the bone names are very fixed, since it only looks for, copies and skins bones it knows about; with other bone names it would look for a corresponding clothing assignment past the end of the existing array of bones. When loading models, it does a lot of string matching and copy construction of the node list, it's quite bleh to trace through, not tight code at all. I found the right place to add something that copies the texture effect over and updates things properly.

Wow, that's fantastic news!!!!! It sounds like it was no easy task, thank you so much for doing it! I cannot wait to make armor sets with reflect maps next summer! So many of us have been dreaming about that for so long, thank you again! :woot:

(sorry if I sound too enthusiastic, it's just that I had been hoping for this for so long, I thought it would never happen. Glad to be proven wrong :))
I'm going to prepare a beta test tomorrow. If you wish to prepare some test material, you should place the NiTextureEffect in the same NiNode as some TriShapes. The NiTextureEffect must be in both the child list AND in the effect list of the NiNode.

I wish I could beta test for you since I'm one of the persons who've been bothering you with that request, but I wont be able to mod until next June unfortunately :/ Hopefully others will come along and offer to beta test the new fixes you've just made!
User avatar
Ludivine Dupuy
 
Posts: 3418
Joined: Tue Mar 27, 2007 6:51 pm

Post » Mon Mar 08, 2010 8:29 pm

Is anyone else having the issue with enchanted items turning black when the menus are turned off? I don't know if this always happens or if it's related to the pluginless no-glo replacer I'm using...
User avatar
Jade Payton
 
Posts: 3417
Joined: Mon Sep 11, 2006 1:01 pm

Post » Mon Mar 08, 2010 11:51 am

Is anyone else having the issue with enchanted items turning black when the menus are turned off? I don't know if this always happens or if it's related to the pluginless no-glo replacer I'm using...

It's the bump/reflect local lighting patch, it assumes some things about the lighting setup that changes only when you turn off menus.
It's actually a bug in vanilla Morrowind. The texture combiner is set to multiply the glow with the base texture instead of add to it.
It's MGE actually, bugs everywhere eh.
User avatar
Hayley O'Gara
 
Posts: 3465
Joined: Wed Nov 22, 2006 2:53 am

Post » Mon Mar 08, 2010 7:03 pm

Good news everyone!
Reflect maps are now working on skinned meshes.

Excellent, knew you'd crack it. Also glad to see my suspicions that it was all down to 'node culling' sound like they were correct.
If you need an assist give me a PM. (I've been working with NiTextureEffect and gloss maps in FF for years).
Axel will be fascinated by the work on bones.
User avatar
Farrah Barry
 
Posts: 3523
Joined: Mon Dec 04, 2006 4:00 pm

Post » Mon Mar 08, 2010 8:46 pm

I can tell you that TR will be more than happy to test the createmaps.
User avatar
Laura Tempel
 
Posts: 3484
Joined: Wed Oct 04, 2006 4:53 pm

Post » Mon Mar 08, 2010 8:38 pm

Beta available http://www.tesnexus.com/downloads/file.php?id=26348. Beta patches are not enabled by default, you must select the ones you are testing.

Test request:

Reflect map with skinned meshes: As I said before, if you wish to prepare some test material, you should place the NiTextureEffect in the same NiNode as some TriShapes. The NiTextureEffect must be in both the child list AND in the effect list of the NiNode. Please check for compatibility with existing mods that use enchantments to provide the reflect map, and any spell effects that could cause a brief change in texture effects, like spell absorb or whatever.

Createmaps: Please check it terminates properly at the end of the cycle, and that no cells are missing.

Polish keyboard support: If you use Polish mods, try the console and see if all the letters work properly. The font patching is missing for now though, you may not see Alt+S.
User avatar
Shae Munro
 
Posts: 3443
Joined: Fri Feb 23, 2007 11:32 am

Post » Mon Mar 08, 2010 1:56 pm

Test request:
Reflect map with skinned meshes:

Got it. Should be able to whip something up and test it in the next 24 hours or so.
User avatar
kelly thomson
 
Posts: 3380
Joined: Thu Jun 22, 2006 12:18 pm

Post » Mon Mar 08, 2010 4:21 am

Once again, you are a genius! Works a treat.

I fired up my tests that were mostly correct as I thought they ought to work. NiTextureEffect and a gloss texture to control it in addition to the base texture.
First tried with an enchanted Slof Thong I was wearing. Used the actual thong texture, which is fairly dark, as the map. Should have resulted in a faint pvc like gleam, especially as I chose my PVC lightmap. Oddly (correction as I got confused over the texture used as base/map) I got the odd situation of the body glowing more than the thong, but it looked, subtly shiny. Don't quite understand why as the map is black but the embedded gloss map might be moderating the effect. More testing needed as this is inconclusive.

Then added the non-enchanted version. Perfect. Slight shine on the thong, no shine at all on the rest of the body. Exactly what I wanted. Here the black map is being honoured. Perfect in every way.

A winner I think. Only problem is you have rendered every mesh in the game obsolete. Clothing especially. Now to try with a black map on the enchanted version to see if I can get the thong to shine but not the body, which is what I'd expect.

Edit2: The base texture I repurposed as a map has an Alpha channel. Might be significant. (grin). I shall test without I think.

Edit3. Nope, Alpha layer in the map doesn't seem to matter.
Enchanted items probably will present a problem, as the game uses it's own NItextureeffect, and probably it's own 100% coverage map too.

Do remember that bump maps still trump gloss maps, the technique for baking enchantment no-glow into a mesh still stands here.

Final edit I think: Switched the gloss map to produce or less subtle metallic effect. Works a treat. I'd say that when not troubled by enchantment (and they have always created trouble for NiTextureEffect nodes) these do exactly what they should do.

Superb job!!!!

Not sure what can be done with enchantment though. I'll keep trying, bit it looks like it trumps the nodes embedded in the Nif. Looks like it is still an issue. Any chance you could add an optional disable for enchantment glow, seeing as how hated it is? That would prevent any issue.

Another fine piece of work here!
User avatar
candice keenan
 
Posts: 3510
Joined: Tue Dec 05, 2006 10:43 pm

Post » Mon Mar 08, 2010 8:32 pm

I've found out what causes sunglare to disappear while wearing robes. It's not a graphics card problem, it's an issue with the meshes and animation system.

Sun visibility is determined by raycasting, but skinned clothing (like robes), have to use bounding box collision instead of triangle collision, since the vertices and triangles change every time the skeleton does. For large items like robes, this causes the ray to be intercepted quite a distance away from the player, since the robe bounding box covers the whole body. It could occur for other clothing as well.

For now, I can disable testing sun glare against the 1st person view models. This solves the issue in first person only, with the side-effect that weapons don't obscure the sun; which is better than nothing.
User avatar
jessica Villacis
 
Posts: 3385
Joined: Tue Jan 23, 2007 2:03 pm

Post » Mon Mar 08, 2010 4:05 pm

I knew it was a mesh problem. Odd thing, ever since using the sunshafts shader, I'm trying to eliminate sun glare and using this bug is the only thing that worked for me. Thanks for your efforts, but I won't be using it. :P

Keep up the good work. :foodndrink:
User avatar
Sandeep Khatkar
 
Posts: 3364
Joined: Wed Jul 18, 2007 11:02 am

Post » Mon Mar 08, 2010 7:41 pm

Testing env maps on skinned stuff
All tests went positive
First test was an body mesh:
http://img689.imageshack.us/img689/7789/morrowindscreenshot2.jpg
(its was hard to capture the effect here, but it works anyway)
The second one was an skinned armor (both 1st and 3rd perspectives where positive):
http://img195.imageshack.us/img195/3752/morrowindscreenshot1.jpg

Good job Hrnchamd! :thumbsup:
User avatar
:)Colleenn
 
Posts: 3461
Joined: Thu Aug 31, 2006 9:03 am

Post » Mon Mar 08, 2010 6:17 pm

I'm not sure if this has been noted before, but I think I've found a small problem with the fix for NPC AI potion drinking.

In my case, I have a companion in AIFollow mode, using a simple companion script based on Grumpy's template. When we get into combat, and I do damage to the enemy, my companion drinks his health potions! If I turn off the NPC potion fix, then he no longer does so. This is not particularly harmful or anything, just mildly disconcerting. Could you check that fix and see if it is behaving as intended? Thanks.

I've tried to reproduce this with Julan and Constance, and it just doesn't happen for me. Could anyone help narrow it down?
User avatar
Kathryn Medows
 
Posts: 3547
Joined: Sun Nov 19, 2006 12:10 pm

Post » Mon Mar 08, 2010 7:15 am

if possible making it so you could make multi fortify potions? i said it in the last thread before it closed but never saw a response! also i have and interesting issue i think i turned on debugging on my pc i now no longer get CTD's i get a "Alert" to de-bug and then MW crashes 9/10 it's a memory read error the tenth is a write i had made images of the alerts but for got them at home. it's not a major new issue it's like a CTD but not, i can play for like and hour and usually when changing cells it goes. Also keep up the Great work (not a demand a request!)
User avatar
Kelly Tomlinson
 
Posts: 3503
Joined: Sat Jul 08, 2006 11:57 pm

Post » Mon Mar 08, 2010 6:52 am

Right, I've started a fun little project to put appropriate gloss maps on all the bonemold armour in the game.
I'm hoping the results will be spectacular.

Edit: I've just found a material type of 'fdghd'! Guess someone didn't care much after a long day!
User avatar
Gisela Amaya
 
Posts: 3424
Joined: Tue Oct 23, 2007 4:29 pm

Post » Mon Mar 08, 2010 12:25 pm

Fantastic work/research, Hrnchamd! :tops:
I am on it.

It also means the bone names are very fixed, since it only looks for, copies and skins bones it knows about; with other bone names it would look for a corresponding clothing assignment past the end of the existing array of bones.


Do I understand you correctly that there is no chance to "remove" MW limitation on bone names and numbers?


And another question/request: PlayGroup/LoopGroup animation scripting functions are not working properly/reliably for NPCs ? legs are animated, upper body parts not. Do you think that it might be possible to fix that in the frame of you project?

Many thanx.

:)
User avatar
Mr. Allen
 
Posts: 3327
Joined: Fri Oct 05, 2007 8:36 am

Post » Mon Mar 08, 2010 10:54 am

Well, I've just been walking round Seyda neen. The effect is very, very noticeable. Now I've put gloss maps in the Nifs (couple of hours for primitive maps and each Nif), I just need to choose the right NiTextureEffect and craft the right gloss maps to get a good effect for (laquered?) bonemold.
User avatar
Samantha Wood
 
Posts: 3286
Joined: Sun Oct 15, 2006 5:03 am

Next

Return to III - Morrowind