[WIP] Mystical Underwater Effects

Post » Fri May 27, 2011 8:44 am

Is the aqua effect supposed to create 'waves' while underwater? Because i'm trying the beta in the lake by Pelagiad and i'm getting the blur, but no aqua effect that I can see... I tried several new games and changed the configurations ingame too and never got the effect...

Do you have "Update Shader Variables" on?

I'll see what I can do for instructions (easy) and randomization (not so easy).
It uses MGE's variables, so it's possible to lessen their effect. It would lessen the entire effect, though. It's actually a repeating sequence (if you look), so I'm not sure how much smoother it can be made. What exactly do you mean by smooth, less jagged ripples or slower change?

I always thought it was random for some reason. But yeah, watching it closer I see it's not. :lol:

Linora, maybe now you may have a look at regional fog color changes mod we've talked about after the official RELz of this.

Perhaps maybe... of course I "may" make another mod next too. ;)
User avatar
Felix Walde
 
Posts: 3333
Joined: Sat Jun 02, 2007 4:50 pm

Post » Fri May 27, 2011 9:14 am

Great release thanks so much!
User avatar
Amy Melissa
 
Posts: 3390
Joined: Fri Jun 23, 2006 2:35 pm

Post » Fri May 27, 2011 2:28 pm

And Peachykeen, you may make a SSAO(not ish) shader. smile.gif

Hm? Has someone made depth buffer access easy that I missed?



Also, until I send Linora info for the readme, anyone wanting to know how the shader works can read the header (open the file in Notepad or any text editor, there are explanations in it).
User avatar
JUDY FIGHTS
 
Posts: 3420
Joined: Fri Jun 23, 2006 4:25 am

Post » Fri May 27, 2011 12:01 pm

Hm? Has someone made depth buffer access easy that I missed?



Also, until I send Linora info for the readme, anyone wanting to know how the shader works can read the header (open the file in Notepad or any text editor, there are explanations in it).

Enbseries obviously has a way to access depth buffer. And it isn't even build for this game. How can that access depth buffer blindly and we can't?
User avatar
Stephanie Nieves
 
Posts: 3407
Joined: Mon Apr 02, 2007 10:52 pm

Post » Fri May 27, 2011 1:56 pm

From my tests this is beginning to work very well with no problems on my system at least, so the next beta, should be the last one. I am also considering waiting til the stable version of MGE supports some of the MWSE functions this uses, to 'officially' take it out of a beta-stance.

A few things to note that will be in the next, basically-final, version:
  • Based on the idea of separate darkness levels for each weather type as Tetchy suggested, I've made it so that some weathers have a value based on the primary stormy weather value. Less complicated IMHO.
  • Another level of darkness in-between the day-to-evening-to-night darkness levels. ( Makes it a bit more gradual. ) There's no way to "truely" make it gradual that I know of that wouldn't overcomplicate the scripts beyond the point of usability. Well now that I think about it there may be one way... hmm I'll have to look into that.
  • A wonderfully fantastical readme.
  • A few other small changes, fixes, and additions.
I still got the bloom issue I talked about last time, and I'm not using any bloom shaders. It's as you surface or hover around the surface. Also if I 'tm' the menus away and go underwater, everything is totally bloomed out.

Hmm, well it seems tetchy knows what's causing the 'tm' problems, but as for the other one I really have no clue. Since it doesn't seem to happen to me. Maybe it's your graphics card being funky with 1.4 pixel shaders? Perhaps try copying and renaming the "DX9 ASM SlowBlur" as mublur.fx to the directory shaders\linora. Then make sure you use the medium blur effect. Tell me what happens. ;)

Oh and Vality, did you have a chance to try this yet? Did the same thing happen with the bloom issue?
User avatar
Rachael Williams
 
Posts: 3373
Joined: Tue Aug 01, 2006 6:43 pm

Post » Fri May 27, 2011 11:45 pm

From my tests this is beginning to work very well with no problems on my system at least, so the next beta, should be the last one. I am also considering waiting til the stable version of MGE supports some of the MWSE functions this uses, to 'officially' take it out of a beta-stance.

