Page 1 of 2

Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 3:32 pm
by Mauiby de Fug
Commanders might recognise this as the shipyard known for constucting a certain ship. If one renames the planet Xeer through a theoretical OXP to, say Mauiby's World, and one begins a particular quest in Galaxy 1, then we are told that the ship has been taken from "our ship yard on Mauiby's World". If one begins said quest in Galaxy 2, however, then the ship went missing from "Xeer Shipyards", which no longer exist.

Also, if one starts the mission in Galaxy 1, and then installs the theoretical rogue oxp, one has an instruction to hunt for the ship stolen from Xeer, but Xeer again no longer exists.

The technical reason for this as I understand it is that in Galaxy 1 the missiontext expands the planet names on the fly from %Jxxx. This method only works within the galaxy one is resident in, and so for Galaxy 2 this is hardcoded to "Xeer". And in the other example given, the save file loads the original instruction, which had checked the name of the planet to begin with, but there are no further checks performed.

Is Xeer being used as an adjective here, describing the location of the shipyard? Or is it part of the name, "Xeer Shipyards", which happened to take the name from the old name of the planet?

Also, should there be checks to make sure that a core mission cannot be compromised/confused in such a way, or should we assume that nobody would write such an oxp?

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 3:41 pm
by spara
Interesting. Is the renaming done via plist or script? If via script, I wonder if it is even possible to rename a system that's in a different G.

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 3:43 pm
by Cody
There are two Xeers - the other is in the Seventh. Curiously, both are inhabited by large yellow bug-eyed frogs!

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 3:57 pm
by Mauiby de Fug
The entirety of my test oxp was a single planetinfo.plist:

Code: Select all

{
	"0 150" = {
		name = "Mauiby's World";
	};
}
I was merrily drinking whisky last night and had the bizarre idea to write some Oolite haikus. And I couldn't remember what all of the core missions were, so I went looking around in the Resources folder, where I promptly got sidetracked, and as I have unexpectedly been given a couple of days off workdue to the "unexpected adverse weather", I thought I'd do a test to see if I was right and could still understand it all.

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 5:41 pm
by spara
Now I see your point. It's written into the missiontext and it's indeed handled differently depending on the chart you're in. Protecting Xeer from name change does not seem like a good idea. A better solution would be expanding %Jxxx to include chart too.

Or simply fix the mission by hardcoding it to Xeer everywhere. "Xeer Shipyards" is just a flavor name, right?

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 6:00 pm
by another_commander
One idea which I have not fully considered yet, but here goes as brainstorming material. Maybe we could introduce the %GXXX operator in string expansion, which would set the galaxy number considered for any following planet string expansions in the same string. So, this would become something like "stolen from the %G000%J150 shipyards" for all mission descriptions. This way we would not be introducing any changes to existing scripts and still be abe to switch reference galaxy numbers, up to a theoretical max of 999 different galaxies.

I'll try to check for feasibility once I get a chance.

Edit: The %G000%J150 thing proved to be a tough nut,but the new format %G150000 seems to do it. The %G modifier is an extension of the %J one and takes 6 digits after it. The first three are the planet number, just like %J and the remaining three are the galaxy number. %G150000 means: planet 150, galaxy 000 -> Xeer. Will do some more testing and if no issues occur, I will update the nightly with the fix.

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 9:32 pm
by Cody
another_commander wrote: Thu Mar 01, 2018 6:00 pm
... up to a theoretical max of 999 different galaxies.
That'd be some round trip!

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 9:59 pm
by Mauiby de Fug
another_commander wrote: Thu Mar 01, 2018 6:00 pm
One idea which I have not fully considered yet, but here goes as brainstorming material. Maybe we could introduce the %GXXX operator in string expansion, which would set the galaxy number considered for any following planet string expansions in the same string. So, this would become something like "stolen from the %G000%J150 shipyards" for all mission descriptions. This way we would not be introducing any changes to existing scripts and still be abe to switch reference galaxy numbers, up to a theoretical max of 999 different galaxies.

I'll try to check for feasibility once I get a chance.

Edit: The %G000%J150 thing proved to be a tough nut,but the new format %G150000 seems to do it. The %G modifier is an extension of the %J one and takes 6 digits after it. The first three are the planet number, just like %J and the remaining three are the galaxy number. %G150000 means: planet 150, galaxy 000 -> Xeer. Will do some more testing and if no issues occur, I will update the nightly with the fix.
I thought that some kind of galactic expansion would be the logical solution, but had naïvely assumed that it would have been already coded had it been possible and so did not think to suggest it. Shows why one should not assume! Anyways, good going on the quick response!


