How to Create New .BIG archives from scratch?

Programming related discussions related to game research
wolftatoo
Posts: 49
Joined: Mon Nov 07, 2016 5:49 am

How to Create New .BIG archives from scratch?

Post by wolftatoo »

I need help on making a compiler for EA's .big archives, becausese im currently modding a mobile fifa game which doesnt support reading extracted files ,i need to get all the previously extracted data files into a .big archive because recompiling won't work(files sizes has changed). We already got a working extract/recompile script,but as u already know, it cant create new .big files, only repack inside original ones.
So please ,any help would be appreciated ;)
http://aluigi.altervista.org/bms/fightnight.bms
happydance
Posts: 81
Joined: Sun Jul 10, 2016 11:07 am

Re: How to Create New .BIG archives from scratch?

Post by happydance »

I believe aluigi made a code for a simple repack script, but you have to modify it to suit your big file since every game archive is different, cant find the thread where he posted it but I still have the script saved on my pc.

here

Code: Select all

# 1) script.bms
# 2) the input file is ignored, select the same script
# 3) the output folder is the folder containing the files to pack

set OUTPUT_ARCHIVE string "dump.pak"

# init the buffers
log MEMORY_FILE  0 0
log MEMORY_FILE2 0 0

# placeholders
put 0 long MEMORY_FILE  # BASE_OFF
put 0 long MEMORY_FILE  # FILES

for FILES = 0

    # copy&paste code
    scanDir "." NAME SIZE       # get the file from the current folder
    if NAME == ""               # no other files are available so append index
        break
    endif
    open "." NAME
    string NAME << 2            # remove ".\"
    if NAME != OUTPUT_ARCHIVE   # in case the archive already exists
        # end of copy&paste code

        # add information to the index table
        string NAME R \ /
        strlen NAMESZ NAME
        put NAMESZ long MEMORY_FILE
        putdstring NAME NAMESZ MEMORY_FILE
        put SIZE long MEMORY_FILE
        get OFFSET asize MEMORY_FILE2
        put OFFSET long MEMORY_FILE

        # add the file to the archive
        append
        log MEMORY_FILE2 0 SIZE
        append
        math FILES + 1
    endif

next

get BASE_OFF asize MEMORY_FILE
putvarchr MEMORY_FILE 0 BASE_OFF long   # BASE_OFF
putvarchr MEMORY_FILE 4 FILES    long   # FILES

get SIZE asize MEMORY_FILE2
append
log MEMORY_FILE 0 SIZE MEMORY_FILE2
append

get SIZE asize MEMORY_FILE
log OUTPUT_ARCHIVE 0 SIZE MEMORY_FILE
wolftatoo
Posts: 49
Joined: Mon Nov 07, 2016 5:49 am

Re: How to Create New .BIG archives from scratch?

Post by wolftatoo »

So, excuse my noob question but, u say that i can create(not repack in an existing one) a .big file from scratch using this script?!