This section's number of elements is the same as the previous, and is determined by the
TextElement Count in the Main Header. The data is a list of null-terminated strings, meaning each one ends with a Null Character -- Chr(0). It is all the text parts used by any element in the scene file. Each
TextElement is referred to by the other elements in the scene file by its Index -- basically the position in the list -- with numbering starting at zero (0).
Because the nature of strings is to be varying length, there isn't any table of offsets like in other sections descriptions here. Since strings vary so much, the game actually uses a
TextElement Offset section (see
FlmTextElementOffset) that basically lists the starting point of each string in this section.
So some of the highlights of what is stored in this section.
* The first few entries are branch names, like 'endshoot', 'ai_ended_by_user' ,'ai_actor_mood', 'ai_director_mood'. Branches control where the scene might take a different path depending on some factors. Primarily, you know this as a Slider in the scene. Based on your choice, the scene will happen differently. The standard ones are decided by the game, such as whether the scene is ending, i.e. "endshoot," or if you've stopped the scene from finishing "ai_ended_by_user." Interestingly, it appears that perhaps Lionhead intended to make use of branches for when your director and actors were in bad moods, but none seem to actually exist in any scene files.
* The actual Slider definitions are named like 'sld_beating', which are LHTS stringnames from the game's string database. The game then translates that name into a plain English (or the language of your game installation.) representing the text of the actual choices, like 'FLT_ACTION_AGGRESSIVE.' There is an entry for each slider position. The individual slider's position count and
TextElement index are defined in a later section.
* Following the sliders are usually three entries required for a film. 'action', 'take_end' and 'cut'. Their Indexes get stored in the Direction section.
* There is always an entry for 'dummy_extra.'
* Files can have an entry for their Genre defined, such as 'genre_action'. Refers to an ini file in the Genres directory.
* Files can have a costume defined here. It appears to refer to an ini file in the Costume directory.
* The various .anm and .seq files that comprise the animation are usually next. Depending upon the scene slider's choices, the first batch might relate to the first actor's animations when the slider is in the first position, followed by the second actor when the slider is in the first position, and so on. Some might refer to the actions taken by crew or actors if you were watching the scene being filmed in-game, rather than in the AMM. The actual order and placement still is unknown.
* Files can have a 'fclexp' entry for facial expressions.
* Files can have a 'mumble' and 'mumble_off' entry.
* Files can have a 'playsnd' entry that refers to a sound in an .sfx file, and the positional coordinates of that sound
* Files can have props and metaprops defined here. Refers to an ini file in the Props directory.
* Files can have other .flm files for the extras to perform defined here. Their Indexes are stored in the Extras section. Usually in the form of '020_x_B_smoke' without the .flm extension
* The last entry is usually the .flm file for the crew animation you would see if you were to watch the scene filmed from Lot View. Includes .flm extension.
* In a handful of files, there is an entry '[shot:xxx]'. Unknown purpose.
[A separate wikipage might be better suited for defining what these are and what they do, as they become known.]
The last element is padded with nulls to the next 4-byte boundary.
Each entry is:
Char (varying length) Null-terminated - A string representing the name of an element of the animation.
Categories
CategoryFlmFormat
CategoryDocumentation
There are no comments on this page. [Add comment]