The Animations In The Movies Game.
The Movies Game uses (.ANM) files for the animations. Each moving 3D object in the game uses an invisible armature to move it around. The arms and legs has its own "Bones" to move them around. And animation files move those bones. Also, in scenes, what can move an object is what we see in blender as an 'empty pivot'. Like the doors on a set, they are parented to them. An animation file rotates that pivot and in turn rotating the door. There are thousands of animation files in the game. Each scene is made up of a synchronized collection of animation files. DcModding was working on a script that would edit the animation files. It wasn't complete and many more things needed to be worked out. At least we could see them in Blender. I could never use them, unfortunately. As much as I wanted to. Blender has many different ways to animate an object. Endless. Using the imported pivots to represent the bones was a different method to what I was used to.
Animation files are assembled in the .FLM files. There were two programs released by DcModding that could open .FLM files. One is FLM Reader Zero and the other is Animation Changer.
All TheMovies Animation Files
Extracted from a fresh install of the game using MED (TheMovies Editor). Why? For those people who unfortunately have download version of S&E. The programs that edit TheMovies can't gain access to S&E content because, according to Rileyman, download version has an encryption. MikeDeBoing, StvnDysn and Rysto graciously exported the files and uploaded them for the community. However, this was long ago and those sites that hosted these files have since closed. In recent years I was able to obtain S&E with no encryption. So once more, here are the S&E files.
Animation files move 3D objects in Scenes, on the studio lot, and many if the props.
Included are the game's Auto-Animated Prop Animations, these are found in the data/animations/high/autoanimated folder.
They end with a version number.
For example: aa_p_aa_dog_v00.anm or... aa_p_aa_horse_v03.anm
The format is aa_p_(name of prop)_v(#).anm the ..._v#.anm can be v00 or v01 or v02. But always starts with v00. If they are alone then all you will see is ..._v00.anm, which means if you make your own auto-animated prop, that has only one animation, be sure to make the number _v00.anm.
Note: The game's autoanimated props begin with a p_aa_(name of prop)... and therefore the animation has two aa in the name.
If you made a new prop that is called: p_aa_cowwalking.msh Then you animation would be called: aa_p_aa_cowwalking_v00.anm
However, the actual prop name does not have to have the extra AA in it. Optionally, if your new prop was instead:
p_personstanding.mshThen the new animation could be:
aa_p_personstanfing_v00.anm...and no extra AA in the name. Make since. If it doesn't then keep tacking on all the AAs you want, it doesn't really matter.
Great News! Lefty2000 has released an Import/Export Script for TheMovies
You will need Blender 2.49b. And download the scripts from Lefty2000's Webpage. MED (TheMovies Game Editor) to extract animation files. Also to Extract a costume to load into Blender and then Load the animation to View/Edit. Probably will need FLM Reader Zero to make the new animation available in a new or existing scene.
The python scripts goes into .blender/scripts folder. The location of the folder is important and is decided when you first install Blender. If you followed my tutorial then it is located in Blender's installation path. However by default Blender will sneak this folder into your hidden AppData folder. In which case you have to turn on visibility of hidden folders for you to see this. Fun right?
First, using MED (TheMovies Editor) extract a costume and then an animation. I extracted the woodenman.msh because it has an armature (which is a collection of bones). But also you can extract cos_m_fut_alien_tz1_2.msh because it has a head too. Once you extract a costume, use the file extractor to extract an animation file which has the tag (.ANM) that you may want to view or edit in Blender. Animation files are located in the data/animations/high folder. Extract these to a workspace folder. Close MED.
Open Blender. First import the costume. Once that is loaded into Blender, import an animation file.
The costume will 'pop' into the position of the first frame. Each animation has several frames. And each frame has the data positions for each bone during that frame. Notice that in the F10 buttons menu that start and end position has been updated to how many frames the animation file contained. To view the animation loop hover in the 3D window and use ALT + A key. The end the cycle hit ESC key.
There is a window to view all of the bones set in each frame in the Action Editor window. You may need to temporarily turn the buttons window into the Action Editor Window. There you will see a bunch of yellow dots. The bottom line of numbers is what frame number each of these yellow dots are found in. Hitting ALT+A in this window will show a green bar sliding along each frame. As it does the costume more slowly moves in the 3D window. Hit ESC to stop. That green bar can be moved by right clicking a anywhere.
Now you have to consider that each frame has the costume in a different position then the last frame. Even if the change is imperceptible, it is different. Chances are the costume is even more different the further down the line you go. When you make changes to an animation, you are replacing one frame at a time. Normally you would make an animation from scratch and there wouldn't be any yellow dots to see yet. These only show up after someone has set the bones positions.
I assume you already know what an armature is (collection of bones that moves the costume) and what a bone is (A poseable stick-like item that portions of a costume is weighted to). To view these in better detail, click on the armature. In the Outliner window it is called:507812352. Next go down in the buttons windows and turn on it's visibility inside the costume object. Afterward go into pose mode.
Any bone can be selected one at or time. Or several at once. Or all of them at once.
You can make a change to only a leg's position during the whole animation. Or even turn the head sideways during the animation. And then only make that minor adjustment. But most will want to make brand new animations out of existing ones. It's all up to you.
It is possible to delete all the yellow dots in the action window. You could do that for just one bone or all of the dots. In my first try, I changed the standing idle to a hammering animation. I changed only what the arm did. I did not even delete any dots. Every time you update a position, what the yellow dot means changes too. But if you wanted to you could delete all the dots, or just the dots for a specific bone. Or just the dots for one frame. I deleted the dots between frame 2 and frame 11. Then set frame one to the position of the hammer down. Then frame 12 to the hammer up. And again at frame 24 the hammer was down again. Deleting also 13 - 23 yellow dots. I went on to repeat the cycle. 58 didn't match up so I made the last hammer come down quicker.
Pressing ALT+A I could see the hammer swing up and down because Blender knew each position it would acquire even though it hadn't been set with a yellow dot for the mid frames (2 - 11 and 13 -13, and so on). But Blender needs to know this before a proper export can happen. So after the animation looked good to me, I went on to set every single bone's position in every frame.
I did this by going to frame one. You can set what frame you are in by the Action Editor window or using the buttons window, which is what I used. You don't even need to see the action editor window if you know how to do these steps elsewhere. I went to frame one, selected all bones and then set there position. SpaceBar/Object/InsertKeyFrame/LocRotScale. Then clicked the right arrow to go into frame two. Then again SpaceBar/Object/yaddayadda. Until all 58 frames were replaced with a new hammering scene.
Once all yellow dots exist in all frames again, go ahead and 'Update' the animation. Run TheMovies(.ANM) export script. Select the same animation that you first imported. A new file will be created with the same name as the animation but with a (N_) in front of it. So look for the n. This file goes into your Movies data/animations/high folder. If you don't have these folders make them.
Now you have a new animation. If you want to see it work, open an extra scene file. You may need to extract it using MED (TheMovies Editor). Extras in scenes have their own scene file, and they begin with an _x_ in the name. So Extract a regular scene with extras in it. Then extract an extra scene. Open the extra scene and change it's animation with your new animation. Save it. Then open the regular scene and change one of the extras with your new extra. If all went well you should see your new animation being performed by one of the extras on the set.
Some tips: Learn how to restore a bone to rest position after moving it (pose/clear transform/location or rotation). Learn the difference between having the Auto IK button set or not. Learn how to copy a current pose and paste it in a new frame. Learn how to mirror a pose from one arm to another or leg to another. There is probably more information about the scripts in general you can learn from going to Lefty's webpage.
If you like these scripts as much as I do please go over to Lefty2016's DeviantArt page and let him know. This is the greatest development in modding TheMovies since MED (TheMovies Editor).
Version 3.3 of Lefty's Animation Scripts were released today!
Lefty's TheMovies Page: anmedit.zip
Go there and download the scripts, and also download the rescale resize armature/animations script: rescaling.zip
Download them from his site. They go into your .blender/scripts folder. This folder is made when you first install Blender2.49b. The installer will ask you where you want this folder to be. If you left it at default then it may be in your user's hidden AppData folder. Google "Hidden AppData Folder" if you need to know more. The preferable location is right where Blender is installing itself, in windows program files folder.
The Animation Import&Export scripts run along side your regular Movies scripts for importing costumes and such. With them we can watch any Movies animation INSIDE BLENDER. And we can continue to film IN BLENDER using TheMovies wonderfully large library of animations. But, AMAZINGLY!!, we can make changes to an animation and EXPORT back into TheMovies!!!
Yes. Thanks to Lefty's scripts we can make NEW animations for TheMovies. Now consider what we can do with new animations. I have yet to test it, but we can have Auto-Animated props doing anything we want now!!! Largely we can use FLM Reader Zero to change a scene's animations for our new animations. Watch the new tutorial I made that tells you how to switch animations for new ones in FLMRZ. (I'll probably display it below).
With version 3 out we can now import animations meant for several actors at once. Like a dance scene with two partners. You will need to either import 2 costumes into Blender, or do as MikeDeBoing suggest, select all by HotKey A and then use HotKeys CRTL + D to duplicate. If there are not enough armatures or costumes in Blender for the animation you may get an error message. Just keep making more duplicates until Blender lets you import the sucka.
New animations will have the same name as the old animations you imported but will have a n_ in front for regular new ones, and a r_ for rescaled new animations.
Here are the steps for using Lefty's animation Import and Export:
Open MED and use file extractor to extract a costume. Extract also a scene which is comprised of two files. For instance 018_pacing.ini and 018_pacing.flm. Extract also all of the animations found in the scene file. Animations end with the tag (.ANM). Now somebody who wants to make a lot of scenes, and who likes going over the files in faster manner then MED may allow, you might want to extract ALL of TheMovies animations. This makes 'Updating' animation files easier as they are already available.
File locations are important of course because you need to know where to look for them and where do our custom files go in the game?
3D Costumes are in (.MSH) form: data/meshes
Scenes (.INI) files: data/scene/(numbered folder) these numbers are for each set. 007 is bedroom. 041 is bluescreen
Scenes (.FLM) files: data/scene/interactions/(numbered folder) same numbers as set
In Blender, import your costume. Then the very next step is to import an animation. When you do the costume will 'pop' into the pose of the first frame. To play the animation, hover in the 3D window and use HotKey ALT+A. The costume will then perform all of it's posing for each frame in order in the 3D window. Press ESC key to stop the looping animation. Now you see a costume in Blender performing an animation.
In the Outliner window, click on the armature. It is called: 507812352. In the buttons window turn on it's visibility inside the 3D object by pressing a button called X-Ray.
This stick like skeleton is what poses the costume. It is made of several bones. Costumes are attached to these skeletons so that they can be moved on a set. Moved by animation files. Animation files target this skeleton or Armature and tell it to move. Tells it to strike a pose for frame one. And strike a slightly different pose in frame two. And even a slightly more different pose in frame three.
You can change what frame you are in by a sliding arrow/number see here in buttons menu:
The armature and costume are poseable by going into pose mode:
IF you wanted to make a change to the costume's pose for that frame, click on one of the bones, and rotate it. Or grab it. Or move it in some way.
Once you have made a new pose to the costume, you have to let Blender know that FOR THIS FRAME NUMBER this will be the new pose. Hover in 3D space and hit the spacebar. When there is a popup select OBJECT. From next menu select Insert Key Frame. And the last menu select LocRotScale. Or just hit HotKey I and LocRotScale.
Now you want to make the next pose. Click the frame number to frame 2. But it may pop into the old pose. Whats to do? How about delete all or part of it. Say you have loaded an animation of a character dodging blows from an adversary. But what if you add binoculars? Then it looks like the costume is actually frantically trying to get a better view of his target. Or got caught! We could delete the positions of the arms, and let the legs and body go through all the motions. To do this go into the Action Editor window. I would change the buttons window to it. If you want you can always temporarily full screen each window by HotKey CTRL+ArrowUp, then again to minus the window.
In the Action Editor window we see a bunch of dots. these dots represent a recorded position of each bone. the bones are listed at the left of this window. You can select the arms and watch them light up at the left. But when all the dots are yellow, that means they are all selected. Hit HotKey A to unselect them. Now using Bounding Box, HotKey B, you can select a whole row of dots to delete. In my demonstration I will delete the dots for the arms.
I selected the dots for the arms. Then hit the DEL key. Next I went into 3D window and Posed the arms to how I wanted them to perform in all 57 frames. With each frame I used the setting the keyframe LocRotScale, which is HotKey I and then LocRotScale. I made sure that only the arm bones were selected when I set them. But it is ok to have all bones selected if they are all in the position they were originally suppose to be in anyways. Click the frame to the next window and pose and then set the frames for that. Until all 57 frames had been set with new positions for the arms.
And with that all that is left is saving the new animation. I imported the actor_fight_idle.anm file. So I will select this very file again and click the update button. What happens here is Lefty's export script will go over the file and update the data for the bones to now have the new positions you set in Blender. Amazing right? If you use these scripts please go over to Lefty's DeviantArt page and tell him how much fun you are having with them. A new animation will have been created. One with the same name but now has a n_ in front of it. actor_fight_idle.anm becomes n_actor_fight_idle.anm. From here I will cut this file and put it into my Movies game where it belongs: data/animation/high folder.
You don't have to keep this name. You can rename it but if it is just a minor altercation to the animation then keep the n_. But since this is no longer a fight animation I will rename it something like: binos_caught.anm
From here, making use of the new animation would be a matter of changing an existing animation name found in an (.FLM) file with that of the new animation name I just made. I would save the new scene as a new named scene also. Like instead of, 018_monolougue.flm I would rename it to 018_binos_caught.flm. And to make the scene available I would also have to make an (.INI) file for it. It would have the same name as the new scene. All (.FLM) files have sister versions with the same name but are (.INI) files. These tell the game a new scene exist and what to assemble when it loads. If I used the original monologue then there is also a 018_monoluogue.ini file that goes with it.
Game Thumbnails for scenes can be made with a paint program. Make the resolution 256x128 and make sure they are in .DDS format. And they go in the data/textures/thumbs/films folder. They ALWAYS have the same name as the (.FLM) file for it.
Easier/faster way to get things popping is to make an extra use your new animations. Extras are actually there own scene files. But unlike the normal scenes, these don't have sister (.INI) files. These (.FLM)s stand alone. And they are called in other scene files. That is why the same extra shows up in more then one scene. You would still have to make a new scene that includes your new extra. Or you could replace an original extra with your new extra. And use SceneReblocker to have it placed perfectly on the set. But if you made it this far into nerdville then you might as well make it a brand new scene. You can change extras in a scene the same way you change animation names. In the blue Text Elements block, and double-clicking on the extra's name
A scene's FLM file is a script of sorts. It tells the game what person or prop will be, when they will be there, and what they will be doing. And in an order. These actions and locations change from beginning to end. The order streams several files orchestrated in 3D space. Generally, but not always, these scenes are tailor made for what set they appear on. Many of these items can be seen in FLMRZ's Text Elements Block.
FLMRZ will allow us to view and change the animations of a scene (.FLM) file. They can be seen using the blue Text Elements block upstairs.
Once you make new animations, replace the names of the old animations found in the scene with names of the new animations. Then save the whole thing as a new (.FLM) file.
Sometimes you come across a different kind of animation called sequence files (.SEQ). These can be replaced with any other (.ANM) files. The first clue as to what they were is the size of the file. Not very big, so I loaded it into notepad to take a look. Notepad can make adjustments to some files, but (.SEQ) is not one of them. However I did see what I was looking for: a list of animations.
This is good because file names always tend to still be names in Notepad. I closed notepad and went right for a HEX editor. HEX editors allow you to make changes to names and numbers and then save over the old one. Sequence files are found in the data/animations/sequence folder.
The key to using a HEX is that even though we can change the name of an animation listed there, the name has to have the same number of letters. This can not change or the file becomes corrupted. In this example I changed one letter. This means that even though I made new animation using Lefty's script, his script added a n_ (or sometimes a r_) in front of the file. So I made copies of those wolf animations that were altered, then renamed those copies to have the same number of letters as the originals. Then in the HEX editor I changed only that letter.
After making sure I have all my new animations ready I add the new sequence file in FLMRZ...
Making Dwarves & Giants Using Lefty's Scaling Scripts
We can now create different size costume and scenes for these costumes. These new costumes need new animations because smaller or larger bones have there poses in different locations. If a different sized costume were to use the wrong animation, it would either get squashed or stretched. So these new different seized costumes need their own scenes.
1.Extract a scene, a costume, the animations found in that scene using MED
2.Open FLM Reader Zero and Blender. In FLMRZ copy the name of each animation, one at a time, and paste it into Blender
3. Run Lefty's script called: anm_rescale.py, do this until all of the animations have been copied and pasted. In the same folder as these animation, a copy was made with the same name but with a r_ in front of it. So idle_male.anm becomes r_idle_male.anm. Replace the (.SEQ) file name with r_idle_male.anm
4.Copy all the new animations and put them into TheMovies game where they belong. They all begin with a r_. Paste them in TheMovies's data/animations/high folder
5.In FLMRZ double-click every animation file name and add a r_ in front of it. Then save it as a new (.FLM) file. Also make a sister (.(.INI)) version so the game knows this new scene exist.
6 .In Blender, import a costume. Use lefty's script to shrink the armature. Then scale the model to the same ratio as the armature did. RENAME THE ARMATURE TO A NEW NAME: 517812352. Export the costume into the game
7.Use MED or CosEd to make the new costume available.
Here is a list of the animation files found in The Movies Game. Also some links to more tutorials and information.
Some of the auto-animations are for the facilities, such as a waving flag pole or rotating radars. These can be use for props as well so long as the props utilize that armature found in the facilities.