Repairing the Cogs of Morrowind #24

Post » Tue May 17, 2011 2:37 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.

Compatible with English, West European, Polish, Russian and Steam editions. Compatible with MGE, MWSE, MWE, and FPS Opt 1.96. Not compatible with FPS Opt 2.0. Also, improved Russian version compatibility (supports GFM dll).

Version 1.9 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 in 1.9:

- Magicka display accuracy. Causes the magicka display (and all stats displays of the form "current/max") to round down, so that it does not falsely indicate you have more magicka than you do. Also affects the 'charges remaining' display for items in the magic menu.
- Hi-def cutscene support. Allows mods to include cutscenes up to 2048x1024 (the default maximum was 640x480).
- Potion name fix. Stops Morrowind from randomly claiming you should enter a name for a potion, when a name is present.
- Spellmaker/enchant edit effect fix. When editing an existing spell effect, the effect range [Touch/Ranged/Self] is no longer reset.
- Allow scroll enchant price modifier. Allows enchanting services NPCs to charge a different price for cast once items, like scrolls.
- Save file limit warning. Warns you when you go to save and have a large number of save files (over 200) in the directory.
- Allow multiple fortify potions. Allows potions to have multiple fortify/drain attribute effects, where it would previously allow only one of the attributes fortified/drained in a set of ingredients to appear in the potion.
- On-use ring smart equip. Allows rings with an on-use enchant to be equipped along with two constant effect rings.
- Enchanted item rebalance. Reduces the effect that enchant skill has on item charge use. Enchanted on-use items now have a 4 second cooldown.
- Hidden traps. Turns off the display of trap status on object tooltips, so that there is no obvious warning of trapped objects.
- Japanese localization. Integrated patch by TObject. Allows Japanese language fonts in dialogue.



See the previous threads to see how this came about:
Repairing those Cogs http://www.gamesas.com/index.php?/topic/1156182-repairing-the-cogs-of-morrowind-23/ http://www.gamesas.com/index.php?/topic/1147393-repairing-the-cogs-of-morrowind-22/ http://www.gamesas.com/index.php?/topic/1114812-repairing-the-cogs-of-morrowind-21/ http://www.gamesas.com/index.php?/topic/1098021-repairing-the-cogs-of-morrowind-no-20/ http://www.gamesas.com/index.php?/topic/1095128-repairing-the-cogs-of-morrowind-no-19/ http://www.gamesas.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/ http://www.gamesas.com/index.php?/topic/1084044-repairing-the-cogs-of-morrowind-no-17/ 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

Now that MCP improves aspects of the graphics and animation handling, you can discuss how to make mods with these new features http://www.gamesas.com/index.php?/topic/1097585-new-graphical-modding-wth-mcp/.



