You are not logged in.

Wie bekomme ich Zugriff aufs Cartmoddingforum | Fire Emblem: Das Siegelschwert Übersetzer gesucht | Videotutorial - Spielpatches benutzen! | Spenden für die Seite

Dear visitor, welcome to Snes-Projects.de. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

1

Friday, March 18th 2011, 1:06am

Romhacking [Mittel] - Grafik-Adressen lokalisieren und manipulieren

Dieses Tutorial wird erklären wie die Positionen von Grafiken lokalisiert und verändert werden können.
Als Beispiel werde ich Metal Marines nutzen. Weiterhin brauchen wir ein VRAM Viewer bzw. einen Emulator(mit Debugger).
Ich nutze in diesem Fall: VSNES und ZSNES. VSNES zeigt uns relativ einfach den VRAM bereits in den richtigen Einstellungen und wir können die Zeilen und Spaltenanzahl kontrollieren. Worauf ich aber später erst eingehe. Der VRAM sind die Grafiken und Schriftarten die die Konsole in der Grafik-Arbeitsspeicher legt.

Technisches Grundwissen:
Bildgrafiken werden nicht anders wie Textgrafiken geladen. Das heißt: Jede Grafik hat ihren eigenen HEX-Wert. Ihre eigene Adresse sozusagen. Zu diesen HEX-Wert kommt noch
ein Byte an Palleten-information dazu. Mehrere Grafiken hintereinander mit der selben Palette, können hierbei aber auch den Paletten Wert weglassen. Dieser wird dann am Anfang oder Ende stehen. Zumindest wenn der Programmierer diese Funktion genutzt hat.

Ein kleines Beispiel dazu:



Ein Sprite hat die Maße 8 x 8 Pixel.
Also haben wir 4 einzelne Sprites.
Nehmen wir an der erste Sprite hat im ROM den Wert 30 ; Der Zweite 31 ; und der Dritte 32 ; dazu der Vierte 33.
Weiterhin fantasieren wir uns den Farbwert 20 dazu.
Das würde also im Hexeditor so aussehen:

Quoted

3020312032203320


Das Spiel macht also nichts anderes als folgendes: Es liest Zeilenweise die Grafiken sammt Farbpalleten-Wert dazu.
Sozusagen ist der HUD im Spiel nix weiteres als im ROM eine klare Linie von Adressen mit Werten für Farbe, in einer einfachen zeilenbasierenden Reihenfolge. Bei der Suche haben wir nur ein Problem: wir kennen in der Regel den Palettenwert nicht!

Den Wert des Tiles kann man ausrechnen:
Hierzu kommt unser VRAM-Viewer, VSNES zum Einsatz. Wir gehen mit ZSNES an den Punkt im Spiel wo ein HUD zusehen ist und machen einen Spielstand.
Diesen Spielstand laden wir jetzt in VSNES und gehen dort unter RAM Viewer.

Unser Screenshot


Unserer VRAM mit 4-bit


Unserer VRAM mit 2-bit


Wichtig
Eure Grafiken müssen wenn ihr sie gefunden habt, in einer 16 Reihe pro Zeile ordnen.
Sonst bekommt ihr keine Hexwerte heraus. Das Ganze sieht dann so aus:


Nun schnappt euch ein Zeichenprogramm eurer Wahl und macht eine Übersicht dazu um nicht mühsam mit der Hand abzählen zu müssen.
Das ganze sieht dann aus wie Schiffeversenken. Vergesst nicht dass man hier bei 0 anfängt mit Zählen.
So sieht es dann übersichtlich aus:

Der Wert nach unten ist der Erste, der Wert nach rechts der Zweite bei der Suche.


Ich hoffe bis hierher ist soweit Alles klar.

Nun zum Eingemachten. Wir wissen nun welchen Hexwert das Bild hat, ohne Palettenwert. Das stört und aber nicht. Wir können SNESEDIT einen HEX-Wert mit Relativen Zeichen machen. Ein relatives Zeichen ist das * (Das Mal Zeichen bei der nummerischen Tastatur).
Abgelesen von unserer Übersicht suchen wir also nach folgendem:

Quoted

94**95**96**97**98**

Das entspricht diesen Tiles:


Nach ein bisschen Suchen, müsstet ihr das hier finden:



