Dang if I don’t find the weirdest things inside Maxis files. In order to use Edith, you really have to extract all your Far files to their individual components. Edith can’t write back to a Far file and everytime you move the layout of the trees around (or even look at them), Edith writes it back to the file (if it can). Anyways, I had already done this but after I installed House Party this weekend again (I’m notorious for installing/uninstalling) I noticed that the install quietly dropped a bunch of new Far files back into my Downloads folder. House Party installs a bunch of the SimDay download objects and most of those are packed in Far files. No biggie. So I went about extracting them all again. Then something showed up on my Simdar. A file called RES.EXE was buried inside the ‘Ukulele Lady Lamp. Now why would Maxis put that there? I looked at it and it looked familiar. Maxis has an internal applicaition called Resource. This is used by the object programmers to strip out resources from IFF files, however it does have some other uses.

Resource is a command line utility program to operate on Sims data files. The first argument to resource is the program to execute. All available programs are reported by running resource with no parameters. The second argument is the name of a resource file to operate on. If the program name is entered with no file, the command line options for that program are shown with a brief description. The available options are:

info

This lists all the resources in the given file. For each type, it prints the type and the number of resource of that type. Then for each resource, it outputs the id, the name, the size, and the language, if not the default language.

strings

Prints out the strings in an IFF file. This is useful for viewing catalog resources

getstring

Prints out a specific string.

setstring

Puts the specified string into the specified resource. This may be used to create new string resources (however The Sims won’t recognize it) or edit or append existing resources.

setname

Sets the name of the given resource in the given file to the specified name.

remove

Removes resources from the given file of the given type.

copy

Copies resources from the source file to the destination file.

diff

Attempts to load each resource of each file from the other file and reports all differences found.

create

Attempts to create the file. If the file already exists, an error is reported.

filepack

Packs the given input file into the specified resource. This may be used to add BMP files as BMP_ resources.

bindump

Dumps the resource to a binary file.

binpack

Creates a resource of the given type and id in the given file and with data from given input file.

binprint

Prints out a hex representation of the resource in the given file of the given type and id.

convertstrings

Converts a CST file to a STR# resource. The given source file is parsed as a CST file (strings are simply delimited by ‘^’ characters) and converted and saved.

mergestrings

Same as convertstrings but only copies the source string if the target string does not yet exist. Used in converting CST files that have new strings after some strings have already been authored in the IFF file.

load

Attempts to load the specified resources and reports any errors.

iff_mapclear

Clears the optimized map resource from the given file.

So there you have it. UnFar the program from the ‘Ukulele Lady Lamp object and you’ll have a nifty little utility that might be useful to object hackers and hex editors. Enjoy!