Which MWSE functions do you mean?
User avatar
Aman Bhattal
 
Posts: 3424
Joined: Sun Dec 17, 2006 12:01 am

Post » Fri May 27, 2011 11:53 pm

@Linora: you're using spells for the fade to black? Why not use a shader...?

Enbseries obviously has a way to access depth buffer. And it isn't even build for this game. How can that access depth buffer blindly and we can't?

ENB Series re-renders it's own depth buffer, that's why it's so freaking slow. It doesn't access Morrowind's. However, that should be set. MGE can access it sometimes.....
User avatar
Taylrea Teodor
 
Posts: 3378
Joined: Sat Nov 18, 2006 12:20 am

Post » Fri May 27, 2011 10:53 pm

Which MWSE functions do you mean?

The xAddSpell and xRemoveSpell functions, from what I understand don't work correctly in the 3.7 MGE. Unless I'm wrong about this.

@Linora: you're using spells for the fade to black? Why not use a shader...?

Well... honestly I have no idea how to do that in a way that doesn't just fade the screen to black.
I would need something that fades all the colors to black at levels based on a float variable I can set in my script.
Of course, if you wanted to make a shader capable of something like this I could use that... ;)
User avatar
Mari martnez Martinez
 
Posts: 3500
Joined: Sat Aug 11, 2007 9:39 am

Post » Fri May 27, 2011 10:31 am

ENB Series re-renders it's own depth buffer, that's why it's so freaking slow. It doesn't access Morrowind's. However, that should be set. MGE can access it sometimes.....

Thanks for the answer. At the bright side, that means enbseries could work faster.

@Vality and Linora
http://i51.photobucket.com/albums/f386/vtastek/morrowind/morrowindbug/MGE-Screenshot-12.jpg
I am having this while cell loadings. It takes one paused moment of white flash. Could be related to Vality's problem or something else. I will investigate.
User avatar
Josh Dagreat
 
Posts: 3438
Joined: Fri Oct 19, 2007 3:07 am

Post » Fri May 27, 2011 10:15 am

Oh and Vality, did you have a chance to try this yet? Did the same thing happen with the bloom issue?

I didn't have Update Shader Variables ticked, I think that must have been what was causing the bloom problem. Now it seems to work great and I can see the aqua effect too, looks great.

Btw, speaking of ENBSeries and depth buffers, a while back this guy gave us some of the ENBSeries shader code for DoF and Bloom I think. If anyone's interested in trying to get them running with MGE I could see if I can find them. Though Boris (the guy who made ENB) didn't give us the occlusion code, because he said there was better code freely available on the net, I wouldn't know where to look though.
User avatar
Jessie Rae Brouillette
 
Posts: 3469
Joined: Mon Dec 11, 2006 9:50 am

Post » Fri May 27, 2011 10:21 am

The xAddSpell and xRemoveSpell functions, from what I understand don't work correctly in the 3.7 MGE. Unless I'm wrong about this.

They didn't work since they were added in 3.5.7 until beta 3.8.0-rev.102 (they had been using opcodes that were changed in development of MWSE somewhere between 0.9.3/0.9.4). They work in latest betas, but I don't know when they'll be official.
User avatar
Stephanie Kemp
 
Posts: 3329
Joined: Sun Jun 25, 2006 12:39 am

Post » Fri May 27, 2011 1:16 pm

They didn't work since they were added in 3.5.7 until beta 3.8.0-rev.102 (they had been using opcodes that were changed in development of MWSE somewhere between 0.9.3/0.9.4). They work in latest betas, but I don't know when they'll be official.

I see, so I was right then. However, if I end up getting the darkness effect drawn through an MGE shader rather than through those spell functions, this won't be an issue anymore. Thanks for the info.

@Vality and Linora
http://i51.photobucket.com/albums/f386/vtastek/morrowind/morrowindbug/MGE-Screenshot-12.jpg
I am having this while cell loadings. It takes one paused moment of white flash. Could be related to Vality's problem or something else. I will investigate.

