{ ;============================================================================== ; RVGL CUSTOM ANIMATIONS ; ; This file allows creating custom object animation (moving whole meshes): ; - Up to 256 different animations can be defined. ; - Each has a main body part and up to 15 child bones which follow their parent bone. ; - Every animation can have up to 256 keyframes, defining the bone positions at that time. ; The game then interpolates the animation between those keyframes. ; - Each bone can have a light, sound effect and spark generator attached to it. ; These attachments can be created, updated or deleted at any keyframe. ; - Up to 64 custom model and sfx slots are supported. ; ; The type of interpolation can be one of the following: ; 0: linear. Constant velocity and angular velocity. ; 1: smooth start, sudden end. Like an object starting to fall, then hitting the ground. ; 2: sudden start, smooth end. ; 3: both smooth start and end. ; 4: exaggerating or overshooting, i.e. first moving a bit in the opposite direction, ; then over the target amount, then again backwards. Gives a robotic look. ;============================================================================== ;-------- ; Models ;-------- MODEL 0 "Right_Cargo_Wing" MODEL 1 "Left_Cargo_Wing" MODEL 2 "Right_Cargo_Door" MODEL 3 "Left_Cargo_Door" MODEL 4 "Front_wheel" MODEL 5 "Cargo_wheel" MODEL 6 "Background_test2" ;--------------- ; Sound effects ;--------------- SFX 0 "Truck_loop_sound" ; This loads "custom/gator.wav" ;---------------------------- ; Backdoor ;---------------------------- ANIMATION { Slot 0 ; Slot ID (0 to 255) Name "doors" ; Display name (currently unused) Mode 1 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID -1 ; Model ID (0 to 63, or -1) } BONE { BoneID 1 ; Body part ID (0 to 15); part 0 is the main body part ModelID 2 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation -840.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } BONE { BoneID 2 ; Body part ID (0 to 15); part 0 is the main body part ModelID 3 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation 840.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 1.000 ; Time (in seconds) since previous keyframe Type 1 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID RotationAxis 0.000 1.000 0.000 ; Rotation axis RotationAmount 0.000 ; Rotation (in degrees) } BONE { BoneID 1 ; Body part ID RotationAxis 0.000 -1.000 0.000 ; Rotation axis RotationAmount 90.000 ; Rotation (in degrees) } BONE { BoneID 2 ; Body part ID RotationAxis 0.000 -1.000 0.000 ; Rotation axis RotationAmount -90.000 ; Rotation (in degrees) } } } ;---------------------------- ; Wingdoor ;---------------------------- ANIMATION { Slot 1 ; Slot ID (0 to 255) Name "Wdoors" ; Display name (currently unused) Mode 1 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID -1 ; Model ID (0 to 63, or -1) } BONE { BoneID 1 ; Body part ID (0 to 15); part 0 is the main body part ModelID 0 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation -75.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } BONE { BoneID 2 ; Body part ID (0 to 15); part 0 is the main body part ModelID 1 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation 75.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 5.000 ; Time (in seconds) since previous keyframe Type 1 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID RotationAxis 0.000 .000 1.000 ; Rotation axis RotationAmount 0.000 ; Rotation (in degrees) } BONE { BoneID 1 ; Body part ID RotationAxis 0.000 .000 -1.000 ; Rotation axis RotationAmount 90.000 ; Rotation (in degrees) } BONE { BoneID 2 ; Body part ID RotationAxis 0.000 .000 -1.000 ; Rotation axis RotationAmount -90.000 ; Rotation (in degrees) } } } ;---------------------------- ; FRONT WHEEL ;---------------------------- ANIMATION { Slot 2 ; Slot ID (0 to 255) Name "fwheel" ; Display name (currently unused) Mode 0 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID -1 ; Model ID (0 to 63, or -1) } BONE { BoneID 1 ; Body part ID (0 to 15); part 0 is the main body part ModelID 4 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation -0.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 10.000 ; Time (in seconds) since previous keyframe Type 0 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID RotationAxis 1.000 .000 0.000 ; Rotation axis RotationAmount 5000.000 ; Rotation (in degrees) ; Add properties for light, sound effect and sparks here (optional). ; Values are inherited by future keyframes, so only the properties to ; be changed need to be specified again. SFX { SfxID 0 ; Sound ID (0 to 63, or -1) Range 100 ; Range multiplier (0 to 100) Looping true ; Whether the sound is continuous or one-shot } } } ;---------------------------- ; Wheel ;---------------------------- ANIMATION { Slot 3 ; Slot ID (0 to 255) Name "Back wheels" ; Display name (currently unused) Mode 0 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID -1 ; Model ID (0 to 63, or -1) } BONE { BoneID 1 ; Body part ID (0 to 15); part 0 is the main body part ModelID 5 ; Model ID (0 to 63, or -1) Parent 0 ; Body part parent ID; must be smaller than the bone ID; not present at the main body part OffsetTranslation 0.000 0.000 0.000 ; Offset to parent location OffsetRotationAxis 0.000 0.000 1.000 ; Offset rotation axis OffsetRotationAmount 0.000 ; Offset rotation (in degrees) } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 10.000 ; Time (in seconds) since previous keyframe Type 0 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID RotationAxis 1.000 .000 0.000 ; Rotation axis RotationAmount 5000.000 ; Rotation (in degrees) ; Add properties for light, sound effect and sparks here (optional). ; Values are inherited by future keyframes, so only the properties to ; be changed need to be specified again. SFX { SfxID 0 ; Sound ID (0 to 63, or -1) Range 100 ; Range multiplier (0 to 100) Looping true ; Whether the sound is continuous or one-shot } } } ;---------------------------- ; Town ;---------------------------- ANIMATION { Slot 4 ; Slot ID (0 to 255) Name "Town" ; Display name (currently unused) Mode 0 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID 6 ; Model ID (0 to 63, or -1) OffsetTranslation -000.000 0.000 -0.000 } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 3.000 ; Time (in seconds) since previous keyframe Type 0 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID Translation 0.000 0.000 -19900.000 ; Translation } } } ;---------------------------- ; Light ;---------------------------- ANIMATION { Slot 5 ; Slot ID (0 to 255) Name "star" ; Display name (currently unused) Mode 0 ; 0: loop / 1: animate a single time, stopping after the last frame / 2: back and forth (reverse after last keyframe) BONE { BoneID 0 ; Body part ID (0 to 15); part 0 is the main body part ModelID -1 ; Model ID (0 to 63, or -1) OffsetTranslation -000.000 0.000 -0.000 } KEYFRAME { FrameNr 0 ; Number of the keyframe (0 to 255) Time 2.000 ; Time (in seconds) since previous keyframe Type 0 ; Interpolation type. 0 - linear, 1 - smooth start, 2 - smooth end, 3 - both smooth, 4 - overshoot BONE { BoneID 0 ; Body part ID Translation 0.000 0.000 -19900.000 ; Translation LIGHT { Type 0 ; Light type (0 - omni, 1 - omni normal, 2 - spot, 3 - spot normal, or -1 to disable) Color 1000 1000 0 ; Light color (RGB values, -1024 to 1024 for each component) Reach 7000 ; Light reach distance ConeSize 180 ; Cone size for spot lights (1 to 180) FlickerSpeed 0 ; Flicker speed (1 to 255, 0 to disable) } } }