Let 'em Fly! Changes
====================

<1.12
-----
- Bitte lesen Sie die Anleitung LETEMFLY.TXT durch. Gehen Sie ber Los.
  Ziehen Sie aber keine DM 4000,- ein ...

1.12 (third official)
----
- Um innerhalb von form_do() eigene Tastendrcke verwalten zu knnen, ist 
  es nun mglich ber den Cookie-Jar eine User-Funktion zu installieren, 
  welche bei jedem Tastenevent aufgerufen wird.
- Als SPECIAL Keys gelten jetzt auch die Funktionstasten [F1]-[F10]. Diese 
  lassen sich aber nur ber die ExObTypes vergeben. Die eingebauten Alert-
  Boxen machen hiervon Gebrauch, d.h. die drei Tasten kann man jetzt 
  zustzlich mit [F1]-[F3] erreichen.
- Das VDI-Workstation Handling wurde komplett berarbeitet, somit gibt es 
  jetzt auch keine Probleme beim Auflsungswechsel mehr.
- Ebenso wurde das Clipboard-Handling berarbeitet. Das Clipboard wird 
  beim Ausschneiden von Texten vorher gelscht, auer man benutzt die neue 
  Funktion zum Anhngen von Daten, welche bei zustzlich gedrckter Shift-
  taste ausgelst wird. Weiterhin kommt Let 'em Fly! nun auch mit sog. 
  falschen Pfadangaben zurecht, d.h. ein Backslash ('\') am Ende der 
  Pfadangabe fr das Clipboard wird korrekt behandelt.
- Bei der direkten Cursorpositionierung wurde die Ausrichtung des Textes 
  nicht bercksichtigt. Seltsame Positionierungen sollten nun der Ver-
  gangenheit angehren.
- Wurde ber die ExObTypes ein UNDO oder HELP Objekt festgelegt, so wurde 
  das Objekt mit zwei Tasten (und auch zwei Strichen) belegt. Ist jetzt 
  behoben.
- Ist bei einem Objekt die '9' unterstrichen, so kann man dieses nun auch 
  ber [ALT]+'9' anwhlen (knnte vielleicht mal ganz ntzlich sein).
- Ein peinlicher Fehler bezgl. der Speicherverwaltung in der Icon-Lade-
  routine wurde beseitigt.
- Ein kleiner (aber durchaus bler) Tippfehler in der form_dial() Routine 
  wurde behoben. Bei der Verschachtelung von Dialogen konnte es Probleme 
  geben.
- In der form_keybd()-Routine wurde ein Work-Around fr die MyDials 
  (Interface) eingebaut. Vorher gab es Probleme beim Drcken von RETURN, 
  d.h. das richtige Objekt wurde selektiert, jedoch ein falsches wurde 
  zurckgegeben.
- Wurden zwei Dialoge mit der gleichen Adresse nacheinander abgearbeitet, 
  obwohl diese unterschiedlich waren (z.B. Dialog-Test in Interface), dann 
  hat Let 'em Fly! zwei Bomben geworfen. Ist nun auch behoben.
- Das Selektieren des DEFAULT-Objekts beim Drcken von RETURN wurde korri-
  giert. Es wird nun nicht mehr brute-force auf SELECTED-only gesetzt 
  (peinlich).

1.13 (never release '13'er versions ...)
----
- Den Underscores und dem Alert-Icon kann nun eine bestimmte Farbe zu-
  gewiesen werden. Bei der Farbzuweisung der Underscores wird nach den 
  Regeln des AES verfahren, d.h. ist ein Objekt SELECTED wird Bit 0 
  komplementiert.
- Durch diese Farbuntersttzung mute natrlich auch ein neues Konfigu-
  rationsprogramm her.
- Mit [ALT]+[Tab] bzw. [ALT]+[SHIFT]+[Tab] kann man nun das DEFAULT 
  Objekt innerhalb eines Dialogs 'verschieben'. Smtliche selektierbaren 
  G_BUTTONs werden dabei durchgegangen.
- Ohne [ALT] kann man jetzt auch die Shortcuts innerhalb der Alert-Boxen 
  erreichen.
- Man kann nun die rechte Maustaste fr den Flugmodus (normal/ durch-
  sichtig) umkonfigurieren, d.h. rechte Taste nicht gedrckt: durch-
  sichtig; Taste gedrckt: normal.
- Let 'em Fly! versucht jetzt immer erst TT-Ram zu allozieren. Dadurch 
  wird es natrlich noch etwas schneller.
- Die Flugroutinen wurden weiter optimiert. Boxen die grer als der 
  Bildschirm sind, knnen jetzt auch fliegen. Weiterhin brauchen die Werte 
  zum Saven des Bildschirms bei FMD_START nicht mehr genau sein. Wird 
  zuviel gesaved, so pat Let 'em Fly! die Koordinaten beim Flug an. Wurde 
  zuwenig gesaved, so wird der Dialog als flugunfhig angesehen.
- ber die ExObTypes (bzw. die nicht genutzten Flags) lassen sich nun auch 
  Dialoge flugunfhig machen. Das ist interessant, wenn das Programm mit 
  den fliegenden Dialogen nicht zurrechtkommt.
- Ebenfalls ist nun ber die ExObTypes ein 'Snap-in' Modus erreichbar. 
  Nach dem Fliegen rastet die Dialogbox wieder auf das ursprngliche Byte-
  Alignment ein.
- Da man z.B. bei Dialogboxen in Fenstern (-> Kontrollfeld) eine eigene 
  form_do() Routine schreiben mu, mute man bis jetzt auch immer auf die 
  Tastatur-Shortcuts von Let 'em Fly! verzichten. Nun sind zwei wichtige, 
  vorher nur interne Funktionen fr dieses Problem ber den Cookie an-
  sprechbar. Es handelt sich dabei um init_keys() (scannt den Dialog und 
  malt die Striche) und lookup_key() (gibt bei einem Tastendruck das 
  jeweilige Objekt zurck).
- Das wind_update() Verhalten bei den Alert-Boxen wurde verbessert, vorher 
  kam es immer etwas zu spt.
- Die form_error() Routine zeigt jetzt nur noch Fehler kleiner #64 an. Das 
  Original macht's genauso.
- Da sich bei AS-Overscan die Auflsung ohne Reset ndern kann, konnte es 
  bei eingeschaltetem 'Save Position' Probleme geben.
- Eine in V1.12 eingebaute Inkompatibilitt in der form_keybd() Routine 
  wurde entfernt. Das DEFAULT-Objekt mute auch EXIT sein, da ist beim 
  Original jedoch nicht der Fall.
- Let 'em Fly! liegt jetzt eine vernnftige Library bei. Somit sollte es 
  jetzt etwas einfacher sein die zustzlichen Features von Let 'em Fly! zu 
  nutzen.
- Nachdem ich in V1.11 bezgl. des GEMDOS Bugs von 'hoffentlich' 
  gesprochen habe (was sich natrlich nicht erfllt hat), ist das Ver-
  halten ab dieser Version tatschlich schner.
- Einen Fehler in der form_keybd() Routine entfernt. Trat aber nur unter 
  extremen Bedingungen auf.
- Der neuen appl_exit()-Routine fehlte seit der letzten Version etwas, 
  nmlich ein appl_exit() (was ja eigentlich auch der Sinn sein sollte). 
  Irgendwie ist diese Zeile verlorengegangen ...

1.14 (4th official)
----
- Versionsnummer vorsichtshalber auf 1.14 gendert ...
- Ein bichen an der Optik gefeilt.

1.15 (beta only)
----
- In der TOS 10/91 wurden auch neue Dialogroutinen vorgestellt. Natrlich 
  knnen sie Let 'em Fly! nicht das Wasser reichen, aber eine Idee fand 
  ich so gut, da ich sie auch in Let 'em Fly! verwirklicht habe. Es 
  handelt sich hier um die History-Funktion fr die editierbaren Felder. 
  Mit [CTRL]+[Csr up/down] kann man die History durchgehen, mit 
  [SHIFT]+[Csr up/down] kann man nach dem eben eingetippten String(anfang) 
  suchen lassen (s.a. Mupfel).
- [CTRL]+[V] fgt jetzt nicht mehr 'echt' ein, sondern lscht die Zeile 
  vorher. Der alte Modus ist weiterhin ber [CTRL][SHIFT]+[V] erreichbar.
- Um Zeichen zu erzeugen, die nicht so einfach ber die Tastatur einzugeben 
  sind, kann man in editierbaren Feldern (die alle Eingaben zulassen!) 
  ber [SHIFT]+[Insert] eine kleine Dialogbox mit den 'blen' Zeichen auf 
  den Bildschirm zaubern. Diese Funktion ist auch ber den Cookie-Jar 
  erreichbar.
- Klickt man auerhalb von Dialogboxen, so hat es vorher nur 'Pling' 
  gemacht, nun kommen die Dialogboxen zur Maus geflogen (Jumpin' Dials).
- Diese neue Flugroutine ist auch ber den Cookie erreichbar. Nebenbei gibt 
  es hier eine Mglichkeit nachzuprfen, ob der Dialog fliegen kann.
- Damit man in die Buttons 'reinfahren' kann, ist es nun mglich die Zeit 
  bis zum Fliegen einzustellen. Ausnahmen: ein Flugobjekt wurde definiert, 
  die di_fly()-Routine wurde ber den Cookie angesprungen.
- Neben den Strichen zum Kennzeichnen der Shortcuts, kann man jetzt den 
  Buchstaben farbig drucken lassen (geht natrlich nur in Farbe).
- ber die ExObTypes lt sich nun auch ein Flugobjekt festlegen. Kann die 
  Box nicht fliegen, so wird es von Let 'em Fly! gelscht.
- Eine sog. EXAPPLBLK-Struktur wird untersttzt. ber diese Struktur kann 
  Let 'em Fly! benutzerdefinierte Objekte untersttzen (z.B. runde Radio-
  Buttons).
- Die Tastenvergabe wurde weiter optimiert, sie geht jetzt durch vier (4) 
  Instanzen: 1.) Taste ber ExObType festgelegt? 2.) Default/Undo-Key (d.h. 
  erster Buchstabe)? 3.) Wortweise vergeben (d.h. immer der erste Buchstabe 
  eines Wortes). 4.) Suche ein beliebiges Zeichen (so wie frher auch).
