diff --git a/Models/A320-200-CFM.xml b/Models/A320-200-CFM.xml
index 1b84119f..c035c3dc 100644
--- a/Models/A320-200-CFM.xml
+++ b/Models/A320-200-CFM.xml
@@ -30,10 +30,10 @@
livery_update.stop();
diff --git a/Models/A320-200-IAE.xml b/Models/A320-200-IAE.xml
index 3b56417d..8821af9a 100644
--- a/Models/A320-200-IAE.xml
+++ b/Models/A320-200-IAE.xml
@@ -29,10 +29,10 @@
livery_update.stop();
diff --git a/Nasal/Libraries/canvasLiv.nas b/Nasal/Libraries/canvasLiv.nas
index d900183b..9cef269e 100644
--- a/Nasal/Libraries/canvasLiv.nas
+++ b/Nasal/Libraries/canvasLiv.nas
@@ -38,7 +38,7 @@ var findTexByRes = func(path, file, maxRes) {
}
res = res / 2;
}
- logprint(LOG_WARN, "No suiting texture found", me.path);
+ print("No suiting texture found");
return nil;
};
@@ -60,12 +60,13 @@ var canvas_livery = {
},
setResolution: func(resolution) {
},
- createTarget: func(name, objects, property, resolution=4096) {
+ createTarget: func(name, objects, property, defLiv, resolution=4096) {
me.targets[name] = {
canvas: nil,
layers: {},
groups: {},
listener: nil,
+ defaultLiv: defLiv,
resolution: resolution,
};
maxRes = getprop("/sim/model/livery/max-resolution");
@@ -100,11 +101,16 @@ var canvas_livery = {
me.targets[name].canvas.addPlacement({"node": object});
}
me.targets[name].groups["base"] = me.targets[name].canvas.createGroup("base");
+ var livery = "";
resStr = findTexByRes(me.liveriesdir, getprop(property), resolution);
if (resStr == nil) {
- return nil;
+ livery = me.targets[name].defaultLiv;
}
- me.targets[name].layers["base"] = me.targets[name].groups["base"].createChild("image").setFile(me.liveriesdir ~ "/" ~ resStr ~ "/" ~ getprop(property)).setSize(resolution,resolution);
+ else
+ {
+ livery = me.liveriesdir ~ "/" ~ resStr ~ "/" ~ getprop(property)
+ }
+ me.targets[name].layers["base"] = me.targets[name].groups["base"].createChild("image").setFile(livery).setSize(resolution,resolution);
me.targets[name].listener = setlistener(property, func(property) {
resStr = findTexByRes(me.liveriesdir, property.getValue(), resolution);
if (resStr == nil) {
@@ -189,9 +195,14 @@ var canvas_livery_update = {
me.targets[name].canvas.addPlacement({"module-id": me.module_id, "type": "scenery-object", "node": object});
}
me.targets[name].groups["base"] = me.targets[name].canvas.createGroup("base");
+ var livery = "";
resStr = findTexByRes(me.liveriesdir, getprop(property), resolution);
if (resStr == nil) {
- return nil;
+ livery = me.targets[name].defaultLiv;
+ }
+ else
+ {
+ livery = me.liveriesdir ~ "/" ~ resStr ~ "/" ~ getprop(property)
}
me.targets[name].layers["base"] = me.targets[name].groups["base"].createChild("image").setFile(me.liveriesdir ~ "/" ~ resStr ~ "/" ~ getprop(property)).setSize(resolution,resolution);
me.targets[name].listener = setlistener("/ai/models/multiplayer[" ~ me.module_id ~ "]/" ~ property, func(property) {
diff --git a/Nasal/Libraries/libraries.nas b/Nasal/Libraries/libraries.nas
index 4e50653a..cfa1fe06 100644
--- a/Nasal/Libraries/libraries.nas
+++ b/Nasal/Libraries/libraries.nas
@@ -37,16 +37,19 @@ var tiresmoke_system = aircraft.tyresmoke_system.new(0, 1, 2);
aircraft.rain.init();
var aero = getprop("/sim/aero");
+var defaultFuseLiv = "";
if (aero == "A320-200-CFM") {
var livery = aircraft.canvas_livery.init("Models/Liveries/A320/CFM");
elements = ["EngineCFM56L","EngineCFM56R","ReverserLDoor1","ReverserLDoor2","ReverserLDoor3","ReverserLDoor4","ReverserRDoor1","ReverserRDoor2","ReverserRDoor3","ReverserRDoor4","PylonCFM56L","PylonCFM56R","IntakeCFM56L","IntakeCFM56R"];
- livery.createTarget("engines", elements, "sim/model/livery/texture-engine");
+ livery.createTarget("engines", elements, "sim/model/livery/texture-engine", "Aircraft/A320-family/Models/Liveries/A320/CFM/2k/SWR-engine.png");
livery.addLayer("engines", "dirt", "Aircraft/A320-family/Models/Liveries/A320/CFM/engine-dirt.png");
+ defaultFuseLiv = "Aircraft/A320-family/Models/Liveries/A320/CFM/4k/SWR-fuselage.png";
} else if (aero == "A320-200-IAE") {
var livery = aircraft.canvas_livery.init("Models/Liveries/A320/IAE");
elements = ["EngineIAEV2500L","EngineIAEV2500R","ReverserLDoor","ReverserRDoor","PylonIAEV2500L","PylonIAEV2500R","IntakeIAEV2500L","IntakeIAEV2500R"];
- livery.createTarget("engines", elements, "sim/model/livery/texture-engine");
+ livery.createTarget("engines", elements, "sim/model/livery/texture-engine", "Aircraft/A320-family/Models/Liveries/A320/IAE/2k/QTR-engine.png");
livery.addLayer("engines", "dirt", "Aircraft/A320-family/Models/Liveries/A320/IAE/engine-dirt.png");
+ defaultFuseLiv = "Aircraft/A320-family/Models/Liveries/A320/IAE/4k/QTR-fuselage.png";
} else if (aero == "A320neo-CFM") {
var livery = aircraft.canvas_livery.init("Models/Liveries/A320/CFM-NEO");
elements = ["EngineLEAPL", "EngineLEAPL.007", "EngineLEAPL.Inner", "EngineLEAPR", "EngineLEAPR.Inner", "Exhaust2LEAPL", "Exhaust2LEAPR", "Exhaust3LEAPL", "Exhaust3LEAPR", "IntakeLEAPL", "IntakeLEAPR", "PylonLEAPL", "PylonLEAPR", "ReverserLDoorLEAP", "ReverserRDoorLEAP"];
@@ -60,7 +63,7 @@ if (aero == "A320-200-CFM") {
}
var elements = ["AileronL","AileronR","Antenna1","Antenna2","ApuFlap","AvionicsVentDoor","Cargo1","Cargo2","Cargo3","DoorL1","DoorL4","DoorR1","DoorR4","ElevatorL","ElevatorR","EngineFairingL","EngineFairingR","FairingL1","FairingL2","FairingL3","FairingR1","FairingR2","FairingR3","FlapL1","FlapL2","FlapR1","FlapR2","Fuselage","GPUServiceDoor","Hstabs","MLGGearDoorL","MLGGearDoorR","MLGWingDoorL1","MLGWingDoorL2","MLGWingDoorR1","MLGWingDoorR2","NLGAftDoorL","NLGAftDoorR","NLGFittingPanel","NLGForewardDoorL","NLGForewardDoorR","OutflowValveDoor1","OutflowValveDoor2","RatDoorL","RatDoorR","Rudder","Sharklet","SlatL1","SlatL2","SlatR1","SlatR2","SpoilerL1","SpoilerL2","SpoilerL3","SpoilerL4","SpoilerL5","SpoilerR1","SpoilerR2","SpoilerR3","SpoilerR4","SpoilerR5","Wings","WingtipFence"];
-livery.createTarget("fuselage", elements, "sim/model/livery/texture-fuselage", resolution=16384);
+livery.createTarget("fuselage", elements, "sim/model/livery/texture-fuselage", defaultFuseLiv, resolution=16384);
livery.addLayer("fuselage", "dirt", "Aircraft/A320-family/Models/Liveries/A320/fuselage-dirt.png");
#########