SCASM Animations
Wing Flaps
Stock Animation

Template     Original SCA Code     Edited SCA Code

There are just two flaps to animate: r_flap and l_flap.

VAR - hex offset to the variable left flap position or left flap position.

; 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 r_flap 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 flap are called. This assures that the animation applied to the flap is also applied to those parts which use the flap as a parent part.

; Part: r_flap
:Part000004
Transform_Mat(
    -442.735382 0.000000 -404.501312
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    )
SetMaterial( 0 -1 )
DrawTriList( 96
    0 1 2
    0 2 3
    4 5 6
    4 6 7
    )
SetMaterial( 0 0 )
DrawTriList( 96
    8 9 10
    8 10 11
    12 13 14
    12 14 15
    16 17 18
    16 18 19
    20 21 22
    20 22 23
    )
Call32( :Part000065 )	;bullet hole
Call32( :Part000066 )	;bullet hole
Call32( :Part000067 )	;bullet hole
Call32( :Part000068 )	;bullet hole
TransformEnd
Return

Edited SCA Code     Template     Original SCA Code

This is the edited object source code that produces the animated parts r_flap and l_flap in fxpaint.mdl.

; Part: r_flap
:Part000004
Transform_Mat(
    -442.735382 0.000000 -404.501312
    1.000000 0.000000 0.000000
    0.000000 1.000000 0.000000
    0.000000 0.000000 1.000000
    )
TransformCall( :DrawRFlap 0 0 0
0.000000 0x74 0.000000 0x00 0.000000 0x00 )
TransformEnd
Return

:DrawRFlap
SetMaterial( 0 -1 )
DrawTriList( 96
    0 1 2
    0 2 3
    4 5 6
    4 6 7
    )
SetMaterial( 0 0 )
DrawTriList( 96
    8 9 10
    8 10 11
    12 13 14
    12 14 15
    16 17 18
    16 18 19
    20 21 22
    20 22 23
    )
Call32( :Part000065 )	;bullet hole
Call32( :Part000066 )	;bullet hole
Call32( :Part000067 )	;bullet hole
Call32( :Part000068 )	;bullet hole
Return