OGE "Oblivion Graphics Extender"

Post » Fri May 27, 2011 8:58 am

Scanti-

With that new dll a couple of things.

If I load it without the shader.txt file then the screen is blank - so I have to have that installed and therefore use method one.

If I comment out the ssao shader on the shader.txt but leave the others active then I still cannot load depth of field. In fact I cannot seem to load the depth of field at all.

Then also blue light fix from last page - link broken.

thanks
User avatar
Strawberry
 
Posts: 3446
Joined: Thu Jul 05, 2007 11:08 am

Post » Fri May 27, 2011 10:17 pm

Thanks for the heads up Psymon, link has been fixed and added to the OP :goodjob:
User avatar
Stat Wrecker
 
Posts: 3511
Joined: Mon Sep 24, 2007 6:14 am

Post » Fri May 27, 2011 3:36 pm

Hmm, DoF works fine for me with OBGEv2.dll. I've just got it in my shaderlist.txt.

Although I did find that if I loaded my game with OBGEv2.dll in the plugins folder and nothing in the shaderlist.txt, the screen appeared grey (HUD was fine though).
User avatar
Peter P Canning
 
Posts: 3531
Joined: Tue May 22, 2007 2:44 am

Post » Fri May 27, 2011 11:23 pm

Yeah sorry meant to report that ... without the shader.txt file the screen was black, for me, but the hud was fine.

What program should one use to edit the shader file anyway?
User avatar
katie TWAVA
 
Posts: 3452
Joined: Tue Jul 04, 2006 3:32 am

Post » Fri May 27, 2011 8:42 am

I used notepad on godray.fx
User avatar
Pants
 
Posts: 3440
Joined: Tue Jun 27, 2006 4:34 am

Post » Fri May 27, 2011 1:38 pm

I didn't know regular notepad could save files in .fx I always use notepad++. Its free and supports many file types, alot of them for different computer languages.
User avatar
Terry
 
Posts: 3368
Joined: Mon Jul 09, 2007 1:21 am

Post » Fri May 27, 2011 1:18 pm

Notepad can save files of any extension : Just set the file type to "All Files" in the save dialog and enclose your filename and extension within double quotes.
User avatar
Cody Banks
 
Posts: 3393
Joined: Thu Nov 22, 2007 9:30 am

Post » Fri May 27, 2011 1:09 pm

Hey. I'm an antitalent on these things. But I believe I did everything as described. And when I type the command into the console while in game, my screen goes totally white. But when I hit esc, the options window is clearsly visible. Any help?
User avatar
Danny Warner
 
Posts: 3400
Joined: Fri Jun 01, 2007 3:26 am

Post » Fri May 27, 2011 8:38 pm

I've just added the source code to GitHub. That way I'll have a back-up, the latest (probably very unstable) version will always be available and people will be able to contribute their own code to the project.

You can download/view the code http://github.com/scanti/Oblivion-Graphics-Extender-v2.
User avatar
Casey
 
Posts: 3376
Joined: Mon Nov 12, 2007 8:38 am

Post » Fri May 27, 2011 2:27 pm

Scanti:
Please Pack the "Source Code" into 1 file, so most of us have one easy download and one archive stored on disc.

I know we all request a lot of things, but maybe you "Scanti" can give us your vision on the current OBGEv2 project. What do you think we can expect all to be possible in the future.
User avatar
Bek Rideout
 
Posts: 3401
Joined: Fri Mar 02, 2007 7:00 pm

Post » Fri May 27, 2011 8:53 am

@ Sjors_Boomscors: I think you can download it all at once, it's in a compressed archive if you click the 'Download Source' button near the top of the page.
User avatar
Trent Theriot
 
Posts: 3395
Joined: Sat Oct 13, 2007 3:37 am

Post » Fri May 27, 2011 7:56 pm

Reporting in: GTX260 XPSP3 1680X1050 Bloom

OBGEV2 - Spectacular, I'm happy as a clam. Noticeably faster, loads all shaders listed on shaderlist.txt automatically. Additionally, I was one of the biggest victims of the OBGE transition crashes and hence had to use OBGE debugged. Been playing for 6+ hours and zero crashes. Also additionally I had graphical errors with ABO's http://www.tesnexus.com/downloads/file.php?id=21424 and OBGE debugged, with V2, no errors. Great work!