Have you tried it without my mod enabled? Does it still do it? It's hard for me to see how it could be caused by my mod unless this happens only beneath the water. Tell me what you come up with though.
Also, make sure "Update Shader Variables" is checked.
User avatar
Marcin Tomkow
 
Posts: 3399
Joined: Sun Aug 05, 2007 12:31 pm

Post » Fri May 27, 2011 5:44 pm

I've made a new version that finally (and I think properly) makes use of my Evening/Early Morning lesser darkness effects.
-clip-

Testing results for latest lin_we_beta (posted Apr 15 2009):

Customization Menu:
* 'Customize Blur Level' >> Blur Settings messagebox text missing '?' at end of line (previously reported).

* 'Customize Blur Level' >> 'Current Setting:' button doesn't read 'Off' when returning to Blur Settings after selecting 'Off' button and Blur Level value was something other than 'Off' before running configuration menu; LIN_BlurType is getting set to 0, the menu text just isn't getting updated without exiting configuration menu (previously reported; reworded for clarity).

* 'Customize Water Darkness' >> 'Night Darkness' >> 'Night Darkness Settings' messagebox format changed from vertical layout to horizontal; should be the same as 'Weather Darkness Settings' messagebox for consistency.

* 'Customize Water Darkness' >> 'Night Darkness' >> would look better with just 'Night Darkness Settings';
omit ": What do you wish to do?" to constrain the messagebox width.

* 'Customize Water Darkness' >> 'Weather Darkness' >> change text to 'Weather Darkness Settings';
omit "What do you wish to do?" to constrain the messagebox width.

* 'Customize Aqua Effect' >> Aqua Effect Settings messagebox text missing '?' at end of line.

* 'Customize Aqua Effect' >> 'Mask Multiplier' >> change current setting text to be on a button like in Blur Settings messagebox - i.e. button which reads 'Current Settings:' followed by current Mask Multiplier value.

* 'Customize Aqua Effect' >> 'Mask Multiplier' >> current Mask Multiplier value should be shown as integer value or truncated to one decimal place.

* 'Customize Aqua Effect' >> 'Mask Multiplier' >> Mask Multiplier Customization messagebox format changed from vertical layout to horizontal; would at least look better with 'Return to Menu' button below '1' '2' '3' '4' buttons.

In-Game effects:
* 'Dark Waters' spell is getting applied multiple times for each change to darkness level during day-to-evening transition resulting in over-black conditions (this issue doesn't occur with night-to-day transition); surfacing removes all the spells.

* Blur and Aqua Effects are getting disabled after a couple seconds when not moving while underwater in true interior cells; suggest detecting submerged sound instead of splash/swim sound to determine when player is underwater.

* 'Dark Waters' spell doesn't get applied to interior-as-exterior cells during bad weather; spell does get properly applied during night hours.

Further clarification:
Both of these are reported as bugs with the configuration menu interface, not as bugs with the shader code.
* 'Customize Aqua Effect' >> 'Ripple Multiplier' >> Ripple Multiplier Customization value repeats 100.0 when increasing value (i.e. 99.90 > 100.0 > 100.0 > 100.1); inconsistent since decreasing value from 0.100 results in 100.0 then 99.90.

* 'Customize Aqua Effect' >> 'Ripple Multiplier' >> Ripple Multiplier Customization includes values greater than 100.0 when increasing value (i.e. 100.1 thru 100.9); inconsistent since decreasing value from 1.000 results in 0.900 thru 0.100, then 100.0.


Progressing nicely! :nod:
User avatar
how solid
 
Posts: 3434
Joined: Mon Apr 23, 2007 5:27 am

Post » Fri May 27, 2011 11:24 pm

Thanks again Tetchy! A few things...

* Blur and Aqua Effects are getting disabled after a couple seconds when not moving while underwater in true interior cells; suggest detecting submerged sound instead of splash/swim sound to determine when player is underwater.

The GetSoundPlaying function does not detect the Underwater sound for some reason. There's a work around for this though, which must of got broken when I was trying to fix the issue with the interiors having the shaders on. I only use the sounds for determining when the player is underwater in a true-interior because of how unreliable it can be, such as if the player inches slowly into the water nothing will activate because no sound will play. In the original script this just turned the ability for water to be turned on through the part of the script that determines where the player's head is in relation to the water level. So I basically just need to re-implement that how it used to be.

The Mask Multiplier setting definitely will be changed to use the same system as the others.
I was just slacking the first time around. ;)
User avatar
Ron
 
