module Base
{
checkprop:	BaseDoor
	model VVA_Vehicles_[LABEL]_DoorRearLeft
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Door_RearLeft_[LABEL]_obj,
else
		mesh = vehicles/[FILENAME]|Door_RearLeft_obj,
end
		shader = vehicle_multiuv_noreflect,
		static = FALSE,
		scale = [SCALE],
 checkprop: DoorBone
  repeatprop: DoorBone
   		boneWeight = [DoorBone] 1.0,
  end
 else
  checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
  else
		boneWeight = RearDoor.L 1.0,
  end
 end
	}
	model VVA_Vehicles_[LABEL]_DoorRearLeft_nr
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Door_RearLeft_[LABEL]_obj,
else
		mesh = vehicles/[FILENAME]|Door_RearLeft_obj,
end
		shader = vehicle_norandom_multiuv_noreflect,
		static = FALSE,
		scale = [SCALE],
 checkprop: DoorBone
  repeatprop: DoorBone
		boneWeight = [DoorBone] 1.0,
  end
 else
  checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
  else
		boneWeight = RearDoor.L 1.0,
  end
 end
	}
end	
checkprop:	BaseWindow
	model VVA_Vehicles_[LABEL]_WindowRearLeft
	{
 checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Window_RearLeft_[LABEL]_obj,
 else
		mesh = vehicles/[FILENAME]|Window_RearLeft_obj,
 end
		shader = vehicle_multiuv_vva,
		static = [STATIC],
		scale = [SCALE],
 checkprop: WindowOpen
  checkprop: WindowBone 
   repeatprop: WindowBone
		boneWeight = [WindowBone] 1.0,
   end
  else
   checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
   else
		boneWeight = RearWindow.L 1.0,
   end
  end
 end
	}
end
checkprop: BaseWindowS
	model VVA_Vehicles_[LABEL]_WindowRearLeft_static
	{
 checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Window_RearLeft_[LABEL]_sobj,
 else
		mesh = vehicles/[FILENAME]|Window_RearLeft_sobj,
 end
		shader = vehicle_multiuv_vva,
		static = TRUE,
		scale = [SCALE],
	}
end

	repeat
checkprop: Door
	model VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Door_RearLeft_[LABEL][Postfix]_obj,
else
		mesh = vehicles/[FILENAME]|Door_RearLeft[Postfix]_obj,
end
		shader = vehicle_multiuv_noreflect,
		static = FALSE,
		scale = [SCALE],
 checkprop: DoorBone
  repeatprop: DoorBone
		boneWeight = [DoorBone] 1.0,
  end
 else
  checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
  else
		boneWeight = RearDoor.L 1.0,
  end
 end
	}
	model VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft_nr
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Door_RearLeft_[LABEL][Postfix]_obj,
else
		mesh = vehicles/[FILENAME]|Door_RearLeft[Postfix]_obj,
end
		shader = vehicle_norandom_multiuv_noreflect,
		static = FALSE,
		scale = [SCALE],
 checkprop: DoorBone
  repeatprop: DoorBone
		boneWeight = [DoorBone] 1.0,
  end
 else
  checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
  else
		boneWeight = RearDoor.L 1.0,
  end
 end
	}
end: checkprop: Door
checkprop: Window
	model VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Window_RearLeft_[LABEL][Postfix]_obj,
else
		mesh = vehicles/[FILENAME]|Window_RearLeft[Postfix]_obj,
end
		shader = vehicle_multiuv_vva,
		static = [STATIC],
		scale = [SCALE],
checkprop: WindowOpen
 checkprop: WindowBone 
  repeatprop: WindowBone
		boneWeight = [WindowBone] 1.0,
  end
 else
  checkprop:	Bones 
  	repeatprop: Bones 
		boneWeight = [Bones] 1.0,
	end
  else
		boneWeight = RearWindow.L 1.0,
  end
 end
end		
	}
checkprop: WindowS
	model VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft_static
	{
checkprop: LabelModels
		mesh = vehicles/[FILENAME]|Window_RearLeft_[LABEL][Postfix]_sobj,
else
		mesh = vehicles/[FILENAME]|Window_RearLeft[Postfix]_sobj,
end
		shader = vehicle_multiuv_vva,
		static = TRUE,
		scale = [SCALE],
	}
