haefeles Zeugs

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • haefeles Zeugs

      Haefeles Zeugs


      1. Tutorials:
      • Mapping Tutorial
      • Glurak/Bisaflor im Fr/Lg Titelscreen hacken
      • Erstellen und Einfügen einer Weltkarte in Fr/Lg - ALT
      • Einfügen einer Weltkarte in R/S/Sm
      • Einfügen einer Weltkarte in Fr/Lg - NEU
        Spoiler anzeigen
        --------:Einleitung:--------

        Ich weiß, ich habe schonmal ein ähnliches Tutorial geschrieben, aber für diese Sammlung werde ich es erneuern und mit weiterem
        Wissen von mir füttern, so dass ihr die Weltkarten perfekt einfügen könnt.
        Ich werde eine Cleane Feuerrot Edition (D) benutzen.


        --------:Das richtige Bild:--------

        Ganz, ganz wichtig ist hierbei, dass das Bild die Maße 192x144 oder 208x144 hat.
        Wenn ihr die erste möglichkeit nehmt, hat euer Bild später noch einen Weißen Rand, bei der zweiten Möglichkeit nicht.
        Außerdem darf das Bild ruhig mehr Farben haben als 16 (15 + 1 Transparente), da man normalerweise die Paletten einfach auf Palette 0 und
        Palette 1 aufteilt.


        --------:1. Teil: Nachforschungen:--------

        Als erstes sollten wir uns den ganzen "Kartenscreen" mal genauer anschauen.
        Dazu hab ich einfach mal die Karte geöffnet, und danach den Map-Viewer des VBA.



        Eigenschaften des angeklickten Tiles im Bild.
        Addresse: Die Adresse des Tiles im RAM.
        Tile: Die Tilenummer des Tiles aus dem Tileset.
        Flip: Wie das Tile gespiegelt wurde(Horizontal, Vertikal, Beides)
        Palette: Die Palettennummer (0-15), der Palette, die das Tile "benutzt".


        Die Farbwerte der Farbe die ihr im Tile angeklickt habt (RGB).

        Optionen um das Bild zu formatieren.

        Eigenschaften des Bildes.
        Kartenbasis: Das Offset an dem die Tilemap im RAM anfängt.
        Zeichenbasis: DAs Offset an dem das Tileset im RAM anfängt.
        Größe: Die Größe des Bildes.
        Farben: Wie viele Farben das Tileset (!) benutzt.


        Schaltflächen um die verschiedenen Ebenen des Bildes anzeigen zu lassen.

        Großansicht des im Bild angeklickten Tiles.

        Soooo, von der Erklärung des Fensters jetzt mal zum Nachforschen...

        Öffnen wir gleich zum Map-Viewer auch noch den Tile-Viewer, und dann schauen wir uns das mal an.
        Wenn wir im Map-Viewer mal den blauen Rand im BG0 anklicken, bekommen wir unter den Tile-Eigenschaften die Tilenummer: 0,
        welches heißt, dass unser Tile das allererste im Tileviewer sein muss, und da sehen wir: Es stimmt!

        Also wissen wir: Das transparente Tile muss das erste Tile sein, das wir später in unserem Tileset haben werden, und außerdem
        MÜSSEN wir ein transparentes Tile haben, mehr dazu aber später.

        Als weiteres sollten wir uns die Position des "Schließen-Buttons" merken, denn: Die Karte wird IMMER geschlossen wenn wir an dieser
        Stelle A drücken (Von unten Rechts: 3 Tiles nach oben und eines nach Links).

        Wenn wir jetzt weiter im Bild umherklicken wird uns auffallen, dass Palette 0 und Palette 1 benutzt werden, was uns natürlich sehr
        gelegen kommt, so können wir mehr Farben benutzen.


        Zudem sollten wir uns noch anschauen, wo wir überall unsere Städte bzw. Routen setzten können, deswegen fahren wir einmal
        mit dem Cursor am Rand der Worldmap entlang und sehen so folgendes:

        Quellcode

        1. Nach Oben: 2 Tiles
        2. Nach Unten: 1 Tile
        3. Nach Links: 1 Tile
        4. Nach Rechts 1 Tile

        Das sind die Anzahl der Tiles, über die man nicht fahren kann, deshalb sollte man dort keine Routen oder Städte setzten.

        Das wärs mit den Nachforschungen, diese Informationen sollten reichen um die Weltkarte am Ende perfekt einzufügen.


        --------:2. Teil: Das Tileset:--------

        Das erstellen des Tilesets aus der Weltkarte ist sehr, sehr mühsam, weshalb ich es hier als Video Tutorial aufgenommen habe.
        Ich werde diese Weltkarte benutzen, welche ich von Hackrex zum Einfügen bekommen habe:


        Downloadlink zum Video

        --------:3. Teil: Die Tilemap:--------

        So, jetzt geht es ans erstellen der Tilemap, auch hier hab ich ein Video-Tutorial gemacht, da es so einfacher zu kapieren ist.
        Downloadlink zum Video

        --------:4. Teil: Das Tileset einfügen:--------

        Nun, wir haben die nötigen Informationen, das Tileset, und auch die Tilemap, deshalb wollen wir die Weltkarte jetzt endlich einfügen.
        Wir nehmen den Nlz-GBA (Hier zu finden), öffnen unsere Rom über "File->Open Rom" und stimmen danach zu, dass er unsere Rom nach LZ-komprimierten
        Dateien durchsucht.

        Nach einem Augenblick sollten wir hier gelandet sein:


        Optionen für die Palette des Bildes.
        16-/256-Colours: Wie viele Farben das Bild hat, entweder 16, oder 256.
        Gray Scale: Wenn der Haken gesetzt ist, wird das Bild in Schwarz/Weiß angezeigt.
        ROM Palette Offset: Das Offset der Palette, falls man eine laden möchte.


        Optionen für das Bild.
        Compressed Graphics: Wenn Haken gesetzt, schaut es an dem Offset nach, ob eine komprimierte Graphic dort vorhanden ist, und zeigt es uns an.
        Width: Man kann die Anzahl der Tiles pro Zeile angeben.
        Image: Die Bildnummer.
        Offset: Das Bildoffset.
        Save as Bitmap/Import a Bitmap: Speichern oder Laden eines Bildes.
        Raw Dump/Load Raw: Speichern oder Laden einer Raw-Datei.
        Write to ROM: Alle gemachten Änderungen werden in die Rom geschrieben.


        Wie viele Tiles vom Programm hinzugefügt wurden, damit das Bild mit den Angegebenen Tiles pro Zeile angezeigt werden kann.

        Sooo, jetzt gehen wir an die Nummer 168, stellen die Width auf 16, und finden dort das Tileset unserer Weltkarte.
        (Ihr solltet das Tileset auch in Blattgrün, und auch in anderen Sprachen um diese Zahl herum finden, ansonsten ist
        halt ein wenig suchen angesagt.)

        Jetzt müssen wir nurnoch, bevor wir das Tileset einfügen können, eine Kleinigkeit am Tileset ändern.
        Und zwar müssen wir alle Tiles, die die Palette 1 benutzen, in den Farben von Palette 0 einfärben, damit wir das
        Tileset perfekt einfügen können.
        Bei mir sind das die Routen und die Städte.

        Jetzt können wir in Ruhe unser neues Tileset einfügen, indem wir auf "Import a Bitmap" klicken, unten Rechts unser Format angeben,
        und danach unser Tileset auswählen.
        Wenn unser Bild jetzt noch nicht Indexed ist, kommt so ein Fenster:

        Dort müsst ihr jetzt einfach eure Transparente Farbe anklicken, und danach die Farbe am 0ten Index.
        So wird eure transparente Farbe auch wirklich Transparent.

        Jetzt klickt ihr auf "Finished".

        Nun kommen die Write Options.

        Quellcode

        1. Offset: Das Offset gibt an an welchem Offset die Graphic stehen wird.
        2. Abort if new data is bigger: Soll es eine Meldung geben wenn die neue Datei zu groß ist?
        3. Repoint Pointers: Wenn man das Bild an ein neues Offset schreibt, sollen die Pointer in Ordnung gebracht werden?
        4. Import Palette: Anhaken wenn man die Palette des Bildes importieren möchte.


        Am besten lasst ihr alle Einstellungen und klickt auf "OK".

        Wenn nun keine Meldung kommt, und das Bild geändert ist, klickt ihr auf "Write to ROM", und nun habt ihr das Tileset eingefügt.

        Sollte eine Meldung kommen in der steht: "Compressed data is too big. Cancelling.", dann müsst ihr das Tileset noch
        einmal laden, den Haken bei "Repoint pointers" setzten, und ein neues, freies Offset angeben.
        Nun klickt ihr auf "OK", und anschließend auf "Write to ROM". Fertig!

        --------:5. Teil: Die Tilemap einfügen:--------

        Hier benötigen wir wieder den Nlz-GBA, und unsere Tilemap.
        Wir öffnen nach oben genanntem Muster unsere Rom und springen dann an das Offset, das diese Liste uns gibt.

        Quellcode

        1. Danke an LU-HO für die Liste:
        2. Search in: POKEMON FIREBPRE
        3. $3F089C <- Hauptkarte
        4. $3F0AFC <- Island Karte 1
        5. $3F0C0C <- Island Karte 2
        6. $3F0CF0 <- Island Karte 3
        7. Search in: POKEMON LEAFBPGE
        8. $3F06D8
        9. $3F0938
        10. $3F0A48
        11. $3F0B2C
        12. Search in: POKEMON FIREBPRD
        13. $3F00F4
        14. $3F0354
        15. $3F0464
        16. $3F0548
        17. Search in: POKEMON LEAFBPGD
        18. $3EFF30
        19. $3F0190
        20. $3F02A0
        21. $3F0384
        22. Search in: POKEMON FIREBPRI
        23. $3E7B58
        24. $3E7DB8
        25. $3E7EC8
        26. $3E7FAC
        27. Search in: POKEMON LEAFBPGI
        28. $3E7994
        29. $3E7BF4
        30. $3E7D04
        31. $3E7DE8
        32. Search in: POKEMON FIREBPRS
        33. $3EAB70
        34. $3EADD0
        35. $3EAEE0
        36. $3EAFC4
        37. Search in: POKEMON LEAFBPGS
        38. $3EA9AC
        39. $3EAC0C
        40. $3EAD1C
        41. $3EAE00
        42. Search in: POKEMON FIREBPRF
        43. $3E8E58
        44. $3E90B8
        45. $3E91C8
        46. $3E92AC
        47. Search in: POKEMON LEAFBPGF
        48. $3E8C94
        49. $3E8EF4
        50. $3E9004
        51. $3E90E8
        Alles anzeigen


        Den Spielcode könnt ihr im Hex-Editor ablesen, oder auch in Advance-Map.

        Für mich ist dieser Teil interessant:

        Quellcode

        1. Search in: POKEMON FIREBPRD
        2. $3F00F4
        3. $3F0354
        4. $3F0464
        5. $3F0548


        Das erste Offset ist das Offset der Tilemap der Weltkarte, also gehen wir im Nlz-GBA nach $3F00F4 und fügen dort unsere
        Tilemap ein.

        Wir klicken auf "Load RAW", wählen unten Rechts als Dateityp "All files" aus, und wählen dann unsere Tilemap.
        Anschließend belassen wir die Haken und das Offset so wie sie sind, und klicken auf "OK".

        Kommt nun auch keine Meldung, folgt ein letzter klick auf "Write to ROM", und ihr habt auch diesen Schritt gemeistert.

        Sollte eine Meldung kommen in der steht: "Compressed data is too big. Cancelling.", dann müsst ihr die Tilemap noch
        einmal laden, den Haken bei "Repoint pointers" setzten, und ein neues, freies Offset angeben.
        Nun klickt ihr auf "OK", und anschließend auf "Write to ROM". Fertig!

        --------:6. Teil: Die Paletten:--------

        Auch hier gibts wieder ein kleines Videotutorial, da es so einfach viel einfacher ist.
        Downloadlink zum Video

        --------:Nachwort:--------

        Ich hoffe dass dieses Tutorial besser ist als das alte, und dass auch alles gut erklärt wurde.
        Bitte kopiert es nicht, da es (c) by haefele ist.

        Fragen und Kritik ist wie immer erwünscht.
      • Anbindungen


      2. Notizen:

      Intro Offsets:
      Spoiler anzeigen
      Intro - Offsetsammlung


      __________________________________________________

      Intro - Hintergrund:

      Tileset:
      461D70; 316
      Tilemap:
      461DB4; 317
      Palette:
      461634
      __________________________________________________

      Intro - Kreis unter Personen:

      Tileset:
      463ADC; 322
      Palette:
      463A9C
      __________________________________________________

      Intro - Namen geben:

      Tileset:
      E98104; 3597
      Tilemap:
      Blaue Box: E983B8; 3599
      Braune Box: E98478; 3600
      Grüne Box: E98538; 3601
      Hintergrund: E982DC; ,3598
      Palette:
      Blaue Box: E98064
      Braune Box: E98084
      Grüne Box: E980A4
      Hintergrund: E98044
      __________________________________________________

      Intro - Begrüßungstext:

      Tileset:
      4616B4; 315
      Tilemap:
      -Nicht Gefunden-
      Palette:
      461674
      __________________________________________________

      Intro - Tastenerklärung:

      Tileset:
      4616B4; 315
      Tilemap:
      -Nicht Gefunden-
      Palette:
      461694
      __________________________________________________

      Intro - Personen:
      256-Farben!!!

      Eich:
      Tileset: 462DE0; 320
      Palette: 462CE0
      Gary:
      Tileset: 4634B8; 321
      Palette: 4633B8
      W-Hero:
      Tileset: 461FE0; 318
      Palette: 462648
      M-Hero:
      Tileset: 462708; 319
      Palette: 462648

      W-Hero und M-Hero haben die gleiche Palette!
      Alle Nummern hinter den Offsets sind für den NLZ GBA.

      Kampfscreen:
      Spoiler anzeigen
      Kampfscreen:

      Tilesets:
      Box unten links (Unlz GBA):
      407
      KP/EP-Box (Unlz GBA):
      568-573
      Hintergründe (Unlz GBA):
      Anfang der Rom

      Paletten:

      Gras-Hintergrund:
      0x002482D5
      Höhlen-Hintergrund:
      0x0024CE6D
      Wasser-Hintergrund:
      0x0024B071
      Top4-1-Hintergrund:
      0x0024E579
      HP/EP-Box:
      0x00D11B84
      HP-Balken:
      0x00D11BA4
      Box unten links:
      0x00D004E0



      3. Sonstiges Zeugs:

      Video zum Finden der Türanimationen

      Rombase mit Custom Tiles
      Spoiler anzeigen
      Credits to:
      - Saurav
      - Zel!x

      Rombase mit Custom Tiles #2
      Spoiler anzeigen
      Credits to:
      - Alistair
      - Kyledove
      - WesleyFG
    • Hi,

      gute Arbeit^^

      Könntest du die Videos nicht bitte bei Youtube hochladen?

      Weil bei mir dauert es ewig von diesen File Hostern downzuloaden...

      MfG
      raupy

      Chris sagt:
      du glaubst mir also nicht?

      raupy sagt:
      mal ehrlich
      warum ist es eigentlich den lebensziel
      mich 500x zu verarschen?

      Chris sagt:
      ich hab sone stempelkarte von edeka
      beim 500x mal
      krieg ich nen plüschteddy :)


      Krissel ftw.!
    • Meine Güte, da hast du ja ganz schön was auf die Beine gestellt. Das neu aufgelegte Tut hat mir endlich den Kick gegeben, vorher war meine Karte in einer Farbe immer falsch.
      Das Anbindungs-Tut ist ausführlich genug, klasse.
      Und das ist fast ein neues Inhaltsverzeichnis für Tuts, (was ich mir eigentlich noch erhoffe)

      Seit heute dem 03.10.16, 8 Jahre auf RHR!!! :P
    • Hi,

      mal ne Frage

      Tileset:
      461D70; 316

      angenommen ich habe vor mit nem Hex.Editor das zu extrahieren. Woher weiß ich wie viele Bytes das sind? 316 ist ja das unlz Offset.

      Also, wie bekommt man das raus?

      MfG
      raupy

      Chris sagt:
      du glaubst mir also nicht?

      raupy sagt:
      mal ehrlich
      warum ist es eigentlich den lebensziel
      mich 500x zu verarschen?

      Chris sagt:
      ich hab sone stempelkarte von edeka
      beim 500x mal
      krieg ich nen plüschteddy :)


      Krissel ftw.!
    • Deine Tutorials sind echt klasse. Vor allem das mit dem Weltkarten einfügen find ich sehr hilfreich. Nachdem ich mich durch beide durchgeschlagen habe, habe ich meine Weltkarte nun doch mit Hilfe des Neueren in meine Rom eingefügt. Aber auch die anderen Tuts sind super und haben mir schon gehofen.

      :thumbsup:

      So sieht es jetzt übrigens aus. Hab mich mal am HG/SS-Style probiert :thumbup:
      Bilder
      • Worldmap.png

        8,37 kB, 240×160, 342 mal angesehen

      ✩✩✩✩✩

    • Ich habe folgendes Problem:
      Der Download der Videos für "Einfügen einer Weltkarte in Fr/Lg - NEU" im Startpost funktioniert nicht mehr bzw. fehlerhaft..
      Ich habe haefele per PN gefragt, doch er hat die Videos nicht mehr.
      Aus dem Grund riet er mir, hier nachzufragen, ob nicht zufällig noch jemand die Videos hat und sie mir und evtl. auch anderen diese geben kann.
      Ich hoffe, dass sie jemand noch hat.

      MfG,
      ID
    • Lads doch, wenn möglich, als Anhang hoch.
      Falls die Datei dann doch zu groß ist, wird sich bestimmt eine Upload Site finden, die es nicht schnell löscht.
      Außerdem werd ich mir dann selbst noch ein Backup erstellen.

      Wobei mir gerade auffällt, es fehlt das Video Tileset.avi.
      Die anderen beiden, Tilemap.avi und Palette.avi sind ja noch hochgeladen.
      Deswegen wird es auch wahrscheinlich sein, dass das Tileset Video auch noch gehostet ist.
      Deswegen vllt mal diese Seite durchsuchen...