geschrieben am 11.05.2011 20:55:57
Bildformat? Vollkommen daneben. In dem Thread, den ich da verlinkt hab, steht's doch drin. Aber meinetwegen nochmal...
Stell dir das Bild, das die SNES erzeugt, als Bild aus 224 Bildzeilen vor, jede einen Pixel hoch. Diese Bildzeilen werden "Scanlines" genannt. "HDMA" steht für "Horizontal Direct Memory Access" und heißt eigentlich nur, dass man damit die Eigenschaften des Bildes verändern kann, und zwar für jede Scanline individuell. Man kann damit zum Beispiel die Hintergrundfarbe des Bildes ändern, und jede Scanline eine andere Farbe haben lassen - ein Farbverlauf also. Man kann aber auch die Position des Bildes ändern und jede einzelne Scanline individuell verschieben und so zum Beispiel einen Welleneffekt erzeugen. Es gibt noch mehr HDMA-Effekte, aber das sind die beliebtesten.
Was braucht man also fürs HDMA-Einfügen? Man muss dem Spiel zwei Sachen sagen: 1) dass es HDMA aktivieren soll, 2) wie genau der Effekt aussehen soll. Dazu braucht man ein Stück ASM-Code (das ist die Programmiersprache der SNES, also auch von SMW), das HDMA überhaupt erst aktiviert, und eine Tabelle, die die Daten des eigentlichen HDMA-Effektes enthält. Bei einem Farbverlaufs-Effekt beispielsweise steht in dieser Tabelle, welche Farbe an einer bestimmten Stelle steht und wie viele Scanlines lang sie behalten wird. Der Code bleibt für eine Farbverlauf immer gleich, die Tabelle allerdings muss man für jeden Farbverlauf ändern (da die Tabelle je die Farben bestimmt). Ein "blauer Himmel"-Verlauf hat zum Beispiel eine andere Tabelle als ein "Nacht"-Verlauf. Wie genau die Tabelle bei Farbverläufen aufgebaut ist, habe ich ebenfalls im oben genannten Thread erklärt.
Code und Tabelle muss man also ins Spiel einfügen, damit es HDMA aktiviert und den gewünschten Effekt anzeigt. Ich nehme an, dass du weißt, wie das geht.
Wenn du selbst einen Farbverlauf machen willst, kannst du mit der Hilfe des oben genannten Threads selbst eine Tabelle erstellen, die die Farben anzeigt, die du willst. Es gibt aber auch ein Tool, das einem bei Farbverläufen diese Arbeit erleichtert. Es kann die Farben aus Bilddateien auslesen (ja, hier, aber auch nur hier, kann man von einem "Bildformat" reden) und automatisch in Farbtabellen umwandeln. Das Tool gibt's
hier. Die Farbtabellen, die dieses Tool erzeugt, sind allerdings ein wenig anders aufgebaut, daher funktionieren sie mit dam HDMA-Code, den du vorher vielleicht verwendet hast, nicht. Den Code, den du dafür nehmen musst, gibt's im "HDMA ASM"-Ordner beim Tool mit dabei.