Ja, da kommt auch meine Inspiration her.
Und ja, der obere Rand wird später noch ganz verändert. (Oh Mann, da kommt eine Menge Arbeit auf mich zu. Hoffentlich klappt dann auch alles wie geplant.
)
Weißt du, was "Free Space" ist? Wenn nicht, kann's daran liegen.
Die meisten Patches fügen zusätzlichen Code ins Spiel ein, und dafür brauchen sie Platz (Speicher, den das Originalspiel nicht benutzt und der somit frei ist). Wo der liegt, das musst du herausfinden und dem Patch sagen, sonst fügt der seinen Code an einer Stelle ein, an der auch SMW schon Code hat, und dann ist es ja klar, dass Fehler auftreten.
Du musst denen ja auch sagen, wo der Free Space ist. Nicht immer sind die Standardwerte auch wirklich freier Speicher. Manche Standardwerte zeigen sogar absichtlich auf bereits benutzten Speicher, damit was überschrieben wird und man merkt, dass man sie ändern muss.
DIe Palette musst du im Patch selbst bearbeiten. Unter "PaletteTable:" stehen 16 Einträge, das sind die Farbwerte im SNES-Format.
Nee, die beiden nicht unbedingt. Das wäre freier RAM, du brauchst ROM.
Am einfachsten findest du den mit dem "Free Space Logger" ("slogger") von SMWC. Nimm die ROM, zieh sie über slogger.exe und eine Textdatei wird erstellt, in der alle freien Bereiche der ROM aufgelistet sind. In der "Size"-Spalte steht die Größe des Bereichs - wenn du dir nicht sicher bist, wie viel Platz ein Patch brauchst, halte nach Größen von x8000 Bytes Ausschau. Aus derselben Zeile nimmst du die Zahl unter "LoROM offset" (das ist die Adresse, an der der freie Bereich anfängt), lässt das "0x" davor weg und teilst diese Zahl dem Patch mit. Wie, das variiert von Patch zu Patch - manchmal steht dort so was wie
Codeorg $218015 ;| POINT TO FREE SPACE!!!
, dann ersetzt du das 218015 durch die von dir gefundene Adresse. Meistens aber werden der Einfachheit halber Defines benutzt, also so was wie
Code!freeSpace = $958000 ; change this to whatever
. Auch hier einfach die Zahl ersetzen.
Auf deutsch gibt es "Rache" und "Revanche", auf englisch nur "Revenge" mit e.
Zitat von Dominik: Ach
Sorry, wenigstens habe ich mal wieder was gelernt. ^^"
Wieso? War doch alles richtig, was du gesagt hast.
Zitat von Dominik: Ich denke das dieses Video ein Fake ist, und dass das nicht möglich ist.
Da liegst du falsch. Alles, was der Prozessor schafft, ist möglich, und das ist nun wirklich keine Herausforderung für ihn.
Nur veröffentlicht wurde es nicht, und wenn doch, wird's wohl nicht allzu leicht zu handhaben sein.
Wie willst du denn zwischen dem Blauen und dem Grünen trennen? Da muss noch ein Label rein.
Ansonsten kann ich nur meine Kommantare von eben wiederholen.
Äh, ist deins nicht auch falsch, RPG? 32 mit 0 vergleichen? Oh Gott, die Verwirrung hier drin.
Hier, folgendes. (EDIT: So, jetzt.)
CodeLDA $0DBF
CMP #50
BEQ noInc
INC $0DBF
noInc:
CMP #99
BCC return
STZ $0DBF
return:
RTS
Ich nehme jetzt mal mein Beispiel, von dem ich weiß, dass es funktioniert, und kommentiere es ausführlich.
CodeLDA $0DBF
; Lade die Anzahl der Münzen in A.
CMP #50
; Vergleiche sie mit 50.
BEQ noInc
; Wenn sie (genau) 50 sind, gehe zum Label "noInc".
INC $0DBF
; Wenn nicht, dann macht der Code hier weiter - und erhöht die Anzahl der Münzen um eins.
noInc:
; Hier ist das Label "noInc".
CMP #99
; Vergleiche die Anzahl der Münzen (die haben wir immer noch in A) mit 99.
BCC return
; Wenn sie weniger als 99 sind, gehe zum Label "return".
STZ $0DBF
; Setze die Anzahl der Münzen auf 0 zurück.
return:
; Hier ist das Label "return".
RTS
; Ende der Routine.
Noch ein Tipp, falls du's noch nicht weißt: Rechtsklick auf zwei verschiedene Farben bei gedrückter Alt-Taste erzeugt einen netten Farbverlauf.
So, die Insel erneut. Noch ist sie nicht ganz fertig, aber ich hoffe, das lässt nicht mehr lange auf sich warten.
Zitat von kooooopa: Edit: Und eine Frage, wie kann ich eine achtel Triole in smw darstellen?
Wenn ich mich recht erinnere, musst du die Note(n) dafür in geschweifte Klammern({}) einschließen. Alles in geschweiften Klammern hat nur zwei Drittel der originalen Länge, und genau das sind Triolen ja.
Sieht gar nicht mal so schlecht aus, auch was die Video- und Kanalqualität angeht.
Nach kurzem Überfliegen der Videos zwei Kritikpunkte:
- Warum heißen alle Tutorials "Lunar Magic Tutorial", wenn sich keins davon um Lunar Magic dreht?
- Scheint zwar alles faktisch korrekt zu sein, aber das sind alles Anleitungen, keine Tutorials. Zumindest bei dem Xkas-Tutorial, das ich beispielhaft überflogen habe, wurde nirgendwo erklärt, warum man jetzt das macht, was man macht. So lernt man blindes Kopieren und Einfügen, nicht Patchen. (Und über xkas GUI kann man sich auch streiten, aber na ja.)
Die 05 da ist die Musik, die gespielt wird. Ob es reicht, die Zahl einfach zu der Nummer des Liedes zu ändern, die du haben willst, weiß ich nicht, aber probieren kannst du's ja mal.
Zweite Lösung, die auf jeden Fall funktioniert: Die beiden Zeilen entfernen und die Musik in LM selber einstellen.
Versuch mal, folgendes direkt nach dem Main-Label einzufügen:
Code
PHP : REP #$20 ; \
LDA $010B ; | Wenn wir in Level 0D sind,
CMP #$000D ; | so weitermachen wie geplant
BEQ .continue ; /
PLP ; \
LDA $7B ; | Ansonsten den überschriebenen
BPL + ; | Code wiederherstellen
EOR #$FF : INC A ; | und zurück zum SMW-Code springen
+ JML $00D637 ; /
.continue
PLP
Ups. Na ja, such mal nach der Zahl 000D, das ist die Level-Nummer.
Zitat von LPBass: Und die Tatsache, dass ich beim xkas Tutorial fast nichts erklärt habe, sondern nur gezeigt habe, liegt daran, dass ich nicht wollte, dass das irgendwer wieder nicht versteht, weil ich dann wieder was viel zu kompliziertes für die Anfänger sage..!
Feine Absicht, aber es ist ja nicht unmöglich, auch das Warum so zu erklären, dass ein Anfänger es versteht. Schaden kann's nie.
Was die Tabelle in der Textdatei vom Free-Space-Logger eigentlich bedeutet, zum Beispiel. Dazu müsste man vielleicht erklären, was ein Patch überhaupt macht, und dazu wiederum, wie eine SNES-ROM eigentlich aufgebaut ist (nicht ausführlicher als nötig natürlich, aber doch so, dass man begrefit, was man eigentlich gerade macht und wieso). Klar ist das eine Menge mehr Mühe, aber es wird sich lohnen, wenn man keine Generation von Copypastern erziehen will.
Dunkler muss sie nicht mal, nur die Sättigung solltest du ordentlich runterschrauben. (Auch die vom Hintergrund, würde ich sagen.)