Posts: 3408
Joined: Tue Jan 16, 2007 4:34 am

Post » Fri May 27, 2011 10:19 pm

Anything comming along in the way of underwater crepuscular rays? Also if its possible a nice effect for this would be caustics.
User avatar
dean Cutler
 
Posts: 3411
Joined: Wed Jul 18, 2007 7:29 am

Post » Fri May 27, 2011 5:02 pm

@peachykeen
http://tesnexus.com/downloads/file.php?id=14339 mod for Oblivion uses Oblivion Graphics Extender (ObGE) and adds (amongs other effects like a nice motion blur and bleach bypass effect) a lively and (imho) quite natural looking underwater wobbling effect (further information can be found in the http://www.gamesas.com/bgsforums/index.php?showtopic=952900).

I don't have any knowledge in shader programming and therefore I don't even know if this technique is in any way transferable to MGE's shader language but I think it's worth a look. IMO it would add perfectly to this mod. B)

Edit:
This is the shader code that comes with this mod:
extern half4 texelSize = { 1/1280.0f, 1/1024.0f, 0.0f, 0.0f };extern float2 rcpres[2];	// render target X and Yextern half blurx <    string UIName = "X blur";    string UIWidget = "slider";    float UIMin = -10.0f;    float UIMax = 10.0f;    float UIStep = 0.01f;>;extern half blury <    string UIName = "Y blur";    string UIWidget = "slider";    float UIMin = -10.0f;    float UIMax = 10.0f;    float UIStep = 0.01f;>;extern int applyWaterRefraction = 0;extern half anim = 1.0f;//---==Tweakable stuff!==---//static float gaussianStdDev = 6.0f;static float blurScale = 5.0;static float blurOffsetMax = 24.0f;static float underwaterSeparationScale = 0.5f;static float bleachBypassStrength = 0.4f;#define numBlurSamples 24//---====================---//static float gaussianSum = 1.0f;texture thisframe;	// the current frame from before any effects are applied from this filetexture lastpass;	// texture map from the last pass (used in between effect application)texture refractmap;	// water refraction maptexture depthbuffer;	// depth buffer! :Dsampler currentFrameSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MIPFILTER = LINEAR;	MINFILTER = LINEAR;	MAGFILTER = LINEAR;};sampler lastPassSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MIPFILTER = LINEAR;	MINFILTER = LINEAR;	MAGFILTER = LINEAR;};sampler waterNormalMapSampler = sampler_state{	texture = ;	AddressU = WRAP;	AddressV = WRAP;	MIPFILTER = LINEAR;	// we want some filtering for this to make it look nice	MINFILTER = LINEAR;	MAGFILTER = LINEAR;};sampler depthSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MIPFILTER = NONE;	MINFILTER = POINT;	MAGFILTER = POINT;	};struct VSOUT{	float4 vertPos : POSITION;	float2 UVCoord : TEXCOORD0;};struct VSIN{	float4 vertPos : POSITION0;	float2 UVCoord : TEXCOORD0;};VSOUT FrameVS(VSIN IN){	VSOUT OUT = (VSOUT)0.0f;	// initialize to zero, avoid complaints.	OUT.vertPos = IN.vertPos;	OUT.UVCoord = IN.UVCoord;	return OUT;}half4 ApplyMotionBlur(VSOUT IN) : COLOR0{    half2 offsetBlurDirection;    offsetBlurDirection.x = clamp(blurx, -blurOffsetMax, blurOffsetMax);    offsetBlurDirection.y = clamp(blury, -blurOffsetMax, blurOffsetMax);//    float2 texelSize = 0.0f; //    texelSize.x = (1.0f/rcpres[1]);//    texelSize.y = (1.0f/rcpres[0]);    half3 blurredColor = (float3)0.0h;    gaussianSum = 0.0h;    for(int i = 0; i < numBlurSamples / 2; i++)    {           // Sample texture in a new spot based on the offsetBlurDirection vector        // and average it with the other samples        float2 lookup;        half4 offsetColor;        half weight = exp((i*i) / (5.0h * gaussianStdDev * gaussianStdDev)) / gaussianStdDev;                // Calc lookup coords        lookup = offsetBlurDirection * texelSize * blurScale;        lookup = lookup * i / numBlurSamples + IN.UVCoord;        // Lookup the color at the new spot        offsetColor = tex2D(lastPassSampler, lookup);        gaussianSum += weight;                    // Add it with the other samples and scale by the Gaussian weighting factor        blurredColor += (offsetColor.rgb * weight);        // Do it all again in the other direction        lookup = -offsetBlurDirection * texelSize * blurScale;        lookup = lookup * i / numBlurSamples + IN.UVCoord;        offsetColor = tex2D(lastPassSampler, lookup);        gaussianSum += weight;        blurredColor += (offsetColor.rgb * weight);    }		blurredColor = blurredColor / gaussianSum;		return (half4(blurredColor, 1.0h));}half4 ApplyWaterRefractionChromaticSeparation(float2 UVCoord : TEXCOORD0) : COLOR0{	if(applyWaterRefraction != 0)	{		half4 screenCol = 0.0h;		half4 cBumpy = tex2D(waterNormalMapSampler, UVCoord * 0.025h + anim ) * 2.0h - 1.0h;		cBumpy += tex2D(waterNormalMapSampler, UVCoord * 0.033h - anim ) * 2.0h - 1.0h;    		cBumpy.xyz = normalize(cBumpy).xyz;		half subOne = 0.005h;		half addOne = 0.05h;		//chromatic aberration/dispersion		// This is acting rather wonky at the moment and as such I disabled it;		// remove the little '/*' and '*/' and be sure to add two forward slashes		// in front of the line I marked out so the results aren't overwritten.				/*		half2 sampleCoords = (UVCoord.xy - subOne) * (1.0h - cBumpy.x) + addOne;		sampleCoords.x = min(1.0h, sampleCoords.x);		sampleCoords.y = min(1.0h, sampleCoords.y);		screenCol.x = tex2D(currentFrameSampler, sampleCoords).x;				sampleCoords = (UVCoord.xy - subOne) * (1.0h - cBumpy.y) + addOne;		sampleCoords.x = min(1, sampleCoords.x);		sampleCoords.y = min(1, sampleCoords.y);        		screenCol.y = tex2D(currentFrameSampler, sampleCoords).y;      		sampleCoords = (UVCoord.xy - subOne) * (1.0h - cBumpy.z) + addOne;		sampleCoords.x = min(1, sampleCoords.x);		sampleCoords.y = min(1, sampleCoords.y);  		screenCol.z = tex2D(currentFrameSampler, sampleCoords).z;		*/		float2 lookup = (float2)0.0h;		lookup = UVCoord.xy + cBumpy.xy * 0.01h;		screenCol = tex2D(currentFrameSampler, lookup);	// comment this whole line if activating dispersion											// as the previous lookups will be overwritten before											// it's copied to the framebuffer		return(screenCol);	}	else	{		return(tex2D(currentFrameSampler, UVCoord));	}}half4 ApplyBleachBypass(VSOUT IN) : COLOR0{	half4 baseCol = tex2D(lastPassSampler, IN.UVCoord);	half3 luminanceCoeffs = {0.25, 0.65, 0.1};	half luminance = dot(luminanceCoeffs, baseCol.rgb);	float lrp = min(1.0f, max(0.0f, 10.0f*(luminance - 0.45f)));	half3 result1 = 2.0f * baseCol.rgb * (float3)luminance;	half3 result2 = 1.0f - 2.0f * (1.0f - luminance) * (1.0f - baseCol.rgb);	half3 blendCol = lerp(result1, result2, lrp);	half3 rgbMix = bleachBypassStrength * blendCol.rgb;	rgbMix += ((1.0f - bleachBypassStrength) * baseCol.rgb);	return half4(rgbMix, 1.0f);}technique t0 {	pass p0	{		//VertexShader = compile vs_1_1 FrameVS();	// unneeded unless the compile target is PS3.0		PixelShader = compile ps_2_0 ApplyWaterRefractionChromaticSeparation();		CullMode = none;		ZEnable = false;		ZWriteEnable = false;		AlphaBlendEnable = false;	}    	pass p1	{		//VertexShader = compile vs_1_1 FrameVS();	// unneeded unless the compile target is PS3.0		PixelShader = compile ps_2_0 ApplyMotionBlur();		CullMode = none;		ZEnable = false;		ZWriteEnable = false;		AlphaBlendEnable = false;	}		pass p2	{		//VertexShader = compile vs_1_1 FrameVS();	// unneeded unless the compile target is PS3.0		PixelShader = compile ps_2_0 ApplyMotionBlur();		CullMode = none;		ZEnable = false;		ZWriteEnable = false;		AlphaBlendEnable = false;	}	pass p3	{		//VertexShader = compile vs_1_1 FrameVS();	// unneeded unless the compile target is PS3.0		PixelShader = compile ps_2_0 ApplyBleachBypass();		CullMode = none;		ZEnable = false;		ZWriteEnable = false;		AlphaBlendEnable = false;	}    }

