Page 24 of 50

Re: BGS - The BackgroundSet

Posted: Wed Mar 27, 2013 7:52 pm
by Diziet Sma
G'day and welcome aboard, D`Ali 8)
D`Ali wrote:

Code: Select all

Windows 6.1.7600  32-bit
...
Vendor: "ATI Technologies Inc.". Renderer: "ATI MOBILITY RADEON X1700 ".
From catalyst control center:
- Direct3D version - 7.14.10.0630
- OpenGL version - 6.14.10.8304

Driver version - 8.561.0.0 from 1.12.2008
:shock:
Ouch.. ancient ATI Laptop drivers from 2008.

You might want to see this thread on how to update to more current graphics drivers.

Re: BGS - The BackgroundSet

Posted: Wed Mar 27, 2013 10:10 pm
by Svengali
Thanks for the info, D`Ali.

Does it occur on every jump or only sometimes or even rarely? If it's reproducable, please, let me know and we can try a few things (e.g. replacing the v1.6 shaders with v1.5.x shaders, etc...).

And Dizzy is right. The driver is really ancient, but should support all necessary extensions (although 6.14.10.8395 seems to fix some things, should be in AMD/ATI's Catalyst 9.1 drivers).

Re: BGS - The BackgroundSet

Posted: Thu Mar 28, 2013 7:24 am
by another_commander
D`Ali wrote:

Code: Select all

Opening log for Oolite version 1.77 (x86-32) under Windows 6.1.7600  32-bit at 2013-03-27 23:38:51 +0400. 2 processors detected.
Windows 6.1.7600 means that Service Pack 1 for Windows 7 is not installed. Maybe it is not exactly related to your BGS crashes, but unless there is a good reason not to install, it is generally a good idea to be up to date with service packs on Windows. If you decide to install SP1 and see if it fixes things for you, creating a restore point prior to starting can also be a very good idea.

Re: BGS - The BackgroundSet

Posted: Thu Mar 28, 2013 8:20 am
by D`Ali
I installed latest ATI driver of 8.593.1.0 version (10.2 CCC). Nothing changed.
About SP1 for Windows... I'll try, but i think it would also be useless. Because, for example, game "X3" is work easy. And Oolite addons by Griff - too.

Now, i turn off bgsHyperFX and bgsHyperFXWormhole in BGS-M.js. Now it work as in original game.

If it's not hard - let's try to make these effects on the old engine - v1.5.x shaders. I think it needs to change only the js-files...

Re: BGS - The BackgroundSet

Posted: Thu Mar 28, 2013 11:24 am
by Svengali
Ok, let's start.

As first step I've ripped off the more advanced stuff from the v1.6 shader.

Just replace the bgs_hyper.fragment with -> https://www.box.com/s/u0bd8edubys412d4klh8
and enable the jump sequence bgsHyperFX (but not the exit effect bgsHyperFXWormhole).

The texture effect is similiar to the v1.5.x shader.

Re: BGS - The BackgroundSet

Posted: Fri Mar 29, 2013 11:34 am
by D`Ali
It works! Seems to effect the way it should be. Animation appears post the counter down to 0. Exit from wormhole - the center appears oval with the new system.

Re: BGS - The BackgroundSet

Posted: Fri Mar 29, 2013 5:46 pm
by Svengali
Very good.

The behaviour is expected. v1.6 has switched to VisualEffects (introduced in Oolite v1.77) and replaces the jump sequence rings in Oolite. The effect can only be spawned on .shipWillExitWitchspace. The stretching happens because the shader uses a screen aligned quad with no further transformations in the vertex shader.

It is possible to pass the required screen resolution as uniform, although - in my eyes - it would make more sense to add a Oolite specific uniform which holds the screen resolution or at least the aspect ratio. For BGS it is not hard to add this, as the required structures are already available and even the uniform ovSpecials is already passed with a unused .z component which could be filled with the aspect ratio from BGS-M.js.

The changes would look like:

BGS-M.js:

Code: Select all

this.shipWillExitWitchspace = function()
{
	if(!this.bgsHyperFX || player.ship.docked) return;
	system.breakPattern = false;
	var a = worldScripts.Cabal_Common_Overlay.ovAdd({cclov_type:2,cclov_blend:8,cclov_id:"BGSHYPER",cclov_fx:"bgs_hyper",cclov_autoremove:1});
	if(a){
		if(system.isInterstellarSpace) this.bgsHyperControl[1] = 1;
		else this.bgsHyperControl[1] = 0;
		this.bgsHyperControl[2] = oolite.gameSettings.gameWindow.width/oolite.gameSettings.gameWindow.height; // added
		a.shaderVector2 = this.bgsHyperControl;
	}
};
and the new bgs_hyper.vertex:

Code: Select all

uniform vec4 ovSpecials;
varying vec2 vTexCoord;

void main(void)
{
	float asp = clamp(ovSpecials.z,1.0,2.0);
	vec2 s = vec2(1.0,asp);
	vec4 Position = gl_Vertex;
	gl_Position = vec4(Position.xy*s,0.0,1.0);
	Position.x += 0.5;
	Position.y += 0.5;
	vTexCoord = Position.xy;
}

Re: BGS - The BackgroundSet

Posted: Sat Mar 30, 2013 7:03 am
by D`Ali
I made the necessary changes. Everything works the same as the previous time. If I return to the place of the old file "bgs_hyper.vertex", the program crashes again.

Re: BGS - The BackgroundSet

Posted: Sat Mar 30, 2013 1:54 pm
by Svengali
D´Ali wrote:
I made the necessary changes. Everything works the same as the previous time.
Oh, sorry. I forgot to mention that you need to hold the Shift key while starting Oolite. This will clear the cache.
D´Ali wrote:
If I return to the place of the old file "bgs_hyper.vertex", the program crashes again.
This indicates that it's not the shader. Hmm...

I'd think the next step is to try a nighly build (see https://bb.oolite.space/viewtopic.php?f=8&t=6852).

Re: BGS - The BackgroundSet

Posted: Sun Mar 31, 2013 2:15 pm
by D`Ali
I hold Shift every programm start.

In nighly build - BGS work the same.

In principle, you can leave everything as it is - play is possible, the effect somehow works...

Re: BGS - The BackgroundSet

Posted: Sun Mar 31, 2013 5:47 pm
by Svengali
Yes, we could do this - thanks a lot for the valuable test sessions, D`Ali .-)