MCP 2.0 beta is in the works.

  • Swift casting. It's like the casting in TES IV: Patrick Stewart Is Dead, though your weapon swings rather close to your neck when you cast while holding it. Someone should really fix the weapon bone on that animation. NPCs can cast while holding weapons, and are a bit faster on the draw. Quick slots no longer cause a stance change. Ready spell stance is still available with the M key. Wiggly arm not included.
  • Blight storm disease disable. Avoids invisible inactive blight diseases being added in blight storms.
  • Russian Argonian swim animation. Argonian specific swim animation wasn't playing due to the translated race name.
  • Alchemy weight rewrite. Fixes exploitable potion weight calculations. Prevents potion weight approaching zero if you make several kinds of potion in one go, and stops useless ingredients making potions lighter. Potion weight is now (0.75*total ingredients weight + 0.6) / (1 + alembic quality). Merged with potion name fix at the moment.
  • Movement speed fix - Normalizes race speed. Orcs were up to 35% faster and bosmer up to 5% slower than baseline before any stats were taken into account due to body scaling.
  • Trainer price/stat fix - Trainers no longer refuse to train you if your fortified skill points is above theirs, but not your base skill. They also no longer train 1 point past their level. Relatedly the progress bar when you mouseover a skill does not go away if your fortified skill is above 100, but not your base skill.
  • Game formula corrections - GMST formula that controls fatigue generated by spellcasting is fixed (see description). PC/NPC weapon damage can now be controlled by the fDamageStrengthBase/Mult GMSTs.
  • Creature armor rating - Creatures now gain AR and therefore damage reduction from shield spells. The GMST damage reduction cap is ignored in this case.
  • Disable put away animation controller unequip weaponready script fixchange - Removes put away weapon state on all unequips and on switches to hand to hand. This will need a lot of testing to see if anything breaks. Check what happens when weapons break, etc.
  • Pickpocket rewrite - Pickpocket mechanic was broken by default, rewrite in progress.
  • Slowfall, the companion killer - Stops companions with slowfall dying on cell transition.
  • Drain intelligence exploit - It's gone, no more free magicka.
  • Last rank display fix - doesn't display next rank for factions with less than 10 ranks that you are a max rank with.
  • Birthsign mouseover fix - corrects spell text ordering so spells and powers come under the correct headings.
  • UI display quality fix. Removes texel misalignment blur. Makes all text and icons as sharp as the source textures. Serious interface clarity improvement.
  • Detect water level fix. GetWaterLevel returns around -1e9 for cells with no water.
  • Service refusal filtering. Allows modders to filter service refusal by individual service type. The choice function indicates service type (see MCP description).
  • Journal text colouring. Text that rendered as full black can have the colour changed by the color_journal_topic entry in morrowind.ini.
  • Polish character corrections. Corrects dialogue font ó and ? (they normally display as O and é) when used with Better Dialogue Font Polish version.
  • Detect life spell. Changes the Detect Animal spell effect to detect both NPCs and creatures, instead of just creatures.

User avatar
Rebecca Dosch
 
Posts: 3453
Joined: Thu Jan 18, 2007 6:39 pm

Post » Tue May 17, 2011 12:15 am

http://www.tesnexus.com/downloads/file.php?id=26348

  • UI display quality fix. Removes texel misalignment blur. Makes all text and icons as sharp as the source textures. Serious interface clarity improvement.
  • Detect water level fix. GetWaterLevel returns around -1e9 for cells with no water.
  • Service refusal filtering. Allows modders to filter service refusal by individual service type. The choice function indicates service type (see MCP description).
  • Swift cast. Ready casting hands key moved to 'M'.
  • Loud interface sounds fix. Stopped it from silencing armor hit sounds. Probably still has bugs, since the exact explanation still isn't clear. This may be canned if it causes too many side effects.


Didn't get to fix binds on the loot window, the quantity menu will screw up any keybinds if it's opened.

Figured out what Clip One To One Float in morrowind.ini does. Turns out it's a horrible hack to correct for the half-texel offset in Direct3D which caused blurring. It still blurred things up to that half pixel depending on the location of the UI on screen and resolution, instead of applying the proper correction. UI display quality patch is meant to fix this.
User avatar
Alexander Lee
 
Posts: 3481
Joined: Sun Nov 04, 2007 9:30 pm

Post » Tue May 17, 2011 12:19 am

Thanks for your continued work on the MCP.
:thumbsup:
User avatar
Rowena
 
Posts: 3471
Joined: Sun Nov 05, 2006 11:40 am

Post » Tue May 17, 2011 3:51 am

Thanks for your continued work on the MCP.
:thumbsup:

Seconded that. :D
User avatar
Ridhwan Hemsome
 
Posts: 3501
Joined: Sun May 06, 2007 2:13 pm

Post » Tue May 17, 2011 8:16 am

http://www.tesnexus.com/downloads/file.php?id=26348

  • Detect water level fix. GetWaterLevel returns around -1e9 for cells with no water.


Figured out what Clip One To One Float in morrowind.ini does. Turns out it's a horrible hack to correct for the half-texel offset in Direct3D which caused blurring. It still blurred things up to that half pixel depending on the location of the UI on screen and resolution, instead of applying the proper correction. UI display quality patch is meant to fix this.


Just to clarify, the WaterLevelFix mod from NoM author is no longer necessary? Also, how should the setting in morrowind.ini be, enabled or not?
User avatar
Javaun Thompson
 
Posts: 3397
Joined: Fri Sep 21, 2007 10:28 am

Post » Tue May 17, 2011 2:37 am