If you're going to use it you should perhaps contact the author and ask for permission.
User avatar
bonita mathews
 
Posts: 3405
Joined: Sun Aug 06, 2006 5:04 am

Post » Fri May 27, 2011 1:12 pm

That's not really my call, Linora can choose which effect would be best here or if this one needs changed.
User avatar
Mylizards Dot com
 
Posts: 3379
Joined: Fri May 04, 2007 1:59 pm

Post » Fri May 27, 2011 9:34 am

@peachykeen
http://tesnexus.com/downloads/file.php?id=14339 mod for Oblivion uses Oblivion Graphics Extender (ObGE) and adds (amongs other effects like a nice motion blur and bleach bypass effect) a lively and (imho) quite natural looking underwater wobbling effect (further information can be found in the http://www.gamesas.com/bgsforums/index.php?showtopic=952900).

I don't have any knowledge in shader programming and therefore I don't even know if this technique is in any way transferable to MGE's shader language but I think it's worth a look. IMO it would add perfectly to this mod. B)

I actually don't have much knowledge of shader programming myself at this point, except for just generally understanding them enough to make simple changes to existing ones, or make really simple shaders. So I would have no idea how to convert that to MGE. I'm more of a scripter/newbie programmer.

I also have no way to test this effect as I don't have Oblivion and see no screens/videos of the effect as an example. So there's really no way I can actually know what it looks like. Though I doubt that it would be superior to peachykeen's effect. Which I find flawless except for the small issue with it not being speed-adjustable.