But there's one last thing we could try (if you like).

I've prepared a new CCL + BGS version where the shader does the scaling in the fragment shader instead. Quite a few other things have been changed in both versions as well - they are a snapshot from development versions, except the shader in BGS and the unfinished SpecialMarkets script in CCL which is only used in Vector.oxp as far as I'm aware of.

CCL1.8_r157 -> https://www.box.com/s/ynx0zc6ysh61trf7ohpr
BGS1.7_r85 -> https://www.box.com/s/f7833t28lse69votluch

A quick overview about the changes can be found -> http://wiki.alioth.net/index.php/User:Svengali

Re: BGS - The BackgroundSet

Posted: Fri Apr 05, 2013 7:05 pm
by D`Ali
Sorry, was away. Put new packages - everything works fine.
Thank you for a great work!

Re: BGS - The BackgroundSet

Posted: Sat Apr 06, 2013 11:12 am
by Svengali
That's good news. Muchas gracias for testing and feedback, D`Ali.

I'll add the new shaders as optional download (just in case) .-)

Re: BGS - The BackgroundSet

Posted: Fri May 17, 2013 1:11 pm
by Svengali
BGS 1.7 is online.

Changes:
- Handles longer countdowns.
- Added longer chatter pause option (OXPConfig).
- Switched to typeof instead of hasOwnProperty.
- Added checks for player.ship.script properties bgs_engine, bgs_engineUp and bgs_engineDown.
- Added aspect ratio to jump shader.
- Added option for redux shader (OXPConfig).

Re: BGS - The BackgroundSet

Posted: Sat May 18, 2013 4:09 am
by Diziet Sma
Svengali wrote:
- Added aspect ratio to jump shader.
Sweet! This should be a big help on my 2560 x 1024 dual-monitor setup! 8)

I like the chatter pause option, too.

(A reminder for the users of Alternate_BGS_customsounds_for_Halsis:
You will need to re-install the halsis.customsounds.plist after updating to BGS 1.7)