- Ich glaube, der GEMDOS Bug verfolgt mich (mein Psychater kann mir leider 
  auch nicht helfen). Nun denn, ab dieser Version wird der Redraw beim 
  Lschen der Box an der richtigen Stelle und in der richtigen Gre 
  gesendet.
- In der obj_clsize()-Routine war ein kleiner Fehler enthalten: SHADOWED 
  Objects mit einer positiven Rahmendicke wurden falsch berechnet. Das hat 
  sich auch auf einige Dialoge ausgeweitet, da Let 'em Fly! ja nun selbst 
  die Objektgre berechnet.

1.16 (experimental version)
----
- In die Eingabefelder fr Datei- und Pfadnamen, knnen jetzt alle legalen 
  Buchstaben eingeben werden.
- Da ein String in die History nur dann eingefgt wird, wenn dieser auch 
  verndert wurde, kann man jetzt mit [CTRL]+[Return] den String im 
  aktuellen Eingabefeld 'manuell' einfgen.
- ber den Cookie-Jar kann man im eigenen Programm ebenfalls manuell 
  Strings in die History einfgen.
- Damit bei der manuellen Tastenvergabe (die ber den ExObType) die 
  Sondertasten nicht zustzlich mit einer normalen Taste belegt werden, 
  kann man dies nun durch setzen eines Flags verhindern.
