23.06.91 The TRANSFORMER Professional V3.8 von T.Hiddessen Maschstr.15 3402 Bühren ACHTUNG: Dieses Programm ist Public-Domain, es darf frei kopiert, jedoch NICHT verkauft werden ohne das Einverständnis des Autors. Falls Ihnen das Programm gut gefällt, senden Sie bitte 10 DM an die obige Adresse. DANKE! D a s P r o b l e m : Sie wollen ohne große Umschweife eine Grafik (auch HB und HAM!) von BASIC aus laden/speichern, um dem eigenen Programm einen professionellen Touch zu geben, aber ... Sie besitzen keine Routine, die Ihnen diese Möglichkeit eröffnet ... das Laden/Speichern der Grafik dauert mit den vorhandenen Routinen ewig ... Ihr Programm wird durch die Routinen unnötig aufgebläht Sie wollen kleine Grafikbereiche (Pinsel) aus einem (mit einem Malprogramm erstellten) Bild exakt ausschneiden, um sie in BASIC mit dem PUT und GET Befehl benutzen zu können, oder Sie wollen den Pinsel in ein ICON umwandeln und Sie möchten die in Feldvariablen gespeicherten Grafik-Daten dabei schnell von Disk lesen / auf Disk schreiben, aber ... Sie besitzen keine Routine, die Ihnen dies ermöglicht ... das Laden/Speichern der Daten dauert mit den vorhandenen Routinen ewig Sie wollen mit einem Malprogramm Bobs/Sprites für ihr BASIC-Programm erstellen, aber ... Sie haben kein Programm, mit dem man Grafik-Bereiche aus Bildern einfach ausschneiden und als Bob oder Sprite abspeichern kann Sie möchten von Ihrem BASIC-Programm aus die Bildschirmfarben GENAU und unkompliziert einstellen / die Farben von einem Bild übernehmen, aber ... Sie besitzen keine Routine, die Ihnen diese Arbeit abnimmt Sie wollen dem Benutzer Ihres Programmes die Möglichkeit geben, Dateien bequem mittels File-Requester auszuwählen (zum Laden, Abspeichern oder Löschen), aber ... Sie besitzen keine Routine, welche die Bedienung derart vereinfacht Sie ärgern sich mal wieder mit Recht über den INPUT-Befehl, haben aber ... keine Alternative Wenn Sie auch nur eines der obigen Probleme haben, dann ist der TRANSFORMER das richtige Programm für Sie. D i e L ö s u n g : Der TRANSFORMER bietet u.a. die Möglichkeit, IFF-Bilder zu laden, und sie in ein neues, schnelles Grafikformat umzuwandeln. Dabei werden selbstverständlich auch HB- und HAM-Bilder berücksichtigt. Für das neue HSF-Grafikformat (High-Speed-Format) stehen Ihnen schnelle und kurze Lade-/Save-Routinen in Form von SUB-Programmen zur Verfügung. (natürlich können Sie die HSF-Bilder auch wieder in IFF-Bilder umwandeln) Der Zeitgewinn beim Laden/Speichern des HSF-Formats gegenüber dem ungepackten IFF-Format liegt bei etwa 125%, d.h. die Grafiken sind mehr als doppelt so schnell auf dem Screen bzw. auf Diskette. Die Gegenüberstellung HSF <-> gepacktes IFF bleibt reine Formsache: der Zeitgewinn beträgt rund 1900%, d.h. wir vergessen es einfach wieder... Zum Laden und Speichern der Formate sind vier SUB-Routinen im TRANSFORMER integriert, sie können problemlos in eigene Programme eingebaut werden. Wie man sie aufruft und was sonst noch zu beachten ist, daß steht jeweils vor den SUBs. (SUBs: LoadIFF,SaveIFF,LoadHSF,SaveHSF) Das SetPlanes-SUB ist wichtig für die Bild-Modi mit 6 Planes: Es erstellt für den Screen des aktuellen Windows die angegebene Anzahl Planes, d.h., hat der Screen weniger Planes als vorgegeben, so werden die fehlenden erstellt, hat er mehr Planes, so werden überzählige entfernt. Kleine Grafiken (Pinsel) können in AMIGA-BASIC mit den Befehlen PUT und GET schnell auf den Screen gebracht / vom Screen gelesen werden. Jedoch steht man oft vor dem Poblem diese Ausschnitte abzuspeichern, bzw. zu laden, oder gar Pinsel aus vorhandenen Bildern auszuschneiden. Dies ist mit dem TRANSFORMER kein Problem mehr: es können sogar Pinsel aus HB- und HAM-Bilder aufgenommen und abgespeichert werden !!! Dabei gewährleisten die beiden SUBs LoadArray und SaveArray, daß die Grafikdaten blitzschnell in das Integerfeld gelesen / aus dem heraus abgespeichert werden können. (Aufrufe und Parameter: siehe Kommentar vor den SUBs) Sie können die aufgenommenen Pinsel auch als BASIC-Bob oder -Sprite abspeichern. Die SaveObject-Routine ist dafür vorgesehen. (Es ist auch möglich HB- und HAM-Bobs zu erstellen !!!) Damit auch die Workbench-Freaks auf ihre Kosten kommen, läßt sich der Pinsel als TOOL-Icon abspeichern (bis 16 Farben möglich!). (Wenn Sie einen anderen Icon-Typ brauchen, dann wandeln Sie das erzeugte Icon mit einem geeigneten PD-Programm um...) Der TRANSFORMER gibt Ihnen ferner dir Möglichkeit Farben aus IFF- und HSF-Bildern zu lesen (LoadCMAP-SUB) und diese in Farbdateien abzulegen (SaveCMAP-SUB). Es können aber auch DATA-Zeilen aus den Farbwerten erzeugt werden (SaveColorDATA-SUB), die, in Ihr Programm eingebaut, mit dem SetColors-SUB problemlos gelesen werden können. (Das ColorEdit-SUB macht dabei die Farbeinstellung zum Kinderspiel) Bemerkung: Aufgrund des großen Speicherplatzbedarfes wurde auf die Sicherung des Grafikwindow-Inhalts verzichtet. Wird der Color-Editor aufgerufen, so geht die Grafikinformation hinter seinem Window verloren! Alle Diskettenzugriffe des TRANSFORMERs werden über einen komfortablen File-Requester vorgenommen (FileRequester-SUB). Auch diese SUB-Routine kann in eigene Programme übernommen werden. Die Meldung "FILE NOT FOUND gehört der Vergangenheit an, weil vor dem Zugriff auf eine Datei das CheckFile-SUB zum Zuge kommt. Dieses SUB prüft, ob eine Datei überhaupt existiert. Der INPUT-Befehl wird vollständig vom Inputti-SUB abgelößt, welches trotz seiner Kürze äußerst benutzerfreundliche Eingaben gestattet. Als letztes SUB verbleibt noch das praktische Ask-SUB. Mit ihm ist es möglich, dem Benutzer Entscheidungsfragen zu stellen. Dieser kann dann per Mausklick positiv oder negativ antworten. (z.B. Wollen sie das Programm wirklich beenden ? [JA] [NEIN] ) Der TRANSFORMER ist also ein Programm, welches, seiner modularen Struktur wegen (die SUBs können in eigene Programme übernommen werden), ein sehr nützliches Programm-Packet darstellt, das jedem BASIC- Programmierer von Nutzen ist. Die Bedienung gestaltet sich recht einfach, da alle Funktionen per Menü gewählt werden können. Beschreibung der Menüs: PROJECT -> Menütitel Nr.1 About -> erwähnt lobend den Namen des Programm-Autors Edit color -> ruft SUB zum Einstellen der Bildschirmfarben auf Edit brush -> ruft Routine für's Pinsel-Ausschneiden auf Clear scrn -> löscht den Grafikbildschirm Kill file -> ermöglicht Löschen einer Datei QUIT -> Programm beenden LOAD -> Menütitel Nr.2 IFF.pic -> Laden eines IFF-Bildes HSF.pic -> Laden eines HSF-Bildes CMAP -> Lesen einer Farbdatei (auch aus Bildern) Brush -> Laden eines Pinsels für PUT/GET-Befehle SAVE -> Menütitel Nr.3 IFF.pic -> Speichern des Grafikbildschirms im IFF-Format HSF.pic -> Speichern des Grafikbildschirms im HSF-Format CMAP -> Ablegen der Farbtabelle in einer Datei Col-DATA -> erzeugt DATA-Zeilen der Farbwerte -------- Brush -> speichert den aufgenommenen Pinsels Bob -> speichert den aufgenommenen Pinsel als Bob Sprite -> speichert den aufgenommenen Pinsel als Sprite Icoon -> speichert den aufgenommenen Pincel als TOOL-Icon Der Color-Editor: Er öffnet ein eigenes Window, in dem alle Farben durch anklicken gewählt und neu eingestellt werden können. Ferner können Farb-Paletten kopiert und vertauscht werden, aber auch fließende Farbübergänge sind einfach zu erstellen. Der Brush-Editor: Ist er gewählt, so erscheint ein Fadenkreuz, welches an beliebiger Stelle auf dem Bildschirm plaziert werden kann. Nun die linke Maustaste drücken und halten. Ein Rechteck markiert den Bereich, welcher beim Loslassen der linken Maustaste ausgeschnitten wird (Deluxe-Paint läßt grüßen). Der Pinsel hängt nun am Mauszeiger und kann frei positioniert werden. Drückt man SPACE, so wird der Pinsel an aktueller Stelle auf den Bildschirm gezeichnet. Mit DEL wird er gelöscht und mit ESC gelangt man zurück zum Hauptprogramm. Beenden Sie nun PPMore (EXIT), damit der TRANSFORMER gestartet werden kann...