local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 16.216171264648, 17.050912857056, 11.61053943634, }, bbMin = { -21.30428314209, -17.050912857056, -0.13521492481232, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { -- body { id = "vehicle/plane/airbus_a320/lod_0_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_body_mat2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.6641, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_d2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12.8088, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_d1.msh", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 11.6641, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_d2.msh", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -12.8088, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_interior.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_rotor1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.009, 5.698, -1.4578+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_rotor1.msh", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 4.009, -5.698, -1.4578+3, 1, }, type = "MESH", }, -- front wheel { id = "vehicle/plane/airbus_a320_lod_0_front_wheel.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 11.5026, 0, -0.3497+3, 1, }, type = "GROUP", },{ id = "vehicle/plane/airbus_a320/lod_0_flap_front_left1.msh", transf = transf.rotZYXTransl(transf.degToRad(0,177.5,84), vec3.new(13.001, 0.4034, -1.0873+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_flap_front_left2.msh", transf = transf.rotZYXTransl(transf.degToRad(180,0,-60), vec3.new(11.6063, 0.4139, -1.1478+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_flap_front_left1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,177.5,84), vec3.new(13.001, 0.4034, -1.0873+3))), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_flap_front_left2.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,-60), vec3.new(11.6063, 0.4139, -1.1478+3))), type = "MESH", }, -- back wheels { id = "vehicle/plane/airbus_a320/lod_0_flap_back_left.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.3528, 0.1663, -1.4696+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_flap_back_left.msh", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.3528, -0.1663, -1.4696+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320_lod_0_back_wheel.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.3928, 3.7408, -0.2332+3, 1, }, type = "GROUP", },{ id = "vehicle/plane/airbus_a320_lod_0_back_wheel_strut.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.396, 1.9616, -0.437+3, 1, }, type = "GROUP", }, { id = "vehicle/plane/airbus_a320_lod_0_back_wheel.grp", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.3928, -3.7408, -0.2332+3, 1, }, type = "GROUP", },{ id = "vehicle/plane/airbus_a320_lod_0_back_wheel_strut.grp", transf = { 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -1.396, -1.9616, -0.437+3, 1, }, type = "GROUP", }, -- Aircraft rudders { id = "vehicle/plane/airbus_a320/lod_0_aileron_left.msh", transf = transf.rotZYXTransl(transf.degToRad(110.708,-6.02,89.584), vec3.new(-4.3902, 14.6651, 1.0659+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_aileron_left.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(110.708,-6.02,89.584), vec3.new(-4.3902, 14.6651, 1.0659+3))), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_elevator_left.msh", transf = transf.rotZYXTransl(transf.degToRad(109.324,-10.91,87.267), vec3.new(-19.1243, 3.56, 1.7768+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_elevator_left.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(109.324,-10.91,87.267), vec3.new(-19.1243, 3.56, 1.7768+3))), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left1.msh", transf = transf.rotZYXTransl(transf.degToRad(108.098,-5.854,88.091), vec3.new(-2.2627, 10.1174, 0.3957+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left2.msh", transf = transf.rotZYXTransl(transf.degToRad(90,-7.664,90), vec3.new(-1.3397, 4.838, -0.3603+3)), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(108.098,-5.854,88.091), vec3.new(-2.2627, 10.1174, 0.3957+3))), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_inboard_flap_left2.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(90,-7.664,90), vec3.new(-1.3397, 4.838, -0.3603+3))), type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_rudder.msh", transf = transf.rotZYXTransl(transf.degToRad(-180.001,-156.124,-179.992), vec3.new(-18.8526, 0, 6.3287+3)), type = "MESH", }, -- lights { id = "vehicle/plane/airbus_a320/lod_0_aft_light.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_anti_collision_strobo_bottom.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_anti_collision_strobo_top.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_navigation_light_left.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_navigation_light_right.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, { id = "vehicle/plane/airbus_a320/lod_0_logo_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0+3, 1, }, type = "MESH", }, }, events = { open_flaps = { [25] = { forward = true, name = "open", }, [27] = { forward = true, name = "open", }, [26] = { forward = true, name = "open", }, [28] = { forward = true, name = "open", }, }, close_flaps = { [25] = { forward = false, name = "open", }, [27] = { forward = false, name = "open", }, [26] = { forward = false, name = "open", }, [28] = { forward = false, name = "open", }, }, open_doors_left = { [3] = { forward = true, name = "opend1", }, [4] = { forward = true, name = "opend2", }, }, open_doors_right = { [5] = { forward = true, name = "opend1", }, [6] = { forward = true, name = "opend2", }, }, close_doors_left = { [3] = { forward = false, name = "opend1", }, [4] = { forward = false, name = "opend2", }, }, close_doors_right = { [5] = { forward = false, name = "opend1", }, [6] = { forward = false, name = "opend2", }, }, open_wheels = { [10] = { forward = true, name = "open", }, [11] = { forward = true, name = "open", }, [12] = { forward = true, name = "open", }, [13] = { forward = true, name = "open", }, [14] = { forward = true, name = "open", }, [15] = { forward = true, name = "open", }, [16] = { forward = true, name = "open", }, [17] = { forward = true, name = "open", }, [18] = { forward = true, name = "open", }, [19] = { forward = true, name = "open", }, [20] = { forward = true, name = "open", }, }, close_wheels = { [10] = { forward = false, name = "open", }, [11] = { forward = true, name = "close", }, [12] = { forward = true, name = "close", }, [13] = { forward = true, name = "close", }, [14] = { forward = true, name = "close", }, [15] = { forward = true, name = "close", }, [16] = { forward = true, name = "close", }, [17] = { -- backwheel_grp forward = true, name = "close", }, [18] = { forward = true, name = "close", }, [19] = { -- backwheel_grp forward = true, name = "close", }, [20] = { forward = true, name = "close", }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 8060, }, }, metadata = { airVehicle = { weight = 44000.0, maxPayload = 0, maxTakeOffWeight = 78000.0, maxThrust = 236000.0, idleThrust = 11800.0, timeToFullThrust = 3, wingArea = 122.6, topSpeed = 230.0, configs = { { axles = { "vehicle/plane/airbus_a320/lod_0_w2.msh", }, wheels = { "vehicle/plane/airbus_a320/lod_0_w1.msh", }, elevator = { ids = { 38, 39 }, maxAngle = 20 }, aileronLeft = { ids = { 36 }, maxAngle = 30 }, aileronRight = { ids = { 37 }, maxAngle = 30 }, flaps = { -- TODO, fixit ids = { 40, 41, 42, 43 }, maxAngle = 35 }, rudder = { ids = { 44 }, maxAngle = 30 } } } }, availability = { yearFrom = 3000, yearTo = 3000 }, cost = { price = -1 }, description = { name = _("Airbus A320"), description = _("Technically, the name A320 only refers to the original mid-sized aircraft, but it is often informally used to indicate any of the A318/A319/A320/A321 family.") }, maintenance = { runningCosts = -1, lifespan = 50 }, transportVehicle = { carrier = "AIR", capacities = { { type = "PASSENGERS", capacity = 150, -- wikipedia } }, loadSpeed = 7, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(13.15, 0.8, 0.0)), crew = true}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(13.15, -1.05, 0.0)), crew = true}, --passangers } }, soundConfig = { soundSet = { name = "aircraft_jet_modern" } } }, } end