Lunar Magic 1.64+ - Custom Sprites Collection

geschrieben am 14.09.2010 17:59:24
( Link )
Da das ganze gar nicht so offensichtlich ist, erkläre ich euch in diesem Tutorial mal, wie das ganze mit der Custom Sprite Collection in Lunar Magic 1.64 geht. Dazu gehören:

-Hinzufügen der Sprites zur Custom Sprites Collection Liste
-Sprites aus der Liste ins Spiel einfügen
-Anzeige der richtigen Grafiken in Lunar Magic

Einzige Vorraussetzung ist, dass ihr die jeweiligen Sprites schon mit sprite tool ins Spiel eingefügt habt und natürlich, dass ihr Lunar Magic 1.64 startbereit habt.

Also fangen wir an!

Ich habe so eben den Poison Goomba aus meinem HP Counter Patch mit sprite tool in mein Spiel eingefügt. Nun möchte ich, dass er in Lunar Magic richtig angezeigt wird.

Als erstes öffnen wir in Lunar Magic unser Projekt, gehen dann in den Sprite Editing Mode, öffnen das "Add Sprites" Fenster und wählen dann aus dem Dropdown Menü die neue Option "Custom Collection of Sprites" aus. Nun solltet ihr ein Fenster bekommen, dass in etwa so aussieht:



Wie ihr seht habe ich schon einige Sprites in meiner Liste. Bei euch wird sie wahrscheinlich noch ganz leer sein. Auch der Poison Goomba ist bei mir schon als Sprite Nummer 02 drin. Zur Demonstration füge ich ihn nun aber noch ein zweites mal als Sprite Nummer 04 ein.

Nun gut. Zunächst solltet ihr mal in Lunar Magic auf "Options gehen" und sicherstellen, dass neben der Option "Display Custom Sprites" ein Häkchen ist. Danach solltet ihr die Custom Sprite erstmal ganz normal manuell einfügen, so, wie ihr es bis jetzt immer getan habt. Da wir uns schon im Sprite Editing Mode befinden, müssen wir einfach nur auf "Einfügen" drücken. Nun bei "Command" die Nummer der Sprite, also 04 und bei Extra Info dann 2 oder 3, je nachdem ob ihr das Extra Bit eurer Sprite aktiviert haben wollt oder nicht. In meinem Fall nein, also 2. Ihr solltet euch aber merken, welche Nummer ihr hier eingibt. Das wird nachher noch eine Rolle spielen. Nun sollte das ganze in etwa so aussehen:





Wie ihr seht, wird jetzt oben links ein X dargestellt. Das ist unsere Custom Sprite. Da die "Display Custom Sprites" Option aktiviert ist, wir aber noch keine Grafik für unsere Sprite festgelegt haben, wir diese einfach als X dargestellt. Das werden wir aber zu gegebener Zeit noch ändern. Nun kommt einer der wichtigsten Schritte, bei dem ihr keine Fehler machen solltet: Stellt sicher, dass die Custom Sprite genau auf dieser Position, nämlich X0 Y0 auf Screen 00 ist und dass sich auf dieserm Screen sonst KEINE andere Sprite befindet. Ich wiederhole: KEINE! Stellt außerdem sicher, dass ihr eure Sprite markiert habt. Wenn ihr das sicher gestellt habt, drückt gleichzeitig STRG + SHIFT + F12. Nun solltet ihr folgendes Fenster erhalten:



Hier solltet ihr nun die Nummer der Sprite als auch ihren Namen eintragen. Bei mir - wie schon erwähnt - Sprite Nummer 04. Und da ich bereits einen Poison Goomba in der Liste habe, nenne ich diesen einfach mal "Poison Goomba 2". Stellt allerdings sicher, dass die Nummer und der Name durch ein Leerzeichen getrennt sind. Bei mir sieht das ganze dann folgendermaßen aus:



