FARExtract (by Fatbag)

xezno

Member
Found a tool in the NIOTSO binaries which extracts FAR!ByAZ files. (github.com/fatbag/niotso-master) Download the Win32 binaries there. It works with both 32- and 64-bit machines, in theory.
 
Yep, he coded that back in the TSOR days. I have my own version for the HTML5 remake and I think Afr0 has his own library too. It also extracts DBPF archives, which are used by the sims 2 as well.
 
Note to all developers (specifically, you Xezno): this tool, and others like it (I wrote one too) are only meant to aid development by enabling developers to look at the resources.
It should not be used to extract game resources so you can distribute them with your remake. This is why the code is open, so that you can use it to take care of that for you in your remake. That said, you should never extract resources to the harddrive in the first place, because it is slow. Extract resources to memory and use them there.
 
1. I'm not distributing ANY of the game files OR Fatbag's files (without permissions)
2. The computer I am using (my laptop) has 256MB of RAM. That's not enough. Plus, my HDD speed is fast, but in the final READER there will be a memory extraction instead of HDD Extraction.
 
My game doesn't extract any FAR archives to the vitrual filesystem, instead it extracts them when needed using file entries of sorts defining the archive, offset, sizes and compression type. The only problem with this is that the Filesystem API does not have a way to read a chunk of a file from an offset, so every access it has to load the whole of one archive into memory.

This problem is solved by extracting more files at once, though the side effects still remain for small extractions. (probably will show up loading a new object into the VM while it's running)
 
2. The computer I am using (my laptop) has 256MB of RAM. That's not enough. Plus, my HDD speed is fast, but in the final READER there will be a memory extraction instead of HDD Extraction.

You're not supposed to extract all the files at once. Extract them when needed, like Rhys says. The memory requirement of the original game was around 256mb, IIRC, so that shouldn't be a problem.
Project Dollhouse currently uses XML files to load all IDs of files into memory, so that they can be extracted on the fly using their IDs. We are currently preloading all textures (and meshes, IIRC) during the loadingscreen, to avoid a loading time when accessing the CAS.
Our problem is that the FARv1 archives don't have IDs for their files, so they will most likely have to be accessed via their filenames (slower, but not more memory intensive, because IDs already are 8 bytes each, because of a stupid mistake on Maxis' part whereby they decided to reuse FileIDs, so that they have to be combined with their TypeIDs to be unique).
 
Back
Top