SCASM Animations
The Elevators
Stock Animation

Template     Original SCA Code     Edited SCA Code

The elevator, even though there are two on the aircraft, is really a single part.

VAR - hex offset to the variable elevator deflection.

; Part: PARTNAME
:PARTLABEL
Transform_Mat(
     0.000000 0.000000 0.000000
     1.000000 0.000000 0.000000
     0.000000 1.000000 0.000000
     0.000000 0.000000 1.000000
     )
TransformCall( :DrawPARTNAME  0  0  0  0.000000 VAR  0.000000 0x00  0.000000 0x00   )
TransformEnd
Return

:DrawPARTNAME
SetMaterial(  m  t  )
DrawTriList( index  ... vertex indices ...  )
Call32( :CHILDPart1 )
     ..........
Call32( :CHILDPartn )
Return

Original SCA Code     Template     Edited SCA Code

This is the original object source code for the elevator generated by FSDS Pro v2.33 from fxpaint.fsc. Note the Call32( ... ) commands just before the Return command at the end of this code. This is where the "Child Parts" of the elevator are called. This assures that the animation applied to the elevator is also applied to those parts which use the flap as a parent part.

; Part: elevator
:Part000008
Transform_Mat(
    430.094757 0.000000 -1333.200073
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    )
SetMaterial( 0 -1 )
DrawTriList( 192
    0 1 2
    0 2 3
    4 5 6
    4 6 7
    8 9 10
    8 10 11
    12 13 14
    12 14 15
    16 17 18
    16 18 19
    20 21 22
    20 22 23
    24 25 26
    24 26 27
    )
SetMaterial( 0 0 )
DrawTriList( 192
    28 29 30
    28 30 31
    32 33 34
    32 34 35
    36 37 38
    36 38 39
    40 41 42
    40 42 43
    44 45 46
    44 46 47
    )
Call32( :Part000033 )
Call32( :Part000034 )
Call32( :Part000035 )
Call32( :Part000036 )
Call32( :Part000037 )
Call32( :Part000038 )
Call32( :Part000039 )
Call32( :Part000040 )
TransformEnd
Return

Edited SCA Code     Template     Original SCA Code

This is the edited object source code that produces the animated part elevator in fxpaint.mdl.

; Part: elevator
:Part000008
Transform_Mat(
    430.094757 0.000000 -1333.200073
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    )
TransformCall( :DrawElevator 0 0 0
0.000000 0x76 0.000000 0x00 0.000000 0x00 )
TransformEnd
Return

:DrawElevator
SetMaterial( 0 -1 )
DrawTriList( 192
    0 1 2
    0 2 3
    4 5 6
    4 6 7
    8 9 10
    8 10 11
    12 13 14
    12 14 15
    16 17 18
    16 18 19
    20 21 22
    20 22 23
    24 25 26
    24 26 27
    )
SetMaterial( 0 0 )
DrawTriList( 192
    28 29 30
    28 30 31
    32 33 34
    32 34 35
    36 37 38
    36 38 39
    40 41 42
    40 42 43
    44 45 46
    44 46 47
    )
Call32( :Part000033 )	;bullet hole
Call32( :Part000034 )	;bullet hole
Call32( :Part000035 )	;bullet hole
Call32( :Part000036 )	;bullet hole
Call32( :Part000037 )	;bullet hole
Call32( :Part000038 )	;bullet hole
Call32( :Part000039 )	;bullet hole
Call32( :Part000040 )	;bullet hole
Return