Nun klickt ihr auf "OK". Speichert euer Level in Lunar Magic ab, schließt Lunar Magic, öffnet es dann erneut und lädt euer Spiel darin. Wenn ihr nun die Custom Collection of Sprites öffnet:



TAA-DAA! Eure Sprite wird nun in der Liste angezeigt. Wenn nicht, habt ihr im vorherigen Schritt etwas falsch gemacht. Habt ihr sicher gestellt, dass
-Eure Sprite ganz oben links auf Screen 00 war?
-Auf dem Screen sonst keine andere Sprite war?
-Ihr die Sprite ausgewählt hattet, als ihr STRG + SHIFT + F12 gedrückt habt?
-Ihr Lunar Magic anschließend neu gestartet habt?
Wenn alles geklappt hat, können wir zum nächsten Schritt übergehen. Zunächst sollten wir gucken, ob auch alles richtig funktioniert hat. Fügen wir die Sprite also einmal über die Custom Collection of Sprites ins Spiel ein (stellt sicher, dass ihr euch im Sprite Editing Mode befindet). Danach gehen wir in Lunar Magic auf "View > Sprite Data (Hex Code)" um sicher zu gehen, dass unserer Sprite auch die richtige Nummer zugeordnet ist.



Na bitte! Sprite ist im Spiel und hat Sprite Nummer 04! Dann können wir "View > Sprite Data (Hex Code)" wieder ausschalten.

Bis hierher hat also schon mal alles super geklappt. Euch dürfte aufgefallen sein, dass sich im Ordner eurer ROM nun zwei neue Dateien befinden: [ROMName].mwt und [ROMName].mw2. Diese Dateien sind beide für die Custom Collection of Sprites notwendig. Ihr solltet nicht an ihnen rumspielen, wenn ihr nicht wisst, wie Lunar Magic mit ihnen umgeht. Ein kleiner Fehler und ihr könntet eure ganze Liste durcheinander bringen.

Gut, nun kommen wir aber zum interessanten Teil dieses Tutorials: Das Darstellen der Grafiken in Lunar Magic (Hinweis: Die Darstellung bezieht sich wirklich nur auf Lunar Magic und nimmt keinen Einfluss auf das Spiel).

Als erstes solltet ihr in Lunar Magic den 16x16 Tile Map Editor öffnen. Nun macht ihr folgendes: Drückt gleichzeitg STRG + SHIFT + Bild Runter. Nun sollte unten links im Tile Map Editor die Nachricht "Sprite Map16 data viewing unlocked" erscheinen. Nun könnt ihr euch die Sprite Grafiken eures Spiels im Map16 Editor angucken. Dazu müsst ihr so oft die Pfeil Runter Taste drücken, bis ihr die Sprite Daten gefunden habt (das müsste bei Seite 20 in Hex sein). Das ganze dürfte in etwa so aussehen:



Hier befinden sich nun die ganzen Grafiken, die Lunar Magic für die Darstellung von Sprites verwendet (wie bereits erwähnt nur im Editor, nicht etwa im Spiel). Die ersten 4 Seiten sind nur für normale Sprites. Springen wir also zu Seite 23 (drückt vier mal runter). Die nächsten 8 Seiten sind einzig und alleine für die Darstellung von Custom Sprites. Hier könnt ihr euch also austoben. Das ganze funktioniert genau so wie auch mit Blöcken, bloß, dass ihr mit STRG + SHIFT + F9 speichert statt nur mit F9. Bei mir sieht das ganze anschließend dann so aus:



Wo genau auf diesen 8 Seiten ihr eure Grafik speichert, ist im Prinzip egal. Ihr müsst euch nur die Nummer merken, die ich unten rot eingekreist habe, in meinem Fall also 402.