Just to clarify, the WaterLevelFix mod from NoM author is no longer necessary? Also, how should the setting in morrowind.ini be, enabled or not?

It is intended to make that water level fix unnecessary, though it's beta and needs testing first. You don't need to change any ini settings, the UI display quality option replaces all of that code.
User avatar
Nicole Mark
 
Posts: 3384
Joined: Wed Apr 25, 2007 7:33 pm

Post » Tue May 17, 2011 12:59 am

Hrnchamd, that interface fix sounds really good, I'm looking forward to trying it out.

Along those lines, I was wondering if it would be possible to let the journal bookmark texture be bigger than 256*256?
At the moment, bigger textures don't scale down properly, which is annoying. :P

Edit:

  • UI display quality fix. Removes texel misalignment blur. Makes all text and icons as sharp as the source textures. Serious interface clarity improvement.


This is godly. Combined with your new font, it really makes Morrowind look way more modern.
Moreso than any amount of texture and model replacers could.
The interface used to look horribly aged. Now it looks gorgeous.
User avatar
stephanie eastwood
 
Posts: 3526
Joined: Thu Jun 08, 2006 1:25 pm

Post » Tue May 17, 2011 9:05 am

What the...? You sure are quick with updating/recompiling the code. :celebration:
User avatar
elliot mudd
 
Posts: 3426
Joined: Wed May 09, 2007 8:56 am

Post » Tue May 17, 2011 7:38 am

I've get constantly amazed by those frequent updates Hrnchamd ! Good job ! :bowdown:
User avatar
Solène We
 
Posts: 3470
Joined: Tue Mar 27, 2007 7:04 am

Post » Tue May 17, 2011 2:23 am

Thanks for the update!
[*]UI display quality fix. Removes texel misalignment blur. Makes all text and icons as sharp as the source textures. Serious interface clarity improvement.
confirmed, text expecially is crisp. Not sure if it is related with this, there may be a small problem with very thin lines, I noticed resizing window cursor has the line connecting the opposite arrows semi-transparent now.
[*]Detect water level fix. GetWaterLevel returns around -1e9 for cells with no water.
Confirmed, GetWaterLevel returns -10000000.00 in game console so I suggest using this in scripting code with something like
	if ( GetWaterLevel < -5000000 )		return	endif
[*]Swift cast. Ready casting hands key moved to 'M'.
confirmed, working, nice!
User avatar
Miragel Ginza
 
Posts: 3502
Joined: Thu Dec 21, 2006 6:19 am

Post » Tue May 17, 2011 7:23 am

Alchemy name bug fix/weight rewrite. Fixes potion weight from reducing if you make several kinds of potion in one go, and also useless ingredients making potions lighter. Potion weight is now (0.75*total ingredients weight + 0.6) / (1 + alembic quality). Merged with potion name fix at the moment.

Would you consider splitting these two alchemy-related tweaks into two separate checkboxes? IMHO, one is a fix, and one is user preference (or, at the least, judicious user manipulation of the engine).
User avatar
Michelle davies
 
Posts: 3509
Joined: Wed Sep 27, 2006 3:59 am

Post » Tue May 17, 2011 11:43 am

Not sure if it's been reported, but since the UI fix, I've been getting the SSAO shader apply what goes for the background, on top of the UI.
User avatar
gary lee
 
Posts: 3436
Joined: Tue Jul 03, 2007 7:49 pm

Post » Tue May 17, 2011 12:44 pm

Not sure if it's been reported, but since the UI fix, I've been getting the SSAO shader apply what goes for the background, on top of the UI.
Uh-oh, same for me, a shaders off/on http://www.mediafire.com/imgbnc.php/1bdcca7f0f6385cfa60523588c794ee259364e4e9da9a0ca09eb29ced74a84586g.jpg to hopefully help
User avatar
Austin England
 
Posts: 3528
Joined: Thu Oct 11, 2007 7:16 pm

Post » Mon May 16, 2011 11:33 pm

Bump maps don't work for me, am I the only one?

I see strange white blobs on a lot of trees and rocks, but never bumps:

http://img40.imageshack.us/i/mgescreenshot1l.png/

