SML2-LevelGrafiken

aus RHWiki, der freien Romhacking-Enzyklopädie

Dieser Artikel soll erklären, welche Tiles von welchem Offset beim Betreten einer Map in Super Mario Land 2 geladen werden.

Zunächst wird ein Byte aus von 360Dh + Mapnummer1 gelesen. Dieses Byte nennen wir Tilesetbyte. Dieses Byte ist so aufgeteilt, dass die höheren 4 bits die Palette repräsentieren und die niedrigeren das Mariospriteset.

Falls in diesem Artikel auf 4-Byte Pointer verwiesen wird, sind sie immer folgendermaßen aufgebaut: [Rombank][00][2-Byte Pointer]

Inhaltsverzeichnis

Mario-Sprites (8000h-87FFh)

Es gibt drei verschiedene Mariospritesets.
Falls (Tilesetbyte and 0Fh) = 0, werden die Mariosprites von 18000$ gelesen.
Falls (Tilesetbyte and 0Fh) = 1, werden die Mariosprites von 18800$ gelesen.
Andernfalls werden die Mariosprites von 19000$ gelesen. (Mond-Spriteset)

Standardtiles (8800h - 8AFFh)

Das Offset der Standardtiles ist Standardtiles + (Tilesetbyte and F0h) * 10h.

Gegner-Sprites (8B00h - 8E7Fh)

Der 4-Byte-Pointer auf die Gegner-Sprites befindet sich bei Gegnersprites-Table + 4 * Mapnummer1.

Standardtiles 2 (8E80h - 91FFh)

Die Standardtiles 2 sind z.B. die Tunneltiles, die Boxen und die Müzen/Coins.

Der 2-Byte-Pointer auf die Standardtiles 2 ist bei Standardtiles2-Tabe + 2 * (Tilesetbyte and F0h) / 10h. Die Standardtiles 2 befinden sich in Mapbank 7(1C000h-20000h).

Individuelle Tiles (9200h - 97FFh)

Der 4-Byte-Pointer auf die individuellen Tiles befindet sich bei Individuelletiles-Table + 4 * Mapnummer1. Die individuellen Tiles beinhalten level-spezifische Tiles, wie z. B. Palmen.

Offsets

Kursiv geschriebene Ausdrücke sind Offsets, die sie aus dieser Tabelle entnehmen können.

Offset 1.0 1.2
Standardtiles 6F000h 6F000h
Gegnersprites-Table 362Ah 362Dh
Standardtiles2-Table 763h 766h
Individuelletiles-Table 36AAh 36ADh


'Persönliche Werkzeuge