- Let 'em Fly! ffnet jetzt berhaupt keine virtuellen Workstations mehr, 
  sondern speichert die Attribute der GEM-Workstation (nein, nicht die von 
  dem Synthesizer ...), die verndert werden.

1.17 (number five is alive)
----
- ber editierbaren Feldern wechselt der normale Maus-Cursor in einen Edit-
  Cursor. Geklaut vom Mac, bzw. aus den Dialog-Boxen von Markus Fritze 
  (please forgive me).
- Ein Doppelklick auf das/die Flugobjekt(e) re-centered die Dialogbox wieder. 
  (Diese Funktion ist auch ber den Cookie-Jar erreichbar)
- Anstelle der rechten Maustaste, kann man nun auch eine der Shifttasten 
  benutzen, um den Dialog durchsichtig zu machen.
- Ist in einem Dialog KEIN editierbares Feld vorhanden, so braucht man fr 
  die Shortcuts kein [ALT] mehr zu drcken. Dieses Verfahren galt vorher 
  nur fr die Alert-Boxen.
- Vor dem Bearbeiten der Dialogbox wird nun der Tastaturbuffer gelscht. 
  Das Original macht es anscheinend genauso.
- War ein Default-Button durch ein DISABLED `gefangen', so kann man ihn 
  jetzt mit [ALT]+[Tab] auch wieder `befreien'.
- Der Gong bei den Jumpin' Dials erklingt nur, wenn die TOS-Bimmel 
  eingeschaltet ist, d.h. man kann ihn auch nur so abschalten.
- Die Vergabe der Tasten nach 2 (s.o.) hatte noch einen kleinen Tenkfehler 
  in der Anzeige.
- Das Prfen der Flugfhigkeit wurde verfeinert. Es gibt jetzt drei 
  Returnwerte (nicht mglich, mglich im Sparmodus, uneingeschrnkt 
  mglich).
- Der ExObType 113 (0x71), der bei FormDoIt! untersttzt wird um die 
  KeyDials fr dieses Objekt auszuschalten, wird jetzt auch von 
  Let 'em Fly! supported. Vorher war dieser Wert nur im ROOT-Objekt gltig 
  (und schaltete so Let 'em Fly! komplett ab).
- Der Sparmodus beim Fliegen wurde komplett neu geschrieben und 
  funktioniert jetzt auch vernnftig (hoffe ich zumindest ...).


Known Bugs:
-----------

- Wird die Box durchsichtig gemacht und der ist Speicher knapp, dann kann 
  es sein, da sich die Box beim nchsten mal nicht mehr verschieben lt. 
  Tja, anscheinend ist das GEMDOS nicht immer in der Lage einen Block mit 
  der Lnge X zu free-en und danach wieder einen Block mit gleichem X zu 
  allozieren. Auch POOLFIX schafft hier keine Abhilfe.
