Development & Research - Sammelthema für Kleinigkeiten

  • 1 Inhalt (Suche = Strg+f)

    • 1 Inhalt
    • 2 Einleitung
    • 3 Regeln
    • 4 Die Liste

      • 4.1 Rubin & Saphir
      • 4.2 Feuerrot & Blattgrün
      • 4.3 Smaragd
      • 4.4 Diamant & Perl
      • 4.5 Platin
      • 4.6 HeartGold & SoulSilver


    • 5 Schluss


    Stand: 04.07.2010


    2 Einleitung
    Dieses Topic wird vorerst ein Sammeltopic für das allgemeine Vorrankommen und Fragen zum Thema Development & Research im deutsch(-englischen) RH. Ausserdem werde ich hier eine "kleine" Übersicht über die aktuellen Möglichkeiten hier reinstellen. Falls ich was vergessen habe könnt ihr mir auch gerne eine PN schicken. Und ich hoffe, das ich durch dieses Topic den ein oder anderen User zum Entwickeln von neuen Dingen anspornen kann. Damit wäre eigentlich alles gesagt.



    3 Regeln
    Ja, ich weis, ein blödes Thema, aber bevor hier alles im Chaos versinkt sollte man doch ein paar Regeln aufstellen und Spams verhindern. Und besser ich bringe es hier dran, als nacher am Schluss wo es mir die hälfte einfach übergeht.


    Was kommt hier rein?
    Eingentlich alles was etwas mit Problemen im Development & Research zu tun hat und die dazugehörige Problemlösung.
    Dies könnte ungefähr so aussehen:

    Zitat

    Problem
    Ich will neue Mapnamen in meine Rom einfügen.
    Ich hab dafür schon die Pointer 0xABCDEF und 0xGHIJKL gefunden, die Mapnamen befinden sich am Offset 0xMNOPQR.
    Hat jemand eine Idee wie ich das Problem lösen kann?


    Als antwort darauf könnte z.B. dann so etwas kommen

    Zitat

    Ich habe am Offset 0xSTUVWX die Anzahl der Mapnamen gefunden!
    Wenn man diese erhöht ist es bei mir nun möglich neue Namen hinzuzufügen!


    Dieses Beispiel war natürlich nur erfunden. Aber es können auch fertige Anleitungen, Tools, etc. hier hinein verlinkt werden, solange sie sich nicht mit einem Thema beschäftigen, das bereits möglich ist bzw. in der Liste aufgeführt wird. Wobei man auf die Kompatiblität mit deutschen Roms achten sollte, sonst können wir auch gleich zu PC oder WAH gehen.


    Was kommt hier nicht rein?
    Alles was nichts mit dem Thema "Development und Research" zu tun hat. XD
    Naja, insbesondere Themen über "Wie funktioniert dieses Programm"; "Die Anleitung funktioniert nicht" oder so sind hier unerwünscht. Dafür kann man neue Topics aufmachen oder im 2. Fall eine PN an mich schicken um im Zweifelsfall die Anleitung/das Tool ausgiebig zu testen.


    Der Rest ist eigentlich gleich wie in allen anderen Topics auch.



    4 Die Liste
    Alle Angaben wurden folgendermaßen eigetragen: Titel/kurze Beschreibung, ["Entwickler", falls bekannt], [Datum, falls bekannt] (s. Link/Tool).
    Diese Liste ist noch unvollständig und weist evtl. Fehler auf. Deshalb möchte ich die User bitte, die neue Einträge machen, Daten einfügen oder Fehler reklamieren wollen mir eine PN zu schicken, dann werde ich die Daten eintragen/ändern.





    In den nachfolgende Spoilern sind nur sehr wenige/gar keine Informationen vorhanden. Ein Ausführlicher Report wäre wünschenswert.




    Diese Liste enthällt nur veröffentlichtes Wissen für deutsche Roms.


    5 Schluss
    Damit wäre der Startpost beendet. Ich möchte mich bei all jenen bedanken, die die über 10 200 Zeichen aus denen dieser Text besteht durchgehalten haben. Bei denen die nur schnell zum Schluss runtergescrollt haben hoffe ich, dass sie wenigstens den Sinn dieses Topics verstanden haben.


    Nun wünsche noch viel Spaß in diesem Topic!^^

    Users[4939].postCount++;


    • Weltherrschafts AG in Cooperation mit Weltuntergangs GmbH:
      "Wir sorgen dafür, dass sie sich keine Sorgen um Morgen machen müssen!"

    4 Mal editiert, zuletzt von prime-dialga ()

  • Hallo, ich habe ein kleinen Tool geschrieben, das die Reihenfolge von Pokemon im Dex und das EP-Verhalten editieren, kann (natürlich noch einiges mehr, aberdas ist nichts neues)
    Ausserdem soll es bald möglich sein die Fußabdrücke eines Pokemon zu editieren. Dies wird aber erst später eingebaut.
    Momentan läuft nur BPRD damit aber es ist geplant auch andere Editionen verfügbar zu machen.
    Hier ist das Topic, für Fragen, Feedback, Anregungen und Vorschläge bitte dem Link folgen:
    https://board.romhackersworld.eu/board6-romhacking/board19-romhacking-tools/7392-cpe-complet-pokemon-editor/


    Ich werde auch hier die Updates des Tool editieren, die Kompatiblität und wirkliche Erneuerungen betreffend.


    PS: Hat irgendjemand die Anzahl der Pokemon im Dex gefunden? Also die 151 für den Kanto- bzw. 386 für den Nationalendex?


    @edit
    Folgende Roms sind nun auch kompatibel:
    AXVD=Rubin Deutsch
    AXPD=Saphir Deutsch
    BPGD=Blattgrün Deutsch
    BPED=Smaragd Deutsch



    @edit 18.09.2010
    Da es nun immer mehr in richtung DS-Hacking geht möchte ich noch mal auf dieses Topic aufmerksam machen.
    Also, wenn jemand was gefunden hat kann er es hier gerne posten!

    Users[4939].postCount++;


    • Weltherrschafts AG in Cooperation mit Weltuntergangs GmbH:
      "Wir sorgen dafür, dass sie sich keine Sorgen um Morgen machen müssen!"

    Einmal editiert, zuletzt von prime-dialga ()

  • Jo, die haefele&driver-connection ist wieder am Start und veröffentlicht jetzt viele schöne Textdateien mit Informationen, die wir herausgefunden, notiert oder für wichtig befunden haben :D


    Notizen und Dokus.rar


    Enthalten sind folgende Themen:

    • Specials
    • Setmapfooter
    • Türanimationen
    • RAM- und ROM-Offsets
    • Offsetsammlungen
    • Scripting-Notizen


    Die Informationen sind größtenteils für Feuerrot(Deutsch) ;D


    Viel Spaß damit, wir hoffen, es hilft euch teilweise und dass es nicht zu unverständlich ist^^



    driver

  • ein paar Daten zu B/W:


    Ich hoffe ich hab das soweit verständlich aufgeschrieben. Die Datenwaren eigentlich anfangs nur für mich gedacht, aber um etwas das BW Hacking zu fördern veröffentliche ich es jetzt.


    bei weiteren Veröffentlichungen/Verwendungen wäre es nett, wenn ihr mir Credits geben würdet, ist aber nicht pflicht.
    Wenn ich irgendwas übersehen oder falsch interpretiert habe, bitte eine PN mir schicken.

    Users[4939].postCount++;


    • Weltherrschafts AG in Cooperation mit Weltuntergangs GmbH:
      "Wir sorgen dafür, dass sie sich keine Sorgen um Morgen machen müssen!"
  • In a/0/1/9 sind die Evolutionsdaten, gleich aufgebaut wie die in D/P/Pl/HG/SS, nur mit 2 Bytes weniger^^



    driver


    Edit: Sogar mit Video als Beweis =D


    Edit2: An a/0/1/8 liegen die Attacken-Daten bei LvlUp der einzelnen Pokémon:

    Code
    1. DateiName: _[PokémonNr.]
    2. Aufgebaut wie folgt:
    3. Word: AtkNr.
    4. Word: Lvl
    5. Beendet mit 4 0xFF-Bytes
  • In Pokemon Schwarz und Weiß ist Texthacking möglich(Stichwörter: ShayminX's Schwarz und weiß Text hacking tutorial/ Patrick... All in One Schwarz und Weiß Hack tutorial)
    Ich hoffe es wird ein neuer Spoiler angelegt. ^^

    Die Signatur dieses Benutzerprofils sind nur für Freunde von »Keks3000« zugänglich. Falls du mein Freund bist ignoriere diese Nachricht.

  • Ich hab hier noch alte Daten von HG/SS, sind zwar unvollständig, aber vielleicht braucht die ja noch jemand, das ganze sind Pfadangaben mit Erklärung, ähnlich denen von prime bei B/W. Leider nur noch von a/0/x, der Rest ging... verloren:



    Man beachte auch, dass dies aus meinen Notizen stammt, die oft nicht wirklich für alle lesbar geschrieben sind, sprich, das ist kein Tutorial, man muss selbst wissen was damit anzufangen ist.


    ~Sturmvogel


    Let the old ways live and prosper in the hearts of our young


  • researchergebnisse für das Kommando cmda6 (ich würde ihn changeblock nennen ^^)
    - Es ist egal, welcher Block oder wieviele Blöcke Block 26 sind, der Block wird immer zu Block 27.
    - Die Position von Block 27 ist fest. Tritt man auf den Block mit der Nummer 27, wird dieser zum rechts nebenstehenden Block in der Blockreihenfolge
    - Die Anzahl der Tritte wird in Smaragd bei var 4022, in FR/BG bei 4001 gespeichert. Betritt man den Block zum ersten mal, ist der wert der Ausgelöst wird var 0x4001 0x0001 bzw. 0x4022 0x0001.
    - Der Mapscript, der ausgelöst wird muss vom Typ 2 sein - andere Werte verlangsamen das spiel zu stark oder verursachen einen blackscreen
    - Der Befehl funktioniert nur, wenn die Map vom Typ "KELLER" oder "INNEN" ist

  • Noch mehr Wissen zur Pokémon Smaragd-Edition:


    Einmal die Offsets von ein paar speziellen Scripts, die man nicht in AM sieht.
    Dann noch der Aufbau von dem Team der Kampfkoryphäen und Troy.
    Wer in seinem SM-Hack DNA eingebaut hat und das Blinken entfernen möchte, nutzt das dritte Dokument.


    Viel Spaß damit.

  • Bei DNA gibt es ein paar Bugs, unteranderem, dass die normale Palette kurz beim Benutzen von Türen oder in Kämpfen aufleuchtet.
    Wenn die Stelle an dem Offset abänderst, passiert das nicht mehr.


    Der Warp-Pfeil-Bug wird dadurch aber leider nicht behoben.

  • Ich hab heute mal wieder etwas aufgeräumt und bin auf ein paar Dokumente/Mitschriften von mir gestoßen, als ich verschiedene Dinge geresearched habe, dies betrifft die Attackeneffekte und die 100Bytes des Pokemon, dazu hab ich noch ein Dok mit den Angaben aller nötigen Offsets, die benötigt werden um eine Feuerrot zuerweitern, dass man mehr Attacken verwenden kann, also zb Gen4-5 Attacken einzufügen etc, dann noch deutsche Inis für fast alle Tools abgesehen von Mappingtools und noch einen Code der Voltwechsel in BPRD ermöglicht.


    -Die Inis können einfach so verwendet werden und ermöglichen es fast alle Tools zu verwenden, die man sich wünscht. (Nur BPRD)
    -Die Offsets für den "Attackenpatch können nur für BPRD verwendet werden für alle anderen Rom muss selber researched werden.
    -Die Attackeneffekte sowie der Voltwechselcode erfordern Wissen über die Funktion der Attacken auf Hex-code-ebene und ist so nur für Fortgeschrittene und Profis geeignet (nur für BPRD getestet)
    -das Dokument über die 100Bytes des Pokemon entspricht dem Tut von Darksittich und ist nur um ein paar Dinge ergänzt (BPRD)


    Zu allem sei gesagt, es war nur zu meinem eigenen Verwendungszweck geschrieben und ist so, vlt. manchmal unverständlich geschrieben und enthält Rechtschreibfehler.
    Wie jemand das Ganze verwenden will, ist jedem selber überlassen und erfordert keine Credits abgesehen von Voltwechsel sowie die Attackeneffekte.


    Ich veröffentliche das Ganze aus verschiedenen Gründen, einer ist wohl der Offensichtlichste, denn ich habe mich aus dem Bereich des Rh zurückgezogen desweiteren hoffe ich, dass damit vlt. der ein oder andere Hack etwas profitiert.


    Ich wünsche allen damit viel Erfolg und Spass, wobei ich mir sicher bin, dass viele damit wenig anfangen können, schon allein deshalb, da es sich um Dinge handelt, die etwas mehr voraussetzen als nur ein paar Knöpfchen zu drücken, alle die so denken sollten die Finger von diesen Dingen lassen, da sie damit nichts anfangen können, da es kein Tool gibt.


    Mfg Ra369

  • Ihr kennt vielleicht den Befehl "setpkmnpp", wenn ihr mal im XSE die Befehle durchstöbert habt.
    In Tutorials wird es gar nicht erwähnt, obwohl es eigentlich ein sehr nützlicher Befehl ist.
    Nun es verändert es nicht die AP einer Attacke, wie irrtümlich beschrieben, sondern schreibt eine neue Attacke in den gewünschten Slot.
    Anstatt eine ASM-Routine zu schreiben, die eine Attacke ändert, kann man einfach diesen Befehl nehmen. Funktioniert auch bei Pokémon-Eiern.


    Attackensetzer

    Code
    1. setpkmnpp 0xPokémon (ab 0) 0xAttackenslot (ab 0) 0xAttacke
    2. setpkmnpp 0x1 0x3 0x111


    Das zweite Pokémon im Team bekommt als vierte Attacke Wunschtraum.
    Die vollen AP werden auch gesetzt.


    Wer Smaragd hackt und bei einer Map mit Wetter z.B. bewölkt oder Sonnenlicht den Befehl fadescreen benutzt, wird feststellen, dass alle Paletten beim Einblenden etwas dunkler geworden sind.
    Bei mehreren fadescreens ist die Map dann irgendwann sogar komplett schwarz. Sicherlich auch ein netter Effekt des Bugs für bestimmte Szenarien.
    Falls man den Bug nun umgehen will, benutzt man anstatt fadescreen einfach fadescreen3.


    Bugfreier Fadescreen SM

    Code
    1. fadescreen3 0xEffekt


    Zum Schluss noch eine erweiterte Liste für die Verhaltensbyte in RSS. In SM getestet.
    Wenn ein Wert nicht in der Liste steht, dann wurden keine optischen Änderungen sichtbar, sowohl auf der Map, als auch der Kampfhintergrund oder Scripts durch Anklicken, sprich kein Effekt.



    Staubiges Gras - Effektpalette SM

    Code
    1. 0x509508


    Das wars auch schon.

  • Uhr in RSS


    Der Scriptbefehl 0x23 "resetvars" schreibt in RSS die Uhrzeit in die Variablen 0x8000; 0x8001; 0x8002; anstatt wie in FRBG den Wert dieser Variablen auf Null zu setzen.


    Uhrzeit im RAM

    Code
    1. 0x03005CFA
    2. Stunde 1 Byte | Minute 1 Byte | Sekunde 1 Byte


    resetvars

    Code
    1. Stunde -> 0x8000
    2. Minute -> 0x8001
    3. Sekunde -> 0x8002



    Passend dazu empfehle ich eine Routine von Jambo51 in Smaragd einzubauen, damit die Uhrzeit bei jeden Frame aktualisiert wird und nicht nur nach bestimmten Aktionen.


    Bei 0x080004CA den Code mit diesem hier überschreiben:


    Code
    1. 01 B4 00 48 00 47 XX XX XX 08


    Bei X kommt der Pointer zur Routine hin.


    z.B. Offset: F05060 wird zum Pointer: 61 50 F0 08


    Routine mit deutschen Offsets:


    DAN von prime-dialga dazu anpassen:


    Wenn in eurer Smaragd installiert, dann sucht nach


    Zitat

    B846114FD7E700003C55000300C00302


    und ersetzt die rot markierte Stelle mit


    Code
    1. F45C0003
  • Mal was zum Befehl "moveoffscreen" 0x64.
    Ich weiß nicht, wie es zu dieser Beschreibung gekommen ist, aber es schiebt einen OW nicht außerhalb des Bildschirms.
    Der Befehl wird recht selten verwendet: FRBG: Der Typ bei den Fossilien am Mondberg. SM: Die drei Magma-Rüpel, die einen an der Treppe im 1. Stock des Raumfahrtzentrums in Moosbach City überfallen.
    In Wahrheit werden die Koordinaten des angegebenen OWs automatisch geupdatet und zwar auf die, wo er gerade steht. Das setzt man logischerweise nach einem applymovement ein. Ohne den Befehl wurde ein OW wieder seine alte Position vor dem applymovement einnehmen, wenn man sich zu weit von ihm entfernt.
    Ist eine bequeme Alternative zum manuellen movesprite oder applymovementpos nach applymovements.


    Das war's auch schon. ^^

  • Ich habe mal cmd2C untersucht.
    Damit kann man eine neue Stunde und eine neue Minute festlegen.
    Die vergangenen Tage und Jahre, seit dem Spielstart und Sekunden werden automatisch auf null gesetzt.


    Code
    1. setvar 0x8004 0x1
    2. setvar 0x8005 0x2
    3. cmd2c 0x8004 0x8005


    Schaut man jetzt bei 0x03005CF8 nach, sieht man, dass die Stunde zu 1 und die Minute zu 2 wird. Der Rest 0.
    Scheint wohl für das Einstellen der Uhr in RSS zuständig zu sein.