The order of the entities defined in the shipdata.plist doesn't matter - they are loaded into the game when the game loads, but only actually referenced when they are needed. Hence even if the template entity comes after the variant in the shipdata, both will be in memory when they are first called and so it doesn't really matter.mandoman wrote:I also SEE the difference in your first point, but don't understand it. In a shipdata.plist, doesn't the "like_ship" come BEFORE the ship it refers too? I'm staring at my shipdata.plist entry (one of them) right now, trying to see how what you are saying fits, and I don't see it. The way I use it LOOKS exactly like the same type of reference in "Behemoths" like_ship references. I'm missing something, I know. Behemoths defines two classes of Behemoth, but I notice it has models for sixteen ships. Each of those ships is given a "like_ship" reference to one of the two Behemoth types. I only have two ships, so far, and am working on a third, but it LOOKS like I did the same thing as done in "Behemoths" references. I'm getting dizzy. Okay, I'll study what you are saying, and try to understand, because I know you know the right of it. Sorry I'm so dense.
Basically what "like_ship = <myTemplate>" does is say go and find the entity labelled <myTemplate> and substitute all its keys into the variant entity (the one that contains the like_ship key). If there are keys of the same name in the variant entity then those take precidence over the like_ship ones (for example if the template ship has
name = "DreadNaught-Template";
and the variant has name = "DreadNaught Rudolph";
then the entity will use name = "DreadNaught Rudolph";
).In your case the variant was looking to take keys from a template called "dreadnaught-type1" (due to
"like_ship" = "dreadnaught-type1";
) but that entity isn't refined anywhere. Your template entity is defined as "Dreadaught Type 1" in the shipdata.plist.Remember computers and computer languages are dumb - I can tell when you said to go look for "dreadnaught-type1" that you meant it to use what you've defined as "Dreadaught Type 1", but your computer and Oolite can't. Simplest will be to change
Code: Select all
"Dreadaught Type 1" =
Code: Select all
"dreadnaught-type1" =
But as I said before, stick at it. I would expect quite soon you'll have a lightbulb moment and suddenly the mists will part and everything will become clear. I know it can be frustrating, but you're not doing too badly, you're getting closer to understanding I think.[/color]