I'm using MCP 1.9 with Local Bump/Reflect Map turned on, on ATI HD5770 1GB card.
I also use the latest Catalyst 11.1 and have tried with MGE disabled, to no avail.
User avatar
Judy Lynch
 
Posts: 3504
Joined: Fri Oct 20, 2006 8:31 am

Post » Tue May 17, 2011 2:51 am

Bump maps don't work for me, am I the only one?

I see strange white blobs on a lot of trees and rocks, but never bumps:

http://img40.imageshack.us/i/mgescreenshot1l.png/

I'm using MCP 1.9 with Local Bump/Reflect Map turned on, on ATI HD5770 1GB card.
I also use the latest Catalyst 11.1 and have tried with MGE disabled, to no avail.


What do the map textures look like? Could just be the way the maps look.
User avatar
Gemma Archer
 
Posts: 3492
Joined: Sun Jul 16, 2006 12:02 am

Post » Tue May 17, 2011 11:44 am

The problem happens with Vurt's Ascadian Isles Mod (2.4a is the version I used) and On the Rocks! - if there are any other mods using bumpmaps let me know and I can try them out.

I just tried a brand new Morrwind installation with Vurt's Ascadian Isles mod (it contains Meshes & Textures folders only) and MCP 1.9 with Local/Bump Reflect Map on, and no other mods or changes.

Result: near Shulk's Egg Mine, I see bright blotches on the multiply-capped mushroom trees. The blotches change appearance strangely when I move around.

Edit: here is a better screenshot http://img833.imageshack.us/i/vurtsaiwithmcp19.png/
User avatar
He got the
 
Posts: 3399
Joined: Sat Nov 17, 2007 12:19 pm

Post » Tue May 17, 2011 6:54 am

The problem happens with Vurt's Ascadian Isles Mod (2.4a is the version I used) and On the Rocks! - if there are any other mods using bumpmaps let me know and I can try them out.

I just tried a brand new Morrwind installation with Vurt's Ascadian Isles mod (it contains Meshes & Textures folders only) and MCP 1.9 with Local/Bump Reflect Map on, and no other mods or changes.

Result: near Shulk's Egg Mine, I see bright blotches on the multiply-capped mushroom trees. The blotches change appearance strangely when I move around.


Actually I got the bright blotches too, I havent taken the time to look at it in depth though. I do know that he recently came out with an update to the mod though to reduce the shininess effect, I have yet to test it. I dont know how much you know about what the maps do, but changing appearance sounds like what a bump or reflection map should do since the lighting gets changed according to your position. In any case, I had assumed that he simply applied highlighting rather liberally.
User avatar
Rob Davidson
 
Posts: 3422
Joined: Thu Aug 02, 2007 2:52 am

Post » Tue May 17, 2011 10:46 am

Wow, you weren't kidding when you said "UI display quality fix. Removes texel misalignment blur. Makes all text and icons as sharp as the source textures. Serious interface clarity improvement." The improvement to the menu is amazing.
User avatar
victoria johnstone
 
Posts: 3424
Joined: Sat Oct 14, 2006 9:56 am

Post » Tue May 17, 2011 4:03 am

Would you consider splitting these two alchemy-related tweaks into two separate checkboxes? IMHO, one is a fix, and one is user preference (or, at the least, judicious user manipulation of the engine).

From what I understand, he can't because it patches the same section of code.
User avatar
Adriana Lenzo
 
Posts: 3446
Joined: Tue Apr 03, 2007 1:32 am

Post » Tue May 17, 2011 9:09 am

Would you consider splitting these two alchemy-related tweaks into two separate checkboxes? IMHO, one is a fix, and one is user preference (or, at the least, judicious user manipulation of the engine).

The current alchemy weight calculation has two exploitable situations to make very light potions, see the previous thread, and makes much lighter potions than premade potions in general. The code to track the number of ingredients through the UI is very broken, and it's not customizable by mods, so I believe a replacement would be the best option. No-one likes people changing their stuff up, I hope I can convince people with a good explanation in the program. It's really the first impression that matters so if anyone has a good way to put it please post.


Not sure if it's been reported, but since the UI fix, I've been getting the SSAO shader apply what goes for the background, on top of the UI.