Wir haben jetzt die Grafikadressen gefunden, oder vielmehr die "Pointer" dafür.
Dazu sogar die Farbwerte bzw. für die Spiegelung. Wir können jetzt also ohne Probleme andere Zeichen aufrufen lassen.
Dazu ändern wir einfach die Hexwerte(Taste X bei SNESEDIT) auf das gewünschte Tile und das Spiel wird es ohne Ärger reinladen. Hierbei ist unsere
angefertigte Übersicht hilfreich.

Ich hoffe ich konnte euch Wissen vermitteln. Anregungen und Wünsche oder Fragen bitte hier posten.
Anbei möchte ich RED-Scorpion für seine Hilfe danken mit der ich dieses Wissen selber lernen konnte.

Hier eine vorgearbeitete Grafik zum Alphabet einfügen(Gimp):
http://black.bplaced.net/web/pics/others…ectsde/alph.xcf


Eine aktuellere Version inkl. Bilder findet ihr in der Datenbank.
http://www.snes-projects.de/filebase//in…try&entryID=370

This post has been edited 5 times, last edit by "blackerking" (Sep 20th 2012, 6:43pm)


blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

2

Saturday, March 19th 2011, 10:26pm

Fertig!

KillBill_158

Supergenie

  • "KillBill_158" is male

Posts: 1,967

Thanks: 136

  • Send private message

3

Sunday, March 20th 2011, 3:38am

Danke für dieses ungemein gutes Tutorial von dir ich hoffe viele können dadurch in die Materie tiefer einsteigen und es nutzen weiter so und Daumen hoch :)
Signature from »KillBill_158«



Wer sich entschieden hat, etwas zu tun, und an nichts anderes denkt, überwindet alle Hindernisse.

KillBill_158

Supergenie

  • "KillBill_158" is male

Posts: 1,967

Thanks: 136

  • Send private message

4

Sunday, May 6th 2012, 2:09am

Bilder sind Down :( hoffe du hättest sie noch irgendwo zwichengespeichert :)
Signature from »KillBill_158«



Wer sich entschieden hat, etwas zu tun, und an nichts anderes denkt, überwindet alle Hindernisse.

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

5

Wednesday, August 29th 2012, 11:31pm

Was ich an Bildern retten konnte ist gerettet.

KillBill_158

Supergenie

  • "KillBill_158" is male

Posts: 1,967

Thanks: 136

  • Send private message

6

Thursday, August 30th 2012, 3:33am

Danke für deine Mühe :)
Signature from »KillBill_158«



Wer sich entschieden hat, etwas zu tun, und an nichts anderes denkt, überwindet alle Hindernisse.

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

7

Thursday, August 30th 2012, 11:24am

Wir sollten in Erwägung ziehen, unsere Tuts als PDF zusammen zutragen und auf mehreren Hostern zu verteilen

earth phoenix

Schön vorsichtig

  • "earth phoenix" is male

Posts: 162

Thanks: 3

  • Send private message

8

Thursday, August 30th 2012, 1:42pm

ich versuche, ein pdf mit alles infos zusammenzusammeln... allerdings ist das ganze etwas ins stocken geraten...

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

9

Wednesday, September 19th 2012, 7:13pm

Tutorial aufgearbeitet und als vollständige PDF an den ersten Thread gehangen. Viel Spaß beim lesen.

SinaP

SNESEdit

  • "SinaP" is male

Posts: 236

Thanks: 30

  • Send private message

10

Wednesday, September 19th 2012, 9:36pm

Sieht gut aus ;)

OMEGA-RED

Schön vorsichtig

Posts: 97

Thanks: 22

  • Send private message

11

Wednesday, September 10th 2014, 8:26am

"Der Zugang zu diesem Link wurde deaktiviert" meint Dropbox.
Schade.

Und den Screen von SNESEdit kann ich leider nicht richtig erkennen.
Beschäftige mich gerade etwas mit dem Thema. :)

Sorry übrigens für das rauskramen von so einem alten Thread.

Gibt es eigentlich etwas gleichwertiges zu SNESEdit was man auch mit der Maus bedienen kann?

SinaP

SNESEdit

  • "SinaP" is male

Posts: 236

Thanks: 30

  • Send private message

12

Wednesday, September 10th 2014, 10:54pm

Die Dialoge sind Maus bedienbar.
Ansonsten gibt es nicht viel was du mit der Maus bedienen kannst.

OMEGA-RED

Schön vorsichtig

Posts: 97

Thanks: 22

  • Send private message

13

Thursday, September 11th 2014, 12:17am

