mod.MapColorbase

v1.00 24.09.20


MapColorbase
Der Modifier "MapColorbase"

Mit MapColorbase kann man Bilder, deren Paletten in GoDot keine Entsprechung finden, dennoch laden und weiterverarbeiten. Es ist eine Erweiterung des Modifiers SetColorbase.

Manche Bilder sind mit Farben ausgestattet, für die es auf dem C64 kein unmittelbares Gegenstück gibt. Man denke nur an Rechner wie den Amstrad CPC, der hardwareseitig mit vier verschiedenen Purpurtönen und mindestens sieben verschiedenen Grüns ausgestattet ist. Oder an den Amiga, bei dem oft Bilder zu sehen sind, in deren jeweiligen Paletten eine ganze Reihe Farben einander sehr ähnlich sein können. Auch der Plus/4 hat eine solche Fülle von ähnlich aussehenden Farben.

In MapColorbase trifft man eine direkte Zuordnung vom Paletteneintrag eines problematischen Bildes zu einer beliebigen GoDot-Farbe. Farben, die es auf einem C64 nicht gibt, können auf diese Weise durch eine ganz andere Farbe ersetzt werden, die entweder eine Weiterverarbeitung des Bildes auf dem C64 ermöglicht, oder aber zumindest eine gut aussehende Variante zum Original erzeugt.

Beim Aufruf des Modifiers zeigt GoDot die momentan gültigen RGB-Basiswerte an (meistens wahrscheinlich die Werte der GoDot-Palette, s. Bild). Die Werte werden als 4Bit-Dezimalzahlen (Werte von 0 bis 15) ausgegeben, für jede Farbe drei Werte für den in ihr enthaltenen Rot-, Grün- und Blau-Anteil.

In den Paletten der Bilder erscheinen diese Werte aber fast immer in 8Bit-Darstellung (also von 0 bis 255). Für MapColorbase muss also umgerechnet werden. Die Formel dafür lautet Neuer Wert = INT((Alter Wert + 8) / 16). Ein Wert von 117 (hex 75) würde daher (117 + 8) / 16 = 7 ergeben, ein Wert von 27 (hex 1b) ergäbe (27 + 8) / 16 = 2, d.h., die Werte werden gerundet zur Basis 16.

Die errechneten Werte gibt man dann in MapColorbase ein: Man klickt so oft auf die entsprechende Ziffer, bis der gewünschte Wert angezeigt wird. Bei jedem Klick erhöht sich der Wert, bis 15 erreicht wird, und beginnt daraufhin umläufig wieder bei 0. Wenn man alle Werte eingegeben hat, bewirkt ein Klick auf Update, dass sie an GoDot übermittelt werden und nun bei allen Ladern, die die RGB-Colorbase verwenden (GIF-Lader und -Saver, alle IFF-Lader, alle PCX-Lader und der PNG-Saver), aktiviert sind.

Ein Klick auf Leave beendet das Modul, ohne dass Änderungen übernommen werden.

Weil ein Beispiel am besten erhellt, was so ein Werkzeug zu leisten in der Lage ist, haben wir unten ein CPC-Bild nach GoDot konvertiert und die einzelnen Phasen festgehalten.

Hinweis: Die Änderungen an der RGB-Colorbase sind nicht permanent. Beim nächsten Start GoDots werden sie verworfen. Auch der Aufruf von SetColorbase (und eine Umstellung auf eine andere Palette dort) verwirft die in MapColorbase eingestellten Werte (so kommt man schnell wieder zurück auf die GoDot-Grundeinstellungen). Man kann die neuen Werte nicht abspeichern.


Beispiel

Ein Bild mit einer 16-Farbenpalette:

Ein CPC-Bild
Bild vom Amstrad CPC: Viel leuchtendere Farben, viele verschiedene Purpurtöne.


Zuordnung

Bild links: Zuordnung der CPC-Farben im Batman-Bild (auf der linken Seite) zu den GoDot-Farben (rechts). Dunkel-Purpur (die fünfte Farbe) wird zu dunkelgrau, dunkelgelb zu mittelgrau, das kräftige Purpur zu hellrot und das schwächere Purpur zu hellgrau umdefiniert. Dunkelrot (CPC) wird braun und violett wird blau. In der Mitte die CPC-RGB-Werte, bereits für den Modifier umgerechnet.

Bild rechts: So sieht das dann in MapColorbase aus. Der richtige Wert wurde der ausgewählten Farbe zugeordnet. Nun kann es ans Konvertieren gehen. Unten links das unbearbeitete Ergebnis, rechts eine Weiterverarbeitung.
eingetragen

Das Ergebnis
So sieht das Ergebnis aus. Die Purpurtöne sind nun bis auf einen blau.
und eine Weiterbearbeitung
Hier mit einer Weiterbearbeitung (Colorclashes vermeiden, andere Farbgewichtung).

zurück - zum Standardmodifier-Menü

Arndt Dettke
support@godot64.de