Uh-oh, same for me, a shaders off/on http://www.mediafire.com/imgbnc.php/1bdcca7f0f6385cfa60523588c794ee259364e4e9da9a0ca09eb29ced74a84586g.jpg to hopefully help

Yeah uh what version of MGE are you using etc.


Bump maps don't work for me, am I the only one?

I don't know, could be any problem. Test another few mods with bump maps and report if they work.
User avatar
Sanctum
 
Posts: 3524
Joined: Sun Aug 20, 2006 8:29 am

Post » Tue May 17, 2011 6:48 am

I'm using Phal's last beta for sky atmospheric scattering.
User avatar
Becky Palmer
 
Posts: 3387
Joined: Wed Oct 04, 2006 4:43 am

Post » Tue May 17, 2011 2:43 am

Yeah uh what version of MGE are you using etc.

I'm using Phal's latest (v3.8.2-SVN_rev-186 scatter+cloud v5)
knx_SSAO_v09
Spoiler
int mgeflags = 2;// Screen Space Ambient Occlusion// by Knu / changes by phal// **// ** ADJUSTABLE VARIABLES#define SM ps_3_0 // Shader model: ps_3_0, ps_2_b, ps_2_a#define N 16 // Samples: 48, 32, 16, 10, 6. More means precision and performance hit. ps_2_x supports 16 without rotation / 10 with.#define BLUR // Enable AO blur.//#define ROTATE // Enable random rotation. Generally more precise, but might give noise or other artifacts.//#define DEBUG // Enable debug mode: AO term only.static float R = 15.0; // Max ray radius, world units//abot static float multiplier = 2.3; // Overall strength. 1.0 is the correct physical valuestatic float multiplier = 2.1; // Overall strength. 1.0 is the correct physical valuestatic float occlusion_falloff = 15.0; // More means less precision, and more strengthstatic float blur_falloff = 5.0; // Same for blurstatic float blur_radius = 4.0; // In pixelsstatic float fov = 75.0; // Field of View. Change only if you use non-standard FOV// ** END OF// **static float depth_scale = 10000;static float t =  2.0 * tan(radians(fov * 0.5));static float eps = 0.000001;static float sky = 1000000;float2 rcpres;static const float ty = t / rcpres.y * rcpres.x;float3 eyepos;float3 eyevec;float fogstart;float fogrange;float3 fogcol;float waterlevel;texture lastshader;texture lastpass;texture depthframe;sampler s0 = sampler_state {texture=; AddressU=Clamp; AddressV=Clamp;};sampler s1 = sampler_state {texture=; AddressU=Clamp; AddressV=Clamp; MagFilter=Linear; MinFilter=Linear;};sampler s4 = sampler_state {texture=; AddressU=Mirror; AddressV=Mirror;};sampler s2 = sampler_state {texture=; AddressU=Clamp; AddressV=Clamp;};#ifdef ROTATEstring texname1="noise8q.tga";texture tex1;sampler s3 = sampler_state {texture=; AddressU=Wrap; AddressV=Wrap;};#endifstatic float3 dirs[N] ={#if N >= 48    float3(0.04556, 0.09479, -0.28152),    float3(0.08758, -0.17459, 0.14837),    float3(0.57190, 0.49847, -0.64101),    float3(0.03734, 0.08883, 0.02760),    float3(0.09542, 0.00860, -0.06100),    float3(-0.09026, 0.10302, -0.19118),    float3(0.54615, -0.08996, 0.65708),    float3(0.10383, -0.02091, -0.00712),    float3(-0.18331, -0.10469, -0.10359),    float3(0.74090, 0.54747, 0.29408),    float3(-0.00270, 0.00443, 0.00937),    float3(0.57718, -0.34843, -0.46236),    float3(-0.05405, -0.22931, -0.17499),    float3(-0.30069, -0.47800, -0.09799),    float3(-0.00606, -0.21609, -0.03372),    float3(-0.87538, 0.02272, -0.20764),#endif#if N >= 32    float3(-0.48710, 0.29981, -0.25607),    float3(0.03163, 0.02985, 0.15875),    float3(-0.18035, -0.06732, 0.58081),    float3(0.17450, -0.02599, -0.33065),    float3(0.06349, -0.03883, 0.03387),    float3(0.10394, 0.69917, -0.16286),    float3(0.04695, 0.36486, -0.33281),    float3(0.31748, -0.27097, -0.03810),    float3(-0.07172, 0.09571, -0.00005),    float3(-0.06029, 0.38936, 0.07889),    float3(0.13681, -0.30447, 0.04381),    float3(-0.09649, -0.92119, 0.34473),    float3(-0.56596, -0.03144, 0.18844),    float3(-0.10715, 0.25182, -0.13061),    float3(0.59962, 0.21747, -0.07792),    float3(-0.03793, -0.03653, -0.06986),#endif#if N >= 16    float3(-0.00941, -0.00326, -0.05597),    float3(0.11686, 0.00831, 0.04915),    float3(-0.08125, -0.24638, 0.30141),    float3(0.35193, 0.29639, 0.47544),    float3(0.32063, -0.70203, -0.40622),    float3(-0.37344, -0.18112, 0.37140),#endif#if N >= 10    float3(-0.73605, -0.39320, 0.04992),    float3(0.02274, 0.21583, 0.19429),    float3(0.00762, -0.01247, 0.03311),    float3(-0.61057, 0.20510, 0.58876),#endif    float3(0.55319, 0.67960, -0.19194),    float3(-0.43533, 0.62404, 0.45133),    float3(-0.02386, -0.03104, 0.01502),    float3(-0.20990, 0.10082, 0.03849),    float3(0.06331, -0.17620, -0.31359),    float3(-0.12261, 0.00720, -0.12465)};#define M 12static float2 taps[M] = {    float2(-0.326212,-0.40581), float2(-0.840144,-0.07358),    float2(-0.695914,0.457137), float2(-0.203345,0.620716),    float2(0.96234,-0.194983), float2(0.473434,-0.480026),    float2(0.519456,0.767022), float2(0.185461,-0.893124),    float2(0.507431,0.064425), float2(0.89642,0.412458),    float2(-0.32194,-0.932615), float2(-0.791559,-0.59771)};float3 toView(float2 tex){    float depth = tex2D(s2, tex).r;    float x = (tex.x - 0.5) * depth * t;    float y = (tex.y - 0.5) * depth * ty;    return float3(x, y, depth);}float2 fromView(float3 view){    float x = (view.x / t / view.z) + 0.5;    float y = (view.y / ty / view.z) + 0.5;    return float2(x, y);}inline float2 pack2(float f){    return float2(f, frac(f * 255.0 - 0.5));}inline float unpack2(float2 f){    return f.x + ((f.y - 0.5) / 255.0);}float4 white(in float2 tex : TEXCOORD0) : COLOR0{    return float4(0, 0, 0, 1);}static const float xylength = sqrt(1 - eyevec.z * eyevec.z);float4 ssao(in float2 tex : TEXCOORD0) : COLOR0{    float3 pos = toView(tex);    float water = pos.z * eyevec.z - pos.y * xylength + eyepos.z;    clip(float3(pos.z - eps, sky - pos.z, (water - waterlevel) * (eyepos.z - waterlevel)));    float3 left = pos - toView(tex + rcpres * float2(-1, 0));    float3 right = toView(tex + rcpres * float2(1, 0)) - pos;    float3 up = pos - toView(tex + rcpres * float2(0, -1));    float3 down = toView(tex + rcpres * float2(0, 1)) - pos;    float3 dx = length(left) < length(right) ? left : right;    float3 dy = length(up) < length(down) ? up : down;    float3 normal = normalize(cross(dy, dx));    dx = normalize(dx);    dy = normalize(cross(dx, normal));#ifdef ROTATE    float3 rnd = normalize(tex2D(s3, tex / rcpres / 8).xyz * 2 - float3(1, 1, 1));#endif    float AO = 0, amount = 0;    for (int j = 0; j < N; j++)    {        float3 ray, occ;#ifdef ROTATE        ray = reflect(dirs[j] * R, rnd);#else        ray = dirs[j] * R;#endif        ray *= sign(ray.z);        //dy = cross(dx, normal);        //ray = normalize(dx) * ray.x + normalize(dy) * ray.y + normal * ray.z;        ray = dx * ray.x + dy * ray.y + normal * ray.z;        float weight = dot(normalize(ray), normal);        occ = toView(fromView(pos + ray)) - pos;        float diff = ray.z - occ.z;        amount += weight;        AO += weight * step(0, diff) * exp2(-diff / occlusion_falloff);    }    return float4(AO / amount, pack2(pos.z / depth_scale), 1);}float4 smartblur(in float2 tex : TEXCOORD0) : COLOR{    float4 data = http://forums.bethsoft.com/index.php?/topic/1163185-repairing-the-cogs-of-morrowind-24/tex2D(s4, tex);    float total = data.r;    float depth = unpack2(data.gb);    float rev = data.a * 2.0 - 1.0;    float amount = 1;    for (int i = 0; i < M; i++)    {        float2 s_tex = tex + rcpres * taps[i] * blur_radius * rev;        float3 s_data = tex2D(s4, s_tex);        float s_depth = unpack2(s_data.gb);        float weight = exp2(-abs(depth - s_depth) * depth_scale / blur_falloff);        amount += weight;        total += s_data.r * weight;    }    return float4(total / amount, data.gb, 1.0 - data.a);}float4 show(float2 tex : TEXCOORD0) : COLOR{    float4 result = (1.0 - multiplier * tex2D(s1, tex).r);    result.a = 1;    return result;}//phalconst static float2 halfpix=rcpres*0.5;float4 combine(float2 tex : TEXCOORD0) : COLOR{    float dist = tex2D(s2, tex).r;    float fog = exp(-2*dist/fogrange);    float final = saturate(multiplier * tex2D(s1, tex).r) * fog;    float4 result = tex2D(s0, tex);    result.rgb *= (1.0 - final);    return result;}technique T0{    pass { PixelShader = compile SM white(); }    pass { PixelShader = compile SM ssao(); }#ifdef BLUR    pass { PixelShader = compile SM smartblur(); }  #ifdef ROTATE //needs 2 passes    pass { PixelShader = compile SM smartblur(); }  #endif#endif#ifdef DEBUG    pass { PixelShader = compile SM show(); }#else    pass { PixelShader = compile SM combine(); }#endif}


