EC130B4 Updates
===============

Highlights:
----------
 - new Splashscreen
 - Checklists implemented with conditional display
 - Mainrotor fully animated swashplate geometry adapted to original
 - Fenestron fully designed and animated, incl. control rod
 - Controls added: Stick, Collective, Pedals,  Co-Pilot Controls (optional)
 - Luggage compartments added
 - all doors movable
 - New Liveries:
     - Grand Canyon
     - Med Flight
 - Searchlight (optional):
     - detailed model
     - movable (elev, heading)
     - movable Filter
     - adjustable lightcone,
     - light overcast, ...
 - Snowshoes (optional)
 - Hoist/Hook (optional)
 - New integrated Configuration Dialog with special Help dialog
   - livery
   - Tank
   - Views
   - Weights
   - Interior: Seats configurable 5/6 passengers or rescue equipment
   - Equipment
 - additional views for each passenger, tail, rotor
 - Pilot: fully animated
 - Autostart/Autoshutdown enabled after 15 flights
 - Rotor-Wakes off-low-medium-high cyclable
   - visible only at daylight
 - Sound improved
    - sound inside depending on open doors
    - door open/close sound
    - splash if landing/touching on water
    - low/high rotor warning <360rpm >410rpm (screen+audible)
    - extreme sound alarm at overspeed > vne+20 = 175kts
 - Crash at overspeed > vne+45 = 200 kts
 - many new shortcuts
 - many new pick animations

Details:
-------
 - sounds copied from EC135, configuration adapted
 - some sounds from R44
 - Yasim: tailgear protects fenestron
 - Fenestron fuselage a bit less wide
 - Exhaust shorter and wider
 - Seats:
    - seat covers textured
    - rear seats higher
 - Collective Lever: Power clickable (upper/lower half +/-)
 - Pilot: shoesoles added
 - Windshield options: clear, visible (grey-tone), or shaded (glass-reflection)
 - Pilot Window animated (clickable ;-)
 - Shadow (optional):
   - half-transparent
   - only if Sun >10deg above horizon
 - Search Light
     - more detailed
     - light cone 4 steps normal, medium, large, xlarge
     - Filter animated
     - Light overcast
     - timed startup 4sec with message ...
     - Shutdowntime 2sec with message ...
     - Pause (inermediate Deactivation without Startup/Shutdown)
     - Click Animations:
        - Filter up/down
        - on/off
        - cycle focus/distance
        - pause
        - reset (heading,elevation, all)
 - Skibox Covers animated
 - Telescopes for doors

Liveries:
 - livery-PNGs moved to "Liveries" folder
 - Texture dark around mainrotor-mast
 - exhaust with realistic texture

 - D-HTLL (black)
    - left D-HTLL smaller (as on right side) (undone by HHS)
    - fix grey spot under Fenestron

 - FLIGHTGEAR
    - adapted and bugs fixed (but mostly undone by HHS)

 - HB-ZIN
    - adapted and bugs fixed (but mostly undone by HHS)

 - D-HSTS
    - taken from Livery-Download (WEB), and adapted

- N155GC Grand Canyon Heli
    - NEW

- N130NE MedFlight
    - NEW

- N11QC Blue Hawaiian
    - NEW

- F-GOLH private
    - NEW

- VH-OSA MAC rescue
    - NEW

- ZS-HOY Starlite
    - NEW

Models\ec130.nas:
 - removed
   --> necessary parts moved to Nasal\ec130.nas

Nasal/ec130.nas:
 - use sort for Liveries 
 - EC130 Logo
 - do not Connect power with fast Rotor (>300rpm)

ec130-checklists.xml
 - new implemented