Depth Of Field - Just what I wanted, no problems, runs pretty smooth.

Godrays - Nice, not thrilled with it, only problems when running with HDR. Running with the fix.

SSAO_TEST - Here's where I have problems. The shader effect does not reach full screen. I get a trapizoid effect across the screen leaving a bottom space unaffected, annoying enough as to be unplayable, both with OBGEV2 and the previous. On the plus side with V2 SSAO runs fast, barely causing FPS loss, where with the previous the FPS hit was unplayable. Also, RandomNoiseB.dds, makes my screen look as though I have gause over my eyes, if I remove it, runs fine looks good.
I've looked through the settings in the shader but could find no adjustment for full screen, nor have I noticed any one else with the problem. Any idea what could be up?

Great job guys, big kudos!
User avatar
Alexander Lee
 
Posts: 3481
Joined: Sun Nov 04, 2007 9:30 pm

Post » Fri May 27, 2011 2:03 pm

OBGEV2 - Spectacular, I'm happy as a clam. Noticeably faster, loads all shaders listed on shaderlist.txt automatically. Additionally, I was one of the biggest victims of the OBGE transition crashes and hence had to use OBGE debugged. Been playing for 6+ hours and zero crashes. Also additionally I had graphical errors with ABO's http://www.tesnexus.com/downloads/file.php?id=21424 and OBGE debugged, with V2, no errors. Great work!
Scanti, does the new version use different code for the HUD hook (which is primarily believed to be the reason for the crashes in Timeslip's) ? I believe Pluggy could do with the same.
User avatar
Heather M
 
Posts: 3487
Joined: Mon Aug 27, 2007 5:40 am

Post » Fri May 27, 2011 12:45 pm

Snip.

Fixed it myself.

Edit: Though is it normal for this to smash my FPS down to, and keep at, 1?
User avatar
Tha King o Geekz
 
Posts: 3556
Joined: Mon May 07, 2007 9:14 pm

Post » Fri May 27, 2011 5:28 pm

Snip.

Fixed it myself.

Edit: Though is it normal for this to smash my FPS down to, and keep at, 1?

SSAO has a habit of doing that. Use http://www.gamesas.com/bgsforums/index.php?showtopic=1060479&st=160&p=15476196&#entry15476196 fix. http://www.gamesas.com/bgsforums/index.php?showtopic=1060479&st=160&p=15476342&#entry15476342
User avatar
Gemma Woods Illustration
 
Posts: 3356
Joined: Sun Jun 18, 2006 8:48 pm

Post » Fri May 27, 2011 10:56 am

Snow_EP (or whomever) which line in the SSAO.fx file do I change to implement that fix?
Or do I do that elsewhere?
User avatar
Shelby Huffman
 
Posts: 3454
Joined: Wed Aug 08, 2007 11:06 am

Post » Fri May 27, 2011 4:33 pm

Snow_EP (or whomever) which line in the SSAO.fx file do I change to implement that fix?
Or do I do that elsewhere?


static const int ssao_sample_size = 4
static const float ssao_sampling_area = 1.7f

They are in the very beginning.
User avatar
Nitol Ahmed
 
Posts: 3321
Joined: Thu May 03, 2007 7:35 am

Post » Fri May 27, 2011 9:35 pm

Sorry I don't see it. Here is the file open in notepad:
texture Depth;texture thisframe;texture NoiseText < 	string filename="ssao\\RandomNoiseD.dds"; >;float2 rcpres;float4x4 m44proj;//float4 f4Time;static const float nearZ = m44proj._43 / m44proj._33;static const float farZ = m44proj._43 / (m44proj._33 + 1.0f);sampler depthSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MINFILTER = POINT;	MAGFILTER = POINT;};sampler frameSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MINFILTER = POINT;	MAGFILTER = POINT;};sampler noiseSampler = sampler_state{	texture = ;	AddressU = WRAP;	AddressV = WRAP;	MINFILTER = LINEAR;	MAGFILTER = LINEAR;};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;}	//float Near = m44proj._43 / m44proj._33;//float Far = m44proj._43 / (m44proj._33 + 1);	float readDepth(in float2 coord : TEXCOORD0){	if (coord.x < 0 || coord.y < 0)	{		return 1.0f;	}	float posZ = tex2D(depthSampler, coord).x;	posZ = pow(posZ,24.0f);	//posZ=posZ*posZ;	//posZ=posZ*posZ;	//posZ=posZ*posZ;	//return (2.0f * nearZ) / (nearZ + farZ - posZ * (farZ - nearZ));	return posZ;}float compareDepths(in float depth1, in float depth2, inout int far){	float diff = (depth1 - depth2) * 100.0f;	//depth difference (0-100)	float gdisplace = 0.2f;						//gauss bell center	float garea = 2.0f;							//gauss bell width 2		//reduce left bell width to avoid self-shadowing    if (diff < gdisplace)	{         garea = 0.1f;    }	else	{        far = 1.0f;    }		float gauss = pow(2.7182,-2.0f*(diff-gdisplace)*(diff-gdisplace)/(garea*garea));		return gauss;}float calAO(in float2 texCoord : TEXCOORD0, in float depth, in float dw, in float dh){      float temp = 0.0f;    float temp2 = 0.0f;    float coordw = texCoord.x + dw/depth;    float coordh = texCoord.y + dh/depth;    float coordw2 = texCoord.x - dw/depth;    float coordh2 = texCoord.y - dh/depth;    if (coordw  < 1.0 && coordw  > 0.0 && coordh < 1.0 && coordh  > 0.0)	{    	float2 coord = float2(coordw , coordh);        float2 coord2 = float2(coordw2, coordh2);        int far = 0;     	temp = compareDepths(depth, readDepth(coord), far);        //DEPTH EXTRAPOLATION:        if (far > 0)		{          temp2 = compareDepths(readDepth(coord2),depth,far);          temp += (1.0-temp)*temp2;         }    }     return temp;   }float4 Ssao(VSOUT IN) : COLOR0{	//float timeMult = (f4Time[1]*f4Time[2]*f4Time[3])+1.0f;	//float timeMod = f4Time[0]%timeMult;	//float timeSeed = timeMod / timeMult;		//float2 fres = 15.0f + (timeSeed * 10.0f);	float2 fres = 20.0f;	float4 random = tex2D(noiseSampler,IN.UVCoord.xy*fres.xy);	//float4 random = tex2D(noiseSampler,IN.UVCoord);	random = (random * 2.0) - float4(1.0f, 1.0f, 1.0f, 0.0f);		float depth = readDepth(IN.UVCoord);	float ao = 0.0f;		//float pw = rcpres[0] * 0.5f;	//float ph = rcpres[1] * 0.5f;	float pw = 1.0f/800.0f * 0.5f;	float ph = 1.0f/600.0f * 0.5f;		for(int i=0; i<4; ++i)	{		//calculate color bleeding and ao:       ao+=calAO(IN.UVCoord, depth,  pw,       ph);         ao+=calAO(IN.UVCoord, depth,  pw,      -ph);         ao+=calAO(IN.UVCoord, depth, -pw,       ph);         ao+=calAO(IN.UVCoord, depth, -pw,      -ph);       ao+=calAO(IN.UVCoord, depth,  pw*1.2f,  0.0f);       ao+=calAO(IN.UVCoord, depth, -pw*1.2f,  0.0f);       ao+=calAO(IN.UVCoord, depth,  0.0f,     ph*1.2f);       ao+=calAO(IN.UVCoord, depth,  0.0f,    -ph*1.2f);            //sample jittering:       //pw += random.x*((rcpres[0]+rcpres[1]) / 4);       //ph += random.y*((rcpres[0]+rcpres[1]) / 4);	   pw += random.x*0.0007f;       ph += random.y*0.0007f;       //increase sampling area:       pw *= 1.7f;       ph *= 1.7f;	}		//float finalAO = 1.0f-(ao/32.0f);	float3 calcAO = 0.3f+(1.0f-(ao/32.0f))*0.7f;	calcAO = pow(calcAO,5.0f);		//float3 calcAO = 1.0f-(ao/32.0f);	//float4 finalAO = float4(calcAO.xyz,1.0);		float4 fSample = tex2D(frameSampler,IN.UVCoord);	float samBrightness = (0.299 * fSample.r) + (0.587 * fSample.g) + (0.114 * fSample. B) ;		fSample = fSample * float4(pow(calcAO,(1 - samBrightness)).rgb,1.0);	//return float4(pow(calcAO,(1 - samBrightness)).rgb,1.0);	return fSample;	//return float4(calcAO.xyz,1.0);}technique t0 {	pass p0	{		VertexShader = compile vs_1_1 FrameVS();		PixelShader = compile ps_3_0 Ssao();		CullMode = none;	}	}

User avatar
R.I.P
 
Posts: 3370
Joined: Sat Dec 01, 2007 8:11 pm

Post » Fri May 27, 2011 12:27 pm

Sorry I don't see it. Here is the file open in notepad:
texture Depth;texture thisframe;texture NoiseText < 	string filename="ssao\\RandomNoiseD.dds"; >;float2 rcpres;float4x4 m44proj;//float4 f4Time;static const float nearZ = m44proj._43 / m44proj._33;static const float farZ = m44proj._43 / (m44proj._33 + 1.0f);sampler depthSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MINFILTER = POINT;	MAGFILTER = POINT;};sampler frameSampler = sampler_state{	texture = ;	AddressU = CLAMP;	AddressV = CLAMP;	MINFILTER = POINT;	MAGFILTER = POINT;};sampler noiseSampler = sampler_state{	texture = ;	AddressU = WRAP;	AddressV = WRAP;	MINFILTER = LINEAR;	MAGFILTER = LINEAR;};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;}	//float Near = m44proj._43 / m44proj._33;//float Far = m44proj._43 / (m44proj._33 + 1);	float readDepth(in float2 coord : TEXCOORD0){	if (coord.x < 0 || coord.y < 0)	{		return 1.0f;	}	float posZ = tex2D(depthSampler, coord).x;	posZ = pow(posZ,24.0f);	//posZ=posZ*posZ;	//posZ=posZ*posZ;	//posZ=posZ*posZ;	//return (2.0f * nearZ) / (nearZ + farZ - posZ * (farZ - nearZ));	return posZ;}float compareDepths(in float depth1, in float depth2, inout int far){	float diff = (depth1 - depth2) * 100.0f;	//depth difference (0-100)	float gdisplace = 0.2f;						//gauss bell center	float garea = 2.0f;							//gauss bell width 2		//reduce left bell width to avoid self-shadowing    if (diff < gdisplace)	{         garea = 0.1f;    }	else	{        far = 1.0f;    }		float gauss = pow(2.7182,-2.0f*(diff-gdisplace)*(diff-gdisplace)/(garea*garea));		return gauss;}float calAO(in float2 texCoord : TEXCOORD0, in float depth, in float dw, in float dh){      float temp = 0.0f;    float temp2 = 0.0f;    float coordw = texCoord.x + dw/depth;    float coordh = texCoord.y + dh/depth;    float coordw2 = texCoord.x - dw/depth;    float coordh2 = texCoord.y - dh/depth;    if (coordw  < 1.0 && coordw  > 0.0 && coordh < 1.0 && coordh  > 0.0)	{    	float2 coord = float2(coordw , coordh);        float2 coord2 = float2(coordw2, coordh2);        int far = 0;     	temp = compareDepths(depth, readDepth(coord), far);        //DEPTH EXTRAPOLATION:        if (far > 0)		{          temp2 = compareDepths(readDepth(coord2),depth,far);          temp += (1.0-temp)*temp2;         }    }     return temp;   }float4 Ssao(VSOUT IN) : COLOR0{	//float timeMult = (f4Time[1]*f4Time[2]*f4Time[3])+1.0f;	//float timeMod = f4Time[0]%timeMult;	//float timeSeed = timeMod / timeMult;		//float2 fres = 15.0f + (timeSeed * 10.0f);	float2 fres = 20.0f;	float4 random = tex2D(noiseSampler,IN.UVCoord.xy*fres.xy);	//float4 random = tex2D(noiseSampler,IN.UVCoord);	random = (random * 2.0) - float4(1.0f, 1.0f, 1.0f, 0.0f);		float depth = readDepth(IN.UVCoord);	float ao = 0.0f;		//float pw = rcpres[0] * 0.5f;	//float ph = rcpres[1] * 0.5f;	float pw = 1.0f/800.0f * 0.5f;	float ph = 1.0f/600.0f * 0.5f;		for(int i=0; i<4; ++i)	{		//calculate color bleeding and ao:       ao+=calAO(IN.UVCoord, depth,  pw,       ph);         ao+=calAO(IN.UVCoord, depth,  pw,      -ph);         ao+=calAO(IN.UVCoord, depth, -pw,       ph);         ao+=calAO(IN.UVCoord, depth, -pw,      -ph);       ao+=calAO(IN.UVCoord, depth,  pw*1.2f,  0.0f);       ao+=calAO(IN.UVCoord, depth, -pw*1.2f,  0.0f);       ao+=calAO(IN.UVCoord, depth,  0.0f,     ph*1.2f);       ao+=calAO(IN.UVCoord, depth,  0.0f,    -ph*1.2f);            //sample jittering:       //pw += random.x*((rcpres[0]+rcpres[1]) / 4);       //ph += random.y*((rcpres[0]+rcpres[1]) / 4);	   pw += random.x*0.0007f;       ph += random.y*0.0007f;       //increase sampling area:       pw *= 1.7f;       ph *= 1.7f;	}		//float finalAO = 1.0f-(ao/32.0f);	float3 calcAO = 0.3f+(1.0f-(ao/32.0f))*0.7f;	calcAO = pow(calcAO,5.0f);		//float3 calcAO = 1.0f-(ao/32.0f);	//float4 finalAO = float4(calcAO.xyz,1.0);		float4 fSample = tex2D(frameSampler,IN.UVCoord);	float samBrightness = (0.299 * fSample.r) + (0.587 * fSample.g) + (0.114 * fSample. B) ;		fSample = fSample * float4(pow(calcAO,(1 - samBrightness)).rgb,1.0);	//return float4(pow(calcAO,(1 - samBrightness)).rgb,1.0);	return fSample;	//return float4(calcAO.xyz,1.0);}technique t0 {	pass p0	{		VertexShader = compile vs_1_1 FrameVS();		PixelShader = compile ps_3_0 Ssao();		CullMode = none;	}	}


Using the SSAOv2 from the OP? Should be labeled ssao_test.fx.
User avatar
Doniesha World
 
Posts: 3437
Joined: Sun Jan 07, 2007 5:12 pm

Post » Fri May 27, 2011 11:40 am

Oh wow I did not even realize that I didn't have version 2 of SSAO maybe that is why the OBGEv2 didn't work right.

Found entries - thanks.
User avatar
kiss my weasel
 
Posts: 3221
Joined: Tue Feb 20, 2007 9:08 am

Post » Fri May 27, 2011 2:05 pm

Well with the godrays fix and the SSAO fix things are a bit more playable - from the standpoint of being in game and playing with these visuals.

But for the life of me - either I can't figure out how to work the new OBGEv2 commands or they are just not working. I've asked before and got no answer.

For me it seems that with the shaders listed on the shaders.txt in the order recommended and loading with OBSEv2 they are all active right from the get go - except depth of field.

so then following the command which states: To load shaders, simply use the LoadShader "" command in the console menu.
... Simply no less.

So I've tried
Loadshader depthoffield.fx - no
Loadshader "depthoffield.fx" - no
Loadshader "" - no
Loadshader - no
Loadshader "depthoffield" - no
Loadshader "" - no
Loadshader - no

Loadshader depthoffield - is at least taken as a valid command, but it does not activate or deactivate the shader. In fact following that then I cannot activate or deactivate any or them - they all come activated and remain activated except for depth of field.

I'd sure appreciate the abilitiy to turn them on and off.

I've made complete collection OMODs with all shaders adjusted and included - one OGE the other OBGEv2. So until I figure out OBGEv2 commands I'll still with OGE OMOD.
User avatar
le GraiN
 
Posts: 3436
Joined: Thu Mar 22, 2007 6:48 pm

Post » Fri May 27, 2011 12:16 pm

@ Psymon: DoF loads fine for me using OBGEv2, here's my shaderlist.txt:

DepthOfField.fx


As for the LoadShader command, in the previous OBGE version at least, you had to set a long to the shader name (with extension) and then use the LoadShader with the long variable as the arguement.

Oh, and make sure that you type in the shader name correctly - it's probably case-sensitive.
User avatar
Alexander Horton
 
Posts: 3318
Joined: Thu Oct 11, 2007 9:19 pm

Post » Fri May 27, 2011 8:59 am

Maybe we are not speaking of the same dll.

I'm talking about the one posted at the bottom of the first post on the thread - the newer OBGEv2.
*What is the most recent version of this project?
As of sunday, 01/09/10 at 11:17 PM ,Scanti's Latest Test http://dl.dropbox.com/u/519253/OBGEv2.dll- USE AT OWN RISK.
ShowTestShader command not presently set in. To load shaders, simply use the LoadShader "" command in the console menu.
To be clear I was not asking in terms of making a mod - only using he shaders, so far, available.

Using that - if I do not have the ssao_test.fx loaded the game screen is black, but the HUD is fine. that shader HAS to be loaded.
It also seems to load godrays and edge detection, but cannot turn them off - all 3 are loaded from the load of a save. Though truthfully ssao is still so much hard to to tell if it is edge detection on or not. Godrays are for certain on.

It does not load DepthOfField - just rechecked all spelling options above.
So with that dll - are all shaders on automatically for others too?

Wrinkly-

Not sure wshat you mean by set a long - think you mean log - as in the shaderlist.txt. Here is mine:
ssao_test.fx
DepthOfField.fx
Godrays.fx
CelShader.fx
I've even tried commenting out shaders to isolate the performance of one over the other.

In summary-
If ssao is commented out then the screen is black.
Depth of Field just does not load even automatically.
godrays works if not commented out.
not sure about edge detect.
All but depth on automatically no need for any console commands and no console commangs seem to have effect for turning anything on or off.

the last version of the previous dll works as advertised though.
I was just hoping for more control with the newer version (as in the ability to turn each shader on and off indivually).

Am I missing something drastic?
User avatar
Romy Welsch
 
Posts: 3329
Joined: Wed Apr 25, 2007 10:36 pm

Post » Fri May 27, 2011 10:40 pm

There is only one OBGEv2.dll, and we're both using it.

It does seem that you have to be loading at least one shader, else you get a single colour screen.

With the new dll, it will automatically apply whatever shaders are listed in your shaderlist.txt when you start the game. However, you can't alter the look of these shaders once they're loaded, but it is possible to do so via Oblivion scripting and use the LoadShader command for that, instead of using the shaderlist.txt, and once the shader is loaded use the other OBGE commands to pass variables to the shader.

As for long, I was referring to the variable type, as used in Oblivion scripting, for the above purpose. Eg. here's code snippets from Enhanced Seasons:

long shaderfloat contrastfloat saturation		set shader to LoadShader "EnhancedSeasons.fx"		applyfullscreenshader shader 0		setshaderfloat shader "contrast" contrast		setshaderfloat shader "saturation" saturation


Bear in mind that the plugin is in alpha stage. What you seem to be looking for, a way to toggle shaders on and off, would be provided by a Oblivion scripted menu system that could be built using the commands OBGE allows us to use, rather than straight from the plugin. OBGEv2 is nothing like scanti's previous plugins, which were really testing out the system, whereas OBGEv2 is a rebuild of the original OBGE, with added functionality for modders and shader writers.
User avatar
Alex [AK]
 
Posts: 3436
Joined: Fri Jun 15, 2007 10:01 pm

Post » Fri May 27, 2011 5:33 pm

Psymon- The latest version is an early test as Scanti stated, so of course there are problems. Sorry to say this but if the newer test is giving you so much trouble, then it would be best to use the latest Stable, the one before Scanti's latest test dev.

EDIT: Long explained by wrinklyninja
User avatar
Ana
 
Posts: 3445
Joined: Sat Jul 01, 2006 4:29 am

PreviousNext

Return to IV - Oblivion