The problem with SSAO is noticeable under mouse pointer floating over a zone affected by SSAO, even with MCP UI fix off, but this is very minor.

What is really noticeable is that the problem happens with any opened menu window border if MCP UI fix is ON

Another curious thing with MCP UI fix enabled: it seems MGE messages appear only when activating a loading door

Hope this can be of use
User avatar
Chantel Hopkin
 
Posts: 3533
Joined: Sun Dec 03, 2006 9:41 am

Post » Tue May 17, 2011 10:59 am

It's a problem with the MGE code that detects HUD drawing. It doesn't like the texel alignment offset. I replaced that code in MGE XE because it looked badly written, so I didn't notice anything in testing. Looks like mainline MGE releases will have to get a bug fix update or something. Damnit, compatibility problems everywhere.
User avatar
Tha King o Geekz
 
Posts: 3556
Joined: Mon May 07, 2007 9:14 pm

Post » Tue May 17, 2011 3:58 am

Well,being not able to use the UI fix for now is not big/urgent problem for me, your revised font does a great job already making text more crisp, :foodndrink:
User avatar
Ashley Tamen
 
Posts: 3477
Joined: Sun Apr 08, 2007 6:17 am

Post » Tue May 17, 2011 12:25 pm

So how does one enable bump maps with MCP?
Is it simply a matter of installing MCP? Does that actually change the EXE?
Or do you have to apply the "Local Reflect/Bump" option?

Also, has anyone actually seen bump maps inside Morrowind?

I've tried Vurt's Ascadian Isles mod and I simply see white blotches. This is true on 2 ATI cards I've tried and also true for 1 NVIDIA card that someone else reported. It might just be a bug in the mod though, that everyone sees.

The only other mod I know of that purports to use bump maps is On the Rocks!, but it results in a subtle saran wrap effect. Is that what bump mapping is supposed to look like?
User avatar
Rhysa Hughes
 
Posts: 3438
Joined: Thu Nov 23, 2006 3:00 pm

Next

Return to III - Morrowind