ec130b4-set.xml:
 - neue Views
    - Co-Pilot
    - all Passengers
 - weight Passengers
 - checklist
 - Keyboard Shortcuts
    ---startup---
   - Alt-p   ... external power
   - AltGr-p ... toggle fuel-pump
   - Ctrl-e  ... Autostart
   - E       ... Autoshutdown
    ---flight---
   - Alt-g   ... toggle GSDI
   - Alt-c   ... toggle cutoff lever
   - r/R    ... Rotorbrake
   - t/T    ... direct trim
    ---doors---
   - d/D     ... toggle Pilot/Passenger Doors
   - AltGr-d ... toggle Pilot Window
   - Ctrl-d  ... toggle all Doors
   - Alt-d   ... toggle Luggage Doors
   - Alt-b   ... toggle Basket Covers
   - 1-4     ... toggle doors
    ---light---
   - l       ... toggle Landing-Light (L-Key)
   - L       ... toggle Searchlight (Timer)
   - s       ... cycle Searchlight Focus/Distance
   - S       ... pause Searchlight
   - Alt-s   ... toggle Searchlight Filter
   - j/j     ... rotate Searchlight right/left
   - k/K     ... rotate Searchlight down/up
   - Ctrl-k  ... reset Searchlight
    ---equipment---
   - F       ... toggle Floats armed
   - Alt-f   ... inflate/repack Floats
   - o/O     ... close/open Hook
    ---simulation---
   - AltGr-o ... Configuration
   - Alt-o   ... Simulation Options
   - Alt-k   ... cycle Rotor Wake Visibility

 - Autostart/Autoshutdown enable after 15 flights


scu.xml:
 - "FLT ARM" button effective for floats

Models\ec130b4.xml:
 - fix: position of GSDI
 - all doors movable clickable
 - tail rotor animated
 - tail disc animated
 - stick, collective animated
 - searchlight animated
 - baskets animated

ec130b4.ac:
 - "fuselage.016" renamed in "windowbr.002"
   --> wondowframe was assigned wrong
 - "frame2" renamed to "windowl.003"
 - backdoorl.002 (white fixing) move with door
 - doors moveable
 - slide door link upper
 - slide door hinge
 - mirror grey
 - many texture bugs fixed
 - Fenestron made new (based on ec135)
   - stator
   - blade
   - rotor_disc_T
 - Tail-Rotor Blades moveable like Dauphin
 - fix Pilot Door Inside
 - luggage compartments
 - flattened rear end
 - added grip at rear end
 - Pilotdoor/other doors less thickness
 - Searchlight detailed
 - Baskets split
 - luggage back added details inside
 - Hoist/Hook
 - Exhaust cut out
 - Exhaust pipe
 - rear gear tube added
 - gear rear end a bit longer

 - fixed according to HHS sketches
     - Tail texture
     - texture near roof to improve distortion
     - Exhaust longer higher
     - Exhaust pipe prolonged
     - sharp bend at front-tail pass

rotor.ac:
 - more realistic/detailed swashplate/control rods
 - lower swashplate redesigned
 - geometry according to original
 - cut rubber in 5 pieces for animation
 - change blade connection levers
 - rotorhead details

gsdi.ac:
 - added backside (black)

gsdi.xml
 - indicators don't leave box

left_float.xml:
right_float.xml:
 - pick animation for toggle inflate/repack

Wiki Images uploaded (Newsletter images NOT included):
[[File:EC130 Grand Canyon winter.jpg|thumb|EC130-B4 N155GC on a wintertime flight over Grand Canyon]]
[[File:EC130 Grand Canyon winter 2.jpg|thumb|EC130-B4 N155GC on a wintertime flight over Grand Canyon]]
[[File:EC130 Grand Canyon winter 3.jpg|thumb|EC130-B4 N155GC on a wintertime flight over Grand Canyon]]

[[File:EC130 HB-ZIN.png|thumb|EC130 HB-ZIN]]
[[File:EC130 HB-ZIN landed.png|thumb|EC130 HB-ZIN landed on a high place in Switzerland]]
[[File:EC130 KSFO.png|thumb|Usually helis are not supposed to land here, but it looks good (KSFO)]]
[[File:EC130 landed on top of Hohe Munde.png|thumb|landed on top of Hohe Munde above Telfs, near LOWI]]
[[File:EC130 MedFlight Alcatraz.png|thumb|Not sure if an EMS Heli is needed in Alcatraz]]
[[File:EC130 MedFlight Alcatraz 2.png|thumb|MedFlight EMS Heli in Alcatraz]]
[[File:EC130 MedFlight Samedan.png|thumb|a U.S. helicopter on tour in Samedan, Switzerland]]
[[File:EC130B4 near LOWI.jpg|thumb|climbing from LOWI, nice new Scenery 2.0]]