Also bei mir funktioniert die Maus eigentlich nur richtig im Tilemenü. Bei der Bedienung mit Tastatur funktioniert die ESC-Taste nicht. Wenn ich mal in die Hilfe schau, muss ich dann das Programm mit Taskmanager abschießen um wieder raus zu kommen (Win 8). Ansonsten ist es super. :)

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

14

Thursday, September 11th 2014, 11:27am

Entschuldige, dass die Bilder abhanden gekommen sind und nun nur noch klein und teilweise unlesbar geworden sind.
Gibt es noch Unklarheiten?

OMEGA-RED

Schön vorsichtig

Posts: 97

Thanks: 22

  • Send private message

15

Thursday, September 11th 2014, 3:37pm

Ach, Du brauchst Dich doch dafür nicht entschuldigen! Ist doch cool das Du überhaupt ein Tutorial hier reinstellst.

Dachte nur an dem Screenshot sieht man was Besonderes um zu erkennen das man "richtig" ist. Prinzipiell müsste es ja in jedem Tileset eines Spiels die
Kombination von Tiles geben. Was in dem einen Tileset "Price" ergibt, ist im anderen Tileset vielleicht eine Wiese oder sowas. Und Zufällig könnte diese
Hexkombination ja auch noch im ROM vorkommen. Weiss nicht ob ich da etwas falsch verstehe oder einen Denkfehler habe. :)

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

16

Thursday, September 11th 2014, 3:55pm

Die Tiles werden von Rom in den RAM Speicher geschrieben. Da ich durch die Analyse in vsnes wusste wie die Reihenfolge im Spiel war konnte ich auch genau diese finden. Wenn man nur auf einander folgende hexwerte erhält sieht das schon wesentlich schwieriger aus. Dann kann man aber immernoch probieren oder schauen ob die tile Farbwerte Sinn ergeben.

SinaP

SNESEdit

  • "SinaP" is male

Posts: 236

Thanks: 30

  • Send private message

17

Thursday, September 11th 2014, 4:39pm

Also bei mir funktioniert die Maus eigentlich nur richtig im Tilemenü. Bei der Bedienung mit Tastatur funktioniert die ESC-Taste nicht. Wenn ich mal in die Hilfe schau, muss ich dann das Programm mit Taskmanager abschießen um wieder raus zu kommen (Win 8). Ansonsten ist es super. :)

Wenn Du das etwas konkreter schreiben könntest kann Ich nachsehen wo es klemmt.
Bei mir klappt es natürlich ohne Probleme weil Ich die neuste Version benutze ... :D

2 registered users thanked already.

Users who thanked for this post:

OMEGA-RED (11.09.2014), KillBill_158 (11.09.2014)

OMEGA-RED

Schön vorsichtig

Posts: 97

Thanks: 22

  • Send private message

18

Thursday, September 11th 2014, 8:52pm

Naja, z.B. Aus dem Hilfepunkt "Tasten". Da komm ich mit Escape nicht mehr raus. :-) Fiese Falle.

OMEGA-RED

Schön vorsichtig

Posts: 97

Thanks: 22

  • Send private message

19

Thursday, September 11th 2014, 9:15pm

Die Tiles werden von Rom in den RAM Speicher geschrieben. Da ich durch die Analyse in vsnes wusste wie die Reihenfolge im Spiel war konnte ich auch genau diese finden. Wenn man nur auf einander folgende hexwerte erhält sieht das schon wesentlich schwieriger aus. Dann kann man aber immernoch probieren oder schauen ob die tile Farbwerte Sinn ergeben.


Wird wohl dann probieren werden. Danke für die freundliche Hilfe! :thumbup:
Ich mache schon langsam Fortschritte. Hab in den letzten Tagen einige Experimente gemacht.
Ich will aber nichts übersetzen. Ich möchte Grafiken hacken. Genauer einen Titelbildschirm.
Da ist das Tileset dazu ein einziges Puzzelspiel. Dachte es wär einfacher da einfach die Pointer
umzuschreiben. Man ist ja "bequem". :smoking:

blackerking

Creme de la Creme

  • "blackerking" is male
  • "blackerking" started this thread

Posts: 481

Thanks: 37

  • Send private message

20

Thursday, September 11th 2014, 10:27pm

Wenn du alle Grafiken schon hast kannst du auch versuchen die einfach nur nach deinen Wünschen umzuordnen.
Kann aber auch sein, dass es so aussieht wie dieses Spiel hier:


Rate this thread