@Deepspace
Amazing work!
It's possible to swap different texture maps onto models using 'materials', here's a copy of the built in dodo station from oolite's shipdata.plist with a 'materials' entry already in it:
Code: Select all
"dodecahedron-station" =
{
ai_type = "stationAI.plist";
cargo_type = "CARGO_NOT_CARGO";
energy_recharge_rate = 100;
forward_weapon_type = "WEAPON_NONE";
frangible = 0;
has_ecm = yes;
has_escape_pod = no;
has_scoop = no;
/* The built in Dodo uses 3 different texture maps
Use 'materials' to swap these for your new one(s)
*/
materials =
{
"bottom_metal.png" = { diffuse_map = "my-new-texture-map.png"; };
"back_metal.png" = { diffuse_map = "my-new-texture-map.png"; };
"left_metal.png" = { diffuse_map = "my-new-texture-map.png"; };
};
max_energy = 25000;
max_flight_pitch = 8;
max_flight_roll = 8;
max_flight_speed = 0;
missiles = 0;
model = "new-dodo.dat";
name = "Dodecahedron Station";
port_radius = 392;
roles = "dodo dodec dodecahedron station oolite-dodecahedron-station";
rotating = yes;
subentities =
(
"dock-flat 0 0 392 1 0 0 1",
"*FLASHER* 0 92 360 60.0 1 -0.50 12",
"*FLASHER* 0 92 315 75.0 1 -0.60 12",
"*FLASHER* 0 92 270 90.0 1 -0.70 12",
"*FLASHER* 0 92 225 105.0 1 -0.80 12",
"*FLASHER* 0 92 180 120.0 1 -0.90 12",
"*FLASHER* 0 -92 360 60.0 1 -0.50 12",
"*FLASHER* 0 -92 315 75.0 1 -0.60 12",
"*FLASHER* 0 -92 270 90.0 1 -0.70 12",
"*FLASHER* 0 -92 225 105.0 1 -0.80 12",
"*FLASHER* 0 -92 180 120.0 1 -0.90 12",
"*FLASHER* 0 -16 144 30.0 1 0.5 12",
"*FLASHER* 0 16 144 30.0 1 0.5 12",
"*FLASHER* 16 0 144 30.0 1 0.0 12",
"*FLASHER* -16 0 144 30.0 1 0.0 12"
);
thrust = 100;
weapon_energy = 0;
};
It looks like the built in dodo model "new-dodo.dat" uses 3 different texture maps, the materials code allows you to swap them for new maps - in the example above they are all being swapped for the same new texture called "my-new-texture-map.png". Save the above code into the shipdata.plist file inside your deepspace.oxp
you could do the same for the coriolis like this:
Code: Select all
"coriolis-station" =
{
ai_type = "stationAI.plist";
cargo_type = "CARGO_NOT_CARGO";
energy_recharge_rate = 100;
forward_weapon_type = "WEAPON_NONE";
frangible = 0;
has_ecm = yes;
has_escape_pod = no;
has_scoop = no;
// Use 'materials' to swap the default textures for a new one
materials =
{
"back_metal.png" = { diffuse_map = "my-new-coriolis-texture-map.png"; };
"bottom_metal.png" = { diffuse_map = "my-new-coriolis-texture-map.png"; };
};
max_energy = 25000;
max_flight_pitch = 8;
max_flight_roll = 8;
max_flight_speed = 0;
missiles = 0;
model = "new_coriolis.dat";
name = "Coriolis Station";
port_radius = 500;
roles = "coriolis station oolite-coriolis-station";
rotating = yes;
subentities =
(
"dock-flat 0 0 500 1 0 0 1", // rotated 90 degrees
"arc-detail 0 0 0 1 0 0 0",
"arc-detail 0 0 0 1 0 0 1",
"arc-detail 0 0 0 0 0 0 1",
"arc-detail 0 0 0 1 0 0 -1",
"*FLASHER* 0 92 475 60.0 1 -0.50 12",
"*FLASHER* 0 92 425 75.0 1 -0.60 12",
"*FLASHER* 0 92 375 90.0 1 -0.70 12",
"*FLASHER* 0 92 325 105.0 1 -0.80 12",
"*FLASHER* 0 92 275 120.0 1 -0.90 12",
"*FLASHER* 0 -92 475 60.0 1 -0.50 12",
"*FLASHER* 0 -92 425 75.0 1 -0.60 12",
"*FLASHER* 0 -92 375 90.0 1 -0.70 12",
"*FLASHER* 0 -92 325 105.0 1 -0.80 12",
"*FLASHER* 0 -92 275 120.0 1 -0.90 12",
"*FLASHER* 0 -16 252 30.0 1 0.5 12",
"*FLASHER* 0 16 252 30.0 1 0.5 12",
"*FLASHER* 16 0 252 30.0 1 0.0 12",
"*FLASHER* -16 0 252 30.0 1 0.0 12"
);
thrust = 100;
weapon_energy = 0;
};