Anywho, thanks for the linkage, I'll definitely be watching for that caustic effect he's working on.
User avatar
Emmi Coolahan
 
Posts: 3335
Joined: Wed Jan 24, 2007 9:14 pm

Post » Fri May 27, 2011 4:32 pm

A few updates: (Partly for myself, so I have a log of what's done.)

- All the bugs Tetchy have mentioned except for the float issue on the Aqua Configuration menu should be fixed, unless I missed something out of the tons of bugs he found. :P

- A system for adding effects for a certain period of time after going beneath water has been added. So basically if this is turned on, the blur effect starts out greater and lessons after being under the water for a short period. (1.5 seconds will be the default, but I may make this configurable.)

- Readme is mostly done, still waiting on peachy's explanation of how his float stuff works. ( I could just copy in the headers, but I don't think that would make much sense to some people.)

- A few other small changes. ;)

And lastly, a request for peachykeen:

Is there any chance you can make a scalable blur shader? That blurs the screen according to a float number that my script could set?
Such a blur shader could be extremely useful, and could be manipulated in many awesome ways by this script. For instance, I could make it so the blur gradually degrades when the player goes above water level. I could even make it so that the blur effect decreases from a higher blur a few seconds after going beneath water.

Pretty please with lots of moon sugar and daedric hearts and fishy sticks on top. :sad:
User avatar
Amanda Leis
 