Cody wrote:
another_commander wrote: Thu Mar 01, 2018 6:00 pm
... up to a theoretical max of 999 different galaxies.
That'd be some round trip!
Smivs wrote: Fri Feb 25, 2011 11:14 am
On the evening of February 24th (Earth Calendar) Commander Smivs in a specially adapted Anaconda* set an Ooniversal record time for a Pan-Galactic Non-Stop Round Trip from Lave in Galaxy 1 through all eight Galaxies and back to Lave. This was the first time this feet feat had ever been attempted, and was a complete success.

The time set was 35 minutes 29 seconds. Commander Smivs was mass-locked a couple of times during the attempt and used a Docking Computer upon his return to Lave, leading him to believe that this time could be shortened considerably.

A pictorial record of the attempt was made for verification.

*The Anaconda was equipped with a Galactic Hyperdrive, seven GalDrivePods, Fuel Injectors and a Docking Computer.
It'd have to be one hell of a ship to attempt this style of record with that many galaxies!

Re: Where are Xeer Shipyards?

Posted: Thu Mar 01, 2018 10:05 pm
by Cody
Without OXP assistance, it took me 8 days, 6 hours, 13 minutes (shiptime).

Re: Where are Xeer Shipyards?

Posted: Fri Mar 02, 2018 11:03 am
by another_commander
Pull Request #290 is up on GitHub. The %G###### operator is introduced and applied in the missiontext strings "constrictor_hunt_brief1b" and "constrictor_hunt_info1b" to showcase its functionality. Feel free to test and, if all OK, we could push it to the mainline soon.

Note about number of galaxies: Current game supports up to 8, so you will not be able to add more by OXP. However, the design of the %G operator allows us to keep it unchanged in case we ever decide to enable support for more galaxies.

Re: Where are Xeer Shipyards?

Posted: Tue Mar 06, 2018 10:23 am
by another_commander
The %G###### text expansion operator has been added to master. Check out tomorrow's nightly.

Re: Where are Xeer Shipyards?

Posted: Wed Mar 02, 2022 9:42 pm
by Cholmondely
Mauiby de Fug wrote: Thu Mar 01, 2018 3:57 pm
The entirety of my test oxp was a single planetinfo.plist:

Code: Select all

{
	"0 150" = {
		name = "Mauiby's World";
	};
}
Have you written any other oxp's?

Re: Where are Xeer Shipyards?

Posted: Thu Mar 03, 2022 5:25 pm
by Mauiby de Fug
Cholmondely wrote: Wed Mar 02, 2022 9:42 pm
Have you written any other oxp's?
Well, I'd hardly call this an oxp - it was more about highlighting a possible bug in a core mission, which as you can see was promptly fixed. The closest I got to an actual oxp were my Wormhole Drones. Very useful when playtesting some of the mission oxps that were being developed at the time.

See https://bb.oolite.space/viewtopic.php?f=2&t=8912 and https://bb.oolite.space/viewtopic.php?f=4&t=9242 for details. I genuinely don't remember what I've actually implemented, but I believe it should still be functional.

Re: Where are Xeer Shipyards?

Posted: Thu Mar 03, 2022 5:51 pm
by Cholmondely
Mauiby de Fug wrote: Thu Mar 03, 2022 5:25 pm
Cholmondely wrote: Wed Mar 02, 2022 9:42 pm
Have you written any other oxp's?
Well, I'd hardly call this an oxp - it was more about highlighting a possible bug in a core mission, which as you can see was promptly fixed. The closest I got to an actual oxp were my Wormhole Drones. Very useful when playtesting some of the mission oxps that were being developed at the time.

See https://bb.oolite.space/viewtopic.php?f=2&t=8912 and https://bb.oolite.space/viewtopic.php?f=4&t=9242 for details. I genuinely don't remember what I've actually implemented, but I believe it should still be functional.
Thanks. At first glance it seems a tad similar to the Jump Planner in Okti's Long Range Scanner (he uses a LongRange Cobra to similar effect). The problem is remembering not to smash into his Cobra when one arrives at the final destination.

Jolly useful for testing!

Any great ideas about developing anything else?

Re: Where are Xeer Shipyards?

Posted: Thu Mar 03, 2022 7:58 pm
by Switeck
A bit of OXP trivia...

There sort-of is a Xeer Shipyard if you have Galactic Navy OXP installed -- it has a base at Xeer (the one in Galaxy Chart 1), complete with a few ships guarding it.

From what I've heard, it is rather dangerous to be near that if you have a large bounty...