User:FollowTheGourd

From Dragon Age Toolset Wiki
Jump to: navigation, search

Category:GUI Category:ActionScript Category:ActionScript:Classes Category:ActionScript:Functions Category:ActionScript:Tools

Temporary Conversation UI page. Just need to make sure of a few things more first.

Description

  • GFx file: conversation.gfx
  • ERF: guiexport.erf

This class is for the conversation UI.

Class Methods of Interest

Many. TBD.

Related Classes of Interest

TBD.

Referenced External Attributes

These strings are used by the ExternalCommands class for intercommunication between the engine and other GUI forms.

TBD

Letterbox Behavior

The conversation UI uses the following formula to calculate the height of the top and bottom letterbox:

(heightscreen - [widthscreen / AspectRatio]) / 2

where AspectRatio is a constant 1.777777777777778 (or 16:9) regardless of the player settings.

What this means in practice is that regardless of your display resolution, you view the cutscene as if your display had a 16:9 aspect ratio, the letterboxes taking up enough of the screen's height to ensure that.

Sometimes instead of a solid black letterbox, you'll instead see a translucent bar. This occurs when, according to the above forumla, the letterboxes are lower than a hardcoded height of 40 pixels. You'll especially see this when your display settings use a 16:9 aspect ratio, as the letterboxes have a height of zero or (near-zero for resolutions like 1360x768, which is almost 16:9). The translucent bar is not the letterbox, but another movieclip. In fact, in 1360x768 you can still see a sliver of the solid black letterbox at the bottom, which should have a height of 1.5 pixels.

In the case of the bottom translucent bar, there's the movieclip ResponseBackground_mc, which has the frame labels full and gradiant [sic]. The behavior here depends on a few things: full (the translucent bar) is played when the actual letterbox height is less than maximum value of 40 pixels. Otherwise, gradiant (black bar with a fuzzy gradient at the top) is played if the currently available PC response lines would rise above the letterbox. Finally, if the letterbox height is at least 40 pixels and the PC response lines would not rise above the letterbox, then this background movieclip is hidden and so only the letterbox itself is used as a background for the text.

In the case of the top translucent bar, there's the movieclip TextBacking_mc, the height of which is adjusted for the lines of text that would otherwise spill out under the bottom of the letterbox, only as long as the actual letterbox height is less than the hardcoded value of 40 pixels. So if the actual letterbox height is less than 40 pixels, then the text is shifted down below the letterbox and falls onto the translucent TextBacking_mc movieclip instead. Note: whether the TextBacking_mc is shown is not dynamically dependent on the number of NPC lines - the only thing of importance is the actual black letterbox height. But if it is shown, then the height of TextBacking_mc will adjust to the number of current NPC lines. From the available game resolutions available at the time of writing, TextBacking_mc should only be shown in 1280x720 as the letterbox height is 24 pixels.