Posts: 3518
Joined: Sun Dec 24, 2006 1:57 am

Post » Fri May 27, 2011 9:41 am

Well, here's the readme stuff (posted so everyone can see/search):
Ripplemult:	Default: 	1.0	Use:		The ripple amount is multipled by this as the final step.			0 is no ripple, 2 is double standard.Maskmult:	Default:	1.2	Use:		Changes the amount of the screen effected. This keeps the			edges from pulling away (causes weird artifacts). Keep			this above 1 to avoid such things. 2 means only the 			inside half (middle 2 quarters, both ways) of the screen			is affected, 4 means nothing is affected.


As for scalable blur.... I have an idea for it. As soon as I get MyMWSQL/MWSQL updated, I'll go back to working on shaders. It could be possible, but might be slow (at least, at higher blur levels).
User avatar
Victor Oropeza
 
Posts: 3362
Joined: Sun Aug 12, 2007 4:23 pm

Post » Fri May 27, 2011 4:12 pm

Thanks for the readme stuff, peachy!
Looking forward to your new shaders, as well as the new MWSQL. :celebration:
User avatar
adam holden
 
Posts: 3339
Joined: Tue Jun 19, 2007 9:34 pm

Post » Fri May 27, 2011 11:26 pm

I've archived the new beta version with a whole bunch of fixes and a readme. This version has no bugs that I know of, with the exception of the minor issue with the float variables becoming off by .001 in the configuration menu when changing the Ripple Multiplier. Also includes a new fade-in effect when going under the water, and I'm interested in knowing what people think about it. ;)

http://www.4shared.com/file/101375817/efef1431/linwebetadoom.html

Remember, you need to have one of the newest http://sourceforge.net/project/showfiles.php?group_id=239453&package_id=311044&release_id=662707, for this to work.
Enjoy. :foodndrink:

Edit: Updated link to newest beta.
User avatar
Colton Idonthavealastna
 
Posts: 3337
Joined: Sun Sep 30, 2007 2:13 am

Post » Fri May 27, 2011 8:06 am

I've archived the new beta version with a whole bunch of fixes and a readme. This version has no bugs that I know of, with the exception of the minor issue with the float variables becoming off by .001 in the configuration menu when changing the Ripple Multiplier. Also includes a new fade-in effect when going under the water, and I'm interested in knowing what people think about it. ;)
-clip-

Testing results for WaterEffectsBeta 04-22-2009 (tested with mge3.8-svn_rev-0108):

* lin_we_beta.esp contains the 72 evil GMSTs (these were also present in the past betas, but this is the first time reporting them).

* 'Mystical Water Effects Configuration Menu' >> suggest 'Exit This Menu' button read 'Exit Configuration' to distinguish it from other 'Menu' navigation buttons.

* 'Customize Water Darkness' >> 'Weather Darkness' >> menu title 'Weather Darkness' should be 'Weather Darkness Settings' to match how it's worded for Night Darkness menu.

* 'Customize Water Darkness' >> 'Weather Darkness' >> 'Custom' >> 'Return to Main Menu' button should read 'Return to Menu' to match the other sub menu buttons.

* 'Customize Aqua Effect' >> menu title 'Aqua Effect Customizatio' should read 'Aqua Effect Customization' (missing trailing n).

* 'Customize Aqua Effect' >> 'Mask Multiplier' >> float variable off by .001 between 2.500 and 3.999 when increasing the value - curiously, this doesn't occur when decreasing the value from 2.500 down to 0.000 then to 4.000 and back down to 2.500.

* Changes to/from weather type 3 (overcast) while under water applies a 'Dark Waters' spell which remains after surfacing and ends up stacking with the next spell applied due to weather changes - must reactivate the configuration menu and change the custom value for 'Weather Darkness' until it matches the value of the spell to get rid of it; with default settings, the rogue spell is 24% (scales with custom 'Weather Darkness' value). Changes between other weather types are functioning as expected.

