Hidden Animations Execute on Windowopen
- Required: Yes
- Type of Change: Bug Fix
Whenever you use a hidden animation with conditional visibility, all the hidden animations execute on windowopen, As a result hidden animations have been mainly unusable. The underlying issue is that currently in MP, when a window is opened, all controls are initially visible. Later their visibility condition is evaluated thus changing controls from visible to hidden and triggering the hidden animation.
There may be some changes required in skins as a result of this code change. Partly due to workarounds skins had to introduce in order to use hidden animations, and partly due to the change in the way child controls now inherit visiblity from the group control.
Description of Change
The change forces the evaluation of a control's visibility condition before any hidden or visible animation has taken place. Thus the hidden animation does not process on window open.
However, this alone doesn't fix the bug for controls belonging to a group control or actiongroup control, since children of these controls usually don't have visible conditions; hence they are always visible from a condition point of view.
Since the change forces condition evaluation, this affects these child controls. To address this, the change makes child controls of group and actiongroup controls inherit the visibility condition of its parent. A side benefit is that skins can now enter a visiblity condition and animation in a group control which applies to all controls in the group. Specific conditions and animations can be added in the child controls. The chld or individual control will still inherit the group control condition but add it's own condition.
Additional Information and References
- Mantis Issue: 2867
- Related xml(s): any that use visiblechange
- Window ID:
- Related GUI property/control:
- Patch Submitted: Fix for Mantis 2867 : Hidden animations all execute on windowopen
<animation effect="slide" time="450" end="-300,0">hidden</animation>
In Blue3/wide hidden animations are used mainly for sliding menus. However, to avoid the problem of them sliding on windowopen, menu actiongroup controls contained a dimcolor tag '00fffff' so the hidden animation was never visible. (see the dimcolor tag in below sample) Now, the dimcolor tag can be removed, or changed to 'ffffffff' and menus can slide in both directions if the skinner chooses.
<control> <type>actiongroup</type> <description>action menu</description> <defaultcontrol>2</defaultcontrol> <onexit>50</onexit> <buttonX>0</buttonX> <buttonY>0</buttonY> <buttonwidth>60</buttonwidth> <buttonheight>576</buttonheight> <textureFocus>Action_focus.png</textureFocus> <textureNoFocus>Action_nofocus.png</textureNoFocus> <width>320</width> <height>720</height> <dimColor>00ffffff</dimColor>
There is no screenshot that can show the effect of animations.