Luigi Auriemma

aluigi.org (ARCHIVE-ONLY FORUM!)
It is currently 19 Jul 2012 16:25

All times are UTC [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 9 posts ] 
Author Message
 Post subject: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 23 Jan 2010 21:44 

Joined: 23 Jan 2010 21:30
Posts: 2
Hi aluigi,i extracted .bpe files using quickbms and used the script yuke.bms.After extraction i obtained a file with an extension .bpe.unpacked. Now how do i extract this file or use this file.Please help me out.


Top
 Profile  
 
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 23 Jan 2010 22:24 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
I have worked only on the extraction/unpacking of the files.
for all the rest you must refer to the following thread:
http://forum.xentax.com/viewtopic.php?f=29&t=3926

there are people modding the whole game so they have all the info you need.
I guess the also the following thread could be useful:
http://caws.ws/forum/topic/347788-holly ... irst-post/


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 08 Mar 2010 20:54 

Joined: 23 Jan 2010 21:30
Posts: 2
Hi aluigi,i managed to hack svr 2010 and thanks to you for building such a great tool without which nothing would have been possible.
Now i was wondering whether you could provide us a tool or script that could perform BPE Compression because if that would be available we would be able to add models from older games also.I will be really thankful if you could provide me a script that could perform BPE Compression.


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 08 Mar 2010 21:08 

Joined: 13 Aug 2007 21:44
Posts: 4068
Location: http://aluigi.org
personally I can't help because I'm not so good with compression algorithms.
anyway you have the source code of the original bpe compression/decompression algorithm and the code of the decompression one used in svr2010 so maybe someone else is interested in finding the compression algorithm based on these informations


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 10 Jul 2010 09:53 

Joined: 10 Jul 2010 09:45
Posts: 33
Hi, Luigi. i'm new here.

Can you help me create batch file for unpacking .pac files from SvR games. (for quickbms.exe with yuke.bms)

What i need:
automatically create folder with name of the archive (sample: archive - ch.pac, so folder name - ch) and unpacking archive in that folder by drag and drop on the batch file.


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 10 Jul 2010 11:21 

Joined: 24 Jun 2010 10:04
Posts: 70
Location: aluigi not @ home
modifying the bms script would require enough work because the NAME variable is used and modified in various places.
a solution would be to create a script like the following (not tested):
Code:
get NAME basename
string NAME += /
log NAME 0 0
that will (or should) create the folder ch but then you can't change the current directory to the new folder because the DOS environment will not know what's the new folder in which entering... so no, at the moment I don't have a solution except the modifying of yuke.bms


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 10 Jul 2010 11:32 

Joined: 10 Jul 2010 09:45
Posts: 33
aluigivacancy wrote:
modifying the bms script would require enough work because the NAME variable is used and modified in various places.
a solution would be to create a script like the following (not tested):
Code:
get NAME basename
string NAME += /
log NAME 0 0
that will (or should) create the folder ch but then you can't change the current directory to the new folder because the DOS environment will not know what's the new folder in which entering... so no, at the moment I don't have a solution except the modifying of yuke.bms

I using this script
Code:
# Yuke games: EPAC/EPK8 archives, PACH files and BPE chunks (script 0.2.1)
#   note that this script is really big and chaotic and the function
#   which guesses the extension simply "guesses" it so don't consider it much
# script for QuickBMS http://aluigi.org/papers.htm#quickbms

comtype yuke_bpe
putarray 0 0 0

# the following is only for being able to handle all the 3 files
get NAME filename
string NAME += ".unpacked"
getdstring SIGN 4
if SIGN == "PACH"
    print "PACH file"
    get SIZE asize
    log MEMORY_FILE 0 SIZE
    callfunction pach_unpack
    cleanexit
elif SIGN == "BPE "
    print "BPE chunk"
    get DUMMY long
    get ZSIZE long
    get SIZE long
    savepos OFFSET
    clog NAME OFFSET ZSIZE SIZE
    cleanexit
endif

set NAMESZ long 4
if SIGN == "EPAC"
    set NAMESZ long 4
elif SIGN == "EPK8"
    set NAMESZ long 8
else
    cleanexit
endif

#idstring "EPAC"
print "EPAC archive"
goto 0x800
for
    savepos OFFSET
    getdstring SIGN 4
    if SIGN == ""
        cleanexit
    endif
    string SIGN -= 1
    if SIGN == "EMD"
        get DUMMY long
        get DUMMY long
    elif SIGN == "EVP"
        get DUMMY long
        get DUMMY long
    elif SIGN == "EVT"
        get DUMMY long
        get DUMMY long
    else
        goto OFFSET
        getdstring NAME NAMESZ
        get OFFSET long
        get SIZE long
        math OFFSET += 8    # 0x4000
        math OFFSET *= 0x800
        math SIZE   *= 0x100
        log MEMORY_FILE OFFSET SIZE
        callfunction pach_unpack
    endif
next

