Re: mission control
Posted: Wed Mar 04, 2015 3:07 pm
In interstellar space? I might have the wrong end of the stick, but it does carry on spawning 'things'.spara wrote:Does it just keep on running, possibly spawning new things?
For information and discussion about Oolite.
https://bb.oolite.space/
In interstellar space? I might have the wrong end of the stick, but it does carry on spawning 'things'.spara wrote:Does it just keep on running, possibly spawning new things?
Again, if you know the location in advance, you can override it in planetinfo. If not, you do have the option of overriding general interstellar space in planetinfo, and then manually calling the default function for anywhere you don't want to override - of course, that's incompatible with any other OXP wanting to do the same.spara wrote:Ok. Old skool methods then. How about repopulator in witchspace? I assume that it can't be overridden either. Does it just keep on running, possibly spawning new things?
Thank you for patiently answering my questions . I seem to have misunderstood you earlier as I though you meant overriding the populator in runtime. I get it now . However, it seems a bit harsh to take over the populator in planetinfo, so JS override would be nice. At least with scriptedMisjump. If taking over the populator would be tied to scriptedMisjump, it could act as a flag for OXPs that something big is going to happen in witchspace and maybe act accordingly.cim wrote:Again, if you know the location in advance, you can override it in planetinfo. If not, you do have the option of overriding general interstellar space in planetinfo, and then manually calling the default function for anywhere you don't want to override - of course, that's incompatible with any other OXP wanting to do the same.spara wrote:Ok. Old skool methods then. How about repopulator in witchspace? I assume that it can't be overridden either. Does it just keep on running, possibly spawning new things?
I'll keep thinking about providing JS overrides of interstellar space in time for 1.82. It should be possible.
Changing the populator is an automatic flag to OXPs - they all get out of the way, unless they've specifically arranged to also have something for your new populator function name. And if I can get it scriptable, you can do it inspara wrote:If taking over the populator would be tied to scriptedMisjump, it could act as a flag for OXPs that something big is going to happen in witchspace and maybe act accordingly.
shipWillEnterWitchspace
just fine. (There's some race condition potential with scriptedMisjump
in that function, as multiple OXPs can turn it on and off independently of each other in arbitrary sequence ... but if you're running stuff through the populator functions if you end up in the wrong place it should be possible to failsafe)Code: Select all
{
"interstellar space" = {
"populator" = "xsInterstellarSpaceWillPopulate";
"repopulator" = "xsInterstellarSpaceWillRepopulate";
};
}
Code: Select all
this.xsInterstellarSpaceWillPopulate = function() {
log("test", "populator");
}
this.xsInterstellarSpaceWillRepopulate = function() {
log("test", "repopulator");
}
Code: Select all
system.info.populator
system.info.repopulator
These don't give anything. Not in normal space or in interstellar space. Are these properties readable from system.info object as for example system.info.description works just fine?cim wrote:That looks like it should work. When there, what's the values ofin the debug console?Code: Select all
system.info.populator system.info.repopulator
system.info.<property>
(and with a few necessary exceptions, writable in regular space)Code: Select all
{
"interstellar space" = {
"populator" = "xsInterstellarSpaceWillPopulate";
"repopulator" = "xsInterstellarSpaceWillRepopulate";
};
"0 7" = {
"populator" = "xsInterstellarSpaceWillPopulate";
"repopulator" = "xsInterstellarSpaceWillRepopulate";
};
}
Code: Select all
> system.info.populator
xsInterstellarSpaceWillPopulate
> system.info.repopulator
xsInterstellarSpaceWillRepopulate
Code: Select all
> system.info.repopulator
> system.info.populator
Code: Select all
{
"interstellar space" = {
"populator" = "xsInterstellarSpaceWillPopulate";
"repopulator" = "xsInterstellarSpaceWillRepopulate";
};
}
There was a bug where if a property was only used in interstellar space, it would not be processed. That's fixed now, though there's more to do.spara wrote:The weird thing is that when I strip planetinfo.plist to thisAfter jumping to interstellar space logging functions stay dead and thargoids make sure that I'm shortly too.Code: Select all
{ "interstellar space" = { "populator" = "xsInterstellarSpaceWillPopulate"; "repopulator" = "xsInterstellarSpaceWillRepopulate"; }; }
Code: Select all
SystemInfo.setInterstellarProperty(0, 7, 55, 2, "populator", "customInterstellarSpaceWillPopulate");
SystemInfo.setInterstellarProperty(0, 7, 55, 2, "repopulator", "customInterstellarSpaceWillRepopulate");
Code: Select all
SystemInfo.setInterstellarProperty(0, 7, 55, 2, "populator", null);
SystemInfo.setInterstellarProperty(0, 7, 55, 2, "repopulator", null);
Code: Select all
16:57:20.580 [i.debug]: interstellar: 0 7 55