OK, I'm confused (yes, this happens a lot). Here's the shipdata.plist entry for a "Casteroid1"
Code: Select all
Casteroid1 = {
"ai_type" = "dumbAI.plist";
bounty = 10;
"cargo_type" = "CARGO_NOT_CARGO";
"debris_role" = astormBoulderC;
density = 5;
"energy_recharge_rate" = 0;
"likely_cargo" = 1;
"max_cargo" = 0;
"max_energy" = 100;
"max_flight_pitch" = "0.1";
"max_flight_roll" = "0.1";
"max_flight_speed" = 5;
missiles = 0;
model = "astormtiled01.dat";
name = Asteroid;
roles = "asteroid asasteroid";
"scan_class" = "CLASS_ROCK";
script = "AsteroidStormAsteroid.js";
smooth = YES;
thrust = 0;
};
Now, I'm very prepared to admit I'm not very good at modelling, but with the little knowledge I have, something seems to be missing here. The definition includes a model, "astormtiled01.dat". But I'm expecting there to be some reference to materials in order to specify the texture file and normal map. But there's nothing.
Looking at the astormtiled01.dat file, it references "asteroid.png", but I thought that was just a placeholder name that the materials section of the model uses to hook into. That is, I expected to see this:
Code: Select all
materials = {
"asteroid.png" = {
"diffuse_map" = {
name = "astorm09.png";
"repeat_s" = true;
"repeat_t" = true;
};
"normal_map" = {
name = "astorm12_normal.png";
"repeat_s" = true;
"repeat_t" = true;
};
"specular_map" = {
name = "astorm_specular.png";
"repeat_s" = true;
"repeat_t" = true;
};
shininess = 30;
};
};
But that definition doesn't appear in "Casteroid1". It's in "Casteroid1-demo". When I create a "Casteroid1" and a "Casteroid1-demo" in space, they look almost identical. But to my way of thinking, "Casteroid1" shouldn't get any texture at all. Or if it does get one, it should get the texture "asteroid.png", which is included in the core game.
To test this, I replaced "asteroid.png" with "asteroid_x.png" in the "astormtiled01.dat" file. And now, if I create a "Casteroid1" I get an un-textured blob.
So, here's what I think is happening: In space, when a "Casteroid1" is created, it will keep the "asteroid.png" reference in the .dat file, an apply the texture accordingly. However, because there is no specific materials definition for "Casteroid1", no texture is applied on a mission screen.
I'm still thinking about how to distill this down to a repeatable test.
[Edit to say] Well, that's not it. I'm really not sure what's happening now. My test OXP didn't do what I expected it to do. I think...