end
end: checkprop: Window

checkprop: Middle
	template vehicle VVA_[LABEL][Postfix]_MiddleLeftShared {
checkprop: Window,BaseWindow
		part WindowMiddleLeft
        {
checkprop: BaseWindow
			model Default
            {
            	file = VVA_Vehicles_[LABEL]_WindowRearLeft,
            }
end
checkprop: Window
			model Default
            {
            	file = VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft,
            }
end
checkprop: BaseWindowS
			model Static
            {
            	file = VVA_Vehicles_[LABEL]_WindowRearLeft_static,
            }
end
checkprop: WindowS
			model Static
            {
            	file = VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft_static,
            }
end
		}
checkprop: WindowOpen
		template! = VVA_WindowML,
end
end			
checkprop: Door,BaseDoor
		template! = VVA_DoorML_Common,
end
checkprop: Includes
repeatprop: Includes
		template! = VVA_[Includes],
end 
end
	}

	template vehicle VVA_[LABEL][Postfix]_MiddleLeft {
checkprop: Door,BaseDoor
		part DoorMiddleLeft
		{
			model Default
			{
checkprop: BaseDoor
				file = VVA_Vehicles_[LABEL]_DoorRearLeft,
else
				file = VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft,
end
			}
		}
end
		template! = VVA_[LABEL][Postfix]_MiddleLeftShared,
	}
	setflag: MiddleLeft
checkprop: Door,BaseDoor
	template vehicle VVA_[LABEL][Postfix]_MiddleLeft_nr {
		part DoorMiddleLeft
		{
			model Default
			{
checkprop: BaseDoor
				file = VVA_Vehicles_[LABEL]_DoorRearLeft_nr,
else
				file = VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft_nr,
end
			}
		}
		template! = VVA_[LABEL][Postfix]_MiddleLeftShared,
	}
	setflag: MiddleLeft_nr
end
end: checkprop: Middle

checkprop: Rear, !Middle
	template vehicle VVA_[LABEL][Postfix]_RearLeftShared {
checkprop: Window,BaseWindow
		part WindowRearLeft
        {
checkprop: BaseWindow
			model Default
            {
            	file = VVA_Vehicles_[LABEL]_WindowRearLeft,
            }
end
checkprop: Window
			model Default
            {
            	file = VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft,
            }
end
checkprop: BaseWindowS
			model Static
            {
            	file = VVA_Vehicles_[LABEL]_WindowRearLeft_static,
            }
end
checkprop: WindowS
			model Static
            {
            	file = VVA_Vehicles_[LABEL][Postfix]_WindowRearLeft_static,
            }
end
		}
checkprop: WindowOpen
		template! = VVA_WindowRL,
end
end			
checkprop: Door,BaseDoor
		template! = VVA_DoorRL_Common,
end
checkprop: Includes
repeatprop: Includes
		template! = VVA_[Includes],
end 
end
	}

	template vehicle VVA_[LABEL][Postfix]_RearLeft {
checkprop: Door,BaseDoor
		part DoorRearLeft
		{
			model Default
			{
checkprop: BaseDoor
				file = VVA_Vehicles_[LABEL]_DoorRearLeft,
else
				file = VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft,
end
			}
		}
end
		template! = VVA_[LABEL][Postfix]_RearLeftShared,
	}
	setflag: RearLeft
checkprop: Door,BaseDoor
	template vehicle VVA_[LABEL][Postfix]_RearLeft_nr {
		part DoorRearLeft
		{
			model Default
			{
checkprop: BaseDoor
				file = VVA_Vehicles_[LABEL]_DoorRearLeft_nr,
else
				file = VVA_Vehicles_[LABEL][Postfix]_DoorRearLeft_nr,
end
			}
		}
		template! = VVA_[LABEL][Postfix]_RearLeftShared,
	}
	setflag: RearLeft_nr
end
end: checkprop: Rear, !Middle
	endrepeat
}