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 |

