| walls | NPC's | gameplay tips | how to make stuffe | unscripted sims |
How to make it drop with the walls
Sometimes it's hard to see around objects that are placed on the wall, but you don't want to remove the graphics for an object's back, or maybe you'd like to see around the object from the front as well. Here's how to make an object vanish with the walls in Cut-away view. (note: when placing such an object, you'll usually need to have the walls kept up so you can see what you're doing)
For this tutorial, we'll work on a default Maxis picture:
If you pass the mouse pointer over this screenshot, notice how the Mondrian picture blocks our view of the bed. While we could certainly just move the picture or rotate the view, sometimes we'd rather the picture just wasn't there for a moment
If you look carefully, you'll also see the back of the still life painting behind the Mondrian – so if we make both pictures droppable (along with the antler lamps and anything else we might place on that wall), they won't be in the way when we peek in on our sleeping simmies.
Tools needed:
- IFF Pencil 2 - I'm making it available here because I can't find it anymore at the original site or TSR's workshop, and Hacker's Resource is MIA
- a FAR program such as FAR Out, which is what I'll be using for the tutorial (it's only used for extracting default .iff files, which we'll do here)
How to drop things:
Here's the magic line you'll need to insert into the .iff file's coding:
My flags Set Flag hide for cutaway (8 11 2559 1795)
That'll go into the "init common," "init constants," "init tree," or "initialization," whichever string you find in the BHAV section. If you know what that means, have at it and feel free to talk quietly amongst yourselves when you're done. There's also punch and pie in the back
If you're lost or just still reading, here's what me and the cat discovered while making this tutorial – some objects will have a place to insert the magic line, others won't, and some will even already contain said line, others won't. Those Maxiods, what a wacky bunch huh?
And here's something else: since Maxis won't let us get our grubby little hands on Edith (the program used to code in SimAntics), we getta figure things out on our own. However, over time a lot of information has been learned, not everything but quite a lot, and as a very wise gal once pointed out, hacking requires curiosity, logic, perserverence, and lots of experimentation.
Now then, having said that, it's also important to understand that because simmers have different setups – some have all expansions, some have none, some have some – and because things tend to change from one EP to the next, your mileage may vary. In other words, don't expect this to be exactly what you'll need to do. You might have to tinker a bit, because I'm working with all expansions plus Deluxe, and while I know the artwork changed with Superstar and Makin' Magic, I'm also doing a lot of guessing here because I won't have any earthly idea what your game setup is.
M'kay? On with the tutorial: (click the thumbnail to see a larger image)
 |
Step 1: make a workspace - You'll need someplace to store the object .iff files while you work on them; the Desktop will do fine, or you can work within the game's folders, or another folder altogether. Any place that's easy for you to access, and comfortable to work in.
|
 |
