History-File fuer POVShell v1.11

Dieses File enthaelt alle Aenderungen der Shell, wann und wo sie
getaetigt wurden.

1.11 02.12.1993:
   - Da ich dieses Programm auf einem Falcon entwickele und meinen
     alten Mega ST schon ganz lange nicht mehr an hatte (wieso auch?)
     sind mir einige Fehler ueberhaupt nicht aufgefallen, da das neue
     TOS des Falcon anscheinend ziemlich fehlertolerant ist.
     Gluecklicherweise hat mir Gerrit Gehnen eine Mail geschickt und
     mir gesagt, dass POVShell auf seinem TT ueberhaupt nicht so recht
     funktionieren mag. An dieser Stelle deshalb vielen Dank an ihn.
   Verbesserungen:
   - die Verwaltung der Fensterroutinen wurde in wesentlichen Punkten
     geaendert. Wenn ein Fenster geschlossen wird, so wird nun dessen
     Fenster-Handle wieder freigegeben und beim erneuten Oeffnen des
     Fensters ein neues beantragt.
     Dadurch kommt es auch auf TOS-Versionen <= 2.06 zu keinen eng-
     paessen mit den Fenster-Handles mehr und das Problem, wenn ein
     nachgeladenes Programm einen wind_new Aufruf macht ist damit auch
     geloest.
   - des weiteren sind noch einige kleinere Fehler entfernt worden,
     die TOS >= 4.01 zwar nicht stoerten, aber alte Versionen doch
     ganz erheblich.
   ausgemerzte Fehler:
   - wenn ein Menueeintrag angewaehlt wurde und sich darunter ein Touch-
     exit-Objekt in einem nichtgetoppten Fensterdialog befand, wurde
     dieses abgearbeitet. Es kam zu sehr schoenen Ereignissen, die dann
     letztlich zum Absturz fuehren konnten. (01.12.1993)
   - Fehler in der Fensterverwaltung behoben, der auf nicht Falcons zum
     Absturz fuehrte. In bestimmten Faellen wurde das Fenster getoppt
     und danach trotzdem noch ein wind_open gemacht. Das hat den Falcon
     nie gestoert und ich habe ihn deshalb nicht bemerkt. Vielen Dank
     geht darum an Gerrit Gehnen, der mir das und noch viel mehr mitge-
     teilt hat. (29.11.1993)
   - beim Verlassen des Programms wurde auch bei schon geschlossenem
     Fenster ein wind_close durchgefuehrt. Dies fuehrte ebenfalls zu
     abstuerzen und zu netten Alert-Boxen unter WINX. (01.12.1993)
   - wenn man ein Info-File laden wollte, das nicht vorhanden war, so
     wurden alle Fenster geschlossen und konnten nicht mehr geoeffnet
     werden. (29.11.1993)
   - wenn man den Editor oder den Graphik-Editor nachlaedt, finden diese
     nun auch immer ihre RSC-Dateien. Der aktuelle Pfad wird einfach auf
     deren Verzeichnisse gesetzt. (22.11.1993)
     Ein wahrer Dankesstoss geht deshalb an Gryf (Thomas Binder).
   - Des weiteren wird der Bildschirm restauriert, wenn man ein Programm
     verlsst, das einen eigenen Desktop angemeldet hatte. (22.11.1993)
   - es wurde ein kleiner Fehler beim RSC-Datei laden ausgebaut. Wenn man
     den Desktop in einer Spracheinstellung hatte, fuer die es keine RSC-
     Datei gab, wurde gar keine geladen. Jetzt wird dann per Default die
     Englische geladen. (22.11.1993)