* Changing the Ripple and Mask Multipliers thru the configuration menu doesn't appear to influence the Aqua Effect - i.e. setting Ripple Mult to 100.0 has the same perceived effect as 1.000; setting the Mask Mult to 4.000 still affects as much of the screen as the default value.


Unresolved issues previously reported:
* 'Water Darkness' level isn't getting used if 'Night Darkness' is disabled (assuming setting to zero disables it).

* 'Night Darkness' and 'Water Darkness' appear to be mutually exclusive - either both should be factored into the darkness level or which ever has the greater value should override when it's both night and bad weather; currently, any 'Night Darkness' value (including interim darkness transitions) overrides "Water Darkness' value.

----------------------------------------

The new fade-in effect is good, although it doesn't always kick in immediately - for a split second the underwater lighting has full luminescence.

Will you be adding additional darkness transitions besides the half-value at 6pm and 6am? Maybe have 25% of the 'Night Darkness' value at 6pm, 50% at 8pm, 75% at 10pm, and 100% at midnight; then 75% at 2am, 50% at 4am, 25% at 6am, and normal lighting at 8am.

I noticed that you aren't tying the darkness transitions to the sunset/sunrise settings in morrowind.ini? If someone were to modify the sunset/sunrise hours, the 'Night Darkness' values won't be synchronized. Not sure if there's a way to get those values - I'm not seeing a game setting for them. <_< Maybe thru MGE/MWSE functions?

There was mention of giving Argonian characters a slight advantage underwater by lessening the blur, darkness and aqua effects. Any plan to still implement that? :cookie:


The menu interface is looking great, and for the most part functionality is superb. Almost there! ^_^
User avatar
how solid
 
Posts: 3434
Joined: Mon Apr 23, 2007 5:27 am

Post » Fri May 27, 2011 8:26 am

I noticed that you aren't tying the darkness transitions to the sunset/sunrise settings in morrowind.ini? If someone were to modify the sunset/sunrise hours, the 'Night Darkness' values won't be synchronized. Not sure if there's a way to get those values - I'm not seeing a game setting for them. <_< Maybe thru MGE/MWSE functions?

That would be possible through new 'MGEpipe' commands: "wI" - GetSunriseHour, "wJ" - GetSunriseDuration, "wV" - GetSunsetHour, "wU" - GetSunsetDuration. They are present in MGE since rev-0107.
User avatar
HARDHEAD
 
Posts: 3499
Joined: Sun Aug 19, 2007 5:49 am

Post » Fri May 27, 2011 8:58 pm

* The Tetchy Report - Awesome Bug Coverage at an Undeniable Price *

Darned evil GMSTs. Must of got added when I added all those darkness spells in the TESCS.

WHOOPS! At some point I must of deleted the functions that change the RippleMulti and MaskMulti! :toughninja:

For now, at least, the fade-in effect makes it less obvious than it was before with just the darkness effect turning on.

I'll definitely be adding more darkness transition levels in the future, probably one that scales gradually, it's value actively changing according to the time.

I like your idea about having a general Water Darkness Level, I think I shall add it, though by default set at 0, or barely noticeable low level like 5.

The thing about the Argonian characters is that, everything already so customizable that if someone wants their Argonian to have low blur and a lower darkness setting, they could do that directly. However, what I could do is have the default settings lower for Argonians.

Thanks for yet another awesome bug-report/commentary! :hugs:

That would be possible through new 'MGEpipe' commands: "wI" - GetSunriseHour, "wJ" - GetSunriseDuration, "wV" - GetSunsetHour, "wU" - GetSunsetDuration. They are present in MGE since rev-0107.

Thanks for the heads up kryzmar! Use these, I shall, for Tetchy's suggestion, I will. ;)
User avatar
M!KkI
 
Posts: 3401
Joined: Sun Jul 16, 2006 7:50 am

PreviousNext

Return to III - Morrowind