Step 2: get the correct object file(s) - And it quickly turns into an adventure:
– If you'll be working on something other than a default Maxis object (such as a downloaded object), find that object's .iff file (whether it's in a game folder such as \GameData\UserObjects or \Downloads, or still in a .zip file).
– If it's a default Maxis object, you'll use a program like FAR Out to extract a copy of the .iff file. But which .iff file depends on what you want dropping with the walls. Since we're doing paintings right now, that's what we'll look for: |
 |
– Run FAR Out, choose to open a .far file |
 |
– First, go to the \GameData\Global folder and open the Global.far file. If you see ArtGlobals.iff, select it. While we're at it, let's nab LightGlobals.iff too. [pic here]
– If you don't see ArtGlobals.iff, click Open again and go to the \GameData\Objects folder and open the Objects.far file. Scroll down until you see Paintings.iff, and select it. [pic here]
If you're after anything from an expansion pack, you'll need to open the corresponding \ExpansionPack#\ExpansionPack#.far file. They're numbered 2-7, for House Party thru Makin' Magic. Livin' Large is just "ExpansionPack," and you get one guess what "Deluxe" is.
You can also check inside the \Downloads folder for any default Maxis objects stored in .far files, either from an EP installation or something you downloaded from the official site. note: if you don't have a LightGlobals.iff file, I'm not sure yet where you'll get the file for the wall lamps.
Don't forget, I'm not certain about setups with only a few expansions (minus SS or MM), but these locations should contain what we're after no matter what. Cross your fingers, just in case. |
 |
– When you find what you're after, extract the .iff file(s) to your work area by either clicking on Entries > Extract, or clicking the button with the blue arrow. (note: if it looked like there might be more than one object in this .iff file, there is) |
 |
– Select your workspace's location, click OK, and a copy of the file will be extracted. You can close FAR Out now too if you want, we're done with it for this tutorial.
|
 |
Step 3: copy the .iff file(s) - This is optional since the original will still be safely inside the .far file, but it's good practice when hacking to make a backup copy, especially when working with loose .iff files that you didn't extract. Simply copy and paste the object in your workspace; if you need it, it's there, if not, delete it.
|
 |
Step 4: open IFF Pencil 2 - You can simply drag and drop the .iff file into the program, and you'll see the basic innards of the object. Or click on Open, and navigate to your workspace.
|
 |
Step 5: edit the BHAV section - The BHAV is where the object's SimAntics behaviour is specified – like if it'll drop when the walls go down, and about a gazillion other interactions that make objects more than just lumps of pixels. Behaviours like this are typically found in an init section, so look for "init common," "init constants," "init tree," or "initialization." |
 |
– If you're editing the ArtGlobals.iff file, the only section to work on is the BHAV, yay. Since we're editing paintings, double-click on the "init common" that's for paintings instead of sculptures. Some of this stuffe actually makes sense, huh. |
 |
– If you're editing the Paintings.iff file, click on BHAV on the left side, and on the right side you'll see the strings that can be edited. Double-click on #4097 "init common." I'm not certain exactly what "init flower" is for, but anything with just one side, like "init left," is only for that part of a multi-tiled object such as a two-tiled painting. In most cases, leave that one alone because there's not much point to dropping just half a picture. |
 |
– Double-clicking on the string opens the SimAntics Behaviour editor. See those numbers on the right side under the word "Next?" Let's put them in order so it'll be easier to read – you won't want to do this all the time, but for what we're doing, it's fine. Just right-click anywhere and select "Rewrite" from the little popup menu. |
 |
– This part can be a bit initimidating, which is why we put the lines in a tidier order. It's actually very simple, because all we'll do is insert a line. You should see about 15 lines, numbered down the left side. On the right side, you'll see what the game should do as it reads each line – either go to the next line, or stop because there's an error.
Check the lines, and be sure you don't see something like "(semi:) init (something)" or "(priv:) init (something)." If you don't, then inserting the magic line should work :) If you do, you'll need to try another "init" string.
Right-click on the last line, and select "Insert" from the little popup menu. A new line will appear, and this is where we'll type in the numbers so it'll read what we want it to.
|

 |
Step 6: edit the new line - We'll enter the numbers over in the Data section on the far right side, and we'll only need to change the numbers for the False line and the four Parameters.
For the False line, enter 253, and the little dropdown box next to it will change to "Error." For the Parameters, enter 8, 11, 2559, 1795 in that order.
On the left side, the new line should now read "My flags Set Flag hide for cutaway" – right-click again anywhere and select "Rewrite," and it'll be tucked into place.
|
 |