Jetzt müsst ihr folgendes tun: Erstellt in dem Ordner, wo eure ROM drin ist, eine Text-Datei und nennt diese anschließend "[ROMName].ssc". Als beispiel: Wenn weure ROM "SMW.smc" heißt, erstellt ihr eine Datei namens "SMW.ssc". Diese neu erstellte Datei öffnet ihr dann anschließend in einem beliebigen Text-Editor. Nun erkläre ich euch, wie genau der Inhalt auszusehen hat:

SS[TAB]EC[TAB](X1,Y1,G1[Leerzeichen]X2,Y2,G2[Leerzeichen][...]Xn,Yn,Gn[TAB])Beschreibung[Enter]

Der Teil in den roten Klammern ist dabei optional und die blauen Begriffe in eckigen Klammern symbolisieren jeweils Tasten, die ihr drücken müsst. Wofür genau stehen jezt die einzelnen Buchstaben?

SS ist die Nummer eurer Sprite. In meinem Fall also 04
E ist die Art von Sprite, deren Aussehen ihr modifizieren wollt. 0 und 1 ist für normale Sprites (ja, ihr könnte auch das Aussehen normaler Sprites in Lunar Magic modifizieren!). 2 und 3 sind für Custom Sprites. Hier kommt es darauf, welche Extra Info ihr beim Einfügen eurer Sprite benutzt (deswegen sagte ich auch ihr sollt euch das merken). Bei mir ist das eine 2, deswegen kommt auch hier eine 2 hin. Wenn ihr für die 3 keinen gesonderten Wert definiert, so wird Lunar Magic für 2 und 3 die selben Grafiken verwenden. Nur so zur Info.
C bedeutet ob ihr für die Sprite in Lunar Magic eine Custom Grafik verweden wollt (2) oder nicht (0). In meinem Fall also 2, denn genau dafür machen wir das ganze ja.

Der nächste Teil ist jetzt der wichtige. Habt ihr beim vorherigen Schritt 0 angegeben, so könnt ihr diesen Teil überspringen und direkt die Beschreibung eurer Sprite eingeben. Dann wird aber natürlich auch die Grafik in Lunar Magic nicht verändert. Also wenn ihr vorher eine 2 gewählt habt, dann kommt jetzt das, was ihr tun müsst:

Also wie ihr sicherlich wisst, bestehen Sprites aus 16x16 Pixel Blocks. Genau die selbe Art von Blocks, die ihr im Map16 Editor vorfindet. Wenn ein SNES Spiel Sprites darstellt, die Größer als 16x16 Pixel sind, dann tut es das indem es mehrere solcher 16x16 Blöcke nebeneinander darstellt. Genau das müssen wir auch tun. In diesem Fall ist das noch nicht wichtig, da der Poison Goomba nur einen Block groß ist. Bei anderen Gegnern aber - einem Koopa z.B. - sieht das ganze schon anders aus. Wir fangen aber erst mal klein an.

Also ein Sprite Block (so nenne ich es mal) besteht in unserer SSC Datei aus drei Werten: X, Y und G. X und Y sind die Koordinaten der Sprite. Diese sind relativ zur Position der Sprite in Lunar Magic. Platzieren wir unsere Sprite in Lunar Magic also auf X Position 10 und Y Position 15 und schreiben dann in der SSC-Datei 0,0 als Koordinaten, so wird die Grafik in Lunar Magic auf Position 10,15 dargestellt. Ist doch einfach, oder? Indem ihr nun diese Werte modifiziert, könnt ihr mehrere Blöcke nebeneinander darstellen. Dabei müsst ihr folgendes beachten:

-Bei der X Koordinate verschieben positive Werte den Block nach rechts und negative Werte ihn nach links
-Bei der Y Koordinate verschieben positive Werte den Block nach unten und negative Werte ihn nach oben

