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 verl„sst, 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 abschlieženden Nullen). (2) H„nge "ARGV=" an. (3) H„nge argv[0] (Name des zu startenden Prozesses) an. (4) H„nge die zu bergebenden Parameter an. (5) H„nge '\0' an. - Es gibt zwei neue Hilfsroutinen envcpy und enclen, die angewendet auf Environmentstrings genau die Funtion von strcpy bzw. strlen erfllen. - Mit meinen Ver„nderungen funktioniert die Parameter- bergabe mit ARGV jetzt fehlerfrei (getestet). Mžte man blož noch POVray so bersetzen, daž er ARGV versteht ... ++kr, 30.05.93 - Achtung, da hat sich ein b”ser Fehler eingeschlichen. Die Endzeile, bei der das tracen gestoppt wird, sowie die Startzeile drfen AUF KEINEN FALL GR™žER ALS DIE BILDH™HE SEIN, SONST STšRZT POVRAY GANZ B™SE AB (Fenster wird nicht geschlossen, etc.) Korrigiert, obwohl das eher ein Bug in POVray selbst ist. - Ganz hbsch w„re folgendes Feature: Povray schreibt eine Datei namens POVRAY.OUT mit Status- informationen, Fehlermeldungen, etc. Deren Inhalt k”nnte 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