Step 7: save and test - Click the OK button, then save. You can just minimize IFF Pencil 2 for the time being, or exit, doesn't matter in this case. Now comes the important part: testing!
First, place the file into the folder where you originally extracted it – in this case, back into the \GameData\Global or \GameData\Objects folder. For something from an expansion, it'd go into the appropriate \ExpansionPack# folder, while something from \Downloads can either go into the original subfolder, or just the \Downloads folder. Then, fire up the game and see what happens.
If you're wondering about that LightGlobals.iff file, you can do this to make the wall lights drop too. Open the .iff in IFF Pencil 2, and go to the BHAV section like we did for the PaintingGlobals file. The only init section you'll see though is #8195 "init - Wall." That'll due just fine – double-click on that one, then right-click and choose "Rewrite," then "Insert" a new line at the bottom, and enter those magic numbers. "Rewrite" again, click OK, save, and drop the LightGlobals.iff file in with the other in the \Globals folder.
If you don't have a LightGlobals.iff file, I haven't yet found where to insert that new line. The WallLite.iff only refers to "(semi:) init - Wall," which I haven't found yet. I don't know that much about hacking though, so if someone else knows how to make the original wall lights drop, feel free to holler :) |
All right, let's see what we've got:
This time when you pass the cursor over this screenshot, not only do the paintings drop, but the antler lamps do as well. The lamps go down because I also edited my LightGlobals.iff file.
This wasn't automatic though! When I first loaded that lot again, the cat looked at me funny because the pictures didn't go down – but that's because this "patching" won't affect objects that have already been placed. For this example, I had to replace the paintings and the antlers, and while I was at it I replaced things around the rest of the lot.
Quite a few things went down with the walls, just by editing those two little files. I'll still need to go into each ExpansionPack.far file and edit individual objects inside (then place the modified .iff files back next to the .far file they came out of), but you'll be surprised at just how many objects will no longer be in the way. "Nifty" just barely begins to cover it ;)
You can do other wall objects as well – while I was experimenting, I worked on the phones, alarms, and mirrors. The phones are similar to paintings: there's either a PhoneGlobals or just a Phones .iff file. If you select it in FAR Out and scroll down on the right side, several BHAV strings means you'll probably find the "init - Wall phone" where you can easily insert and edit the line to make the phones drop with the walls. However, it's probably more inconvenient to find the phone than to look past it when the walls are down. Just because you can do something, doesn't mean you should.
When I moved on to files for other objects like the burglar alarm, I was a bit surprised to discover the magic line already in there. Problem was, none of the other lines jumped to it...and when I changed one little number so that a line would jump to it, guess what the burglar alarm did in the game?
Before I get into that though, this'll deserve at least two words of warning:
One, although it's not unheard of for something to be overlooked in the game (there's a backwards bathroom sink in Downtown that I don't think was ever turned around), it's quite possible that this particular line was skipped for a good reason. Therefore, use some caution when modifying lots of files, and if you decide one day it's better to be able to see something on the wall after the wall drops, just remove the altered file.
Two, this is one of those things that's better done in moderation. If you eventually have everything disappearing with the walls, it'll be easy to forget what's on those walls in the first place. And if you're like me and tend to view most families from mainly one or two rotational viewpoints, you might even forget that you finally found the perfect painting to hang over the sofa. Not that I've actually done that, just saying....
A stickler that comes to mind is if you call in the handyman, and after fixing the dishwasher, he doesn't leave. There are a few reasons he'll do this, one of which is often because he can't get to a wall lamp that's burned out. Maybe there's a counter in the way, or you forgot about the light and put a bookcase in front of it. Regardless, if the lights drop with the walls, you may not even know that a bulb has burned out, and might yank out a few handfuls of hair before remembering that you put a light on a wall that the handyman's trying to get to.
Anyhoo, here's what I found with the burglar alarm, and other objects that do include the cutaway line:
 |
1. Most things you can get right out of the Objects.far file, no matter what you have installed.
2. You'll find "init common," "init constants," "init tree," or "initialization," and other "init" names – the trick is to find the one that looks most obvious. In the case of the alarm, that's all we got.
|


 |
3. Again, double-click on the "init" string you want to check out, and that'll open the editing window. For the alarm, there are no lines referring to some other string somewhere else, and we also find lines specifying the alarm's placement. That's a big clue that we have the right string.
4. Notice that with the alarm, the cutaway line exists, and after we right-click and "Rewrite" the string, we see that the line is just dangling there at the end. This one's a simple fix, and since we don't do much with burglar alarms, it's not such a bad idea to let them drop with the walls.
See the number of the cutaway line? Instead of letting the game think it can read through line 7 and say everything's fine, let's have it continue to line 8 before getting all happy with itself. Go over to the Data section again, and change the True line from 254 to 8. The next box over will change to read "Line ..." instead of "True," and over on the left side, we see the word "True" change to "8."
Now the game will read that line – click OK, save, exit, and drop that BurglarAlarm.iff file into the \Objects folder.
|


 |
5. If we try out the Mirror.iff, we'll find three strings named "init." Only one looks obvious though, so we double-click on that one.
We right-click and "Rewrite," and see something different. Instead of just being ignored with no lines jumping to it, the cutaway line is trying to go to a line. We have two lines there jumping to line 4, but nothing to line 8.
Again we'll go to the Data section on the right side, and change the True line. However, first we pick which line to change. Two go to line 4, none go to line 8. One needs to go to line 8...since line 8 can't really go to line 8, let's have line 3 go there instead. Cick on line 3, and change the True line to read 8 instead of 4. Rewrite again, and now the mirror will drop with the walls too.
|
Like I said, this may not be exactly what you'll need to do, but it's gotta be close. Remember to place any extracted .iff files back with the .far file they came out of, and if you decide you don't want something to drop with the walls anymore, simply remove the file you edited, and the original will still be untouched inside its .far file.
Good luck, and happy simming!
back to top

latest update: Dec.27.05
|