0 – vgs_...: corresponds to the first movie that will be played when the video is started.
1 – vgs_..._attract: corresponds to the short movie with the game logo.
2 – vgs_..._intro: corresponds to the game's intro.
3 – vgs_..._1playerbad: corresponds to the movie that will be played when there's only one player with bad playing skills.
4 – vgs_..._1playergood: corresponds to the movie played when there's only one player with good playing skills.
5 – vgs_..._2player1wins: corresponds to the movie played when there are two players and player 1 wins.
6 – vgs_..._2player2wins: corresponds to the movie played when there are two players and player 1 loses.
7 – vgs_esrb_e: corresponds to the movie with the ESRB rating.

What you really see in place of the … above will depend on the original game cloned.

Now you have to change the names of the materials:

i) If you want the game to play a different movie when it starts give a new name to material 0. Follow the naming convention used and replace the … with the name of your choice. For instance, for "Halo 2" I changed this material name to vgs_bungie_games, corresponding to the movie with the Bungie logo.

ii) For materials 1-6 you have to replace whatever name appears in the place of the … above (ssx, sc4 or bus) with the name of your new videogame. In my case, that was halo2.

iii) As for material 7, you can also replace it if you want your game to have a different ESRB rating. You can use any of the ratings originally provided by Maxis: vgs_esrb_e, vgs_esrb_rp, vgs_esrb_t.

Take note of the new names you gave to the materials. You will need them in Part 4.

You have to edit some of the behavs so that your Sims can buy the new videogame from the display.

i) Select behaviour function "CT – Set Selection", instance 0x00001006. Append the following instructions to the end of this bhav, replacing “GUID” with the new GUID you gave the videogame rack (not the videogame itself!) in Part 1, step 2 (with the bytes reversed, as usual):

iii) You will now have to import and change the semi global bhavs “Interaction - Buy - VG/Mag” and “VGR - Create Game OOW” from the ShopingRackGlobals file. To make things easier for you I’ve attached to this post these two functions with the necessary modifications. You only have to add them to your package. Then, select the new bhav “Create Game OOW”, instance 0x0000100E, and do the following:

- in line 9, “Test Object Type”, write in the first 4 bytes in the Operands your videogame rack GUID.
- in line A, “Create New Object Instance”, write in the first 4 bytes in the Operands your videogame GUID.

The procedure for creating the countertop display is similar to the procedure just described.

1. Clone the Countertop Game Display. You can find it in OW under the tab Grouped Objects, General.

2. Give a new unique GUIDs to the single object in the new package.

3. Make the new videogame available for purchase.

i) Select behaviour function "CT – Set Selection", instance 0x00001009. Replace it with the bhav I’ve attached to this post. Then, replace in lines 11 and 15 the first 4 bytes of the Operands with your own videogame rack GUID (with the bytes reversed).

ii) Select behaviour function " Make game", instance 0x00001008. In instruction 6, “Create New Object Instance”, replace the first 4 bytes in the Operands with the new GUID you gave the videogame, reversing, as usual, the order of the bytes.

iii) Add to the package the 2 semi global bhavs attached to this post. Then, select the new bhav “Create Game OOW” and do the following:

- in line 9, “Test Object Type”, write in the first 4 bytes in the Operands your videogame rack GUID.
- in line A, “Create New Object Instance”, write in the first 4 bytes in the Operands your videogame GUID.

- …_attract.avi - a short movie with the game logo;
- …_intro.avi - the game's intro;
- …_p1win.avi - the movie that will be played when there's only one player with good playing skills;
- …_p1lose.avi - the movie played when there's only one player with bad skills;
- …_p2win.avi - the movie played when there are two players and player 1 wins;
- …_p2lose.avi - the movie played when there are two players and player 1 loses.

The … above stands for your videogame name.

The movies should have a size no greater than 128x128 and a maximum frame rate of 15 fps. For the other settings, you can try different configurations and find the one that works best for you.

