Progress

General discussion for players of Oolite.

Moderators: another_commander, winston

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Many thanks. Test #17 has been inserted in the Material Test Suite. I have used a "master" gloss value of 0.8 in order to showcase the effect a bit better.

Image

User avatar
phkb
Commodore
Commodore
Posts: 2675
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Progress

Post by phkb »

In the latest build, a change has been made to the commsMessageReceived world event. Now, if the player.commsMessage function is called, the commsMessageReceived will fire, but with a null value for the sender parameter. This unifies all communications received by the player, but any script that implements commsMessageReceived will need to check for a null value before accessing the sender parameter, otherwise an error could occur.

cbr
---- E L I T E ----
---- E L I T E ----
Posts: 468
Joined: Thu Aug 27, 2015 4:24 pm

Re: Progress

Post by cbr »

Are there any plans for updating the system star?

Image

and perhaps the citylights with on/off menu option :)

User avatar
phkb
Commodore
Commodore
Posts: 2675
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Progress

Post by phkb »

In the latest Oolite builds, we've added access to the shipyard of each station. Use the shipyard property to view a list of ships currently available at the station, use the addShipToShipyard method to add a ship you define, and the removeShipFromShipyard method to remove a ship.

The Javascript Station wiki page has been updated with details on each of these properties/methods.

User avatar
phkb
Commodore
Commodore
Posts: 2675
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Progress

Post by phkb »

In the next nightly is the ability to limit star and nebula textures to particular galaxies, providing the opportunity to make galaxies more visually unique.

At the same time, in order to make the merging of star and nebula textures more logical and consistent, they are now being merged on the "texture" key. Therefore, if an OXP overrides the "oolite-nebula-1.png" definition in a "nebulatextures.plist" file (for instance, adding a galaxy or changing the probability), they can be confident this change has been applied. To allow for the same texture to appear in multiple galaxies, an optional "key" property can be added to the dictionary, which will take the place of the "texture" property when merging the arrays.

To demonstrate this, use the following in place of the current nebulatextures.plist (or put it into your AddOns folder), which will allocate one nebula image per galaxy.

Code: Select all

(
	{
		texture = "oolite-nebula-1.png";
		probability = 1.0;
		galaxy = 0;
	},
	{
		texture = "oolite-nebula-2.png";
		probability = 1.0;
		galaxy = 1;
	},
	{
		texture = "oolite-nebula-3.png";
		probability = 1.0;
		galaxy = 2;
	},
	{
		texture = "oolite-nebula-4.png";
		probability = 1.0;
		galaxy = 3;
	},
	{
		texture = "oolite-nebula-1.png";
		key = "nebula1-gal4";
		probability = 1.0;
		galaxy = 4;
	},
	{
		texture = "oolite-nebula-2.png";
		key = "nebula2-gal5";
		probability = 1.0;
		galaxy = 5;
	},
	{
		texture = "oolite-nebula-3.png";
		key = "nebula3-gal6";
		probability = 1.0;
		galaxy = 6;
	},
	{
		texture = "oolite-nebula-4.png";
		key = "nebula4-gal7";
		probability = 1.0;
		galaxy = 7;
	}
)
If no "galaxy" property is set, existing behaviour should be unchanged.

User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 1496
Joined: Thu Jun 20, 2013 10:22 pm

Re: Progress

Post by Redspear »

phkb wrote:
Sun May 26, 2019 3:57 am
In the next nightly is the ability to limit star and nebula textures to particular galaxies, providing the opportunity to make galaxies more visually unique.
Nice 8) Thanks :D
"With our thoughts, we make the world" :-) - - - Game too slow for you? Masslock Compensators - - - Trouble getting out of trouble? Indestructible Injectors

User avatar
phkb
Commodore
Commodore
Posts: 2675
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Progress

Post by phkb »

In the next nightly is the handling of a new plist file: equipment-overrides.plist.

This is designed to allow OXP authors to more easily update existing equipment items without needing to copy the entire equipment.plist entry in order to do so. Also, it reduces the potential conflicts where two OXP's want to update the same equipment item. It doesn't solve the issue of two OXP's wanting to update the same properties of said equipment item - the last overrides file will still be the winner here, which is the same for the shipdata-overrides file.

The format of the equipment-overrides.plist is slightly different to the equipment.plist file by necessity. A sample file is shown, where some (but not all) of the core pulse laser properties are being updated:

Code: Select all

