Blutpatch für Fortgeschrittene

Wir sind immmer noch beim Spiel "Fighting Force SLES00731"
Wie im Anfängerteil beschrieben, wird das Blut nur weiß, wenn man DEUTSCH anwählt.

Starte nun deine Trainersoftware.
Wechsle im Menü die Sprache und mache eine UNGLEICH Suche.
Wiederhole das so lange, bis nur noch die Adresse 80093d08 übrigbleibt.
Dabei ist ENGLISH = 0, FRENCH = 1 und GERMAN = 2.

Nun lade das Executable GAME.EXE in einen File-Disassembler und suche nach einem Verweis auf diese Adresse. Dabei kommen rund ein Dutzend Adressen heraus.
Ich überspringe jetzt die Nieten und komme zur richtigen Adresse:

8005c3f0: 3c038009 lw $v1,[0x80093d08]

Irgendwo folgt nun die Routine "Wenn 80093d08 = 2, dann Blut = weiß", die uns aber gar nicht interessiert.
Wir verhindern lediglich, daß an dieser Stelle der Wert 2 geladen wird.


Wenn ich nun den Cheat:

Rotes Blut mit deutschen Menues
$3005C3F4 0000

aktiviere, sieht es im Speicher so aus:

8005c3f0: 3c038009 lw $v1,[0x80093d00]

Die Adresse 80093d00 ist immer NULL, sogar wenn das Startexecutable "SLES_007.31" geladen ist.
So hat man noch den "skip if false" Code gespart.

"Pax Corpus PAL SLES00953"
Rotes Blut mit deutschen Menues
$0002439C 0000

Bei diesem Spiel habe ich auch erst einen Zeiger mit XLINK ermittelt.
Aber der Versuch, nach dem selben Verfahren wie bei "Fighting Force" vorzugehen, scheiterte.
Darum trug ich den Pointer in den Breakpoint Editor mit "READ" ein, startete die Suche zwischen Menü
und eigentlichem Spiel und ging dann auf "JUMP RA".
Irgendwo da wird dann deutsch=2 abgefragt.
Ein paar grüne Punkte sind noch zu sehen.
Vielleicht möchte sich jemand daran versuchen?
Hauptsache, man so tolle deutsche Texte wie "LOSUNGFWOT" lesen.

Wenn ihr immer noch mehr wollt, hier geht es zum Blutpatch für Leute mit viel Geduld und Langeweile

Dieses FAQ wurde geschrieben von Nachbrenner