Fähigkeiten, Formwechsel und Geschlecht ändern

  • [IMG:https://i.imgur.com/pmJkODD.png]


    Hab grad ne Ram Map von Fire Red gefunden:
    http://www.pokecommunity.com/s…p?p=6856053&postcount=197


    Ich weiß allerdings nicht, ob die nötigen Offsets dabei sind!


    Edit:
    Eins ist jedenfalls dabei:
    [0x0300500C] + 0x0008 1b Gender (00/01 m/f)
    ersetzt wahrscheinlich Offset 0x03004F5C(in der original Routine) in der US version!


    Versuche nachher, ob es klappt!


    Edit2:
    Geht immer noch nicht. Hab es mit dem Offset 0x0300500C und 0x0300D00c (wegen +0x0008) versucht...

  • Wie Sturmvogel schon angemerkt hat, kannst du nicht einfach alle RAM-Adressen in der Routine für eine andere Sprache übernehmen. Des Weiteren hatte ich auch schon erklärt, dass sich die Spielerdaten im RAM verschieben, daher braucht man den Pointer, der auf den verschiebbaren Bereich zeigt und muss die Bytes dazu addieren, damit man auf den Byte des Geschlechts kommt.


    Bitte auch das Offset bei callasm überprüfen. Ich hatte in diesem Thema aber schon erwähnt, wie man es richtig macht.
    Das Offset der Routine nehmen und eins (1) dazu addieren und nicht wie du es gemacht hast, eine 1 hinten dranhängen. [Offset + 1] würde ich nicht als 1 hinten dranhängen interpretieren. Korrigiere mich bitte, falls das nicht anfängerfreundlich geschrieben ist, aber meiner Meinung bedeutet ein + nicht, dass man eine Zahl hinten dranhängt bzw. gibt es dafür doch kein mathematisches Symbol. Wenn die Routine z.B. bei 0x800000 liegt, schreibst du callasm 0x800001.


  • Das ist auch richtig so, 08 ist das Vorzeichen für die ersten 16MB des ROMs (0x0 bis 0xFFFFFF). Für die nächsten 16MB ist es 09 (0x1000000 bis 0x1FFFFFF), Es kann ja auch mal der Fall sein, dass du eine ARM-Routine brauchst und die im WRAM stehen soll, dann wäre es 03.

  • MrPokémon

    Hat das Thema geschlossen