sommergemuese


Simon sein Blog Startseite Quicknews Aktivität Mitglieder Gruppen Foren Chat AnmeldenRegistrieren

Operation Flashpoint Dragon Rising – Modding

Am 10. Oktober 2009 | 6:37 Uhr von Simon in Operation Flashpoint Dragon Rising geposted.

Heute zeige ich euch , wie man denn das (übrigens wirklich sehr gute) Spiel Operation Flashpoint: Dragon Rising Entpacken kann, um Modden zu können und so. (Okay vorrausgesetzt OPF liest Extrahierte Dateien ein, noch nicht getestet ansonsten .. Repacker)

Zuerst möchte ich mich bei Aluigi von XentaX bedanken, ohne ihn wäre das niemals so schnell möglich gewesen.

Um Dragon Rising Entpacken zu können, benötigen wir zuerst QuickBMS und dann zwei Scripte. Im ersten Schritt machen wir aus den 522 Einzelnen, 8.192 KB Großen Dateien eine ganze Datei, die dann 4.07 GB groß ist.  Im zweiten Schritt wird diese Datei dann Entpackt. Toll oder?

Also hier QuickBMS 0.3.2:

Schritt 1:

Wir erstellen ein Script, mit dem die Dateien zusammengefasst werden:

 
append
for i = 0
set NAME string "win_000"
set MYEXT string i
strlen MYEXTSZ MYEXT
 
if MYEXTSZ == 1
string NAME += ".00"
elif MYEXTSZ == 2
string NAME += ".0"
else
string NAME += "."
endif
string NAME += MYEXT
 
open FDSE NAME
get SIZE asize
log "win_000.full" 0 SIZE
next i

Habe ich als big_one.bms abgespeichert, der Name ist jedoch völlig egal!

Hier noch als Download:

So nun Entpackt ihr QuickBMS irgendwo (egal wo), Kopiert die big_one.bms Datei in diesen Ordner und dann kann es auch schon wirklich los gehen! Nun müsst ihr einfach die big_one.bms auf die quickbms.exe ziehen.

Zuerst wird nach einem Verzeichnis, dem Flashpoint-Ordner gefragt, dort müssen wir die win_000.nfs Auswählen.

part1_bild1

Danach kommt ein neuer Dialog, einfach auf Speichern klicken. Wichtig, im Operation Flashpoint Dragon Rising-Verzeichnis!

Bei mir kam dann noch das hier:

quickbms

Habe das  Wort all Eingegeben, kurz Gewartet und ich hab die win_000.full bekommen. Dort wird gefragt, ob QuickBMS die Datei win_000.full weiter Vollschreiben darf. Die letze Fehlermeldung ist völlig in Ordnung (da ja danach keine Datei mehr kommt), also einfach mit der Enter-Taste bestätigen.

Schritt 2:

Nun wird Dragon Rising Entpackt. Neuer Schritt, neues Script.

 
# Operation Flashpoint 2 Dragon Rising (script 0.1.1)
# note: you MUST run opflash2_create.bms first!
# note: all this script is a complete horrible work-around... but it seems to work
# note: the folders are not handled correctly so there will be not sub-sub folders
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
 
comtype lzss
 
get SIZE asize
encryption aes "\xAC\x22\x11\x23\x44\x95\xAC\xA2\x7E\x80\x59\x86\x10\x8B\xEE\xDD\x4D\x01\xD3\x97\x0B\x9D\x4C\xA9\x3D\x7B\xE1\xBB\xED\xDA\x84\x58"
log MEMORY_FILE 0 SIZE
encryption "" ""
 
findloc NAMEOFF string "system" MEMORY_FILE # lame solution
goto NAMEOFF MEMORY_FILE
for i = 0
get NAME string MEMORY_FILE
if NAME == ""
break
endif
putarray 0 i NAME
next i
 
open FDSE "win_000.full"
 
set FOLDER string ""
set PREV_OFFSET long 0
set DATAOFF long 0x7e
set OFFSET_SEEK 0x2a0000
 
for i = 0
goto DATAOFF MEMORY_FILE
get NAMENUM long MEMORY_FILE
get DUMMY3 long MEMORY_FILE
get SIZE long MEMORY_FILE
get FILENUM long MEMORY_FILE
get DUMMY4 long MEMORY_FILE
get TYPE long MEMORY_FILE
get OFFSET long MEMORY_FILE
get DUMMY1 long MEMORY_FILE
savepos DATAOFF MEMORY_FILE
 
if OFFSET == 0
if SIZE == 0
if FILENUM == 0
cleanexit
endif
endif
endif
 
if i == 0
set OFFSET_SEEK long OFFSET
endif
 
math OFFSET -= OFFSET_SEEK
math ZSIZE = OFFSET
math ZSIZE -= PREV_OFFSET
 
math NAMENUM >>= 4
if i == 0   # work-around
set NAMENUM long 0
endif
getarray NAME 0 NAMENUM
 
set FULLNAME string FOLDER
string FULLNAME += \
string FULLNAME += NAME
 
if SIZE == 0    # should check TYPE but this one is better
set FOLDER string NAME
elif SIZE == ZSIZE
log FULLNAME PREV_OFFSET SIZE
else
clog FULLNAME PREV_OFFSET ZSIZE SIZE
endif
 
math PREV_OFFSET = OFFSET
next i

Auch hier als Download:

Wie im ersten Schritt die unpack.bms auf die quickbms.exe Ziehen, die win_000.nfs Auswählen und danach wählt ihr einen neuen, leeren Ordner aus, wo die Datei gespeichert werden soll. Es kommt wieder eine Frage mit Überschreiben, wo ich auch dieses mal mit all quitiert habe.

Ein paar Minuten muss gewartet werden und fertig!

Ich hoffe, das hat euch gefallen


5 Kommentare zu... “Operation Flashpoint Dragon Rising – Modding”
Avatar
Berliner19

Wow Danke Danke Danke….endlich kann mann auch was machen.


Avatar
gomimin

Das entpacken funktioniert schonmal grundsätzlich. Leider werden größere XML Dateien korumpiert in den hinteren Abschnitten, z. Bsp.:

globalknowledge\weapon_target_selection_generated.xml
gometadata\gometadata.xml
inf1\startup.instances.xml

Das erstmal nach kurzem überfliegen. Dank an dich für das übersichtliche posten und besonders an
Aluigi aus dem XentaX Forum für das rausfummeln und scripten!
gomimin


Avatar
gomimin

Darauf hat Aluigi ja auch schon hingewiesen: in my opinion it’s useless to continue to use the script I posted moreover because I have found other problems with it, for example the file locale\languagedata.xml which is also one of the first files to be extracted is corrupted.
so I highly suggest you to wait for a real extractor by someone else because, as I said, this one was only a blind work-around I wrote to help pietastesgood with his request about the music.

Zumindest kann mensch in interessante Sachen schonmal hintergründig reinschnüffeln…warten wir mal ab was noch kommt, schließlich muß gemoddetes ja auch wieder ingame gebracht werden
gomimin


Avatar

Jop funktioniert leider noch nicht so ganz


Du musst Eingeloggt sein, um Kommentare schreiben zu können.

Registrieren dauert nur 5 Sekunden