Morrowind Mod:Engine Bugs

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search

This page contains information on the engine bugs present in Morrowind in the original Bethesda game engine (these do not affect OpenMW, and some of them have been fixed for Bethesda's engine by code-patching projects, as noted below). Not all of the errors/bugs stated here necessarily occur in the release you own. E.g., the Game of the Year (GOTY) PC version of Morrowind incorporates many bug-fixes out of the box, as well as the final release versions of Morrowind, its expansions, and the TESCS.

Tilde and Other Keys Not Working[edit]

On some computers, tilde (~), left bracket ([), and possibly some other keys might not work. The problem is caused by some Microsoft keyboard drivers on Windows Vista and later. It is not limited to Morrowind; also affected are Oblivion, Fallout 3,[1] and a non-game application, DosBox.[2]

Problematic drivers include:

  • Microsoft eHome MCIR 109 Keyboard
  • PC/AT Enhanced PS/2 Keyboard (101/102-Key)
  • Standard PS/2 Keyboard

One way to fix this is to manually change the driver for that device to

  • Standard PS/2 101/102 Keyboard

You might need to uncheck "Show compatible hardware" when looking for that driver. Reboot is required for the changes to take effect.

If you're running Morrowind on Vista or later, try uninstalling Microsoft eHome Infrared Transceiver, if you find it listed in the Human Interface Devices tab in the Device Manager menu of the System and Maintenance option of the Control Panel. That should make your tilde key work again. You could have to do it each time you reboot your system since it is a default driver.

Savegame-related Bugs[edit]

The following bugs occur in relation to savegames.

Saving Too Infrequently[edit]

Symptom: The player just wanders about and suddenly, Morrowind crashes without any reason.

Sometimes, Morrowind simply crashes when you haven't saved your current game for a while. This is caused by a bug in the data sorting algorithms of the engine; the buffers simply overflow and empty, the engine tries to access data that is gone, and halts.

Fix: There seems to be no way to avoid this, except saving regularly. However, most times when Morrowind is about to crash the game will freeze and save a "Restore" file that you can then load from the load menu.

Too Many Saves[edit]

Symptom: Keeping more than N saves in the Saves directory causes fatal load errors.

If you get beyond a certain number of saves (which may be dependent on the total number of active mods), then Morrowind starts to give fatal load errors. In one test, as shown below, at 891 save files, the savegame loaded ok, but at 892 you start to get errors:

SAVES...RESULT
891.....OK
892.....BAD ("QuestName info in Journal "XXX" has no name string.")
893.....BAD ("Could not locate info 'NNN' for Dialogue 'XXX'.")
916.....BAD (load menu corruption + "Could not locate info 'NNN' for Dialogue 'XXX'.")
917.....BAD ("Model Load Error: in menu_thick_border.NIF.") + load menu corruption

(This user also had 148 active game files/mods while testing.)

As the number of saves increases, the errors change and graphic corruption starts to occur, particularly with the Load Game menu. Interestingly, the total number of saves and mods (1039) during this test is pretty close to the magic number 1024 (a number often chosen by programmers as an array size). Since the problem appears to be some sort of buffer overflow/memory corruption, it's possible that the problem actually starts when the total number of plugins + saves exceeds 1024, but visible signs of the corruption don't start to show until a little after that, in some cases 1039. In any case, the test clearly shows that it's a bad idea to keep too many saves in the saves directory. It's probably best to keep it under a couple hundred files.

Fix: Easy for user to control by limiting number of saves, moving them elsewhere, or archiving them. Morrowind Code Patch adds a warning message so player will be aware that there are too many savegames.

Graphics Bugs[edit]

The following bugs are related to the Morrowind game engine's graphics, shaders, and other such related issues.

Fog[edit]

Symptom: Players with nVidia graphics cards will notice some interior cells render as a blank screen.

The fog bug notably happens with nVidia graphics cards when the fog density parameter for an interior cell is set to 0.0, the room is displayed as a blank screen. You sometimes see only light fixtures and the player's hands, but all other features of the room are obscured. This notably happens in Tribunal in the Dome of Serlyn. But a number of mods also have this problem. For Oblivion, Wrye fixed this in the Bashed Patch feature of Wrye Bash, which appears to just change the fog setting from 0.0 to 0.001. This is easy to do with a mod in the CS, but is tedious with a large mod load list, and it would be great not to have to worry about patching mods you download. This bug is game breaking, if the mod-by-mod workaround is not done manually. The fault could be assigned to the graphics card, but has been proposed to be fixed in code patching projects, because it's probably easy to implement.

Fix: Change the 0.0 fog settings to some other value, such as the suggested 0.001.

Vampire/Red Damage Ring[edit]

Symptom: A vampire taking sun damage may notice the "red damage ring" will remain when it shouldn't, such as when entering an interior cell.

The "red damage frame" (hit fader) bug most notably happens when you are a vampire taking sun damage and you enter an interior cell from the exterior, but it can actually happen to any character when you switch from interior to exterior or back, when still taking damage. While you are taking damage, a red ring/frame pulses around the edge of the screen. When the bug happens, the ring stays constant and does not fade away after the cell change. Known ways to make it go away are to again take damage, or to restart the game application. Even starting a new game (without restarting the app) does not make it go away. This bug doesn't affect gameplay, and is purely cosmetic, but it is irritating.

Permanent prevention: in the Morrowind.ini file change: ShowHitFader=1 to ShowHitFader=0

This has the side effect of removing the red-ring "taking hits" effect for all damage (not just vampire sun damage), but you'll never get the effect stuck permanently on your screen. Or enable "Hit fader fix" in Morrowind Code Patch this has no side effects.

Forgotten Menu Sizes[edit]

Symptom: Morrowind doesn't retain resized menus occasionally.

A small but irritating UI glitch: MW sometimes "forgets" how you have resized the menus in menu mode.

Fixes: None, currently, other than redoing the sizing of the menu.

Heavy Graphics Lag when music turned all the way down[edit]

Symptom: When the music volume slider is turned all the way down, there may be heavy graphics lag and stuttering.

Fixes: Slightly increase the music volume slider, and all the lag should go away.

The Morrowind Sun Appears as a "Black Hole" in the Sky[edit]

Symptom: The sun in Morrowind looks like a black hole in the sky when using certain models of ATI cards.

Due to an unknown rendering error in certain models of ATI cards, the sun will not render properly during play, displaying a blackened sun that resembles a "black hole" in the sky. Some users like this effect, and it has even been emulated in mods that intentionally produce a black sun by changing the sun texture files.

Third-person Speed[edit]

Symptom: Your character swims and runs faster, but walks slower, when camera is in third-person view.[verification needed]

This has something to do with the animation.

Object-related Bugs[edit]

These bugs are related to the handling of items, maps, surfaces, and other game-world objects such as activators.

Scripted Doors Break CellChanged Function[edit]

Note: This bug is fixed by the Morrowind Code Patch.

Symptom: Players playing mods that use CellChanged scripts to detect player entry may miss quests that are triggered by these scripts, because its implementation is flawed.

Some mods use CellChanged in scripts running in a cell to detect the initial frame when a player has entered the cell. But if some other mod comes along and puts a script on the door the player uses to enter the cell, it appears that the CellChanged function in scripts in that cell will always fail, and they will never recognize that the player has entered. This has the potential to break some quests. [3]

This is a very subtle bug, and went unrecognized for a very long time. It's possible that many people encountered its effects, but just continued on anyway, perhaps by using the Console to advance broken quests. It's also possible that the actual population of users ever affected by this bug is small. But still, it's a case of the scripting engine doing something that most scripters do not foresee, and it has the potential for introducing difficult-to-detect, quest-breaking bugs.

Fix: Use clean mods, and ensure that the mods you are using do not conflict with one another.

Unreliable GetSoundPlaying[edit]

Analysis: affects mods using GetSoundPlaying to detect events, which may not always work as presumed on some systems.

Description: Many mods use GetSoundPlaying to detect if a certain type of event is happening, such as an NPC being hit by the PC which is indicated if Player->GetSoundPlaying, "Weapon Swish" is True. The problem is that GetSoundPlaying is not reliable on some computer systems. Enough users with the same version of Windows report running into bugs caused by this to suggest that it is not OS-related, but may be a driver or sound hardware issue. Two mods where people have noticed this problem: Vampire Embrace and Vampire Realism II. The former uses GetSoundPlaying to detect that an NPC has been hit by the player, in order to implement its "combat bite" feature; when GetSoundPlaying is unreliable, the NPC just falls down instead of the combat bite initiating. Vampire Realism II uses GetSoundPlaying to recognize that a vampire NPC has been struck by the player's stake to implement its vampire staking feature. When GetSoundPlaying is unreliable, the staking procedure fails, and the vampire is essentially invulnerable and immortal. Analysis of the comments at PES for these two vampire mods show that for some significant fraction of the users, the effects of an unreliable GetSoundPlaying are present, but it is unknown what the percentage of the user population is affected.[4]

Like the cellchanged bug, this is a very subtle bug, and went unrecognized for a very long time. But still, it's a case of the scripting engine doing something that most scripters do not foresee, and it has the potential for introducing difficult to detect bugs, especially if GetSoundPlaying gives no problems on the modder's system. It's arguable that GetSoundPlaying was never intended by BethSoft to be used for detecting events, but it is a modding technique that has become fairly well-used over the years, so if it could be made more reliable, then many older mods would benefit from it.

Bad Collision Detection[edit]

Symptom: Characters may jump or fall through ceilings, walls, and so forth.

Analysis: engine bug, annoying, affects gameplay, but not severely
Description: a player character with very high Acrobatics or strong Jump spell can frequently jump through ceilings, walls, etc. Also, NPCs or creatures dying sometimes fall partially or entirely through walls, floors, rocks, or other surfaces with which they should collide, and their bodies may be unlootable because you can't reach them. In such cases, sometimes using ToggleCollision (TCL) in the Console to get through the wall or floor to reach the dead body will work, but if the cell is floating in space instead of just above the water table, the body may have fallen away into the void). Gameplay is usually not severely affected, unless the dying NPC is carrying an important item. Sometimes, a jumping PC who dies in midair can continue falling through a floor and give a view of things not meant to be seen. In any case, the TCL workaround is there, unless the user doesn't know about it or for some reason can't or won't use the Console.

Fix, for unlootable corpses: Use the console and TCL to retrieve the items – though a more eloquent fix should probably be found. A less offsetting way to use the Console is to click on the deceased and Resurrect them – as long as you can see any part of their body then you can simply do this, kill them again in a better spot, and continue.

Multiple Messagebox CTD[edit]

Description: (from MSFD9) "Warning: The use of more than one messagebox in a frame can cause a CTD (crash to desktop). This includes the "Your journal has been updated" messagebox."

Cast from Inventory CTD[edit]

Description: (from MSFD9) "It was believed that Cast would only work on the PC. At least with Tribunal (not sure about earlier versions) you can use cast to cast a spell from an activator, or any other object, on an Actor. However, make sure the object you are casting the spell from is not in the inventory of another actor/object, as that will result in a CTD."

Poor Random Number Generator[edit]

Description: (from MSFD9) "Note: For any call to Random with a range over 100, the randomness of the return value gets very poor indeed... right up to Random, 255 where you only get 0 or 1 ... and any multiple of 256 also gets you a CTD. (Morrowind and Tribunal). In Bloodmoon, they seem to have fixed the randomness of the return value... you seem to get numbers that are more evenly distributed, even with a range above 100. But the CTD's at 256 and 512, etc, still happen (Info by Neko). It was furthermore discovered that sometimes the Random cap is set much higher than the number given. Setting any variable to a Random with the cap value of one of the following numbers produces some strange result, setting the higher cap actually to something around 1100: 65, 66, 68, 70, 71, 76, 77, 79, 82, 83, 84"

Deleting Object of Targeted Script CTD[edit]

Description: (from MSFD9) "If an object is deleted while a targeted script is running on it, the game will CTD. If the target is not necessary but is merely a consequence of the way the script was started, you can usually target the script on the player instead to avoid this: "player->StartScript ScriptName". Otherwise, the script must be stopped before deleting the object."

Deleting Object After Cell Change CTD[edit]

Description: (from MSFD9) "Deleting an object immediately after changing cell may sometimes cause CTD."

Some Players Reported Unusual Vampire Sun Damage CTD[edit]

This bug causes crashing to desktop while quitting from game (from Main Menu > Exit), while you are a vampire (just need to have "vampire sun damage" effect on self).[5] Probably caused by referencing to a player-> that has already been dispatched. Thus a pointer to player is no longer valid. The script should terminate upon exiting to fix the issue.

Animated Container CTD[edit]

The game usually crashes when you open a container (no scripts) with animation. Sometimes error message "time 2 in group 1 is QNAN" appears before crash. Someone has found a way to workaround this problem: Place a script on the container so that another item, that has the same animated mesh, is placed in-game before the command activate is given. This crash is fixed by Morrowind Code Patch.

References[edit]