{
	"EQ_WEAPON_PULSE_LASER" = {
		techlevel = 7;
		price = 50000;
		short_description = "Laser Pointer";
		long_description = "A simple, all purpose (but weak) laser. Only useful for irritating pirates.";
		available_to_all = YES;
		weapon_info = {
			color = "whiteColor";
		};
	};
}
The biggest difference is that this is a dictionary of dictionaries file (similar to the shipdata-overrides.plist file), where the equipment key is the primary dictionary key. techlevel, price, short and long descriptions are now keys, along with all the other settings.

User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 1496
Joined: Thu Jun 20, 2013 10:22 pm

Re: Progress

Post by Redspear »

phkb wrote:
Tue Jul 02, 2019 4:11 am
Also, it reduces the potential conflicts where two OXP's want to update the same equipment item
Awesome :D
Thanks phkb... and thanks for the example too :wink:

With a bit of luck I might get to do some oxp updating soon.
"With our thoughts, we make the world" :-) - - - Game too slow for you? Masslock Compensators - - - Trouble getting out of trouble? Indestructible Injectors

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Just a quick note to let you know that there has been a visual improvement on the atmosphere shader. Now, when close to the planet, you can see a blue haze at the very edge of the atmosphere. 5000 words equivalent below (planets shown are Lave and Anlama):

Image
Image
Image
Image
Image

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Thanks to Commander_X, we now have the possibility to specify normal and specular maps for our custom planets in Oolite. The specular maps go into the normal maps' alpha channel and should represent seas as values close to 1.0 and land as values close to 0.0. To enable them in your planetinfo.plist, just use the key texture_normspec like this:

Code: Select all

texture_normspec = "gal-1-Lave_ns.png";

And you should get something like this:

Image

Image

Again, many thanks to Commander_X (and I am terribly sorry I forgot to credit you in commit 938d49e that got this feature in). :oops:

Commander_X
---- E L I T E ----
---- E L I T E ----
Posts: 401
Joined: Sat Aug 09, 2014 4:16 pm

Re: Progress

Post by Commander_X »

No worries! Happy to see this in!

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

In tomorrow's nightly...

Image

Image

Image

Illumination mapping on custom planets is now a thing. The illumination map should get embedded in the alpha channel of the planet's diffuse map. Low alpha values indicate high illumination and vice versa.

To see what this is all about first hand, this OXP will turn Lave into Earth. You should be able to see something akin to what is seen in the above screenshots. Use it with the nightly from commit 3b91106 or later.
https://drive.google.com/file/d/1AUqAPa ... sp=sharing

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

The city lights discusssion was split to its own topic in order to keep minimum clutter in the Progress thread.

another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 5639
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

There has been a sloght modification in our shaders recently, but unfortunately no nightly binary was generated for it yet. Planet, ships and atmosphere shaders can now define lightsource radiance and scene exposure multipliers. This enables better control of the lighting in the game although, at this first step, the values are hardcoded. Increasing the scene lighting has the immediate effect of making everything more visible and easily distinguishable (and probably more realistic, too).

The two macros controlling this are MULTIPLIER_LIGHTSRCRADIANCE and MULITPLIER_EXPOSURE. By default they are currently both set to 1.0 so you will not see any difference to what we had till now. But you can experiment with them and see how the lighting changes while those two are adjusted. Example below:


Default settings (MULTIPLIER_LIGHTSRCRADIANCE 1.0, MULITPLIER_EXPOSURE 1.0), same as we've always had until now:

Image


With MULTIPLIER_LIGHTSRCRADIANCE at 4.0 and MULITPLIER_EXPOSURE at 2.5 in both oolite-default-shader.fragment and oolite-default-planet.fragment. The lightsource (sun) now emits four times more light than before, while the increased exposure allows for more distinguishable details on the dark side of objects:

Image


Although there is currently no nighly build containing this change, you can easily download the new shaders from these links:
https://raw.githubusercontent.com/Oolit ... t.fragment
https://raw.githubusercontent.com/Oolit ... r.fragment
https://raw.githubusercontent.com/Oolit ... e.fragment
and copy them in the latest available nightly Resources/Shaders folder.

The multipliers are not limited. Setting the light source radiance too high will result in saturation of almost all colors. Use them wisely.

User avatar
Redspear
---- E L I T E ----
---- E L I T E ----
Posts: 1496
Joined: Thu Jun 20, 2013 10:22 pm

Re: Progress

Post by Redspear »

Awesome! I look forward to playing with this 8)
"With our thoughts, we make the world" :-) - - - Game too slow for you? Masslock Compensators - - - Trouble getting out of trouble? Indestructible Injectors

Post Reply