[[File:EC130 Matterhorn.png|thumb|EC130-B4 over Zermatt on the way to Matterhorn]]
[[File:EC130 Matterhorn landing.png|thumb|EC130-B4 trying to land near Matterhorn top]]

[[File:EC130 climbing above Kals Osttirol.jpg|thumb|EC130 helicopter on it's way to Grossglockner/Tirol/Austria flying above the village Kals/Osttirol]]
[[File:EC130 with most equipment.jpg|thumb|EC130 Eurocopter carrying most of the available equipment of upgraded version (FG 2.12/3.0)]]
[[File:EC130 heading for Grossglockner.png|thumb|approaching Grossglockner, highest mountain of Austria in a EC130 helicopter]]
[[File:EC130 in Hohe Tauern.png|thumb|EC130 flying in Hohe Tauern]]
[[File:EC130 on way to Grossglockner.png|thumb|EC130 flying high on it's way from Lienz/Osttriol to Grossglockner]]

[[File:EC130 Dolomiten.jpg|thumb|EC130 flying near Austrian Italian border, Dolomites in the background]]

[[File:EC130-B4 Blue Hawaiian at coast of Kalaupapa.jpg|thumb|EC130-B4 Blue Hawaiian at coast of Kalaupapa]]
[[File:EC130-B4 Blue Hawaiian near ship.jpg|thumb|EC130-B4 Blue Hawaiian with ship near Kalaupapa]]
[[File:EC130-B4 Blue Hawaiian floating.jpg|thumb|EC130-B4 of Blue Hawaiian Helicopters using floats]]

[[File:EC130-B4 F-GOLH Geneva.jpg|thumb|EC130-B4 F-GOLH on Geneva airport LSGG]]
[[File:EC130-B4 F-GOLH Lake Geneva.jpg|thumb|EC130-B4 F-GOLH landing in Lake Geneva with floats inflated]]

[[File:EC130-B4 MAC rescue 2.jpg|thumb|EC130-B4 of MAC rescue (South Australia)]]
[[File:EC130-B4 MAC rescue.jpg|thumb|EC130-B4 of MAC rescue (South Australia)]]

[[File:EC130-B4 ZS-HOY.jpg|thumb|EC130-B4 ZS-HOY Starlite Helicopters]]

To-Do:
-----
Prio 2
 - Hauptrotor Animation mit incidendce-deg
 - Netz in Luggage-Boxes
 - Innenraum Luggage NICHT strahlend
 - Rotor nach abstellen NICHT synchronisiert !
 - hoist/hook Animation
 - Livery in Configuration dynamisch integrieren
   hint: /sim/aircraft-dir ... aktuelles Verzeichnis
 - Hauptrotor Textur
 - Wake Farbe abhängig von Untergrund/Schnee
 - alternative Wakes prüfen
 - bigger luggage boxes (optional)

Prio 1 (Freigabe FG3.0)
 - PDF aktualisieren Mitarbeiter, etc.(HHS)


BUG:
Nasal runtime error: non-objects have no members
 at C:/FlightGear_212/data/Nasal/gui.nas, line 95
 called from: C:/Users/michael/Git/ec130/Nasal/ec130.nas, line 427
 called from: C:/Users/michael/Git/ec130/Nasal/ec130.nas, line 418
 called from: C:/FlightGear_212/data/Nasal/globals.nas, line 102

Analyse:
Problem mit Maus:
gui.nas line  97:      return args.getNode("cursor").getValue();
ec130.nas line 427:    gui.setCursor(me.centerx, me.centery);
ec130.nas line 418:    setlistener("/devices/status/mice/mouse/y", func(n) me.update(me.y = n.getValue()), 1);
globals.nas line 102: 99-109:
                        var setlistener = func(node, fn, init = 0, runtime = 1) {
                            if(isa(node, props.Node)) node = node._g;
                            var id = _setlistener(node, func(chg, lst, mode, is_child) {
                      -->       fn(props.wrapNode(chg), props.wrapNode(lst), mode, is_child);
                            }, init, runtime);
                            if(__.log_level <= 2) {
                                var c = caller(1);
                                printf("setting listener #%d in %s, line %s", id, c[2], c[3]);
                            }
                            return id;
                        }