1.10 21.11.1993:
   Neuerungen:
   - es gibt jetzt zwei weitere Dialogboxen.
     Zum Ersten gibt es eine Box, in der man die internen Einstellungen
     fuer POVRay2.0 vornehemen kann, d.h die Werte fuer die Bounding-Slabs
     und die Symbol-Tabelle. (17.11.1993)
   - Zum Zweiten unterstuetzt nun die Shell die Faehigkeit von POVRay 2.0,
     Animationen zu erstellen. Dafuer gibt es einen weiteren neuen Dialog.
     In ihm kann man eine ganze Animationssequenz bestimmen, d.h. man kann
     angeben, wo der Wert der 'clock'-Variablen beginnt, wo er endet und
     in welchen Schritten der Wert erhoeht werden soll.
     Das Ausgabe-File hat dann das Format '_____xxx'. In 'xxx' steht die
     Nummer des Bildes, deren Startwert man bestimmen kann. (21.11.1993)
   Verbesserungen:
   - wenn POVRay2.0 benutzt wird, so wird als zusaetzlichen Include-Pfad
     der Pfad des Scene-Files uebergeben. POVRay findet so auch die
     Includes die dort gespeichert sind. (15.11.1993)
   - Implementierung einer eigenen Routine, die die Menueshortcuts sucht.
   ausgemerzte Fehler:
   - oh oh, ein ganz ganz dicker und gemeiner Hund. Beim Einbauen von
     neuen Schaltern und beim Starten von POVRay stuerzte es ab und
     wenn nicht, dann stuerzte die Shell ab oder es ging alles gut.
     Jedenfalls konnte ich dieses Verhalten nicht nachvollziehen. Wenn
     mehr Schalter uebergeben wurden, wuchs die Wahrscheinlichkeit des
     Absturzes.
     Nach gut 2 Studen intensivsten Debugging fand ich dann den Fehler
     in der ARGV-Routine, die lustigerweise der original Atari-Doku
     entstammt. Beim Kopieren des Teils des Environments der noch in
     den ersten 126 Zeichen der Cmd-line erscheinen sollte, wurde die
     Zaehl-Variable nicht erhoeht und somit ueber 126 Zeichen hinaus,
     in nicht zulaessigen Speicherbereich, geschrieben. Dieser Fehler
     ist noch ein Erbe der 1.0 Version :-( (18.11.1993)
   - wenn beim Starten von POVShell ein altes Info-File geladen wurde,
     stuerzte die Shell ab, da die Rsc-Datei zu diesem Zeitpunkt noch
     nicht geladen war und der String auf NULL zeigte. (17.11.1993)
   - kleinen Fehler in der Pfade-Box ausgebaut. Es wird nun auch beim
     Einstellen des Pfades fr den Text- oder Graphik-Editor der alte
     Programmname eingetragen. (13.11.1993)

1.1 09.11.1993:
   ausgemerzte Fehler:
   - bei modalen Dialogboxen konnte der DEFAULT-Button nicht mit der
     Tastatur bedient werden (ich hatte einfach vergessen MU_KEYBD
     auszuwerten. Na sowas!). (06.11.1993)
   - der Cursor wird nun auch korrekt angeschaltet, wenn man die
     Scroll-Felder bedient oder den 'Setzen'-Button anklickt.
     (Ich kann nur hoffen, dass nun saemtliche Edit-Objekte und deren
     Cursor funktionieren. Ich kann Cursor nicht mehr sehen.) (07.11.1993)
   - wenn man eine Dialogbox mit Checkboxen die disabled sind verschiebt
     und auf best. Koordinaten des Desktops landet (beide gerade/ungerade)
     kam es vor, dass die Kreuze verschwanden. (07.11.1993)
     (dumme Sache: wie ich erst spaeter bemerkte, ist der Fehler nur im
     Scene-Auswahl-Dialog weg. Der Qualitaets-Dialog braucht wieder andere
     Koordinaten. Das ganze ist sowieso sehr dubios!!!)
   - die Menueleiste wird nun abgeschaltet, wenn ein Programm nachgeladen
     wird. Der Effekt, dass noch Reste der Leiste da sind, wenn man beim
     Nachladen eines Progs. reinfaehrt ist damit behoben. (09.11.1993)

1.1 01.11.1993:
   Verbesserungen:
   - es sind jetzt auch die Ueberschriften bei der Dateiauswahlbox
     multilingual. (30.10.1993)
   ausgemerzte Fehler:
   - wenn man den Fenster-Closer drueckt, werden die Variablen nun
     immer ausgelesen. Durch eine EXTERN-Declaration habe ich den
     neu hinzugekommenen Parameter vergessen. (01.11.1993)
   - Der Cursor wird jetzt richtig abgeschaltet, wenn man eine modale
     Dialogbox aufruft. (01.11.1993)
   - Des weiteren erscheint der Cursor wieder an der richtigen Stelle,
     wenn man ein normales Objekt anklickt, das Fenster wechselt und
     wieder zurueckwechselt. (01.11.1993)

   Allerdings bin ich heute noch nicht dazu gekommen, die folgenden
   Fehler auszubauen:
   - wenn man den Scroller so drueckt, dass sich der Pfeil-Zustand
     aendert, wird der Cursor nicht wieder angeschaltet.
   - genauso ist es, wenn man den 'Setzen'-Button anklickt.

1.1 27.10.1993:
   - nach meiner Pruefung habe ich wieder ein wenig mehr Zeit gefunden
     an der Shell weiterzuschreiben. Deshalb hat sich auch seit der
     letzten Version sehr viel getan. Ca. 60% des Codes wurden voellig
     neu geschrieben. Neben vielen Optimierungen gibt es auch eine
     Reihe voellig neuer Eigenschaften. Deshalb habe ich mich dazu
     entschlossen, dass POVShell von nun an ein Shareware-Programm ist.
     
   Neuerungen:
   - die wichtigeste Neuerung ist, dass nun modale und nichtmodale
     Dialogboxen unterstuetzt werden.
     (leider gibt es hier noch ein paar ungeloesete Probleme, deshalb ist
     es auch vorerst nur eine Beta-Version.)
   - POVShell wertet beim Programmstart die Spracheinstellung des Desktops
     aus und laedt in dessen Abhaengigkeit die Rsc-Datei der entsprechen-
     den Sprache oder als Default die Englische.
   - Es wird das DRAGDROP-Protokoll zwar nicht unterstuetz, aber es wird
     die Meldung des nichtunterstuetzens (DD_NAK) zurueckgeschickt.
   Verbesserungen:
   - durch das Einfuehren von Fensterdialogen, konnte die Benutzerfuehrung
     in wesentlichen Punkten verbessert werden.
   - es gibt nun einen Hauptdialog, der bei Programmstart geoeffnet
     wird. In ihm koennen alle Einstellungen bequem ausgewaehlt werden.
   - Es wurden saemtliche Pfadeinstellungen in die Pfade-Box verlegt.
     Deshalb ist die POVSHELL-Pfade-Box weggefallen.
   - das File-Handling (Info laden/sichern) wurde stark verbessert.
   - kleine optische Verbesserungen
   ausgemerzte Fehler:
   - beim Abspeichern oder Laden des Info-Files wird nun der korrekte Pfad
     angezeigt.

1.02 17.08.1993:
   - seit der v1.01 ist sehr viel Zeit vergangen. Eigentlich sollte
     die naechste Version die 1.1 sein in der dann die Dialoge im
     Fenster liegen usw. Leider habe ich beim Raytracen noch einige
     (viele) kleinerer und groesserer Fehler gefunden und nach ein
     paar Anrufen mich dazu entschlossen meine zerhackstueckelte
     Version 1.01 wieder zusammenzubauen und die Fensterverwaltung
     ausgeschaltet (Die tut es noch nicht so ganz). Den Code gibt's
     deshalb noch nicht (sieht furchtbar aus).

   Neuerungen:
   - es wurde die Moeglichkeit eingebaut, einen Text-Editor sowie
     einen Graphik-Editor aufzurufen. Ihnen werden jeweils das
     Scene-File oder das Bild-File uebergeben. Getestet mit 'PC'
     und 'GEMVIEW'. Sollte mit allen Programmen funktionieren.
   ausgemerzte Fehler:
   - der schlimmste Fehler war, dass wenn die Pfade-Box nicht aufge-
     rufen wurde, als File-Name '12345678' eingetragen wurde. Das
     lag daran, dass die Var. die den Name beinhaltete erst beim
     Oeffnen der Box initialisiert wurde. (03.07.1993)
   - beim Click auf 'Schatten' in der Qualitaets-Box wurde der RButton
     immer auf 'Oberflaechen' gesetzt. Ich hatte ein BREAK vergessen.
     (30.07.1993)
   - wenn im Pfade-Dialog der Pfad feur das Scene-File zulang war,
     wurde der darauffolgende Dialogtext geloescht. (05.08.1993)
   - wenn Antialiasing eingeschaltet ist, wurde die Kommandozeile
     unterbrochen, wegen falschem Variablennamen.
     
1.01 16.06.1993:
   - Was habe ich gedacht? Die Shell ist fehlerfrei. Na ja - fast!
   - im Modul 'DIALOG.C' wurde in ausgabe_dialog ein kleiner Bug
     entfernt.
   - Im Modul 'POVSHELL.C':
     bei Parameter sichern wird als Endung '.INF' angehaengt, falls
     keine angegeben war.
   - Desweiteren wurde ein Schalter eingebaut, der es erlaubt ein
     schon Teilweise berechnetes Bild weiterrechnen zu lassen. Dies
     war bisher schon immer der Fall, jedoch kann man diese Option
     jetzt ausschalten, um das Bild von vorne neu zu berechnen.

1.0 13.06.1993: erste Veroeffentlichte Version
   - Heute wurde das Programm in vier Module aufgeteilt, um es ueber-
     sichtlicher zu machen.
   - Saemtliche Routinen wurden dokumentiert, das Programm zusammen-
     gestellt sowie das Readme-File geschrieben. Nun ist die Shell
     hoffentlich fehlerfrei (zumindest kann man mit ihr ohne Probleme
     arbeiten). Fuer ein paar Dinge hatte ich bisher noch nicht die
     Zeit. Diese werden aber in naechster Zukunft eingebaut.
   - im Modul 'DIALOG.C' wurde in pfad_dialog noch ein Schalter ein-
     gebaut, ob das Ausgabefile im gleichen Pfad liegen soll, wie
     das Scene-File. Der Name des Ausgabefiles wird in ein Edit-Feld
     eingetragen. Die Endung wird in Abhaengigkeit des gewaehlten Bild-
     Formats eingetragen.

++kr, 01.06.93
   - Das Herstellen des neuen Environments geht jetzt wie folgt.
     (1) kopiere eigenes Environment in neuen Speicherbereich (ohne
         die letzte der beiden abschlieenden Nullen).
     (2) Hnge "ARGV=" an.
     (3) Hnge argv[0] (Name des zu startenden Prozesses) an.
     (4) Hnge die zu bergebenden Parameter an.
     (5) Hnge '\0' an.
   - Es gibt zwei neue Hilfsroutinen envcpy und enclen, die
     angewendet auf Environmentstrings genau die Funtion von strcpy
     bzw. strlen erfllen.
   - Mit meinen Vernderungen funktioniert die Parameter-
     bergabe mit ARGV jetzt fehlerfrei (getestet).
     Mte man blo noch POVray so bersetzen, da er ARGV versteht ...
          
++kr, 30.05.93
   - Achtung, da hat sich ein bser Fehler eingeschlichen.
     Die Endzeile, bei der das tracen gestoppt wird, sowie die
     Startzeile drfen AUF KEINEN FALL GRER ALS DIE BILDHHE 
     SEIN, SONST STRZT POVRAY GANZ BSE AB (Fenster wird nicht 
     geschlossen, etc.)
     Korrigiert, obwohl das eher ein Bug in POVray selbst ist.
   - Ganz hbsch wre folgendes Feature:
     Povray schreibt eine Datei namens POVRAY.OUT mit Status-
     informationen, Fehlermeldungen, etc. Deren Inhalt
     knnte man auf Wunsch nach Beendigung von Povray in einem
     Fenster anzeigen, doch dazu ist heute leider keine Zeit.
   
++kr, 29.05.93
   - der Absturz beim zweiten Starten von Povray wird 
     in e_strlen verursacht, weil ein Element des Stringarrays
     ein Zeiger auf 0x000002l ist, -> Busfehler beim Zugriff.
     Allerdings konnte ich bisher nicht feststellen, woran das
     genau liegt. 
   - POVray  ist brigens NICHT so kompiliert, da er das ARGV
     Protokoll versteht bzw. auswertet.

0.99 PL7 29.05.1993:
   - Scroll-Pfeile-Verwaltung ausgelagert und nocheinmal wesentlich verbessert.

0.99 PL6 26.05.1993:
   - in pfad_dialog habe ich die Scroll-Pfeile-Verwaltung wesentlich verbessert.
     Der Programmcode + -listing sind dadurch kuerzer geworden. Desweiteren ist
     diese Routine nun auch ohne Probleme in anderen Programmen nutzbar.
   - Das Programm gibt nun auch Return-Codes zurueck, die im Falle eines Fehlers
     auch ausgewertet werden koennen.
     bisher eingebaute Return-Codes:
       0 - alles OK
       1 - Fehler beim initialisieren der MYDIALS
       2 - es wurde kein RSC-File gefunden
          
0.99 PL5 20.05.1993:
   - ein bisschen was an der String-Verwaltung getan (sprintf)
   - in pfad_dialog ein paar kleine Fehler ausgebaut
   
0.99 PL4 15.05.1993:
   - ARGV-Verfahren implementiert
   - in ausgabe_dialog: wenn Grahik sichern nicht angewaehl ist, werden
     Graphik Puffer und Puffer auf DISABLED geschaltet
   - in pfad_dialog wird beim Ausgabefile die Maske in Abhaengigkeit der
     Bildart angezeigt
   - kleinere Aufraeumarbeiten
     
0.99 PL3 18.04.1993:
   - in der RSC-Datei das Menue an GEM-Konventionen angepasst, sowie die
     Qualitaets-Box fertiggestellt

0.99 PL2 17.04.1993: 
   - alle Dialogboxen so verkleinert, dass sie in ST-Gering laufen
   - in pfad_dialog die Buttons geloescht; dafuer wird der Text angeklickt,
     um den Pfad+Namen zu waehlen