As for the movies duration, I worked on a trial and error basis. The first 2 movies are quite short (none of them should exceed 7 sec). The others I suppose can be as long as you want because the game will just play the movie for the duration of the interaction. If the movie is too short I think the game will play it again from the beginning (I'm not sure of this). For “Halo 2”, the duration range is 2-7 min.

Now, you must create a new folder in $INSTDIR\TSData\Res\Movies\Games, where $INSTDIR stands for TS2 installation directory (it will be “C:\Program Files\EA Games\The Sims 2” by default), and put there the 6 movies. Give the new folder the name of your videogame.

If you also make a movie to be played when the game starts (with the logo of the videogame’s editor or creator) put it in the folder $INSTDIR\TSData\Res\Movies\Games\esrb.

You’re almost done! You just need to establish the correspondence between the material names used internally by the videogame and the movies in the computer. That is, you need to “tell” the game what movies to play and where to find them. For that, you use configuration settings files.

Go to the folder $INSTDIR\TSData\Res\Movies\Games\INI. Copy one of the configuration settings file already there and rename it with your videogame’s name (keeping the file extension .ini). Let’s say, for instance, that you choose to copy the file sc4.ini and your videogame’s name is halo2. Then you should rename the file copy halo2.ini. Then, open this file and replace all the occurrences of the original videogame’s name (sc4 in the example) with your videogame’s name (halo2 in my example). Also, change the extension of the files found on the different sections from .movie to .avi.

If you renamed the material name 0 in Part 1, step 4 (that is, if your videogame will play a custom movie when it starts), then you also have to change the configuration settings file esrb.ini, found in the same folder. Open it and do the following:

1. In the beginning of the file you find the Broadcasts section. It will look something like this:

[Broadcasts]
0=vgs_ea_games
1=vgs_esrb_e
2=vgs_esrb_rp
3=vgs_esrb_t

Now, at the end of this section add the internal name you used in the videogame package for material 0. In the case of “Halo 2”, I wrote:

2. Now, go to the end of the file and append a new section named after the internal variable referred above. This new section is identical to the others you see in the file that are related to the internal names used by the original videogames. The only difference will be the section’s name and the value of the “File” tag. This value must be the name of the movie corresponding to material 0. For “Halo 2”, I wrote:

Great tutorial! I just wanted to add a little shortcut for the GUIDs that I found when I did this for a magazine rack.

1:In notepad, write down all the original GUIDs, along with the new GUIDs
2:After importing your semis, export all the BHAVs in your package and delete them.
3:Make a new empty package, import your BHAVs, and save it.
4:In a hex-editor, use "Find and Replace" to replace the original GUIDs with the new ones, and save.
5:Open the package you just saved in the hex-editor, and export the new BHAVs.
6:Open your videogame/magazine rack package(should be clear of BHAVs), and import the fixed ones.

I like this way, because I know for sure that I didn't forget or miss some GUID references.

Yay! This is so cool. But I'd also like to replace the default SSX3 game the Sims play when they don't buy any other games, so that not only there's another video playing (already did that), but let the pie menu say another name as well.
Any tips on how doing this? Thanks!

Yay! This is so cool. But I'd also like to replace the default SSX3 game the Sims play when they don't buy any other games, so that not only there's another video playing (already did that), but let the pie menu say another name as well.
Any tips on how doing this? Thanks!

You'll have to hack the original SSX3 game to change its name in the "Catalog Description". Its the first string there, number 0.

1. Extract the "Catalog Description" file for the SSX3 videogame. You can accomplish this in 2 different ways:

i) Clone the SSX3 object in SimPE with all the options unchecked. You can find it in OW under the "Grouped Objects" tab, "Others". It has group number 0x7FFD89DB. Then, extract the "Catalog Description". Don’t save the cloned package!

ii) Open objects.package in SimPE. Locate the "Catalog Description" for SSX3 and extract it. It has group number 0x7FFD89DB and instance number 0x000007D0.

2. In SimPE, create a new file with "Index Type" long. Import the "Catalog Descripion" you just extracted.

3. Change the 1st string in the imported "Catalog Description" to the name of your choice. Don’t forget to “change in all” before committing.

hypeserver, in Part 1, step 2, you gave a new GUID to the videogame, right?

That GUID is composed of 8 digits. Let’s say it is 0x12345678. Group them in groups of two, like this: 12 34 56 78. Now, write the number reversing the order of the groups: 78 56 34 12. That’s the number you have to write in the first fours positions of the Operands (signalled in red in the figure) overwriting the numbers already there. In the end, you will have this:

Operands: 78 56 34 12 02 00 00 00
Unknown: 00 00 00 00 00 00 00 00

In the figure you see just an example, for GUID 0x0xEC142D00 (the GUID for Halo 2).

After doing this modification, click the button “Commit File” and save the package.