Dazu gleich ein anderes Biespiel. Aber erst mal zurück zu unserem Goomba. Der dritte Wert, der uns fehlt, ist die Grafik selbst. Das ist die Nummer, die ich auf dem letzten Bild rot eingerkeist habe, also 402. Alle drei Werte sind durch ein Komma voneinander getrennt. Nun kommt die Beschreibung. Ich denke hier muss ich ja nicht viele Worte zu verlieren. Für meinen Goomba sähe das ganze dann in etwa so aus:
Code
04          22          0,0,402          Dies ist ein vergifteter Goomba

Beachtet auch die Tabs. Zwischen 04 und 22, zwischen 22 und 0 und zwischen 402 und "Dies" müssen jewils Tabs stehen, keine Leerzeichen!

So, nun versuchen wir das ganze mal mit einer Koopa-Grafik statt mit einer Goomba-Grafik. Diese hat, wie schon erwähnt, zwei Blöcke statt nur einen. Unseren Code müssen wir allerdings nur minimal ändern. Die Nummern meines Koopas im Map16 Editor sind 403 (Kopf) und 413 (Körper). Das ganze sähe dann so aus:

Code
04          22          0,0,413 0,-16,403          Dies ist ein vergifteter Goomba


Seht ihr den Unterschied? Im ersten Block habe ich nur die 402 durch 413 ersetzt um statt des Goombas den Koopa darzustellen. Dann habe ich noch einen zweiten Block hinzugefügt. Hier habe ich als Y Koordinate -16 genommen. Das bedeutet, dass der Kopf um 16 Pixel nach oben verschoben sein wird (denn genau so hoch ist ja der Körper des Koopas). Die X Koordinate ist für beide Grafiken gleich. So lässt sich das ganze dann für beliebig viele Blöcke wiederholen. Ihr müsst nur eines beachten: Während sonst überall Tabs stehen, müssen zwischen den einzelnen Blöcken Leerzeichen stehen. Das ist sehr wichtig! Dann testen wir das ganze mal. Zu erst die Goomba Grafik. Damit die Änderungen in Lunar Magic angezeigt werden, müssen wir die SSC-Datei speichern und dann Lunar Magic neu starten.



Na bitte! Geht doch! Nun das ganze noch mit der Koopa Grafik:



Funktioniert auch wunderbar! Und das ist im Grunde genommen auch schon alles. Wenn ihr jetzt noch mehr Grafiken hinzufügen wollt, müsst ihr einfach am Ende eurer SSC-Datei einen Zeilenumbruch einfügen und in der nächste Zeile dann die selbe Prozedur wiederholen.

Damit endet mein kleines Tutorial über Lunar Magics Custom Collection of Sprites.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 25.09.2010 21:28:44
( Link )
Zitat
RPG Hacker
Das ganze funktioniert genau so wie auch mit Blöcken, bloß, dass ihr mit STRG + SHIFT + F9 speichert statt nur mit F9. Bei mir sieht das ganze anschließend dann so aus:


Sehr gutes Tutorial,nur wie soll ich die Grafiken einfügen,so wie mit ExGfx,weil ich hab noch nie mit Blöcken gearbeitet ?
Ansonsten sehr gut erklärt,Danke für deine Mühen..^^
geschrieben am 25.09.2010 21:47:29
( Link )
Dann such dir am besten ein Map16-Tutorial raus.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 25.09.2010 21:49:03
( Link )
Okay,mal schauen,dennoch Danke!
geschrieben am 08.02.2011 15:50:46
( Link )
Mh...Bei mir kommt immer nur A und defined Custom Sprite in der Beschreibung.

Code
01	22	0,0,400	Das ist ein Koopa der Mario wegweht


Und wie loescht man einpaar?
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 28.09.2013 11:21:09
( Link )
Zitat von Ricicir:
Mh...Bei mir kommt immer nur A und defined Custom Sprite in der Beschreibung.

Code
01	22	0,0,400	Das ist ein Koopa der Mario wegweht



Bei mir klappt auch alles bis auf die Beschreibung.
Gibt es dafür eine Lösung?