startfunction pach_unpack
    set FOLDER string NAME
    getarray GLOBAL_COUNTER 0 0
    if SIZE == 0    # will be fixed in the next quickbms
        # they are empty folders, so skip them
        #log NAME 0 SIZE
    elif SIZE < 8
        log MEMORY_FILE2 0 SIZE MEMORY_FILE
        string NAME -= " "
        string NAME += /
        string NAME += GLOBAL_COUNTER
        callfunction gimme_a_name
        math GLOBAL_COUNTER += 1
        putarray 0 0 GLOBAL_COUNTER
    else
        getdstring SIGN 4 MEMORY_FILE
        if SIGN == "PACH"
            get CHUNKS long MEMORY_FILE
            savepos INFO_OFF MEMORY_FILE
            math BASE_OFF = CHUNKS
            math BASE_OFF *= 12
            math BASE_OFF += 8
            for j = 0 < CHUNKS
                set NAME string FOLDER
                string NAME -= " "
                string NAME += /
                string NAME += GLOBAL_COUNTER
                goto INFO_OFF MEMORY_FILE
                get DUMMY long MEMORY_FILE
                get CHUNK_OFF long MEMORY_FILE
                get CHUNK_SIZE long MEMORY_FILE
                savepos INFO_OFF MEMORY_FILE
                math CHUNK_OFF += BASE_OFF
                goto CHUNK_OFF MEMORY_FILE
                getdstring SIGN 4 MEMORY_FILE
                if SIGN == "BPE "
                    get DUMMY long MEMORY_FILE
                    get ZSIZE long MEMORY_FILE
                    get SIZE long MEMORY_FILE
                    savepos OFFSET MEMORY_FILE
                    clog MEMORY_FILE2 OFFSET ZSIZE SIZE MEMORY_FILE
                else
                    log MEMORY_FILE2 CHUNK_OFF CHUNK_SIZE MEMORY_FILE
                    math SIZE = CHUNK_SIZE
                endif
                callfunction gimme_a_name

                math GLOBAL_COUNTER += 1
                putarray 0 0 GLOBAL_COUNTER
            next j
        else
            string NAME -= " "
            string NAME += /
            string NAME += GLOBAL_COUNTER
            log MEMORY_FILE2 0 SIZE MEMORY_FILE
            callfunction gimme_a_name
            math GLOBAL_COUNTER += 1
            putarray 0 0 GLOBAL_COUNTER
        endif
    endif
endfunction

startfunction gimme_a_name
    get SIGN long MEMORY_FILE2
    get SIGN2 long MEMORY_FILE2
    if SIGN == 0x594f424a
        string NAME += ".YOBJ"
        log NAME 0 SIZE MEMORY_FILE2
    elif SIGN == 0x20455042
        string NAME += ".DAT"
        #get DUMMY long MEMORY_FILE2
        get ZSIZE long MEMORY_FILE2
        get SIZE long MEMORY_FILE2
        savepos OFFSET MEMORY_FILE2
        clog NAME OFFSET ZSIZE SIZE MEMORY_FILE2
    elif SIGN == 0x34425346
        string NAME += ".fsb"
        log NAME 0 SIZE MEMORY_FILE2
    elif SIGN == 0x48434150 # memory_files are not recursive
        string NAME += ".PACH"
        log NAME 0 SIZE MEMORY_FILE2
    elif SIGN == 0x20534444  # added by me
        string NAME += ".dds" # added by me
        log NAME 0 SIZE MEMORY_FILE2 # added by me
    elif SIGN & 0xffff0000  # guessed, should be good for the 99,9% of files
        string NAME += ".POF0"
        log NAME 0 SIZE MEMORY_FILE2
    elif SIGN2 == 0x00000100
        goto 0 MEMORY_FILE2
        get TEXTURES long MEMORY_FILE2
        goto 16 MEMORY_FILE2
        for z = 0 < TEXTURES
            getdstring TEX_NAME 16 MEMORY_FILE2
            if TEX_NAME == ""
                string NAME += ".TEX"
                log NAME 0 SIZE MEMORY_FILE2
                math z = TEXTURES
            else
                getdstring TEX_EXT 4 MEMORY_FILE2
                set TMP_NAME string FOLDER
                string TMP_NAME += /
                string TMP_NAME += TEX_NAME
                string TMP_NAME += "."
                string TMP_NAME += TEX_EXT
                get TEX_SIZE long MEMORY_FILE2
                get TEX_OFFSET long MEMORY_FILE2
                get DUMMY long MEMORY_FILE2
                log TMP_NAME TEX_OFFSET TEX_SIZE MEMORY_FILE2
            endif
        next z
    else
        string NAME += ".DAT"
        log NAME 0 SIZE MEMORY_FILE2
    endif
endfunction


How should i modify the script to create folder with archive name?
Sorry, i'm just starting in scripting


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 10 Jul 2010 18:09 

Joined: 24 Jun 2010 10:04
Posts: 70
Location: aluigi not @ home
I know what is the script, but as I said it requires various steps to modify it.
maybe I can do something when I will return at home


Top
 Profile  
 
 Post subject: Re: Smackdown vs Raw 2010 ps2 extractor
PostPosted: 10 Jul 2010 18:13 

Joined: 10 Jul 2010 09:45
Posts: 33
aluigivacancy wrote:
I know what is the script, but as I said it requires various steps to modify it.
maybe I can do something when I will return at home

Big thank for your reply. I'll be waiting for when you have a time for this))


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 9 posts ] 

All times are UTC [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for: